main.pwn 3.0 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185601866018760188601896019060191601926019360194601956019660197601986019960200602016020260203602046020560206602076020860209602106021160212602136021460215602166021760218602196022060221602226022360224602256022660227602286022960230602316023260233602346023560236602376023860239602406024160242602436024460245602466024760248602496025060251602526025360254602556025660257602586025960260602616026260263602646026560266602676026860269602706027160272602736027460275602766027760278602796028060281602826028360284602856028660287602886028960290602916029260293602946029560296602976029860299603006030160302603036030460305603066030760308603096031060311603126031360314603156031660317603186031960320603216032260323603246032560326603276032860329603306033160332603336033460335603366033760338603396034060341603426034360344603456034660347603486034960350603516035260353603546035560356603576035860359603606036160362603636036460365603666036760368603696037060371603726037360374603756037660377603786037960380603816038260383603846038560386603876038860389603906039160392603936039460395603966039760398603996040060401604026040360404604056040660407604086040960410604116041260413604146041560416604176041860419604206042160422604236042460425604266042760428604296043060431604326043360434604356043660437604386043960440604416044260443604446044560446604476044860449604506045160452604536045460455604566045760458604596046060461604626046360464604656046660467604686046960470604716047260473604746047560476604776047860479604806048160482604836048460485604866048760488604896049060491604926049360494604956049660497604986049960500605016050260503605046050560506605076050860509605106051160512605136051460515605166051760518605196052060521605226052360524605256052660527605286052960530605316053260533605346053560536605376053860539605406054160542605436054460545605466054760548605496055060551605526055360554605556055660557605586055960560605616056260563605646056560566605676056860569605706057160572605736057460575605766057760578605796058060581605826058360584605856058660587605886058960590605916059260593605946059560596605976059860599606006060160602606036060460605606066060760608606096061060611606126061360614606156061660617606186061960620606216062260623606246062560626606276062860629606306063160632606336063460635606366063760638606396064060641606426064360644606456064660647606486064960650606516065260653606546065560656606576065860659606606066160662606636066460665606666066760668606696067060671606726067360674606756067660677606786067960680606816068260683606846068560686606876068860689606906069160692606936069460695606966069760698606996070060701607026070360704607056070660707607086070960710607116071260713607146071560716607176071860719607206072160722607236072460725607266072760728607296073060731607326073360734607356073660737607386073960740607416074260743607446074560746607476074860749607506075160752607536075460755607566075760758607596076060761607626076360764607656076660767607686076960770607716077260773607746077560776607776077860779607806078160782607836078460785607866078760788607896079060791607926079360794607956079660797607986079960800608016080260803608046080560806608076080860809608106081160812608136081460815608166081760818608196082060821608226082360824608256082660827608286082960830608316083260833608346083560836608376083860839608406084160842608436084460845608466084760848608496085060851608526085360854608556085660857608586085960860608616086260863608646086560866608676086860869608706087160872608736087460875608766087760878608796088060881608826088360884608856088660887608886088960890608916089260893608946089560896608976089860899609006090160902609036090460905609066090760908609096091060911609126091360914609156091660917609186091960920609216092260923609246092560926609276092860929609306093160932609336093460935609366093760938609396094060941609426094360944609456094660947609486094960950609516095260953609546095560956609576095860959609606096160962609636096460965609666096760968609696097060971609726097360974609756097660977609786097960980609816098260983609846098560986609876098860989609906099160992609936099460995609966099760998609996100061001610026100361004610056100661007610086100961010610116101261013610146101561016610176101861019610206102161022610236102461025610266102761028610296103061031610326103361034610356103661037610386103961040610416104261043610446104561046610476104861049610506105161052610536105461055610566105761058610596106061061610626106361064610656106661067610686106961070610716107261073610746107561076610776107861079610806108161082610836108461085610866108761088610896109061091610926109361094610956109661097610986109961100611016110261103611046110561106611076110861109611106111161112611136111461115611166111761118611196112061121611226112361124611256112661127611286112961130611316113261133611346113561136611376113861139611406114161142611436114461145611466114761148611496115061151611526115361154611556115661157611586115961160611616116261163611646116561166611676116861169611706117161172611736117461175611766117761178611796118061181611826118361184611856118661187611886118961190611916119261193611946119561196611976119861199612006120161202612036120461205612066120761208612096121061211612126121361214612156121661217612186121961220612216122261223612246122561226612276122861229612306123161232612336123461235612366123761238612396124061241612426124361244612456124661247612486124961250612516125261253612546125561256612576125861259612606126161262612636126461265612666126761268612696127061271612726127361274612756127661277612786127961280612816128261283612846128561286612876128861289612906129161292612936129461295612966129761298612996130061301613026130361304613056130661307613086130961310613116131261313613146131561316613176131861319613206132161322613236132461325613266132761328613296133061331613326133361334613356133661337613386133961340613416134261343613446134561346613476134861349613506135161352613536135461355613566135761358613596136061361613626136361364613656136661367613686136961370613716137261373613746137561376613776137861379613806138161382613836138461385613866138761388613896139061391613926139361394613956139661397613986139961400614016140261403614046140561406614076140861409614106141161412614136141461415614166141761418614196142061421614226142361424614256142661427614286142961430614316143261433614346143561436614376143861439614406144161442614436144461445614466144761448614496145061451614526145361454614556145661457614586145961460614616146261463614646146561466614676146861469614706147161472614736147461475614766147761478614796148061481614826148361484614856148661487614886148961490614916149261493614946149561496614976149861499615006150161502615036150461505615066150761508615096151061511615126151361514615156151661517615186151961520615216152261523615246152561526615276152861529615306153161532615336153461535615366153761538615396154061541615426154361544615456154661547615486154961550615516155261553615546155561556615576155861559615606156161562615636156461565615666156761568615696157061571615726157361574615756157661577615786157961580615816158261583615846158561586615876158861589615906159161592615936159461595615966159761598615996160061601616026160361604616056160661607616086160961610616116161261613616146161561616616176161861619616206162161622616236162461625616266162761628616296163061631616326163361634616356163661637616386163961640616416164261643616446164561646616476164861649616506165161652616536165461655616566165761658616596166061661616626166361664616656166661667616686166961670616716167261673616746167561676616776167861679616806168161682616836168461685616866168761688616896169061691616926169361694616956169661697616986169961700617016170261703617046170561706617076170861709617106171161712617136171461715617166171761718617196172061721617226172361724617256172661727617286172961730617316173261733617346173561736617376173861739617406174161742617436174461745617466174761748617496175061751617526175361754617556175661757617586175961760617616176261763617646176561766617676176861769617706177161772617736177461775617766177761778617796178061781617826178361784617856178661787617886178961790617916179261793617946179561796617976179861799618006180161802618036180461805618066180761808618096181061811618126181361814618156181661817618186181961820618216182261823618246182561826618276182861829618306183161832618336183461835618366183761838618396184061841618426184361844618456184661847618486184961850618516185261853618546185561856618576185861859618606186161862618636186461865618666186761868618696187061871618726187361874618756187661877618786187961880618816188261883618846188561886618876188861889618906189161892618936189461895618966189761898618996190061901619026190361904619056190661907619086190961910619116191261913619146191561916619176191861919619206192161922619236192461925619266192761928619296193061931619326193361934619356193661937619386193961940619416194261943619446194561946619476194861949619506195161952619536195461955619566195761958619596196061961619626196361964619656196661967619686196961970619716197261973619746197561976619776197861979619806198161982619836198461985619866198761988619896199061991619926199361994619956199661997619986199962000620016200262003620046200562006620076200862009620106201162012620136201462015620166201762018620196202062021620226202362024620256202662027620286202962030620316203262033620346203562036620376203862039620406204162042620436204462045620466204762048620496205062051620526205362054620556205662057620586205962060620616206262063620646206562066620676206862069620706207162072620736207462075620766207762078620796208062081620826208362084620856208662087620886208962090620916209262093620946209562096620976209862099621006210162102621036210462105621066210762108621096211062111621126211362114621156211662117621186211962120621216212262123621246212562126621276212862129621306213162132621336213462135621366213762138621396214062141621426214362144621456214662147621486214962150621516215262153621546215562156621576215862159621606216162162621636216462165621666216762168621696217062171621726217362174621756217662177621786217962180621816218262183621846218562186621876218862189621906219162192621936219462195621966219762198621996220062201622026220362204622056220662207622086220962210622116221262213622146221562216622176221862219622206222162222622236222462225622266222762228622296223062231622326223362234622356223662237622386223962240622416224262243622446224562246622476224862249622506225162252622536225462255622566225762258622596226062261622626226362264622656226662267622686226962270622716227262273622746227562276622776227862279622806228162282622836228462285622866228762288622896229062291622926229362294622956229662297622986229962300623016230262303623046230562306623076230862309623106231162312623136231462315623166231762318623196232062321623226232362324623256232662327623286232962330623316233262333623346233562336623376233862339623406234162342623436234462345623466234762348623496235062351623526235362354623556235662357623586235962360623616236262363623646236562366623676236862369623706237162372623736237462375623766237762378623796238062381623826238362384623856238662387623886238962390623916239262393623946239562396623976239862399624006240162402624036240462405624066240762408624096241062411624126241362414624156241662417624186241962420624216242262423624246242562426624276242862429624306243162432624336243462435624366243762438624396244062441624426244362444624456244662447624486244962450624516245262453624546245562456624576245862459624606246162462624636246462465624666246762468624696247062471624726247362474624756247662477624786247962480624816248262483624846248562486624876248862489624906249162492624936249462495624966249762498624996250062501625026250362504625056250662507625086250962510625116251262513625146251562516625176251862519625206252162522625236252462525625266252762528625296253062531625326253362534625356253662537625386253962540625416254262543625446254562546625476254862549625506255162552625536255462555625566255762558625596256062561625626256362564625656256662567625686256962570625716257262573625746257562576625776257862579625806258162582625836258462585625866258762588625896259062591625926259362594625956259662597625986259962600626016260262603626046260562606626076260862609626106261162612626136261462615626166261762618626196262062621626226262362624626256262662627626286262962630626316263262633626346263562636626376263862639626406264162642626436264462645626466264762648626496265062651626526265362654626556265662657626586265962660626616266262663626646266562666626676266862669626706267162672626736267462675626766267762678626796268062681626826268362684626856268662687626886268962690626916269262693626946269562696626976269862699627006270162702627036270462705627066270762708627096271062711627126271362714627156271662717627186271962720627216272262723627246272562726627276272862729627306273162732627336273462735627366273762738627396274062741627426274362744627456274662747627486274962750627516275262753627546275562756627576275862759627606276162762627636276462765627666276762768627696277062771627726277362774627756277662777627786277962780627816278262783627846278562786627876278862789627906279162792627936279462795627966279762798627996280062801628026280362804628056280662807628086280962810628116281262813628146281562816628176281862819628206282162822628236282462825628266282762828628296283062831628326283362834628356283662837628386283962840628416284262843628446284562846628476284862849628506285162852628536285462855628566285762858628596286062861628626286362864628656286662867628686286962870628716287262873628746287562876628776287862879628806288162882628836288462885628866288762888628896289062891628926289362894628956289662897628986289962900629016290262903629046290562906629076290862909629106291162912629136291462915629166291762918629196292062921629226292362924629256292662927629286292962930629316293262933629346293562936629376293862939629406294162942629436294462945629466294762948629496295062951629526295362954629556295662957629586295962960629616296262963629646296562966629676296862969629706297162972629736297462975629766297762978629796298062981629826298362984629856298662987629886298962990629916299262993629946299562996629976299862999630006300163002630036300463005630066300763008630096301063011630126301363014630156301663017630186301963020630216302263023630246302563026630276302863029630306303163032630336303463035630366303763038630396304063041630426304363044630456304663047630486304963050630516305263053630546305563056630576305863059630606306163062630636306463065630666306763068630696307063071630726307363074630756307663077630786307963080630816308263083630846308563086630876308863089630906309163092630936309463095630966309763098630996310063101631026310363104631056310663107631086310963110631116311263113631146311563116631176311863119631206312163122631236312463125631266312763128631296313063131631326313363134631356313663137631386313963140631416314263143631446314563146631476314863149631506315163152631536315463155631566315763158631596316063161631626316363164631656316663167631686316963170631716317263173631746317563176631776317863179631806318163182631836318463185631866318763188631896319063191631926319363194631956319663197631986319963200632016320263203632046320563206632076320863209632106321163212632136321463215632166321763218632196322063221632226322363224632256322663227632286322963230632316323263233632346323563236632376323863239632406324163242632436324463245632466324763248632496325063251632526325363254632556325663257632586325963260632616326263263632646326563266632676326863269632706327163272632736327463275632766327763278632796328063281632826328363284632856328663287632886328963290632916329263293632946329563296632976329863299633006330163302633036330463305633066330763308633096331063311633126331363314633156331663317633186331963320633216332263323633246332563326633276332863329633306333163332633336333463335633366333763338633396334063341633426334363344633456334663347633486334963350633516335263353633546335563356633576335863359633606336163362633636336463365633666336763368633696337063371633726337363374633756337663377633786337963380633816338263383633846338563386633876338863389633906339163392633936339463395633966339763398633996340063401634026340363404634056340663407634086340963410634116341263413634146341563416634176341863419634206342163422634236342463425634266342763428634296343063431634326343363434634356343663437634386343963440634416344263443634446344563446634476344863449634506345163452634536345463455634566345763458634596346063461634626346363464634656346663467634686346963470634716347263473634746347563476634776347863479634806348163482634836348463485634866348763488634896349063491634926349363494634956349663497634986349963500635016350263503635046350563506635076350863509635106351163512635136351463515635166351763518635196352063521635226352363524635256352663527635286352963530635316353263533635346353563536635376353863539635406354163542635436354463545635466354763548635496355063551635526355363554635556355663557635586355963560635616356263563635646356563566635676356863569635706357163572635736357463575635766357763578635796358063581635826358363584635856358663587635886358963590635916359263593635946359563596635976359863599636006360163602636036360463605636066360763608636096361063611636126361363614636156361663617636186361963620636216362263623636246362563626636276362863629636306363163632636336363463635636366363763638636396364063641636426364363644636456364663647636486364963650636516365263653636546365563656636576365863659636606366163662636636366463665636666366763668636696367063671636726367363674636756367663677636786367963680636816368263683636846368563686636876368863689636906369163692636936369463695636966369763698636996370063701637026370363704637056370663707637086370963710637116371263713637146371563716637176371863719637206372163722637236372463725637266372763728637296373063731637326373363734637356373663737637386373963740637416374263743637446374563746637476374863749637506375163752637536375463755637566375763758637596376063761637626376363764637656376663767637686376963770637716377263773637746377563776637776377863779637806378163782637836378463785637866378763788637896379063791637926379363794637956379663797637986379963800638016380263803638046380563806638076380863809638106381163812638136381463815638166381763818638196382063821638226382363824638256382663827638286382963830638316383263833638346383563836638376383863839638406384163842638436384463845638466384763848638496385063851638526385363854638556385663857638586385963860638616386263863638646386563866638676386863869638706387163872638736387463875638766387763878638796388063881638826388363884638856388663887638886388963890638916389263893638946389563896638976389863899639006390163902639036390463905639066390763908639096391063911639126391363914639156391663917639186391963920639216392263923639246392563926639276392863929639306393163932639336393463935639366393763938639396394063941639426394363944639456394663947639486394963950639516395263953639546395563956639576395863959639606396163962639636396463965639666396763968639696397063971639726397363974639756397663977639786397963980639816398263983639846398563986639876398863989639906399163992639936399463995639966399763998639996400064001640026400364004640056400664007640086400964010640116401264013640146401564016640176401864019640206402164022640236402464025640266402764028640296403064031640326403364034640356403664037640386403964040640416404264043640446404564046640476404864049640506405164052640536405464055640566405764058640596406064061640626406364064640656406664067640686406964070640716407264073640746407564076640776407864079640806408164082640836408464085640866408764088640896409064091640926409364094640956409664097640986409964100641016410264103641046410564106641076410864109641106411164112641136411464115641166411764118641196412064121641226412364124641256412664127641286412964130641316413264133641346413564136641376413864139641406414164142641436414464145641466414764148641496415064151641526415364154641556415664157641586415964160641616416264163641646416564166641676416864169641706417164172641736417464175641766417764178641796418064181641826418364184641856418664187641886418964190641916419264193641946419564196641976419864199642006420164202642036420464205642066420764208642096421064211642126421364214642156421664217642186421964220642216422264223642246422564226642276422864229642306423164232642336423464235642366423764238642396424064241642426424364244642456424664247642486424964250642516425264253642546425564256642576425864259642606426164262642636426464265642666426764268642696427064271642726427364274642756427664277642786427964280642816428264283642846428564286642876428864289642906429164292642936429464295642966429764298642996430064301643026430364304643056430664307643086430964310643116431264313643146431564316643176431864319643206432164322643236432464325643266432764328643296433064331643326433364334643356433664337643386433964340643416434264343643446434564346643476434864349643506435164352643536435464355643566435764358643596436064361643626436364364643656436664367643686436964370643716437264373643746437564376643776437864379643806438164382643836438464385643866438764388643896439064391643926439364394643956439664397643986439964400644016440264403644046440564406644076440864409644106441164412644136441464415644166441764418644196442064421644226442364424644256442664427644286442964430644316443264433644346443564436644376443864439644406444164442644436444464445644466444764448644496445064451644526445364454644556445664457644586445964460644616446264463644646446564466644676446864469644706447164472644736447464475644766447764478644796448064481644826448364484644856448664487644886448964490644916449264493644946449564496644976449864499645006450164502645036450464505645066450764508645096451064511645126451364514645156451664517645186451964520645216452264523645246452564526645276452864529645306453164532645336453464535645366453764538645396454064541645426454364544645456454664547645486454964550645516455264553645546455564556645576455864559645606456164562645636456464565645666456764568645696457064571645726457364574645756457664577645786457964580645816458264583645846458564586645876458864589645906459164592645936459464595645966459764598645996460064601646026460364604646056460664607646086460964610646116461264613646146461564616646176461864619646206462164622646236462464625646266462764628646296463064631646326463364634646356463664637646386463964640646416464264643646446464564646646476464864649646506465164652646536465464655646566465764658646596466064661646626466364664646656466664667646686466964670646716467264673646746467564676646776467864679646806468164682646836468464685646866468764688646896469064691646926469364694646956469664697646986469964700647016470264703647046470564706647076470864709647106471164712647136471464715647166471764718647196472064721647226472364724647256472664727647286472964730647316473264733647346473564736647376473864739647406474164742647436474464745647466474764748647496475064751647526475364754647556475664757647586475964760647616476264763647646476564766647676476864769647706477164772647736477464775647766477764778647796478064781647826478364784647856478664787647886478964790647916479264793647946479564796647976479864799648006480164802648036480464805648066480764808648096481064811648126481364814648156481664817648186481964820648216482264823648246482564826648276482864829648306483164832648336483464835648366483764838648396484064841648426484364844648456484664847648486484964850648516485264853648546485564856648576485864859648606486164862648636486464865648666486764868648696487064871648726487364874648756487664877648786487964880648816488264883648846488564886648876488864889648906489164892648936489464895648966489764898648996490064901649026490364904649056490664907649086490964910649116491264913649146491564916649176491864919649206492164922649236492464925649266492764928649296493064931649326493364934649356493664937649386493964940649416494264943649446494564946649476494864949649506495164952649536495464955649566495764958649596496064961649626496364964649656496664967649686496964970649716497264973649746497564976649776497864979649806498164982649836498464985649866498764988649896499064991649926499364994649956499664997649986499965000650016500265003650046500565006650076500865009650106501165012650136501465015650166501765018650196502065021650226502365024650256502665027650286502965030650316503265033650346503565036650376503865039650406504165042650436504465045650466504765048650496505065051650526505365054650556505665057650586505965060650616506265063650646506565066650676506865069650706507165072650736507465075650766507765078650796508065081650826508365084650856508665087650886508965090650916509265093650946509565096650976509865099651006510165102651036510465105651066510765108651096511065111651126511365114651156511665117651186511965120651216512265123651246512565126651276512865129651306513165132651336513465135651366513765138651396514065141651426514365144651456514665147651486514965150651516515265153651546515565156651576515865159651606516165162651636516465165651666516765168651696517065171651726517365174651756517665177651786517965180651816518265183651846518565186651876518865189651906519165192651936519465195651966519765198651996520065201652026520365204652056520665207652086520965210652116521265213652146521565216652176521865219652206522165222652236522465225652266522765228652296523065231652326523365234652356523665237652386523965240652416524265243652446524565246652476524865249652506525165252652536525465255652566525765258652596526065261652626526365264652656526665267652686526965270652716527265273652746527565276652776527865279652806528165282652836528465285652866528765288652896529065291652926529365294652956529665297652986529965300653016530265303653046530565306653076530865309653106531165312653136531465315653166531765318653196532065321653226532365324653256532665327653286532965330653316533265333653346533565336653376533865339653406534165342653436534465345653466534765348653496535065351653526535365354653556535665357653586535965360653616536265363653646536565366653676536865369653706537165372653736537465375653766537765378653796538065381653826538365384653856538665387653886538965390653916539265393653946539565396653976539865399654006540165402654036540465405654066540765408654096541065411654126541365414654156541665417654186541965420654216542265423654246542565426654276542865429654306543165432654336543465435654366543765438654396544065441654426544365444654456544665447654486544965450654516545265453654546545565456654576545865459654606546165462654636546465465654666546765468654696547065471654726547365474654756547665477654786547965480654816548265483654846548565486654876548865489654906549165492654936549465495654966549765498654996550065501655026550365504655056550665507655086550965510655116551265513655146551565516655176551865519655206552165522655236552465525655266552765528655296553065531655326553365534655356553665537655386553965540655416554265543655446554565546655476554865549655506555165552655536555465555655566555765558655596556065561655626556365564655656556665567655686556965570655716557265573655746557565576655776557865579655806558165582655836558465585655866558765588655896559065591655926559365594655956559665597655986559965600656016560265603656046560565606656076560865609656106561165612656136561465615656166561765618656196562065621656226562365624656256562665627656286562965630656316563265633656346563565636656376563865639656406564165642656436564465645656466564765648656496565065651656526565365654656556565665657656586565965660656616566265663656646566565666656676566865669656706567165672656736567465675656766567765678656796568065681656826568365684656856568665687656886568965690656916569265693656946569565696656976569865699657006570165702657036570465705657066570765708657096571065711657126571365714657156571665717657186571965720657216572265723657246572565726657276572865729657306573165732657336573465735657366573765738657396574065741657426574365744657456574665747657486574965750657516575265753657546575565756657576575865759657606576165762657636576465765657666576765768657696577065771657726577365774657756577665777657786577965780657816578265783657846578565786657876578865789657906579165792657936579465795657966579765798657996580065801658026580365804658056580665807658086580965810658116581265813658146581565816658176581865819658206582165822658236582465825658266582765828658296583065831658326583365834658356583665837658386583965840658416584265843658446584565846658476584865849658506585165852658536585465855658566585765858658596586065861658626586365864658656586665867658686586965870658716587265873658746587565876658776587865879658806588165882658836588465885658866588765888658896589065891658926589365894658956589665897658986589965900659016590265903659046590565906659076590865909659106591165912659136591465915659166591765918659196592065921659226592365924659256592665927659286592965930659316593265933659346593565936659376593865939659406594165942659436594465945659466594765948659496595065951659526595365954659556595665957659586595965960659616596265963659646596565966659676596865969659706597165972659736597465975
  1. /* Project Reality: Reloaded Script
  2. * Script Founded by Alexander: Friday 10th of May, 15:53.
  3. * Contributors: Sloth, Sparkie, Dakyskye.
  4. * FACTIONS MAX RANK = JOIN RANK;
  5. */
  6. #include <a_samp>
  7. #include <crashdetect>
  8. #include <a_mysql>
  9. #include <sscanf2>
  10. #include <streamer>
  11. #include <foreach>
  12. #include <compat>
  13. #include <evi>
  14. #include <strlib>
  15. #include <Pawn.Regex>
  16. #include <izcmd>
  17. #include <OnPlayerTeleport>
  18. #include <OnPlayerFly>
  19. #define AC_USE_CONFIG_FILES false
  20. #include <nex-ac>
  21. //#include <samp-node>
  22. #define Server:%0(%1) forward %0(%1); public %0(%1)
  23. #undef MAX_PLAYERS
  24. #define MAX_PLAYERS (256)
  25. #if !defined IsValidVehicle
  26. native IsValidVehicle(vehicleid);
  27. #endif
  28. #if !defined gpci
  29. native gpci(playerid, serial[], len);
  30. #endif
  31. #pragma compress 0
  32. #pragma dynamic 500000
  33. static bool:DoubleEXP = false;
  34. new dealershipCategories_Models[] = {
  35. 511, 487, 509, 480, 422, 567, 500, 420, 445, 451, 479, 454, 483
  36. };
  37. new call_count = 0, warrant_count = 0;
  38. new dealershipCategories_Names[][] = {
  39. "airplanes", "helicopters", "bikes", "convertibles", "industrial", "low riders", "off road", "public service", "saloons", "sports vehicles", "station wagons", "boats", "unique"
  40. };
  41. new dealershipCategories_MinPrices[6+6+3] = {
  42. 4000000, 1000000, 700, 65000, 25000, 60000, 110000, 45000, 35000, 150000, 80000, 20000, 35000
  43. };
  44. new PlayerText:MDC_UI[MAX_PLAYERS][70];
  45. new PlayerText:SetUp[MAX_PLAYERS][16];
  46. new PlayerText:MDC_Layout[MAX_PLAYERS][19];
  47. new dealershipVehiclesNames[][] = {
  48. // airplanes
  49. "beagle", "dodo",
  50. // helicopters
  51. "leviathan", "maverick", "news chopper",
  52. // bikes
  53. "faggio", "freeway", "sanchez", "quad", "BMX", "bicycle", "fcr-900", "wayfarer",
  54. // convertibles
  55. "comet", "feltzer", "windsor",
  56. // industrial
  57. "linerunner", "trashmaster", "pony", "mule", "bobcat", "rumpo", "packer", "flatbed", "yankee", "RC Van", "Walton", "Burrito", "Boxville", "Benson", "Tanker", "Roadtrain", "Sadler", "Yosemite", "DFT-30", "Newsvan", "Picador",
  58. // low riders
  59. "Voodoo", "Stallion", "Remington", "Slamvan", "Blade", "Tahoma", "Savanna", "Broadway", "Tornado",
  60. // off road
  61. "Landstalker", "Rancher", "Mesa", "Huntley",
  62. // public service
  63. "Taxi", "Bus", "Coach", "Cabbie",
  64. // saloons
  65. "Bravura", "Sentinel", "Manana", "Esperanto", "Washington", "Premier", "Previon", "Admiral", "Glendale", "Oceanic", "Hermes", "Virgo", "Greenwood", "Elegant", "Nebula", "Majestic", "Buccaneer", "Fortune", "Cadrona", "Willard", "Vincent", "Clover", "Intruder", "Primo", "Tampa", "Sunrise", "Merit", "Sultan", "Elegy", "Stafford", "Emperor",
  66. // sports
  67. "Buffalo", "Cheetah", "Banshee", "Sabre", "ZR-350", "Blista Compact", "Bullet", "Uranus", "Jester", "Flash", "Euros", "Club", "Alpha", "Phoenix",
  68. //station wagons
  69. "Perennial", "Moonbeam", "Solair", "Regina", "Stratum",
  70. //boats
  71. "Squalo", "Reefer", "Tropic", "Coastguard", "Dingy", "Marquis",
  72. //unique
  73. "Stretch", "Icecream Truck", "Camper", "Journey", "Tow Truck", "Hustler", "Hotdog"
  74. };
  75. new dealershipVehicles[][] = {
  76. // airplanes
  77. { 0, 511, 5000000 },
  78. { 0, 593, 4000000 },
  79. // helicopters
  80. { 1, 417, 1000000 },
  81. { 1, 487, 3500000 },
  82. { 1, 488, 1000000 },
  83. // bikes
  84. { 2, 462, 10000 },
  85. { 2, 463, 50000 },
  86. { 2, 468, 40000 },
  87. { 2, 471, 100000 },
  88. { 2, 481, 700 },
  89. { 2, 509, 1000 },
  90. { 2, 521, 200000 },
  91. { 2, 586, 50000 },
  92. // convertibles
  93. { 3, 480, 625000 },
  94. { 3, 533, 65000 },
  95. { 3, 555, 450000 },
  96. // industrial
  97. { 4, 403, 750000 },
  98. { 4, 408, 150000 },
  99. { 4, 413, 110000 },
  100. { 4, 414, 175000 },
  101. { 4, 422, 60000 },
  102. { 4, 440, 100000 },
  103. { 4, 443, 400000 },
  104. { 4, 455, 500000 },
  105. { 4, 456, 250000 },
  106. { 4, 459, 60000 },
  107. { 4, 478, 40000 },
  108. { 4, 482, 120000 },
  109. { 4, 498, 110000 },
  110. { 4, 499, 160000 },
  111. { 4, 514, 800000 },
  112. { 4, 515, 900000 },
  113. { 4, 543, 25000 },
  114. { 4, 554, 110000 },
  115. { 4, 578, 500000 },
  116. { 4, 582, 80000 },
  117. { 4, 600, 38000 },
  118. // low riders
  119. { 5, 412, 65000 },
  120. { 5, 439, 80000 },
  121. { 5, 534, 75000 },
  122. { 5, 535, 110000 },
  123. { 5, 536, 65000 },
  124. { 5, 566, 65000 },
  125. { 5, 567, 85000 },
  126. { 5, 575, 80000 },
  127. { 5, 576, 60000 },
  128. // off road
  129. { 6, 400, 180000 },
  130. { 6, 489, 110000 },
  131. { 6, 500, 140000 },
  132. { 6, 579, 300000 },
  133. // public service
  134. { 7, 420, 45000 },
  135. { 7, 431, 70000 },
  136. { 7, 437, 75000 },
  137. { 7, 438, 50000 },
  138. // saloons
  139. { 8, 401, 40000 },
  140. { 8, 405, 135000 },
  141. { 8, 410, 35000 },
  142. { 8, 419, 50000 },
  143. { 8, 421, 100000 },
  144. { 8, 426, 135000 },
  145. { 8, 436, 40000 },
  146. { 8, 445, 45000 },
  147. { 8, 466, 50000 },
  148. { 8, 467, 35000 },
  149. { 8, 474, 60000 },
  150. { 8, 491, 40000 },
  151. { 8, 492, 30000 },
  152. { 8, 507, 150000 },
  153. { 8, 516, 40000 },
  154. { 8, 517, 65000 },
  155. { 8, 518, 45000 },
  156. { 8, 526, 55000 },
  157. { 8, 527, 45000 },
  158. { 8, 529, 45000 },
  159. { 8, 540, 50000 },
  160. { 8, 542, 60000 },
  161. { 8, 546, 45000 },
  162. { 8, 547, 40000 },
  163. { 8, 549, 40000 },
  164. { 8, 550, 55000 },
  165. { 8, 551, 150000 },
  166. { 8, 560, 750000 },
  167. { 8, 562, 150000 },
  168. { 8, 580, 200000 },
  169. { 8, 585, 60000 },
  170. // sport vehicles
  171. { 9, 402, 400000 },
  172. { 9, 415, 850000 },
  173. { 9, 429, 850000 },
  174. { 9, 475, 150000 },
  175. { 9, 477, 700000 },
  176. { 9, 496, 150000 },
  177. { 9, 541, 1200000 },
  178. { 9, 558, 330000 },
  179. { 9, 559, 200000 },
  180. { 9, 565, 200000 },
  181. { 9, 587, 250000 },
  182. { 9, 589, 150000 },
  183. { 9, 602, 350000 },
  184. { 9, 603, 650000 },
  185. // station wagons
  186. { 10, 404, 80000 },
  187. { 10, 418, 80000 },
  188. { 10, 458, 90000 },
  189. { 10, 479, 85000 },
  190. { 10, 561, 110000 },
  191. // boats
  192. { 11, 446, 1000000 },
  193. { 11, 453, 180000 },
  194. { 11, 454, 300000 },
  195. { 11, 472, 150000 },
  196. { 11, 473, 20000 },
  197. { 11, 484, 350000 },
  198. // unique
  199. { 12, 409, 280000 },
  200. { 12, 423, 80000 },
  201. { 12, 483, 85000 },
  202. { 12, 508, 180000 },
  203. { 12, 525, 35000 },
  204. { 12, 545, 85000 },
  205. { 12, 588, 80000 }
  206. };
  207. new PlayerText:ds_PlayerTextDrawVehicles[MAX_PLAYERS+1][6] = { PlayerText:-1, ... };
  208. new PlayerText:ds_PlayerTextDrawVehiclesNames[MAX_PLAYERS+1][6] = { PlayerText:-1, ... };
  209. new PlayerText:ds_PlayerTextDrawVehiclesPrices[MAX_PLAYERS+1][6] = { PlayerText:-1, ... };
  210. new PlayerText:ds_PlayerTextDrawArrows[MAX_PLAYERS+1][2] = { PlayerText:-1, ... };
  211. new PlayerText:ds_PlayerTextDrawCategory[MAX_PLAYERS+1] = { PlayerText:-1, ... };
  212. new ds_PlayerMenuModels[MAX_PLAYERS+1][64];
  213. new ds_PlayerMenuNames[MAX_PLAYERS+1][64][32];
  214. new ds_PlayerMenuAmount[MAX_PLAYERS+1];
  215. new ds_PlayerMenuCallback[MAX_PLAYERS+1][31];
  216. new ds_PlayerMenuPrices[MAX_PLAYERS][64];
  217. new ds_PlayerMenuPage[MAX_PLAYERS+1];
  218. new ds_PlayerMenuCategory[MAX_PLAYERS+1];
  219. new ds_PlayerMenuCategoryName[MAX_PLAYERS+1][32];
  220. //Database establisher:
  221. new MySQL:m_Handle;
  222. #define MAIN_SERVER
  223. #if defined MAIN_SERVER
  224. #define SQL_HOSTNAME "localhost"
  225. #define SQL_USERNAME "airxdaffy"
  226. #define SQL_DATABASE "zairxdaffy0"
  227. #define SQL_PASSWORD "301135"
  228. #else
  229. #define SQL_HOSTNAME "localhost"
  230. #define SQL_USERNAME "airxdaffy"
  231. #define SQL_DATABASE "zairxdaffy0"
  232. #define SQL_PASSWORD "301135"
  233. #endif
  234. //Database establisher end of.
  235. main () { }
  236. /*
  237. x - major
  238. y - minor
  239. z - patch
  240. */
  241. #define REVISION "SA92 1.0"
  242. //Keys:
  243. #define PRESSED(%0) \
  244. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  245. #define RELEASED(%0) \
  246. (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  247. #define HOLDING(%0) \
  248. ((newkeys & (%0)) == (%0))
  249. //Max defines:
  250. #define MAX_ZONE_NAME (28)
  251. #define MAX_FACTIONS (30)
  252. #define MAX_FACTION_RANKS (21)
  253. #define MAX_PROPERTY (2000)
  254. #define MAX_BUSINESS (300)
  255. #define MAX_PAYNSPRAY (9)
  256. #define MAX_OWNED_CARS (10)
  257. #define MAX_TOLLS (9)
  258. #define MAX_DAMAGES (200)
  259. #define MAX_DROP_ITEMS (200)
  260. #define MAX_FACTION_CARS (1000)
  261. #define MAX_FURNITURE (2000)
  262. #define MAX_SERVER_OBJECTS (200)
  263. #define MAX_HOUSE_FURNITURE (200)
  264. #define MAX_RENTALS (500)
  265. #define MAX_DOORS (200)
  266. #define MAX_PLAYER_NOTES (6)
  267. #define MAX_APBS (20)
  268. #define MAX_REPORTS (100)
  269. #define MAX_PLAYER_CONTACTS (15)
  270. #define MAX_PROPERTY_GARAGES (1500)
  271. #define MAX_XMR_CATEGORIES (40)
  272. #define MAX_XMR_SUBCATEGORY (400)
  273. #define MAX_GRANT_BUILD (8)
  274. #define MAX_SHOWING_FURNITURE (50)
  275. #define MAX_ADMIN_NOTES (6)
  276. #define MAX_CLOTHING_ITEMS (6)
  277. #define MAX_WEAPON_PACKAGES (21)
  278. #define MAX_CLOTHING_SHOW (25)
  279. #define MAX_COMMAND_LOG (21)
  280. #define MAX_CHAT_LOG (21)
  281. #define MAX_BOOMBOXS (30)
  282. #define MAX_GRAFFITI_SPOTS (80)
  283. #define MAX_POSSIBLE_WEAPONS (4)
  284. #define MAX_WEAPON_CRATES (7)
  285. //Colors:
  286. #define COLOR_WHITE (0xFFFFFFFF)
  287. #define COLOR_ADM (0xFF6347FF)
  288. #define COLOR_GREY (0xAFAFAFFF)
  289. #define COLOR_DARKGREEN (0x33AA33FF)
  290. #define COLOR_YELLOW (0xFFFF00FF)
  291. #define COLOR_EMOTE (0xC2A2DAFF)
  292. #define COLOR_PMREC (0xFFDC18FF)
  293. #define COLOR_PMSEN (0xEEE854FF)
  294. #define COLOR_ORANGE (0xFF9900AA)
  295. #define COLOR_ADMIN (0x587B95FF)
  296. #define COLOR_FADE1 (0xE6E6E6E6)
  297. #define COLOR_FADE2 (0xC8C8C8C8)
  298. #define COLOR_FADE3 (0xAAAAAAAA)
  299. #define COLOR_FADE4 (0x8C8C8C8C)
  300. #define COLOR_FADE5 (0x6E6E6E6E)
  301. #define COLOR_SAMP (0xADC3E7FF)
  302. #define COLOR_RED (0xF81414FF)
  303. #define COLOR_RADIO (0xFFEC8BFF)
  304. #define COLOR_RADIOEX (0xB5AF8FFF)
  305. #define COLOR_GRAD1 (0xCCE6E6FF)
  306. #define COLOR_GRAD2 (0xE2FFFFFF)
  307. #define COLOR_BLUE (0x33CCFFFF)
  308. #define COLOR_HELPER (0xA52A2AFF)
  309. #define COLOR_COP (0x8D8DFFFF)
  310. #define COLOR_PINK (0xFF00FFFF)
  311. #define COLOR_DEPT (0xF07A7AFF)
  312. #define COLOR_TEXTDRAW (0xAC7A32FF)
  313. #define COLOR_EMT (0xFF8282FF)
  314. #define COLOR_STATS (0x85A82BFF)
  315. #define COLOR_ACTION (0xF8E687FF)
  316. #define COLOR_CYAN (0x33CCFFFF)
  317. #define COLOR_NINER (0x00FFFFFF)
  318. #define COLOR_GOLD (0xFFD700FF)
  319. #define COLOR_REPORT (0xFFFF91FF)
  320. #define COLOR_SAN (0x99D9CBFF)
  321. //Body parts:
  322. #define BODY_PART_CHEST (3)
  323. #define BODY_PART_GROIN (4)
  324. #define BODY_PART_LEFT_ARM (5)
  325. #define BODY_PART_RIGHT_ARM (6)
  326. #define BODY_PART_LEFT_LEG (7)
  327. #define BODY_PART_RIGHT_LEG (8)
  328. #define BODY_PART_HEAD (9)
  329. //Business types:
  330. #define BIZ_PAWNSHOP (1)
  331. #define BIZ_RESTAURANT (2)
  332. #define BIZ_AMMUNATION (3)
  333. #define BIZ_CLUB (4)
  334. #define BIZ_STORE (5)
  335. #define BIZ_GENERAL (6)
  336. #define BIZ_BANK (7)
  337. #define BIZ_STANDALONE (8)
  338. #define BIZ_DMV (9)
  339. #define BIZ_CLOTHING (10)
  340. #define BIZ_BLACKMARKET (11)
  341. //Object bones:
  342. #define OBJECT_BONE_SPINE (1)
  343. #define OBJECT_BONE_HEAD (2)
  344. #define OBJECT_BONE_LUPPER_A (3)
  345. #define OBJECT_BONE_RUPPER_A (4)
  346. #define OBJECT_BONE_LHAND (5)
  347. #define OBJECT_BONE_RHAND (6)
  348. #define OBJECT_BONE_LTHIGH (7)
  349. #define OBJECT_BONE_RTHIGH (8)
  350. #define OBJECT_BONE_LFOOT (9)
  351. #define OBJECT_BONE_RFOOT (10)
  352. //Tolls:
  353. #define TOLL_LSLV (1)
  354. #define TOLL_FLINT (2)
  355. #define TOLL_RODEO (3)
  356. //Player states:
  357. #define STATE_ALIVE (1)
  358. #define STATE_WOUNDED (2)
  359. #define STATE_DEAD (3)
  360. //Jobs:
  361. #define MECHANIC_JOB (1)
  362. #define FISHERMAN_JOB (2)
  363. #define TAXI_JOB (3)
  364. #define TRUCKER_JOB (4)
  365. //Drug types:
  366. #define DRUG_TYPE_MARIJUANA (0)
  367. #define DRUG_TYPE_CRACK (1)
  368. #define DRUG_TYPE_COCAINE (2)
  369. #define DRUG_TYPE_ECSTASY (3)
  370. #define DRUG_TYPE_LSD (4)
  371. #define DRUG_TYPE_METH (5)
  372. #define DRUG_TYPE_PCP (6)
  373. #define DRUG_TYPE_HEROIN (7)
  374. #define DRUG_TYPE_ASPIRIN (8)
  375. #define DRUG_TYPE_HALOP (9)
  376. #define DRUG_TYPE_MORPHINE (10)
  377. #define DRUG_TYPE_XANAX (11)
  378. #define DRUG_TYPE_MDMA (12)
  379. #define DRUG_TYPE_PHENETOLE (13)
  380. #define DRUG_TYPE_STEROIDS (14)
  381. //Property types:
  382. #define PROPERTY_COMPLEX (1)
  383. #define PROPERTY_APARTMENT (2)
  384. #define PROPERTY_HOUSE (3)
  385. //
  386. #define DEFAULT_SKIN (264)
  387. #define MDC_ERROR (21001)
  388. #define MDC_SELECT (21000)
  389. #define MDC_OPEN (45400)
  390. #define WEAPON_SERVER_GIVEN (7777)
  391. #define WEAPON_AMMUNATION_GIVEN (8888)
  392. #define WEAPON_UNKNOWN_GIVEN (9999)
  393. #define GUN_SHOP_NUMBER (000011)
  394. #define WEAPON_ORDER_NUMBER (434112)
  395. #define MECHANIC_NUMBER (611)
  396. #define TAXI_NUMBER (411)
  397. //Warehouse Order Sys:
  398. #define BLACK_MARKET_SELECTED (1)
  399. #define WAREHOUSE_SELECTED (2)
  400. //
  401. #define WEAPON_ORDER_DEAGLE (600)
  402. #define WEAPON_ORDER_SHOTGUN (800)
  403. #define WEAPON_ORDER_TEC9 (900)
  404. //Mapping Types
  405. #define DEFAULT_MAP_TYPE (0)
  406. #define GATE_MAP_TYPE (1)
  407. //Fuel
  408. #define FUEL_TYPE_PETROL (1)
  409. #define FUEL_TYPE_DIESEL (2)
  410. #define FUEL_TYPE_ELECTRIC (3)
  411. //
  412. #define MAX_VLOG_PER_PAGE (20)
  413. #define MAX_PLOG_PER_PAGE (21)
  414. #define MAX_PLAYER_PER_PAGE (10)
  415. //Dynamic areas:
  416. new ImpoundLotArea;
  417. new JailCenterArea;
  418. new HospitalArea;
  419. //
  420. #define BLACK_MARKET_X (2766.6838)
  421. #define BLACK_MARKET_Y (-1610.9614)
  422. #define BLACK_MARKET_Z (10.9219)
  423. #define AD_CENTER_X (1129.3635)
  424. #define AD_CENTER_Y (-1488.6417)
  425. #define AD_CENTER_Z (22.7690)
  426. //1129.3635,-1488.6417,22.7690,
  427. //Dialogs:
  428. enum
  429. {
  430. DIALOG_DEFAULT,
  431. DIALOG_CONFIRM_SYS,
  432. DIALOG_USE,
  433. DIALOG_REGISTER,
  434. DIALOG_LOGIN,
  435. DIALOG_ADMINPM,
  436. DIALOG_INTERIORS,
  437. DIALOG_PDSKINS,
  438. DIALOG_SDSKINS,
  439. DIALOG_FDSKINS,
  440. DIALOG_TOLLS,
  441. DIALOG_TOLLM,
  442. DIALOG_FURNITURE,
  443. DIALOG_BUYFURNITURE,
  444. DIALOG_BUYFURNITURE_SUB,
  445. DIALOG_CURFURNITURE,
  446. DIALOG_FURNITUREINFO,
  447. DIALOG_EDIT_FURNITURE,
  448. DIALOG_FURNITURE_EDIT_MENU,
  449. DIALOG_DEALERSHIP,
  450. DIALOG_DEALERSHIP_SUB,
  451. DIALOG_DEALERSHIP_APPEND,
  452. DIALOG_APPEND_ALARM,
  453. DIALOG_APPEND_LOCK,
  454. DIALOG_APPEND_IMMOB,
  455. DIALOG_APPEND_COLOR,
  456. DIALOG_APPEND_COLOR2,
  457. DIALOG_XMR,
  458. DIALOG_XMR_SELECT,
  459. DIALOG_BUY_CLOTHING,
  460. DIALOG_CLOTHING_MENU,
  461. DIALOG_CLOTHING_EDIT,
  462. DIALOG_CLOTHES_BONE,
  463. DIALOG_FACTION_CLOTHING,
  464. DIALOG_ADMIN_MSG,
  465. DIALOG_SECRET_WORD_CREATE,
  466. DIALOG_SECRET_WORD_ENTER,
  467. DIALOG_GRAFFITI_MENU,
  468. DIALOG_GRAFFITI_TEXT,
  469. DIALOG_GRAFFITI_FONT,
  470. DIALOG_MDC,
  471. DIALOG_MDC_FINISH_QUEUE,
  472. DIALOG_MDC_NAME,
  473. DIALOG_MDC_PLATE_FULL,
  474. DIALOG_MDC_PLATE_PARTIAL,
  475. DIALOG_MDC_PLATE_LIST,
  476. DIALOG_MDC_PLATE,
  477. DIALOG_MDC_NAME_QUEUE,
  478. DIALOG_MDC_PLATE_QUEUE,
  479. DIALOG_MDC_NUMBER_SEARCH,
  480. /*
  481. DIALOG_MDC,
  482. DIALOG_MDC_NAME,
  483. DIALOG_MDC_NAME_QUEUE,
  484. DIALOG_MDC_PLATE,
  485. DIALOG_MDC_PLATE_QUEUE,
  486. DIALOG_MDC_PLATE_LIST,
  487. DIALOG_MDC_FINISH_QUEUE
  488. ,
  489. */
  490. DIALOG_FINES,
  491. DIALOG_FINES_DELETE,
  492. DIALOG_VEHICLE_FINES,
  493. DIALOG_ROADBLOCKS,
  494. DIALOG_ROADBLOCK_LIST,
  495. DIALOG_ACTIVE_ROADBLOCKS,
  496. DIALOG_FORUM_NAME,
  497. DIALOG_VLOG_LIST,
  498. DIALOG_PLOG_LIST,
  499. DIALOG_REPORTS,
  500. DIALOG_ADMINSYS,
  501. DIALOG_ASYS_OFFLINEBAN,
  502. DIALOG_ASYS_BANREASON,
  503. DIALOG_ASYS_OFFLINEAJAIL,
  504. DIALOG_ASYS_OJAILTIME,
  505. DIALOG_ASYS_OJAILREASON,
  506. DIALOG_APANEL,
  507. DIALOG_ASYS_UNBAN,
  508. DIALOG_LOOKUP_JAILS,
  509. DIALOG_LOOKUP_KICKS,
  510. DIALOG_LOOKUP_BANS,
  511. DIALOG_DECRYPTMASK,
  512. DIALOG_FINDMASK,
  513. DIALOG_SKINSEARCH,
  514. DIALOG_ANOTE_LOOKUP,
  515. DIALOG_ANOTE_SELECT,
  516. DIALOG_ANOTE_EDIT,
  517. DIALOG_ANOTE_EDIT_YES,
  518. DIALOG_ANOTE_EDIT_YES2,
  519. DIALOG_ANOTE_EDIT_YES3,
  520. DIALOG_ANOTE_ADD,
  521. DIALOG_ANOTE_ADD_REASON,
  522. DIALOG_ANOTE_DELETE,
  523. DIALOG_ANOTE_DELETE_SELECT,
  524. DIALOG_ANOTE_DELETE_CONFIRM,
  525. DIALOG_PASSWORD_CHANGE,
  526. DIALOG_PASSWORD_SECURITY_WORD,
  527. DIALOG_FACTIONMENU,
  528. DIALOG_FACTIONMENU_NAME,
  529. DIALOG_FACTIONMENU_ABBREV,
  530. DIALOG_FACTIONMENU_ALTER,
  531. DIALOG_FACTIONMENU_TOW,
  532. DIALOG_FACTIONMENU_CHAT,
  533. DIALOG_FACTIONMENU_JOIN,
  534. DIALOG_FACTIONMENU_EDIT,
  535. DIALOG_FACTIONMENU_EDITALT,
  536. DIALOG_FACTIONMEMBERS,
  537. //REGISTER_SKIN,
  538. REGISTER_GENDER,
  539. DIALOG_TRANSFER_DRUG,
  540. DIALOG_NEW_PACKAGE,
  541. DIALOG_NEW_PACKAGE_TYPE,
  542. DIALOG_EXISTING_PACKAGE,
  543. DIALOG_EXISTING_CHOOSE
  544. /*DIALOG_REG1,
  545. DIALOG_REG2,
  546. DIALOG_REG3,
  547. DIALOG_REG4,
  548. DIALOG_REG5*/
  549. }
  550. new PlayerMDCTimer[MAX_PLAYERS], PlayerMDCCount[MAX_PLAYERS];
  551. new PlayerMDCName[MAX_PLAYERS][32], PlayerPlateSaver[MAX_PLAYERS][5][20];
  552. //Enumerators:
  553. enum E_PLAYER_DATA
  554. {
  555. pSQLID,
  556. pAdmin,
  557. bool:pAdminDuty,
  558. pMoney,
  559. pBank,
  560. pSavings,
  561. pLevel,
  562. pExp,
  563. Float:pPos[5],
  564. pInterior,
  565. pWorld,
  566. pSkin,
  567. pIP[20],
  568. pMask,
  569. pMasked,
  570. pMaskID,
  571. pMaskIDEx,
  572. pAjailed,
  573. pAjailTime,
  574. pSpectator,
  575. pSpecVehicle,
  576. pMaxHealth,
  577. Float:pLastHealth,
  578. Float:pLastArmor,
  579. pMuted,
  580. pLogintime,
  581. pRegtime,
  582. pPassAttempts,
  583. pBrutallyWounded,
  584. pPMText[128],
  585. pPMing,
  586. pOwnedCar[10],
  587. pJetpack,
  588. pCheckpoint,
  589. pInsideBusiness,
  590. pInsideHouse,
  591. pInsideApartment,
  592. pInsideComplex,
  593. pInsidePNS,
  594. pInsideGarage,
  595. pInsideDoor,
  596. pRenting,
  597. pFaction,
  598. pFactionRank,
  599. pFactionChat,
  600. pLAWduty,
  601. pMEDduty,
  602. pHasRadio,
  603. pRadio[6],
  604. pRadioSlot[6],
  605. pMainSlot,
  606. pLegShot,
  607. pExecuteTime,
  608. pFactionOffer,
  609. Float:pMark[3],
  610. pPhone,
  611. pDonator,
  612. pHelper,
  613. pHelperDuty,
  614. pOffAjail,
  615. pOffAjailReason,
  616. pSetTime,
  617. pSetReason[128],
  618. pCallsign[60],
  619. pHandcuff,
  620. pTaser,
  621. pRubberbullet,
  622. bool:pTackle,
  623. pFriskRequest,
  624. pFrisking,
  625. pAllowedFrisk,
  626. pWeaponsGiven,
  627. pPlayTime,
  628. pHoursPlayed,
  629. pPaycheck,
  630. pChatstyle,
  631. pWalkstyle,
  632. pCalling,
  633. pPhoneline,
  634. pPhoneOff,
  635. pLoudspeaker,
  636. pWorkOn,
  637. pBlindfolded,
  638. plastCommand[128],
  639. pDriversLicense,
  640. pWeaponsLicense,
  641. pGender,
  642. pAutoLow,
  643. pSpawnSelect,
  644. pSpawnHouse,
  645. pCrashed,
  646. pFurnitureObject,
  647. pFurnitureName[32],
  648. pFurnitureModel,
  649. pSWATduty,
  650. pEnterVehicle,
  651. pTraceNum,
  652. pIsTracing,
  653. pAtDealership,
  654. p911CallTimer[2],
  655. p911Steps,
  656. p911Text[128],
  657. p911Location[128],
  658. pTogDeath,
  659. pTogColor,
  660. pEditingFurniture,
  661. pFurnitureDuplicate,
  662. pEditingDuplicate,
  663. pAddingXMR,
  664. pXMRObject,
  665. pAddingFurniture,
  666. pBuyingClothing,
  667. pEditingClothing,
  668. pClothingName[90],
  669. pEditingXMR,
  670. pPlayingAnimation,
  671. pAdminMsg[128],
  672. pAdminMsgBy[60],
  673. pAdmMsgConfirm,
  674. pUpgradePoints,
  675. pSecretWord[128],
  676. pJob,
  677. pSidejob,
  678. pJobLevel,
  679. pSidejobLevel,
  680. pLastConnect[60],
  681. pLastConnectTime,
  682. pHWID[60],
  683. pHasBoombox,
  684. bool:pCarryingMeal,
  685. bool:pPlacingMeal,
  686. pSkinMenu,
  687. bool:pSkinMenuOn,
  688. pActiveListing,
  689. pJailTimes,
  690. pPrisonTimes,
  691. bool:pUnscrambling,
  692. pUnscramblerTime,
  693. pUnscrambleTimer,
  694. pUnscrambleID,
  695. pScrambleSuccess,
  696. pScrambleFailed,
  697. pPauseWepAC,
  698. pPauseCheck,
  699. pPauseTime,
  700. pHasBurnerPhone,
  701. pBurnerPhoneNumber,
  702. bool:pUsingBurner,
  703. bool:pBurnerPhoneOff,
  704. pWepOrderRestricted,
  705. pICJailed,
  706. pICJailTime,
  707. pICJailNotify,
  708. Text3D:pICJail3D,
  709. pAddingRoadblock,
  710. pRoadblockObject,
  711. pRoadblockModel,
  712. pInsideAmbulance,
  713. pCigarettes,
  714. pDrinks,
  715. pForumName[60],
  716. pSpawnPrecinct,
  717. pToggleConnects,
  718. pLastChat,
  719. pLastCMDTime,
  720. pLastEmoteTime,
  721. pNicksToggled,
  722. pDCToggled,
  723. pHUD,
  724. pHUDToggled,
  725. pFightstyle,
  726. pTransferDrug,
  727. Float:pTransferQuantity,
  728. pTransferList[10],
  729. pDrugEffect,
  730. pDrugTime,
  731. pDrugStrength,
  732. pAdjustPackage
  733. }
  734. enum E_DRUG_DATA
  735. {
  736. drugPackage,
  737. drugType,
  738. Float:drugQuantity,
  739. drugStrength,
  740. }
  741. enum E_PROPERTY_DATA
  742. {
  743. propertyid,
  744. propertyOwnerSQL,
  745. propertyType, // 1- Complex, 2- Apartment, 3- House
  746. propertyComplexLink,
  747. propertyFaction,
  748. Float:propertyExterior[3],
  749. Float:propertyInterior[4],
  750. Float:propertyCheckPos[3],
  751. propertyExteriorID,
  752. propertyExteriorWorld,
  753. propertyInteriorID,
  754. propertyInteriorWorld,
  755. propertyMarketPrice,
  756. propertyRentable,
  757. propertyRentPrice,
  758. propertyAmmo[21],
  759. propertyWeapons[21],
  760. propertyLocked,
  761. propertyMoney,
  762. propertyLevel,
  763. Text3D:ForSaleSign,
  764. Text3D:OwnedSign,
  765. propertyPickup,
  766. propertyHasXMR,
  767. propertyXMRObject,
  768. Float:propertyXMRPos[3],
  769. Float:propertyXMRRot[3],
  770. propertyXMROn,
  771. propertyXMRUrl[128],
  772. }
  773. enum E_PLAYER_VEHICLES
  774. {
  775. carID,
  776. carIGid,
  777. carExists,
  778. carOwnerID,
  779. carModel,
  780. Float:carPos[4],
  781. carInterior,
  782. carWorld,
  783. Float:carFuel,
  784. carWindows[4],
  785. carLocked,
  786. carColor1,
  787. carColor2,
  788. carPaintjob,
  789. carMods[14],
  790. carXMR,
  791. carImpounded,
  792. carPlates[32],
  793. Float:carImpoundPos[4],
  794. Float:carEngine,
  795. Float:carBattery,
  796. carLock,
  797. carAlarm,
  798. carImmob,
  799. carInsurance,
  800. carTimeDestroyed,
  801. carWeapons[5],
  802. carWeaponsAmmo[5],
  803. carPackages[21],
  804. carPackagesAmmo[21],
  805. carPlaceObject[5],
  806. carlastDriver,
  807. carlastPassenger,
  808. carXMROn,
  809. carXMRUrl[128],
  810. carWeaponObject[5],
  811. Float:carWeapon1Pos[3],
  812. Float:carWeapon1Rot[3],
  813. Float:carWeapon2Pos[3],
  814. Float:carWeapon2Rot[3],
  815. Float:carWeapon3Pos[3],
  816. Float:carWeapon3Rot[3],
  817. Float:carWeapon4Pos[3],
  818. Float:carWeapon4Rot[3],
  819. Float:carLastHealth,
  820. carPanelStatus,
  821. carDoorsStatus,
  822. carLightsStatus,
  823. carTiresStatus
  824. }
  825. enum E_VEHICLE_DRUGS
  826. {
  827. drugPackage,
  828. drugType,
  829. Float:drugQuantity,
  830. drugStrength
  831. }
  832. enum E_HOUSE_PACKAGES
  833. {
  834. packageType,
  835. packageObject,
  836. Float:packagePos[6]
  837. }
  838. enum E_HOUSE_PACKAGES_DRUGS
  839. {
  840. drugPackage,
  841. drugType,
  842. Float:drugQuantity,
  843. drugStrength
  844. }
  845. enum E_FACTION_VEHICLES
  846. {
  847. carID,
  848. carFaction,
  849. carModel,
  850. Float:carPos[4],
  851. carInterior,
  852. carWorld,
  853. carColor1,
  854. carColor2,
  855. carSirens,
  856. carSirenObject,
  857. carSirenOn,
  858. carGunRack,
  859. carlastDriver,
  860. carlastPassenger,
  861. carsXMROn,
  862. carsXMRURL[128],
  863. Text3D:carsCallsign,
  864. carHasCallsign,
  865. carsCallsignText[90],
  866. carLicensePlate[32]
  867. }
  868. enum E_FACTION_DATA
  869. {
  870. factionID,
  871. factionExists,
  872. factionName[128],
  873. factionAbbrev[128],
  874. factionMaxRanks,
  875. factionEditrank,
  876. factionChatrank,
  877. factionTowrank,
  878. factionChatColor,
  879. factionChatStatus,
  880. factionCopPerms,
  881. factionMedPerms,
  882. factionWarehousePerms,
  883. factionNewsPerms,
  884. factionBank,
  885. factionProducts,
  886. Float:factionSpawn[4],
  887. Float:factionSpawnEx1[3],
  888. Float:factionSpawnEx2[3],
  889. Float:factionSpawnEx3[3],
  890. bool:factionHasWeaponOrder,
  891. factionOrderBy,
  892. factionOrderTime,
  893. factionOrderItems[MAX_WEAPON_PACKAGES],
  894. factionOrder_Timer,
  895. factionOrder_Delivery
  896. }
  897. enum E_BUSINESS_DATA
  898. {
  899. businessID,
  900. businessOwnerSQL,
  901. Float:businessInt[4],
  902. businessWorld,
  903. businessIntID,
  904. Float:businessExt[3],
  905. businessName[128],
  906. businessType,
  907. businessPickup,
  908. Float:businessBankPickupLoc[3],
  909. businessBankPickupWorld,
  910. businessBankPickupIntID,
  911. businessBankPickup,
  912. businessMarketPrice,
  913. businessLocked,
  914. businessFee,
  915. businessCashbox,
  916. businessLevel,
  917. businessProduct,
  918. businessWeapons[21],
  919. businessWeaponsAmmo[21],
  920. businessPackages[21],
  921. businessPackagesAmmo[21]
  922. }
  923. enum E_PAYNSPRAY_DATA
  924. {
  925. pnsID,
  926. pnsPickup,
  927. pnsName[128],
  928. Float:pnsEntrance[3],
  929. Float:pnsRepairSpot[3],
  930. pnsOwnerSQL,
  931. pnsPrice,
  932. pnsOccupied,
  933. pnsEarnings
  934. }
  935. enum E_TOLLS_DATA
  936. {
  937. tollID,
  938. tollLocked,
  939. tollPrice,
  940. tollStatus,
  941. Float:tollPointA[3],
  942. Float:tollPointB[3],
  943. tollTimer,
  944. tollVehicle
  945. }
  946. enum E_DAMAGE_DATA
  947. {
  948. damageTaken,
  949. damageWeapon,
  950. damageBodypart,
  951. damageArmor,
  952. damageTime,
  953. damageBy[90]
  954. }
  955. enum E_DROP_DATA
  956. {
  957. bool:eWeaponDropped,
  958. eDropWeaponID,
  959. eDropWeaponAmmo,
  960. Float:eWeaponPos[3],
  961. eWeaponInterior,
  962. eWeaponWorld,
  963. eWeaponDroppedBy,
  964. eWeaponObject,
  965. eWeaponTimer
  966. }
  967. enum E_RESOURCES_USE
  968. {
  969. Float:Exterior[4],
  970. Float:Interior[4],
  971. extInteriorID,
  972. extWorld,
  973. intInteriorID,
  974. intWorld,
  975. Type,
  976. Cost,
  977. Level,
  978. ComplexLink,
  979. Float:CmdSpot[3],
  980. v_Model,
  981. v_Faction,
  982. v_Color1,
  983. v_Color2,
  984. Float:v_Pos[4],
  985. InteriorID,
  986. InteriorWorld,
  987. PropertyLink
  988. }
  989. enum
  990. {
  991. FURNITURE_CATEGORY_FRAMES,
  992. FURNITURE_CATEGORY_BEDS,
  993. FURNITURE_CATEGORY_WALLS,
  994. FURNITURE_CATEGORY_FLOORS,
  995. FURNITURE_CATEGORY_DOORS,
  996. FURNITURE_CATEGORY_MISC,
  997. FURNITURE_CATEGORY_GRAF,
  998. FURNITURE_CATEGORY_STAIRS,
  999. FURNITURE_CATEGORY_ELEC,
  1000. FURNITURE_CATEGORY_SEATS,
  1001. FURNITURE_CATEGORY_TABLES
  1002. }
  1003. enum
  1004. {
  1005. DEALERSHIP_CATEGORY_AIRCRAFTS,
  1006. DEALERSHIP_CATEGORY_BOATS,
  1007. DEALERSHIP_CATEGORY_BIKES,
  1008. DEALERSHIP_CATEGORY_TWODOOR,
  1009. DEALERSHIP_CATEGORY_FOURDOOR,
  1010. DEALERSHIP_CATEGORY_CIVIL,
  1011. DEALERSHIP_CATEGORY_HEAVY,
  1012. DEALERSHIP_CATEGORY_VANS,
  1013. DEALERSHIP_CATEGORY_SUV,
  1014. DEALERSHIP_CATEGORY_MUSCLE,
  1015. DEALERSHIP_CATEGORY_RACERS
  1016. }
  1017. enum E_CLOTHING_INFO
  1018. {
  1019. clothingModel,
  1020. clothingName[32],
  1021. clothingPrice
  1022. }
  1023. enum E_FURNITURE_INFO
  1024. {
  1025. furnitureType,
  1026. furnitureName[32],
  1027. furnitureModel,
  1028. furnitureCategory
  1029. }
  1030. enum E_FURNITURE_DATA
  1031. {
  1032. furnitureSQLID,
  1033. furniturePropertyID,
  1034. furnitureExists,
  1035. furnituresModel,
  1036. furnituresName[32],
  1037. Float: furniturePos[3],
  1038. Float: furnitureRot[3],
  1039. furnitureObject,
  1040. furnitureDoorLock,
  1041. furnitureDoorOpen
  1042. }
  1043. enum E_OBJECT_DATA
  1044. {
  1045. ObjectDBID,
  1046. Object_Model,
  1047. Object,
  1048. Float:Object_PosX,
  1049. Float:Object_PosY,
  1050. Float:Object_PosZ,
  1051. Float:Object_RotX,
  1052. Float:Object_RotY,
  1053. Float:Object_RotZ,
  1054. Float:Object_OpenX,
  1055. Float:Object_OpenY,
  1056. Float:Object_OpenZ,
  1057. Float:Object_OpenRotX,
  1058. Float:Object_OpenRotY,
  1059. Float:Object_OpenRotZ,
  1060. bool:Object_GateOpen,
  1061. Object_Interior,
  1062. Object_World,
  1063. Object_Type,
  1064. Object_Faction
  1065. }
  1066. enum E_RENTAL_DATA
  1067. {
  1068. rentalcarSQLID,
  1069. rentalcarModel,
  1070. rentalcarColor1,
  1071. rentalcarColor2,
  1072. Float: rentalcarPos[4],
  1073. rentalcarRented,
  1074. rentalcarRentedBy,
  1075. rentalcarLocked
  1076. }
  1077. enum E_DOOR_DATA
  1078. {
  1079. doorID,
  1080. Float: doorPos[3],
  1081. Float: doorInt[4],
  1082. doorPosIntID,
  1083. doorPosWorld,
  1084. doorIntID,
  1085. doorIntWorld,
  1086. doorFaction,
  1087. doorName[128],
  1088. doorLocked
  1089. }
  1090. enum E_PLAYER_NOTE_DATA
  1091. {
  1092. NoteSQLID,
  1093. NotePlayerSQLID,
  1094. NoteID,
  1095. NoteDetail[128]
  1096. }
  1097. enum SAZONE_MAIN
  1098. {
  1099. SAZONE_NAME[28],
  1100. Float:SAZONE_AREA[6]
  1101. }
  1102. enum E_APB_DATA
  1103. {
  1104. bulletinID,
  1105. bulletinExists,
  1106. bulletinDetails[128],
  1107. bulletinBy[128]
  1108. }
  1109. enum E_DEALERSHIP_INFO
  1110. {
  1111. dealershipType,
  1112. dealershipCategory,
  1113. dealershipModelName[128],
  1114. dealershipModelID,
  1115. dealershipPrice
  1116. }
  1117. enum E_REPORT_DATA
  1118. {
  1119. bool:reportExists,
  1120. reportBy,
  1121. reportReason[128],
  1122. reportTime
  1123. }
  1124. enum E_SUPPORT_DATA
  1125. {
  1126. bool:SupportExists,
  1127. SupportRequester,
  1128. SupportReason[128],
  1129. SupportTime
  1130. }
  1131. enum E_CONTACTS_DATA
  1132. {
  1133. contactSQLID,
  1134. contactPlayerSQLID,
  1135. contactID,
  1136. contactName[128],
  1137. contactNumber
  1138. }
  1139. enum E_PROPERTY_GARAGE_DATA
  1140. {
  1141. garageSQLID,
  1142. Float: garagePos[4],
  1143. Float: garageInt[4],
  1144. garageInteriorID,
  1145. garageWorld,
  1146. garageType,
  1147. garagePropertyID,
  1148. garageLocked,
  1149. garageFaction
  1150. }
  1151. enum E_XMR_CATEGORY_DATA
  1152. {
  1153. XMRID,
  1154. XMRCategoryName[90],
  1155. XMRCategory
  1156. }
  1157. enum E_XMR_SUB_CATEGORY_DATA
  1158. {
  1159. xmrID,
  1160. xmrCategory,
  1161. xmrName[90],
  1162. xmrStationURL[128],
  1163. }
  1164. enum E_GRANT_BUILD_DATA
  1165. {
  1166. GrantedSQLID
  1167. }
  1168. enum E_ADMIN_NOTES_DATA
  1169. {
  1170. anote_SQLID,
  1171. anote_playerDBID,
  1172. anote_reason[128],
  1173. anote_issuer[60],
  1174. anote_date[90],
  1175. anote_active
  1176. }
  1177. enum E_CLOTHING_DATA
  1178. {
  1179. attachment_SQLID,
  1180. attachment_playerDBID,
  1181. attachment_modelid,
  1182. attachment_bone,
  1183. Float:attachment_Pos[3],
  1184. Float:attachment_Rot[3],
  1185. Float:attachment_Scale[3],
  1186. attachment_name[90]
  1187. }
  1188. enum E_PACKAGES_DATA
  1189. {
  1190. packageWeapon[MAX_WEAPON_PACKAGES],
  1191. packageAmmo[MAX_WEAPON_PACKAGES]
  1192. }
  1193. enum E_WEAPON_ATTACHMENTS
  1194. {
  1195. Float: weaponPos[3],
  1196. Float: weaponRot[3],
  1197. weaponBone,
  1198. weaponHidden
  1199. }
  1200. enum E_BOOMBOX_DATA
  1201. {
  1202. boomboxExists,
  1203. boomboxObject,
  1204. boomboxArea,
  1205. boomboxPlayerID,
  1206. Float:boomboxPos[3],
  1207. Float:boomboxRot[3],
  1208. boomboxOn,
  1209. boomboxURL[256],
  1210. boomboxInBusiness
  1211. }
  1212. enum E_GRAFFITI_INFO
  1213. {
  1214. Float:graffitiPosX,
  1215. Float:graffitiPosY,
  1216. Float:graffitiPosZ,
  1217. Float:graffitiRotX,
  1218. Float:graffitiRotY,
  1219. Float:graffitiRotZ,
  1220. }
  1221. enum E_GRAFFITI_DATA
  1222. {
  1223. graffitiObject,
  1224. graffitiEdited,
  1225. graffitiBy
  1226. }
  1227. enum E_MEAL_DATA
  1228. {
  1229. bool:mealExists,
  1230. bool:mealPlaced,
  1231. mealModel,
  1232. mealObject,
  1233. Float:mealPos[3],
  1234. Float:mealRot[3]
  1235. }
  1236. enum E_UNSCRAMBLER_DATA
  1237. {
  1238. scrambledWord[60],
  1239. unscrambledWord[60]
  1240. }
  1241. enum E_WEAPONS_DATA
  1242. {
  1243. eWeaponID,
  1244. eWeaponAmmo,
  1245. bool:eWeaponSaveable,
  1246. eWeaponGivenBy,
  1247. bool:eWeaponCCW,
  1248. eWeaponSerial
  1249. }
  1250. enum E_ORDER_DATA
  1251. {
  1252. WeaponName[32],
  1253. WeaponID
  1254. }
  1255. enum E_ORDERLOCATION_DATA
  1256. {
  1257. Float:LocationX,
  1258. Float:LocationY,
  1259. Float:LocationZ
  1260. }
  1261. enum E_FINE_DATA
  1262. {
  1263. Fine_ID,
  1264. Fine_Issuer[34],
  1265. Fine_Reason[128],
  1266. Fine_Amount,
  1267. Fine_Date[90]
  1268. }
  1269. enum E_ROADBLOCK_INFO
  1270. {
  1271. RoadblockName[60],
  1272. RoadblockModel,
  1273. }
  1274. enum E_ROADBLOCK_DATA
  1275. {
  1276. RoadblockObject,
  1277. RoadblocksModelID,
  1278. bool:RoadblockExists,
  1279. RoadblockPlacedBy[34],
  1280. RoadblockLocation[40],
  1281. Float:RoadblockPos[3],
  1282. RoadblockWorld,
  1283. RoadblockInterior,
  1284. bool:RoadblockSpikes
  1285. }
  1286. enum E_WEAPONCRATES_DATA
  1287. {
  1288. bool:CrateExists,
  1289. CrateObject,
  1290. CrateFaction,
  1291. CrateBy,
  1292. CrateItems[MAX_WEAPON_PACKAGES],
  1293. Text3D:CrateLabel,
  1294. CrateAttachedTo,
  1295. CrateVehicle,
  1296. CrateBeingOpened
  1297. }
  1298. new WeaponCrates[MAX_WEAPON_CRATES][E_WEAPONCRATES_DATA];
  1299. enum E_ENTERS_DATA
  1300. {
  1301. InteriorDBID,
  1302. Float: Entrance[3],
  1303. EntranceInteriorID,
  1304. EntranceWorld,
  1305. Float: Exit[3],
  1306. ExitInteriorID,
  1307. ExitWorld,
  1308. bool:Locked,
  1309. FactionOwner,
  1310. IsBlackMarket,
  1311. IsWarehouse
  1312. }
  1313. new Entrances[30][E_ENTERS_DATA];
  1314. // [ ROADBLOCK DATA ]
  1315. new Roadblocks[40][E_ROADBLOCK_DATA];
  1316. // [ FINE DATA ]
  1317. new Fines[MAX_PLAYERS][30][E_FINE_DATA];
  1318. new VehicleFines[MAX_VEHICLES][30][E_FINE_DATA];
  1319. new CheckingPlayerFine[MAX_PLAYERS];
  1320. // [ WEAPON DATA ]
  1321. new Weapon[MAX_PLAYERS][MAX_POSSIBLE_WEAPONS][E_WEAPONS_DATA];
  1322. // [ GRAFFITI VARIABLES ]
  1323. new GraffitiData[MAX_GRAFFITI_SPOTS][E_GRAFFITI_DATA];
  1324. new bool:sprayPermission[MAX_PLAYERS];
  1325. new bool:sprayingGraffiti[MAX_PLAYERS], sprayingGraffitiTime[MAX_PLAYERS];
  1326. new saveSprayingTime[MAX_PLAYERS];
  1327. new graffitiText[MAX_PLAYERS][65], graffitiTimer[MAX_PLAYERS], graffitiTimerEx[MAX_PLAYERS];
  1328. new bool:graffitiTimerEx_Confirm[MAX_PLAYERS];
  1329. new graffitiID[MAX_PLAYERS], graffitiFont[MAX_PLAYERS][60];
  1330. new GraffitiActual[MAX_PLAYERS][65]; // REAL GRAFFITI TEXT
  1331. new GraffitiTD[MAX_PLAYERS][65]; // TEXT WE'RE GOING TO SHOW
  1332. new DotsSetForGraffiti[MAX_PLAYERS]; // IF DOTS WERE SET
  1333. new CharactersSetGraffiti[MAX_PLAYERS][65]; // CHECKING WHICH DOTS ARE SET
  1334. new IsGraffitiDone[MAX_PLAYERS];
  1335. new GraffitiExitTimer[MAX_PLAYERS];
  1336. //GraffitiActual is the blank text for Graffiti
  1337. //GraffitiTD is the L.... text that'll show
  1338. //new PDToll[2];
  1339. new PDDoor[16];
  1340. // [ BOOMBOX VARIABLES ]
  1341. new BoomboxData[MAX_BOOMBOXS][E_BOOMBOX_DATA];
  1342. new EditingBoombox[MAX_PLAYERS];
  1343. // [ WEP ATTACHMENT VARIABELS ]
  1344. new WeaponDisplay[MAX_PLAYERS][35][E_WEAPON_ATTACHMENTS];
  1345. new DisplayTimer[MAX_PLAYERS];
  1346. new EditingDisplay[MAX_PLAYERS];
  1347. // [ LOG VARIABLES ]
  1348. new PlayerChatLogs[MAX_PLAYERS][30][128];
  1349. new PlayerCommandLogs[MAX_PLAYERS][30][128];
  1350. // [ DRUG VARIABLES ]
  1351. new DrugData[MAX_PLAYERS][10][E_DRUG_DATA];
  1352. // [ WEAPON PACKAGE VARIABLES ]
  1353. new PackageData[MAX_PLAYERS][E_PACKAGES_DATA];
  1354. // [ CLOTHING VARIABLES ]
  1355. new ClothingData[MAX_PLAYERS][MAX_CLOTHING_ITEMS][E_CLOTHING_DATA];
  1356. new PlayerClothingPage[MAX_PLAYERS], ClothingItemSelector[MAX_PLAYERS][MAX_CLOTHING_SHOW+3];
  1357. new ClothingCost[MAX_PLAYERS];
  1358. new clothing_index[MAX_PLAYERS], ClothingHolder[MAX_PLAYERS];
  1359. new ClothingMenuSelect[MAX_PLAYERS][MAX_CLOTHING_ITEMS];
  1360. // [ ADMIN NOTE VARIABLES ]
  1361. new aNotesData[MAX_PLAYERS][MAX_ADMIN_NOTES][E_ADMIN_NOTES_DATA];
  1362. new anote_idsave[MAX_PLAYERS];
  1363. // [ FURNITURE GRANTBUILD VARIABLES ]
  1364. new BuildData[MAX_PLAYERS][MAX_GRANT_BUILD][E_GRANT_BUILD_DATA];
  1365. // [ XMR VARIABLES ]
  1366. new XMRCategoryData[MAX_XMR_CATEGORIES][E_XMR_CATEGORY_DATA];
  1367. new XMRData[MAX_XMR_SUBCATEGORY][E_XMR_SUB_CATEGORY_DATA];
  1368. new CatXMRHolder[MAX_PLAYERS], SubXMRHolder[MAX_PLAYERS];
  1369. new SubXMRHolderArr[MAX_PLAYERS][MAX_XMR_CATEGORIES];
  1370. // [ GLOBAL VARIABLES ]
  1371. new OOC, GlobalWeather = 2;
  1372. new TotalJailees;
  1373. new WEAPON_ANTI_CHEAT = 1;
  1374. new AMMO_ANTI_CHEAT = 1;
  1375. new bool:WEAPON_ORDER_DISABLED = true;
  1376. new dmvCar1, dmvCar2, dmvCar3, dmvCar4;
  1377. new TruckerVehicles[13];
  1378. new MicPerms[MAX_PLAYERS];
  1379. //Mapping
  1380. new MechLift, bool:MechUp;
  1381. // [ PLAYER VARIABLES ]
  1382. new gPlayerInsideEntrance[MAX_PLAYERS];
  1383. new gShowingTextDrawInfo[MAX_PLAYERS];
  1384. new gShowingTextDrawTimer[MAX_PLAYERS];
  1385. new gHidingFactionTimer[MAX_PLAYERS];
  1386. //AntiCheat
  1387. new ACPausedForPlayer[MAX_PLAYERS];
  1388. new PauseMessage[MAX_PLAYERS];
  1389. new bool:pLoggedIn[MAX_PLAYERS], PlayerData[MAX_PLAYERS][E_PLAYER_DATA];
  1390. new Float:oldHealth[MAX_PLAYERS];
  1391. new _pay_security_timer[MAX_PLAYERS], _taking_license_test[MAX_PLAYERS], _taking_license_point[MAX_PLAYERS];
  1392. new _taking_license_vehicle[MAX_PLAYERS], _taking_license_time[MAX_PLAYERS], _respawn_timer[MAX_PLAYERS];
  1393. new _has_vehicle_spawned[MAX_PLAYERS], _has_spawned_vehicleid[MAX_PLAYERS];
  1394. new note_save_id[MAX_PLAYERS], contact_save_id[MAX_PLAYERS];
  1395. new playerTowingVehicle[MAX_PLAYERS], playerTowTimer[MAX_PLAYERS];
  1396. new Text3D:vehicleTowSign[MAX_VEHICLES], playerVehicleTowCount[MAX_PLAYERS];
  1397. new PlayerMDCText[MAX_PLAYERS][32], PlayerMDCPlateHolder[MAX_PLAYERS][5][32];
  1398. new PlayerStolenCarTimer[MAX_PLAYERS], PlayerStolenCarPrompt[MAX_PLAYERS];
  1399. new PlayerStolenCarPlate[MAX_PLAYERS][32];
  1400. new SavePlayerTaser[MAX_PLAYERS];
  1401. new PlaceCadWait[MAX_PLAYERS];
  1402. new PlaceAdWait[MAX_PLAYERS];
  1403. new PlayerConnectionTick[MAX_PLAYERS];
  1404. new PlayerLoginTick[MAX_PLAYERS];
  1405. //Desync
  1406. new PlayerIsDesynced[MAX_PLAYERS];
  1407. new PlayerDesyncNotify[MAX_PLAYERS];
  1408. new PlayerJustDied[MAX_PLAYERS];
  1409. //Legshot
  1410. new LegShotTimer[MAX_PLAYERS];
  1411. //Lock Breaking
  1412. new PlayerBreakingIn[MAX_PLAYERS];
  1413. new PlayerBreakInVehicle[MAX_PLAYERS];
  1414. new Text3D:BreakInTextDraw[MAX_PLAYERS];
  1415. new BreakInTDTimer[MAX_PLAYERS];
  1416. new ActiveLockTD[MAX_PLAYERS];
  1417. new BreakInError[MAX_PLAYERS];
  1418. new BreakInLevel[MAX_PLAYERS];
  1419. //SMS
  1420. new PlayerSMS[MAX_PLAYERS][128];
  1421. //
  1422. new CanPMAdmin[MAX_PLAYERS][MAX_PLAYERS];
  1423. new WatchingDamages[MAX_PLAYERS][MAX_PLAYERS];
  1424. //
  1425. new PlayerReport[MAX_PLAYERS][128];
  1426. //Armor
  1427. new ArmorGiven[MAX_PLAYERS];
  1428. //Tutorial
  1429. new PlayerTutorial[MAX_PLAYERS];
  1430. new PlayerTutorialStep[MAX_PLAYERS];
  1431. new PlayerTutorialTimer[MAX_PLAYERS];
  1432. new PlayerPassword[MAX_PLAYERS][90];
  1433. //Death
  1434. new DeathTimeNotice[MAX_PLAYERS];
  1435. //New HUD
  1436. new PlayerText:Player_Hud[ MAX_PLAYERS ][ 9 ];
  1437. //Spectating
  1438. new SpectatorWait[MAX_PLAYERS];
  1439. //Vehicle Logs
  1440. new PlayerVlogPage[MAX_PLAYERS];
  1441. new PlayerVlogVehicle[MAX_PLAYERS];
  1442. //Player Logs
  1443. new PlayerLogPage[MAX_PLAYERS];
  1444. new PlayerLogPlayer[MAX_PLAYERS];
  1445. //Calling Mechanic
  1446. new MechanicText[MAX_PLAYERS][128];
  1447. new MechanicCallTimer[MAX_PLAYERS];
  1448. //Calling Taxi
  1449. new TaxiText[MAX_PLAYERS][2][128];
  1450. new TaxiStage[MAX_PLAYERS];
  1451. new TaxiCallTimer[MAX_PLAYERS];
  1452. //Weapon Order
  1453. new bool:OrderedWeapon[MAX_PLAYERS];
  1454. new OrderWeaponTime[MAX_PLAYERS];
  1455. new WeaponOrdered[2][MAX_PLAYERS];
  1456. new WeaponOrderedName[2][MAX_PLAYERS][32];
  1457. new WeaponOrderTimer[MAX_PLAYERS];
  1458. new WeaponOrderPrompt[MAX_PLAYERS];
  1459. new WeaponOrderStop[MAX_PLAYERS];
  1460. new WeaponOrderArea[MAX_PLAYERS];
  1461. new WeaponOrderDoneTime[MAX_PLAYERS];
  1462. new WeaponOrderPrice[MAX_PLAYERS];
  1463. new WeaponOrderSpot[MAX_PLAYERS];
  1464. new WeaponOrderObject[MAX_PLAYERS];
  1465. //Trucker Job
  1466. new TruckerVehicleRentedBy[MAX_VEHICLES];
  1467. new bool:StartedTruckerMission[MAX_PLAYERS];
  1468. new TruckerMissionVehicle[MAX_PLAYERS];
  1469. new bool:SpawnedTrailer[MAX_PLAYERS];
  1470. new TrailerAttachTime[MAX_PLAYERS];
  1471. new TrailerID[MAX_VEHICLES];
  1472. new TrailerTimer[MAX_PLAYERS];
  1473. new TruckerMissionPoint[MAX_PLAYERS];
  1474. new TruckerMissionStep[MAX_PLAYERS];
  1475. new TruckerJobTimer[MAX_PLAYERS];
  1476. new TruckerJobDeliverTimer[MAX_PLAYERS];
  1477. new TruckerJobDeliveryCount[MAX_PLAYERS];
  1478. new TruckerJobEarnings[MAX_PLAYERS];
  1479. new TruckerJobExitTimer[MAX_PLAYERS];
  1480. new TruckerJobExitCount[MAX_PLAYERS];
  1481. //Taxi Job
  1482. new bool:StartedTaxiJob[MAX_PLAYERS];
  1483. new TaxiDriver[MAX_PLAYERS]; //Taxi driver's ID when player enters;
  1484. new TaxiDurationTimer[MAX_PLAYERS];
  1485. new TaxiFairTimer[MAX_PLAYERS];
  1486. new TaxiDuration[MAX_PLAYERS];
  1487. new TaxiPrice[MAX_PLAYERS];
  1488. new InTaxiRide[MAX_PLAYERS];
  1489. new TaxiDriverTimer[MAX_PLAYERS];
  1490. new TaxiFair[MAX_PLAYERS];
  1491. new TaxiTotalFair[MAX_PLAYERS];
  1492. new TaxiFairStarted[MAX_PLAYERS];
  1493. //
  1494. new PlayerIsTased[MAX_PLAYERS];
  1495. //Vehicle Sell
  1496. new VehicleOfferedTo[MAX_PLAYERS]; //Player who uses /v sell;
  1497. new VehicleOfferBy[MAX_PLAYERS]; //Target of /vsell;
  1498. new VehicleDBIDOffered[MAX_PLAYERS]; //Vehicle of /vsell;
  1499. new VehiclePrice[MAX_PLAYERS]; //Price of /vsell;
  1500. //Fuel Station Refill
  1501. new PlayerRefilling[MAX_PLAYERS]; //When uses /v refill, starts.
  1502. new RefillPoint[MAX_PLAYERS]; // The refill point counter;
  1503. new Text3D:RefillTextdraw[MAX_PLAYERS]; // TD refill;
  1504. new RefillTimer[MAX_PLAYERS];
  1505. new RefillPrice[MAX_PLAYERS];
  1506. new Float:RefillAmount[MAX_PLAYERS];
  1507. new RefillVehicle[MAX_PLAYERS];
  1508. //Hire Business
  1509. new OfferedHireTo[MAX_PLAYERS];
  1510. new OfferedHireBusinessID[MAX_PLAYERS];
  1511. new OfferedHireBy[MAX_PLAYERS];
  1512. //Admin System
  1513. new OfflineBanName[MAX_PLAYERS][60];
  1514. new OfflineJailName[MAX_PLAYERS][60], OfflineJailTime[MAX_PLAYERS];
  1515. new AdminPanelName[MAX_PLAYERS][60];
  1516. new AdminNoteSelect[MAX_PLAYERS][MAX_ADMIN_NOTES];
  1517. new AdminNoteSelected[MAX_PLAYERS], AdminNoteIssuer[MAX_PLAYERS][90];
  1518. //Password Change
  1519. new CanChangePassword[MAX_PLAYERS];
  1520. //Warehouse Variable
  1521. new WarehouseWeapons[MAX_PLAYERS][MAX_WEAPON_PACKAGES];
  1522. new WarehouseCallTimer[MAX_PLAYERS];
  1523. new WarehouseCallStep[MAX_PLAYERS];
  1524. new gOpeningCrateTimer[MAX_PLAYERS];
  1525. new gOpeningCrate[MAX_PLAYERS]; new gCrateOpenIntervals[MAX_PLAYERS];
  1526. new Float:gOpeningCratePos[MAX_PLAYERS][3];
  1527. // [ TEXTDRAW VARIABLES ]
  1528. new Text:Buymenu_TD[37], Text:furnitureadd_TD[9];
  1529. new Text:blindfoldTextdraw, Text:TD_mealMenu[17];
  1530. new PlayerText:DefaultTextdraw[MAX_PLAYERS];
  1531. new PlayerText:SpectatorTD[MAX_PLAYERS][6];
  1532. new PlayerText:Trace_PTD[MAX_PLAYERS][1], PlayerText:CarBought_PTD[MAX_PLAYERS][2];
  1533. new PlayerText:Getjob_PTD[MAX_PLAYERS][4], PlayerText:Skinmenu_PTD[MAX_PLAYERS][3];
  1534. new PlayerText:Unscrambler_PTD[MAX_PLAYERS][7];
  1535. new PlayerText:TruckerJob_PTD[MAX_PLAYERS][2];
  1536. new PlayerText:TruckerEarning_PTD[MAX_PLAYERS][2];
  1537. new PlayerText:TruckerWarning_PTD[MAX_PLAYERS][2];
  1538. new PlayerText:TaxiFair_PTD[MAX_PLAYERS][5];
  1539. new PlayerText:OrderCount[MAX_PLAYERS][2];
  1540. new PlayerText:GraffitiDisplay[MAX_PLAYERS];
  1541. //Vehicle HUD
  1542. new PlayerText:VehicleHUD[MAX_PLAYERS][6];
  1543. //
  1544. //Vehicle List HUD
  1545. new PlayerText:Player_Vehicles[MAX_PLAYERS][6];
  1546. new PlayerText:Player_Vehicles_Name[MAX_PLAYERS][6];
  1547. new PlayerText:Player_Vehicles_Arrow[MAX_PLAYERS][3];
  1548. new PlayerText:Player_Static_Arrow[MAX_PLAYERS];
  1549. new PlayerListShow[MAX_PLAYERS];
  1550. //Warehouse Menu
  1551. new Text:WarehouseMenu[46];
  1552. new PlayerText:WarehouseMenu_P[MAX_PLAYERS][3];
  1553. new Text:CrateInventory[2];
  1554. new PlayerText:CrateInventory_P[MAX_PLAYERS][1];
  1555. // [ RESOURCES VARIABLES ]
  1556. new Resources[MAX_PLAYERS][E_RESOURCES_USE];
  1557. // [ PROPERTY VARIABLES ]
  1558. new PropertyData[MAX_PROPERTY][E_PROPERTY_DATA], TotalPropertyMade = 0;
  1559. new HousePackages[MAX_PROPERTY][10][E_HOUSE_PACKAGES];
  1560. new PackageDrugs[MAX_PROPERTY][10][20][E_HOUSE_PACKAGES_DRUGS];
  1561. // [ VEHICLE VARIABLES ]
  1562. new CarData[MAX_VEHICLES][E_PLAYER_VEHICLES];
  1563. new CarDrugData[MAX_VEHICLES][10][E_VEHICLE_DRUGS];
  1564. new AdminCar[MAX_VEHICLES], AdminCarColor1[MAX_VEHICLES], AdminCarColor2[MAX_VEHICLES];
  1565. new CarEngine[MAX_VEHICLES], CarLights[MAX_VEHICLES];
  1566. new CarlastDriver[MAX_VEHICLES], CarlastPassenger[MAX_VEHICLES];
  1567. //Weapon Positions
  1568. new SlotBeingUsed[MAX_VEHICLES][5];
  1569. new PlayerPlacingInVehicle[MAX_PLAYERS];
  1570. new PlayerPlacingWeapon[MAX_PLAYERS];
  1571. new PlayerEditingWeapon[MAX_PLAYERS];
  1572. new PlayerPlacingWeaponSlot[MAX_PLAYERS];
  1573. new PlayerPlacingWeaponID[MAX_PLAYERS];
  1574. new PlayerPlacingWeaponAmmo[MAX_PLAYERS];
  1575. // [ FACTION VEHICLE VARIABLES ]
  1576. new FactionCar[MAX_FACTION_CARS][E_FACTION_VEHICLES];
  1577. new Text3D:vehicleTextdraw[MAX_PLAYERS], playerTextdraw[MAX_PLAYERS];
  1578. // [ FACTION VARIABLES ]
  1579. new FactionData[MAX_FACTIONS][E_FACTION_DATA], TotalFactionsLoaded = 0;
  1580. static FactionName[128], FactionAbbrev[128];
  1581. static Float:FactionSpawn[4];
  1582. new FactionRanks[MAX_FACTIONS][MAX_FACTION_RANKS][60];
  1583. // [ BUSINESS VARIABLES ]
  1584. new BusinessData[MAX_BUSINESS][E_BUSINESS_DATA], TotalBusinessesLoaded = 0;
  1585. // [ PAY N' SPRAY VARIABLES ]
  1586. new PNSData[MAX_PAYNSPRAY][E_PAYNSPRAY_DATA], TotalPaynSpraysLoaded = 0;
  1587. // [ TOLL VARIABLES ]
  1588. new TollsData[MAX_TOLLS][E_TOLLS_DATA], TotalTollsLoaded = 0;
  1589. new totalTollPayment = 0, tollTimesLocked = 0;
  1590. new tollObject1, tollObject2; // LSLV
  1591. new tollObject3, tollObject4; // Richman
  1592. new tollObject5, tollObject6; // Flint
  1593. // [ DAMAGE VARIABLES ]
  1594. new DamageData[MAX_PLAYERS][MAX_DAMAGES][E_DAMAGE_DATA];
  1595. new totalDamages[MAX_PLAYERS];
  1596. // [ DROPGUN VARIABLES ]
  1597. new DropData[MAX_DROP_ITEMS][E_DROP_DATA];
  1598. // [ RENTAL VARIABLES ]
  1599. new RentalData[MAX_RENTALS][E_RENTAL_DATA];
  1600. // [ DOOR VARIABLES ]
  1601. new DoorData[MAX_DOORS][E_DOOR_DATA], TotalDoorsLoaded = 0;
  1602. // [ NOTE VARIABLES ]
  1603. new NoteData[MAX_PLAYERS][MAX_PLAYER_NOTES][E_PLAYER_NOTE_DATA];
  1604. // [ FURNITURE VARIABLES ]
  1605. new FurnitureData[MAX_FURNITURE][E_FURNITURE_DATA];
  1606. new CatFurnitureHolder[MAX_PLAYERS], SubFurnitureHolder[MAX_PLAYERS];
  1607. new SubFurnitureHolderArr[MAX_PLAYERS][MAX_FURNITURE];
  1608. new FurnitureSelectHolder[MAX_PLAYERS][MAX_SHOWING_FURNITURE+3];
  1609. new FurnitureSelectHolderArr[MAX_PLAYERS];
  1610. new PlayerFurniturePage[MAX_PLAYERS], PlayerListitemSelected[MAX_PLAYERS];
  1611. // [ OBJECT VARIABLES ]
  1612. new ObjectData[MAX_SERVER_OBJECTS][E_OBJECT_DATA];
  1613. new PlayerAddingObject[MAX_PLAYERS], PlayerAddingModel[MAX_PLAYERS], PlayerEditingObject[MAX_PLAYERS];
  1614. new PlayerSpawnObject[MAX_PLAYERS], PlayerEditingID[MAX_PLAYERS];
  1615. new PlayerEditingOpen[MAX_PLAYERS];
  1616. // [ APB VARIABLES ]
  1617. new APBData[MAX_APBS][E_APB_DATA];
  1618. // [ REPORT VARIABLES ]
  1619. new ReportData[MAX_REPORTS][E_REPORT_DATA];
  1620. // [ SUPPORT VARIABLES ]
  1621. new SupportData[100][E_SUPPORT_DATA];
  1622. // [ CONTACT VARIABLES ]
  1623. new ContactsData[MAX_PLAYERS][MAX_PLAYER_CONTACTS][E_CONTACTS_DATA];
  1624. // [ PROPERTY GARAGE VARIABLES ]
  1625. new GarageData[MAX_PROPERTY_GARAGES][E_PROPERTY_GARAGE_DATA], TotalPropertyGaragesMade = 0;
  1626. // [ DEALERSHIP VARIABLES ]
  1627. new CatDealershipHolder[MAX_PLAYERS], SubDealershipHolder[MAX_PLAYERS];
  1628. new SubDealershipHolderArr[MAX_PLAYERS][200];
  1629. new g_aVehicleSpawned[MAX_PLAYERS], g_aVehicleColor[MAX_PLAYERS][2];
  1630. new g_aLockLevel[MAX_PLAYERS], g_aAlarmLevel[MAX_PLAYERS], g_aImmobLevel[MAX_PLAYERS], g_aXMR[MAX_PLAYERS];
  1631. new g_aTotalAmount[MAX_PLAYERS], g_aSlotSave[MAX_PLAYERS], g_aPlates[MAX_PLAYERS][32];
  1632. // [ MECHANIC JOB VARIABLES ]
  1633. new paintjobOffered[MAX_PLAYERS][2], paintjobColors[MAX_PLAYERS][2];
  1634. new bool:startingPaintjob[MAX_PLAYERS], paintjobVehicle[MAX_PLAYERS], paintjobTimer[MAX_PLAYERS], paintjobCounter[MAX_PLAYERS];
  1635. new paintjobTime[MAX_PLAYERS];
  1636. // [ MEAL MENU VARIABLES ]
  1637. new MealMenu[MAX_PLAYERS][E_MEAL_DATA];
  1638. // [ UNSCRAMBLER VARIABLES ]
  1639. static const g_aUnscrambleInfo[][E_UNSCRAMBLER_DATA] = {
  1640. {"Pssawodr", "Password"},
  1641. {"Inof", "Info"},
  1642. {"Hldoer", "Holder"},
  1643. {"Tmei", "Time"},
  1644. {"Pntia", "Paint"},
  1645. {"Sroloc", "Colors"},
  1646. {"Gaager", "Garage"},
  1647. {"Proprety", "Property"},
  1648. {"Conctsa", "Contacts"},
  1649. {"Laern", "Learn"},
  1650. {"Sedo", "Does"},
  1651. {"Yot", "Toy"},
  1652. {"Atbo", "Boat"},
  1653. {"Crambles", "Scramble"},
  1654. {"Cmaer", "Cream"},
  1655. {"Leras", "Laser"},
  1656. {"Scrmea", "Scream"},
  1657. {"Braec", "Brace"}
  1658. };
  1659. //
  1660. static const g_aDealershipCategory[][] = {
  1661. {"Aircrafts"},
  1662. {"Boats"},
  1663. {"Bikes"},
  1664. {"2-Door & Compact cars"},
  1665. {"4-Door & Luxury cars"},
  1666. {"Civil Service"},
  1667. {"Heavy & Utility Trucks"},
  1668. {"Light trucks & Vans"},
  1669. {"SUVs & Wagons"},
  1670. {"Muscle Cars"},
  1671. {"Street Racers"}
  1672. };
  1673. /*new g_aGraffitiData[][E_GRAFFITI_INFO] = {
  1674. {1832.995727, -2113.689208, 14.072821, 0.000000, 0.000000, 0.000000},
  1675. {1868.269287, -2095.433105, 14.367721, 0.000000, 0.000000, 90.000015}, //south facing
  1676. {2163.614013, -1762.289794, 14.627322, 0.000000, 0.000000, -90.000030}, //north facing
  1677. {2275.686279, -1679.490966, 15.960313, 0.000000, 0.000000, 179.999969} //east facing
  1678. };*/
  1679. new g_aGraffitiData[][E_GRAFFITI_INFO] = {
  1680. {2081.867675, -1255.466430, 24.712007, -12.800003, 0.000000, 0.000000},
  1681. {2268.340332, -1031.824707, 53.437198, 0.000000, 0.000000, 135.800155},
  1682. {2652.655517, -1123.089355, 66.999664, 0.000000, 0.000000, 0.399999},
  1683. {2652.727294, -1268.601074, 50.095500, 0.000000, 0.000000, 0.000000},
  1684. {2441.024169, -1215.926757, 32.154163, 0.000000, 0.000000, -179.199768},
  1685. {2352.000488, -1262.450927, 22.958444, 0.000000, 0.000000, 0.000000},
  1686. {2195.268554, -1745.694580, 13.739686, 0.000000, 0.000000, -177.399734},
  1687. {1868.005493, -2038.964843, 15.976880, 0.000000, 0.000000, 179.700088},
  1688. {1832.987426, -2111.634033, 13.946876, 0.000000, 0.000000, 0.000000},
  1689. {1862.723510, -2095.458007, 13.890580, 0.000000, 0.000000, 89.700012},
  1690. {2097.205566, -1258.445434, 24.748823, -16.799999, 0.000000, 87.999984},
  1691. {2135.333984, -1820.317871, 13.748497, 0.000000, 0.000000, 0.000000},
  1692. {2171.669921, -1709.278564, 15.921793, -8.500000, 0.000000, 179.999969},
  1693. {2112.414794, -1500.848632, 11.099428, 0.000000, 0.000000, -109.899978},
  1694. {2129.287841, -1374.363769, 25.878126, 0.000000, 0.000000, 90.400009},
  1695. {2110.260253, -1352.890625, 25.076538, 9.399998, -0.699999, -179.799743},
  1696. {2052.904296, -1322.635498, 24.954380, 0.000000, 0.000000, 179.800018},
  1697. {2159.781494, -1693.122314, 16.025939, 0.000000, 0.000000, -179.099990},
  1698. {2146.816650, -1698.676025, 15.438446, 0.000000, 0.000000, 91.499877},
  1699. {2175.154052, -1732.381713, 14.535001, 0.000000, 0.000000, -178.500061},
  1700. {2231.739501, -1683.644775, 15.479531, 0.000000, 0.000000, -16.500001},
  1701. {2121.155029, -1594.672729, 15.621557, 0.000000, 0.000000, 86.900100},
  1702. {2123.272705, -1593.691284, 15.241566, 0.000000, 0.000000, -179.499893},
  1703. {2112.329345, -1632.425170, 13.739908, 0.000000, -3.200001, -89.700065},
  1704. {2081.344970, -1592.929809, 14.757192, 0.000000, 0.000000, 179.300003},
  1705. {2073.782470, -1597.242553, 14.414111, 0.000000, 0.000000, 90.300033},
  1706. {2031.132568, -1599.088867, 13.910934, 0.000000, 0.000000, -168.799987},
  1707. {1986.863281, -1598.860839, 13.900341, 0.000000, 0.000000, -135.000076},
  1708. {2478.406982, -1705.506347, 13.490673, 0.000000, 0.000000, 176.799804},
  1709. {2478.767578, -1688.184936, 13.487812, 0.000000, 0.000000, -98.600006},
  1710. {2520.675781, -1673.658447, 15.454930, 0.000000, 0.000000, 0.000000},
  1711. {2534.723388, -1665.125732, 15.735736, 0.000000, 0.000000, -178.699966},
  1712. {2431.231689, -1680.935424, 14.411346, 0.000000, 0.000000, -90.199958},
  1713. {2398.518066, -1693.246948, 13.891834, 0.000000, 0.000000, 87.599990},
  1714. {2377.614990, -1707.240112, 14.127936, 0.000000, 0.000000, 0.000000},
  1715. {2440.530517, -1997.948486, 14.406878, 0.000000, 0.000000, 89.199966}, // Willowfield red wall
  1716. {2459.481933, -1975.134521, 14.166885, 0.000000, 0.000000, 0.000000}, // Willowfield alley
  1717. {2459.608642, -2043.951049, 11.091508, 0.000000, 0.000000, 88.000068}, // Willowfield sewer
  1718. {1958.593139, -1742.345336, 13.856878, 0.000000, 0.000000, 90.700050}, // Idlegas [Artsy]
  1719. {1951.642700, -1682.986083, 13.822822, 0.000000, 0.000000, 0.000000}, // North of Idlegas [Artsy],
  1720. {1991.694580, -1683.518676, 13.636877, 0.000000, 0.000000, 178.599838}, // West 4-1-5 [Artsy],
  1721. {2135.621582, -1258.083496, 24.192192, 0.000000, 0.000000, 90.099929} // Jefferson Alley [Fireworks]
  1722. };
  1723. new g_aFactionClothing[][E_CLOTHING_INFO] = {
  1724. {19774, "Police Badge 1", 50},
  1725. {19775, "Police Badge 2", 50},
  1726. {19347, "Sheriff Badge", 50},
  1727. {19776, "ID Card", 50},
  1728. {19792, "Keycard", 50},
  1729. {19904, "Construction Vest", 50},
  1730. {19942, "Police Radio", 50},
  1731. {19418, "Handcuffs", 50},
  1732. {11749, "Open Cuffs", 50},
  1733. {11750, "Closed Cuffs", 50},
  1734. {18636, "Police Cap", 50},
  1735. {18637, "Police Shield", 100},
  1736. {18641, "Flashlight", 50},
  1737. {18642, "Taser", 50},
  1738. {18875, "Pager", 50},
  1739. {19141, "SWAT Helmet (LSPD)", 50},
  1740. {19142, "SWAT Armor (LSPD)", 100},
  1741. {19161, "Black Police Cap", 50},
  1742. {19162, "Blue Police Cap", 50},
  1743. {19200, "Police Helmet", 50},
  1744. {19330, "Yellow Fire Hat (LSFD)", 50},
  1745. {19331, "Black Fire Hat (LSFD)", 50},
  1746. {19472, "Gas Mask", 50},
  1747. {19514, "White SWAT Helmet (LSSD)", 50},
  1748. {19515, "White SWAT Armor (LSSD)", 100},
  1749. {19520, "Pilot Hat", 50},
  1750. {19521, "Police Hat (High Command)", 50}
  1751. };
  1752. new g_aClothingData[][E_CLOTHING_INFO] = {
  1753. {18638, "Hard Hat", 50},
  1754. {18640, "Afro Hair", 50},
  1755. {18645, "Red and White Motorcycle Helmet", 50},
  1756. {19801, "Balaclava", 2500},
  1757. {18891, "Gray Bandana", 50},
  1758. {18892, "Red Bandana", 50},
  1759. {18893, "White and Red Bandana", 50},
  1760. {18894, "Orange Bandana", 50},
  1761. {18895, "Black Bandana (Skulls)", 50},
  1762. {18896, "Black Bandana", 50},
  1763. {18897, "Blue Bandana", 50},
  1764. {18898, "Green Bandana", 50},
  1765. {18899, "Pink Bandana", 50},
  1766. {18900, "Brown Bandana", 50},
  1767. {18901, "Yellow Bandana", 50},
  1768. {18902, "Purpleish Bandana", 50},
  1769. {18903, "Electric Blue Bandana", 50},
  1770. {18904, "Brown Camo Bandana", 50},
  1771. {18905, "Orange and Yellow Bandana", 50},
  1772. {18906, "Funky Bandana 1", 50},
  1773. {18907, "Funky Bandana 2", 50},
  1774. {18908, "Blue and Dark Blue Bandana", 50},
  1775. {18909, "Blue and Purple Bandana", 50},
  1776. {18910, "Red and Dark Red Bandana", 50},
  1777. {18911, "Black Skulls Bandana (Mask)", 50},
  1778. {18912, "Black Bandana (Mask)", 50},
  1779. {18913, "Green Bandana (Mask)", 50},
  1780. {18914, "Camo Bandana (Mask)", 50},
  1781. {18915, "Funky Bandana (Mask)", 50},
  1782. {18916, "Yellow Bandana (Mask)", 50},
  1783. {18917, "Electric Blue Bandana (Mask)", 50},
  1784. {18918, "Light Green Bandana (Mask)", 50},
  1785. {18919, "White and Black Bandana (Mask)", 50},
  1786. {18920, "Orangeish Bandana (Mask)", 50},
  1787. {18921, "Black Beret", 50},
  1788. {18922, "Blue Beret", 50},
  1789. {18923, "Camo Beret", 50},
  1790. {18924, "Red Beret 1", 50},
  1791. {18925, "Red Beret 2", 50},
  1792. {18926, "Camo Cap", 50},
  1793. {18927, "Blue Cap", 50},
  1794. {18928, "Funky Cap", 50},
  1795. {18929, "Funky Green Cap", 50},
  1796. {18930, "Red and Black Cap", 50},
  1797. {18931, "Electric Blue Cap", 50},
  1798. {18932, "Orange Cap", 50},
  1799. {18933, "White and Black Cap", 50},
  1800. {18934, "Red Cap", 50},
  1801. {18935, "Yellow Cap", 50},
  1802. {18936, "Gray Helmet", 50},
  1803. {18937, "Red Helmet", 50},
  1804. {18938, "Purple Helmet", 50},
  1805. {18939, "Electric Blue Snapback", 50},
  1806. {18940, "Blue Snapback", 50},
  1807. {18941, "Black Snapback", 50},
  1808. {18942, "Gray Snapback", 50},
  1809. {18943, "Green Snapback", 50},
  1810. {18944, "Red Boater Hat", 50},
  1811. {18945, "Green Boater Hat", 50},
  1812. {18946, "Tan Boater Hat", 50},
  1813. {18947, "Black Bowler Hat", 50},
  1814. {18948, "Blue Bowler Hat", 50},
  1815. {18949, "Green Bowler Hat", 50},
  1816. {18950, "Red Bowler Hat", 50},
  1817. {18951, "Yellow Bowler Hat", 50},
  1818. {18952, "Boxing Helmet", 50},
  1819. {18953, "Black Knit Cap", 50},
  1820. {18954, "Olive Knit Cap", 50},
  1821. {18955, "Orange Low Cap", 50},
  1822. {18956, "Electric Blue Low Cap", 50},
  1823. {18957, "Blue Low Cap", 50},
  1824. {18958, "Black and Yellow Low Cap", 50},
  1825. {18959, "Camo Low Cap", 50},
  1826. {18960, "Funky Cap Rim Up", 50},
  1827. {18961, "Trucker Hat", 50},
  1828. {18962, "Black Cowboy Hat", 50},
  1829. {18964, "Skully Cap 1", 50},
  1830. {18965, "Skully Cap 2", 50},
  1831. {18966, "Funky Skully Cap", 50},
  1832. {18967, "Black Bucket Hat", 50},
  1833. {18968, "White and Blue Bucket Hat", 50},
  1834. {18969, "Orange Bucket Hat", 50},
  1835. {18970, "Tiger Hat", 50},
  1836. {18971, "Black and White Hat", 50},
  1837. {18972, "Orange and Black Hat", 50},
  1838. {18973, "Leopard Hat", 50},
  1839. {18975, "Hair", 50},
  1840. {18976, "Blue Motorcycle Helmet", 50},
  1841. {18977, "Red Motorcycle Helmet", 50},
  1842. {18978, "White Motorcycle Helmet", 50},
  1843. {18979, "Purple Motorcycle Helmet", 50},
  1844. {19006, "Red Lenses Glasses", 50},
  1845. {19007, "Orange Lenses Glasses", 50},
  1846. {19008, "Green Lenses Glasses", 50},
  1847. {19009, "Blue Lenses Glasses", 50},
  1848. {19010, "Pink Lenses Glasses", 50},
  1849. {19015, "Clear Lenses Glasses", 50},
  1850. {19016, "Brown Lenses Glasses", 50},
  1851. {19025, "Red Lenses Glasses", 50},
  1852. {19027, "Orange Lenses Glasses", 50},
  1853. {19028, "Yellow Lenses Glasses", 50},
  1854. {19029, "Green Lenses Glasses", 50},
  1855. {19031, "Transparent Glasses", 50},
  1856. {19036, "White Hockey Mask", 50},
  1857. {19037, "Red Hockey Mask", 50},
  1858. {19038, "Green Hockey Mask", 50},
  1859. {19039, "Gold White Face Watch", 50},
  1860. {19040, "Gold Black Face Watch", 50},
  1861. {19041, "Silver Black Face Watch", 50},
  1862. {19042, "Silver White Face Watch", 50},
  1863. {19043, "Brown Watch", 50},
  1864. {19044, "Pink Watch", 50},
  1865. {19045, "Red Watch", 50},
  1866. {19046, "Green Watch", 50},
  1867. {19047, "Purple Watch", 50},
  1868. {19048, "Electric Blue Watch", 50},
  1869. {19049, "Funky Watch", 50},
  1870. {19050, "Blue Watch", 50},
  1871. {19051, "Orange Watch", 50},
  1872. {19052, "Funky Pink Watch", 50},
  1873. {19053, "Camo Watch", 50},
  1874. {19095, "Cowboy Hat 1", 50},
  1875. {19096, "Cowboy Hat 2", 50},
  1876. {19097, "Cowboy Hat 3", 50},
  1877. {19098, "Cowboy Hat 4", 50},
  1878. {19099, "Cowboy Hat 5", 50}, // Police
  1879. {19100, "Cowboy Hat 6", 50}, // Police
  1880. {19136, "Hat and Hair", 50},
  1881. {19138, "Stylish Black Sunglasses", 50},
  1882. {19139, "Stylish Red Sunglasses", 50},
  1883. {19140, "Stylish Blue Sunglasses", 50},
  1884. {19160, "Dude Hat", 50},
  1885. {19274, "Red Clown Wig", 50},
  1886. {19352, "Tophat", 50},
  1887. {19487, "White Tophat", 50},
  1888. {19421, "White Headphones", 50},
  1889. {19422, "Black Headphones", 50},
  1890. {19423, "Red Headphones", 50},
  1891. {19424, "Blue Headphones", 50},
  1892. {19520, "Pilot Hat", 50},
  1893. {19528, "Witch Hat", 50},
  1894. {19553, "Straw Hat", 50},
  1895. {19554, "Beanie", 50},
  1896. {19558, "Pizza Hat", 50},
  1897. {19773, "Gun Holster", 60},
  1898. {2919, "Duffle bag", 70},
  1899. {19559, "Hikers bag", 200},
  1900. {3026, "Backpack", 30}
  1901. };
  1902. new g_aDealershipData[][E_DEALERSHIP_INFO] = {
  1903. {0, DEALERSHIP_CATEGORY_AIRCRAFTS, "Maverick", 487, 1000000},
  1904. {1, DEALERSHIP_CATEGORY_BOATS, "Squallo", 446, 400000},
  1905. {2, DEALERSHIP_CATEGORY_BIKES, "Bike", 509, 1000},
  1906. {2, DEALERSHIP_CATEGORY_BIKES, "BMX", 481, 700},
  1907. {2, DEALERSHIP_CATEGORY_BIKES, "Mountain Bike", 510, 1000},
  1908. {2, DEALERSHIP_CATEGORY_BIKES, "Faggio", 462, 10000},
  1909. {2, DEALERSHIP_CATEGORY_BIKES, "FCR-900", 521, 200000},
  1910. {2, DEALERSHIP_CATEGORY_BIKES, "Freeway", 463, 50000},
  1911. {2, DEALERSHIP_CATEGORY_BIKES, "Sanchez", 468, 40000},
  1912. {2, DEALERSHIP_CATEGORY_BIKES, "Wayfarer", 586, 50000},
  1913. {3, DEALERSHIP_CATEGORY_TWODOOR, "Alpha", 602, 330000},
  1914. {3, DEALERSHIP_CATEGORY_TWODOOR, "Blista Compact", 496, 140000},
  1915. {3, DEALERSHIP_CATEGORY_TWODOOR, "Bravura", 401, 40000},
  1916. {3, DEALERSHIP_CATEGORY_TWODOOR, "Buccaneer", 518, 45000},
  1917. {3, DEALERSHIP_CATEGORY_TWODOOR, "Cadrona", 527, 45000},
  1918. {3, DEALERSHIP_CATEGORY_TWODOOR, "Club", 589, 160000},
  1919. {3, DEALERSHIP_CATEGORY_TWODOOR, "Esperanto", 419, 50000},
  1920. {3, DEALERSHIP_CATEGORY_TWODOOR, "Euros", 587, 250000},
  1921. {3, DEALERSHIP_CATEGORY_TWODOOR, "Feltzer", 533, 65000},
  1922. {3, DEALERSHIP_CATEGORY_TWODOOR, "Fortune", 526, 55000},
  1923. {3, DEALERSHIP_CATEGORY_TWODOOR, "Hermes", 474, 60000},
  1924. {3, DEALERSHIP_CATEGORY_TWODOOR, "Hustler", 545, 85000},
  1925. {3, DEALERSHIP_CATEGORY_TWODOOR, "Majestic", 517, 65000},
  1926. {3, DEALERSHIP_CATEGORY_TWODOOR, "Manana", 410, 35000},
  1927. {3, DEALERSHIP_CATEGORY_TWODOOR, "Picador", 600, 45000},
  1928. {3, DEALERSHIP_CATEGORY_TWODOOR, "Previon", 436, 40000},
  1929. {3, DEALERSHIP_CATEGORY_TWODOOR, "Stallion", 439, 80000},
  1930. {3, DEALERSHIP_CATEGORY_TWODOOR, "Tampa", 549, 38000},
  1931. {3, DEALERSHIP_CATEGORY_TWODOOR, "Virgo", 491, 41000},
  1932. {3, DEALERSHIP_CATEGORY_TWODOOR, "Blade", 536, 65000},
  1933. {3, DEALERSHIP_CATEGORY_TWODOOR, "Broadway", 575, 80000},
  1934. {3, DEALERSHIP_CATEGORY_TWODOOR, "Remington", 534, 75000},
  1935. {3, DEALERSHIP_CATEGORY_TWODOOR, "Slamvan", 535, 110000},
  1936. {3, DEALERSHIP_CATEGORY_TWODOOR, "Tornado", 576, 58000},
  1937. {3, DEALERSHIP_CATEGORY_TWODOOR, "Voodoo", 412, 65000},
  1938. {3, DEALERSHIP_CATEGORY_TWODOOR, "Windsor", 555, 425000},
  1939. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Admiral", 445, 45000},
  1940. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Glendale", 604, 50000},
  1941. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Elegant", 507, 155000},
  1942. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Greenwood", 492, 30000},
  1943. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Intruder", 546, 46000},
  1944. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Merit", 551, 150000},
  1945. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Nebula", 516, 40000},
  1946. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Oceanic", 467, 35000},
  1947. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Premier", 426, 135000},
  1948. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Primo", 547, 38000},
  1949. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Sentinel", 405, 135000},
  1950. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Stafford", 580, 200000},
  1951. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Stretch", 409, 280000},
  1952. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Sunrise", 550, 55000},
  1953. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Tahoma", 566, 65000},
  1954. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Vincent", 540, 51000},
  1955. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Washington", 421, 100000},
  1956. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Willard", 529, 45000},
  1957. {4, DEALERSHIP_CATEGORY_FOURDOOR, "Savanna", 567, 85000},
  1958. {5, DEALERSHIP_CATEGORY_CIVIL, "Bus", 431, 70000},
  1959. {5, DEALERSHIP_CATEGORY_CIVIL, "Cabbie", 438, 50000},
  1960. {5, DEALERSHIP_CATEGORY_CIVIL, "Taxi", 420, 45000},
  1961. {5, DEALERSHIP_CATEGORY_CIVIL, "Towtruck", 525, 55000},
  1962. {5, DEALERSHIP_CATEGORY_CIVIL, "Trashmaster", 408, 140000},
  1963. {6, DEALERSHIP_CATEGORY_HEAVY, "Benson", 499, 100000},
  1964. {6, DEALERSHIP_CATEGORY_HEAVY, "Boxville", 609, 80000},
  1965. {6, DEALERSHIP_CATEGORY_HEAVY, "Combine Harvester", 532, 125000},
  1966. {6, DEALERSHIP_CATEGORY_HEAVY, "DFT-30", 578, 90000},
  1967. {6, DEALERSHIP_CATEGORY_HEAVY, "Hotdog Truck", 588, 85000},
  1968. {6, DEALERSHIP_CATEGORY_HEAVY, "Linerunner", 403, 255000},
  1969. {6, DEALERSHIP_CATEGORY_HEAVY, "Mr. Whoopee", 423, 80000},
  1970. {6, DEALERSHIP_CATEGORY_HEAVY, "Mule", 414, 175000},
  1971. {6, DEALERSHIP_CATEGORY_HEAVY, "Packer", 443, 375000},
  1972. {6, DEALERSHIP_CATEGORY_HEAVY, "Roadtrain", 515, 90000},
  1973. {6, DEALERSHIP_CATEGORY_HEAVY, "Tanker", 514, 78000},
  1974. {6, DEALERSHIP_CATEGORY_HEAVY, "Yankee", 456, 189000},
  1975. {7, DEALERSHIP_CATEGORY_VANS, "Berkley's RC Van", 459, 60000},
  1976. {7, DEALERSHIP_CATEGORY_VANS, "Bobcat", 422, 60000},
  1977. {7, DEALERSHIP_CATEGORY_VANS, "Burrito", 482, 120000},
  1978. {7, DEALERSHIP_CATEGORY_VANS, "Sadler(Damaged)", 605, 25000},
  1979. {7, DEALERSHIP_CATEGORY_VANS, "Moonbeam", 418, 80000},
  1980. {7, DEALERSHIP_CATEGORY_VANS, "Pony", 413, 110000},
  1981. {7, DEALERSHIP_CATEGORY_VANS, "Rumpo", 440, 100000},
  1982. {7, DEALERSHIP_CATEGORY_VANS, "Sadler", 543, 50000},
  1983. {7, DEALERSHIP_CATEGORY_VANS, "Walton", 478, 45000},
  1984. {7, DEALERSHIP_CATEGORY_VANS, "Yosemite", 554, 75000},
  1985. {8, DEALERSHIP_CATEGORY_SUV, "Huntley", 579, 200000},
  1986. {8, DEALERSHIP_CATEGORY_SUV, "Landstalker", 400, 162500},
  1987. {8, DEALERSHIP_CATEGORY_SUV, "Perennial", 404, 80000},
  1988. {8, DEALERSHIP_CATEGORY_SUV, "Rancher", 489, 110000},
  1989. {8, DEALERSHIP_CATEGORY_SUV, "Regina", 479, 85000},
  1990. {8, DEALERSHIP_CATEGORY_SUV, "Romero", 442, 75000},
  1991. {8, DEALERSHIP_CATEGORY_SUV, "Solair", 458, 90000},
  1992. {9, DEALERSHIP_CATEGORY_MUSCLE, "Buffalo", 402, 420000},
  1993. {9, DEALERSHIP_CATEGORY_MUSCLE, "Clover", 542, 135000},
  1994. {9, DEALERSHIP_CATEGORY_MUSCLE, "Phoenix", 603, 650000},
  1995. {9, DEALERSHIP_CATEGORY_MUSCLE, "Sabre", 475, 160000},
  1996. {10, DEALERSHIP_CATEGORY_RACERS, "Banshee", 429, 825000},
  1997. {10, DEALERSHIP_CATEGORY_RACERS, "Bullet", 541, 1000000},
  1998. {10, DEALERSHIP_CATEGORY_RACERS, "Cheetah", 415, 850000},
  1999. {10, DEALERSHIP_CATEGORY_RACERS, "Comet", 480, 550000},
  2000. {10, DEALERSHIP_CATEGORY_RACERS, "Elegy", 562, 220000},
  2001. {10, DEALERSHIP_CATEGORY_RACERS, "Flash", 565, 180000},
  2002. {10, DEALERSHIP_CATEGORY_RACERS, "Jester", 559, 200000},
  2003. {10, DEALERSHIP_CATEGORY_RACERS, "Stratum", 561, 110000},
  2004. {10, DEALERSHIP_CATEGORY_RACERS, "Sultan", 560, 785000},
  2005. {10, DEALERSHIP_CATEGORY_RACERS, "Super GT", 506, 620000},
  2006. {10, DEALERSHIP_CATEGORY_RACERS, "Uranus", 558, 330000},
  2007. {10, DEALERSHIP_CATEGORY_RACERS, "Windsor", 555, 300000},
  2008. {10, DEALERSHIP_CATEGORY_RACERS, "ZR-350", 477, 700000}
  2009. };
  2010. static const g_aFurnitureTypes[][] = {
  2011. {"Frames"},
  2012. {"Beds"},
  2013. {"Walls"},
  2014. {"Floorboards"},
  2015. {"Doors"},
  2016. {"Miscellaneous"},
  2017. {"Stairs"},
  2018. {"Graffiti & Others"},
  2019. {"Electronics"},
  2020. {"Chairs / Seats"},
  2021. {"Tables"}
  2022. };
  2023. new g_aFurnitureData[][E_FURNITURE_INFO] = {
  2024. {0, "Frame 1", 2289, FURNITURE_CATEGORY_FRAMES},
  2025. {0, "Frame 2", 2288, FURNITURE_CATEGORY_FRAMES},
  2026. {0, "Frame 3", 2287, FURNITURE_CATEGORY_FRAMES},
  2027. {0, "Frame 4", 2286, FURNITURE_CATEGORY_FRAMES},
  2028. {0, "Frame 5", 2285, FURNITURE_CATEGORY_FRAMES},
  2029. {0, "Frame 6", 2284, FURNITURE_CATEGORY_FRAMES},
  2030. {0, "Frame 7", 2283, FURNITURE_CATEGORY_FRAMES},
  2031. {1, "Bed 1", 1700, FURNITURE_CATEGORY_BEDS},
  2032. {1, "Bed 2", 1701, FURNITURE_CATEGORY_BEDS},
  2033. {1, "Bed 3", 1745, FURNITURE_CATEGORY_BEDS},
  2034. {1, "Bed 4", 1771, FURNITURE_CATEGORY_BEDS},
  2035. {1, "Bed 5", 1793, FURNITURE_CATEGORY_BEDS},
  2036. {1, "Bed 6", 1794, FURNITURE_CATEGORY_BEDS},
  2037. {1, "Bed 7", 1795, FURNITURE_CATEGORY_BEDS},
  2038. {1, "Bed 8", 1796, FURNITURE_CATEGORY_BEDS},
  2039. {1, "Bed 9", 1797, FURNITURE_CATEGORY_BEDS},
  2040. {1, "Bed 10", 1798, FURNITURE_CATEGORY_BEDS},
  2041. {1, "Bed 11", 1799, FURNITURE_CATEGORY_BEDS},
  2042. {1, "Bed 12", 1780, FURNITURE_CATEGORY_BEDS},
  2043. {1, "Bed 13", 1801, FURNITURE_CATEGORY_BEDS},
  2044. {1, "Bed 14", 1802, FURNITURE_CATEGORY_BEDS},
  2045. {1, "Bed 15", 1803, FURNITURE_CATEGORY_BEDS},
  2046. {1, "Bed 16", 1804, FURNITURE_CATEGORY_BEDS},
  2047. {1, "Bed 17", 1812, FURNITURE_CATEGORY_BEDS},
  2048. {1, "Bed 18", 2090, FURNITURE_CATEGORY_BEDS},
  2049. {1, "Bed 19", 2298, FURNITURE_CATEGORY_BEDS},
  2050. {1, "Bed 20", 2299, FURNITURE_CATEGORY_BEDS},
  2051. {1, "Bed 21", 2300, FURNITURE_CATEGORY_BEDS},
  2052. {1, "Bed 22", 2301, FURNITURE_CATEGORY_BEDS},
  2053. {1, "Bed 23", 2302, FURNITURE_CATEGORY_BEDS},
  2054. {1, "Bed 24", 2565, FURNITURE_CATEGORY_BEDS},
  2055. {1, "Bed 25", 2566, FURNITURE_CATEGORY_BEDS},
  2056. {1, "Bed 26", 2575, FURNITURE_CATEGORY_BEDS},
  2057. {1, "Bed 27", 2603, FURNITURE_CATEGORY_BEDS},
  2058. {1, "Bed 28", 14446, FURNITURE_CATEGORY_BEDS},
  2059. {1, "Bed 29", 14861, FURNITURE_CATEGORY_BEDS},
  2060. {1, "Bed 30", 14866, FURNITURE_CATEGORY_BEDS},
  2061. {1, "Bed 31", 14880, FURNITURE_CATEGORY_BEDS},
  2062. {2, "Wall 1", 19355, FURNITURE_CATEGORY_WALLS},
  2063. {2, "Wall 2", 2395, FURNITURE_CATEGORY_WALLS},
  2064. {2, "Wall 3", 19353, FURNITURE_CATEGORY_WALLS},
  2065. {2, "Wall 4", 19354, FURNITURE_CATEGORY_WALLS},
  2066. {2, "Wall 5", 19356, FURNITURE_CATEGORY_WALLS},
  2067. {2, "Wall 6", 19357, FURNITURE_CATEGORY_WALLS},
  2068. {2, "Wall 7", 19358, FURNITURE_CATEGORY_WALLS},
  2069. {2, "Wall 8", 19359, FURNITURE_CATEGORY_WALLS},
  2070. {2, "Wall 9", 19360, FURNITURE_CATEGORY_WALLS},
  2071. {2, "Wall 10", 19361, FURNITURE_CATEGORY_WALLS},
  2072. {2, "Wall 11", 19362, FURNITURE_CATEGORY_WALLS},
  2073. {2, "Wall 12", 19363, FURNITURE_CATEGORY_WALLS},
  2074. {2, "Wall 13", 19364, FURNITURE_CATEGORY_WALLS},
  2075. {2, "Wall 14", 19365, FURNITURE_CATEGORY_WALLS},
  2076. {2, "Wall 15", 19366, FURNITURE_CATEGORY_WALLS},
  2077. {2, "Wall 16", 19367, FURNITURE_CATEGORY_WALLS},
  2078. {2, "Wall 17", 19368, FURNITURE_CATEGORY_WALLS},
  2079. {2, "Wall 18", 19369, FURNITURE_CATEGORY_WALLS},
  2080. {2, "Wall 19", 19370, FURNITURE_CATEGORY_WALLS},
  2081. {2, "Wall 20", 19383, FURNITURE_CATEGORY_WALLS},
  2082. {2, "Wall 21", 19384, FURNITURE_CATEGORY_WALLS},
  2083. {2, "Wall 22", 19385, FURNITURE_CATEGORY_WALLS},
  2084. {2, "Wall 23", 19386, FURNITURE_CATEGORY_WALLS},
  2085. {2, "Wall 24", 19387, FURNITURE_CATEGORY_WALLS},
  2086. {2, "Wall 25", 19388, FURNITURE_CATEGORY_WALLS},
  2087. {2, "Wall 26", 19389, FURNITURE_CATEGORY_WALLS},
  2088. {2, "Wall 27", 19390, FURNITURE_CATEGORY_WALLS},
  2089. {2, "Wall 28", 19391, FURNITURE_CATEGORY_WALLS},
  2090. {2, "Wall 29", 19392, FURNITURE_CATEGORY_WALLS},
  2091. {2, "Wall 30", 19393, FURNITURE_CATEGORY_WALLS},
  2092. {2, "Wall 31", 19394, FURNITURE_CATEGORY_WALLS},
  2093. {2, "Wall 32", 19395, FURNITURE_CATEGORY_WALLS},
  2094. {2, "Wall 33", 19399, FURNITURE_CATEGORY_WALLS},
  2095. {2, "Wall 34", 19400, FURNITURE_CATEGORY_WALLS},
  2096. {2, "Wall 35", 19401, FURNITURE_CATEGORY_WALLS},
  2097. {2, "Wall 36", 19402, FURNITURE_CATEGORY_WALLS},
  2098. {2, "Wall 37", 19403, FURNITURE_CATEGORY_WALLS},
  2099. {2, "Wall 38", 19404, FURNITURE_CATEGORY_WALLS},
  2100. {2, "Wall 39", 19405, FURNITURE_CATEGORY_WALLS},
  2101. {2, "Wall 40", 19406, FURNITURE_CATEGORY_WALLS},
  2102. {2, "Wall 41", 19407, FURNITURE_CATEGORY_WALLS},
  2103. {2, "Wall 42", 19408, FURNITURE_CATEGORY_WALLS},
  2104. {2, "Wall 43", 19409, FURNITURE_CATEGORY_WALLS},
  2105. {2, "Wall 44", 19410, FURNITURE_CATEGORY_WALLS},
  2106. {2, "Wall 45", 19447, FURNITURE_CATEGORY_WALLS},
  2107. {2, "Wall 46", 19445, FURNITURE_CATEGORY_WALLS},
  2108. {2, "Wall 47", 19446, FURNITURE_CATEGORY_WALLS},
  2109. {2, "Wall 48", 19447, FURNITURE_CATEGORY_WALLS},
  2110. {2, "Wall 49", 19448, FURNITURE_CATEGORY_WALLS},
  2111. {2, "Wall 50", 19449, FURNITURE_CATEGORY_WALLS},
  2112. {2, "Wall 51", 19450, FURNITURE_CATEGORY_WALLS},
  2113. {2, "Wall 52", 19451, FURNITURE_CATEGORY_WALLS},
  2114. {3, "Wall 53", 19452, FURNITURE_CATEGORY_WALLS},
  2115. {2, "Wall 54", 19453, FURNITURE_CATEGORY_WALLS},
  2116. {2, "Wall 55", 19454, FURNITURE_CATEGORY_WALLS},
  2117. {2, "Wall 56", 19455, FURNITURE_CATEGORY_WALLS},
  2118. {2, "Wall 57", 19456, FURNITURE_CATEGORY_WALLS},
  2119. {2, "Wall 58", 19457, FURNITURE_CATEGORY_WALLS},
  2120. {2, "Wall 59", 19458, FURNITURE_CATEGORY_WALLS},
  2121. {2, "Wall 60", 19459, FURNITURE_CATEGORY_WALLS},
  2122. {2, "Wall 61", 19460, FURNITURE_CATEGORY_WALLS},
  2123. {2, "Wall 62", 19461, FURNITURE_CATEGORY_WALLS},
  2124. {2, "Wall 63", 19462, FURNITURE_CATEGORY_WALLS},
  2125. {2, "Wall 64", 19463, FURNITURE_CATEGORY_WALLS},
  2126. {2, "Wall 65 (Thin)", 19426, FURNITURE_CATEGORY_WALLS},
  2127. {2, "Wall 66 (Thin)", 19427, FURNITURE_CATEGORY_WALLS},
  2128. {2, "Wall 67 (Thin)", 19428, FURNITURE_CATEGORY_WALLS},
  2129. {2, "Wall 68 (Thin)", 19429, FURNITURE_CATEGORY_WALLS},
  2130. {2, "Wall 69 (Thin)", 19430, FURNITURE_CATEGORY_WALLS},
  2131. {2, "Wall 70 (Thin)", 19431, FURNITURE_CATEGORY_WALLS},
  2132. {2, "Wall 71 (Thin)", 19432, FURNITURE_CATEGORY_WALLS},
  2133. {2, "Wall 72 (Thin)", 19433, FURNITURE_CATEGORY_WALLS},
  2134. {2, "Wall 73 (Thin)", 19434, FURNITURE_CATEGORY_WALLS},
  2135. {2, "Wall 74 (Thin)", 19435, FURNITURE_CATEGORY_WALLS},
  2136. {2, "Wall 75 (Thin)", 19436, FURNITURE_CATEGORY_WALLS},
  2137. {2, "Wall 76 (Thin)", 19437, FURNITURE_CATEGORY_WALLS},
  2138. {2, "Wall 77 (Thin)", 19438, FURNITURE_CATEGORY_WALLS},
  2139. {2, "Wall 78 (Thin)", 19439, FURNITURE_CATEGORY_WALLS},
  2140. {2, "Wall 79 (Thin)", 19440, FURNITURE_CATEGORY_WALLS},
  2141. {2, "Wall 80 (Thin)", 19441, FURNITURE_CATEGORY_WALLS},
  2142. {2, "Wall 81 (Thin)", 19442, FURNITURE_CATEGORY_WALLS},
  2143. {2, "Wall 82 (Thin)", 19443, FURNITURE_CATEGORY_WALLS},
  2144. {2, "Wall 83 (Thin)", 19444, FURNITURE_CATEGORY_WALLS},
  2145. {3, "Floor 1 (Big)", 19462, FURNITURE_CATEGORY_FLOORS},
  2146. {3, "Floor 2 (Big)", 19458, FURNITURE_CATEGORY_FLOORS},
  2147. {3, "Floor 3 (Big)", 19452, FURNITURE_CATEGORY_FLOORS},
  2148. {3, "Floor 4 (Big)", 19448, FURNITURE_CATEGORY_FLOORS},
  2149. {3, "Floor 5 (Single)", 19439, FURNITURE_CATEGORY_FLOORS},
  2150. {3, "Floor 6 (Single)", 19433, FURNITURE_CATEGORY_FLOORS},
  2151. {3, "Floor 7 (Single)", 19429, FURNITURE_CATEGORY_FLOORS},
  2152. {3, "Floor 8 (Window)", 19412, FURNITURE_CATEGORY_FLOORS},
  2153. {3, "Floor 9 (Window)", 19406, FURNITURE_CATEGORY_FLOORS},
  2154. {3, "Floor 10 (Window)", 19402, FURNITURE_CATEGORY_FLOORS},
  2155. {3, "Floor 11 (Doorway)", 19386, FURNITURE_CATEGORY_FLOORS},
  2156. {3, "Floor 12 (Small)", 19379, FURNITURE_CATEGORY_FLOORS},
  2157. {3, "Floor 13 (Small)", 19378, FURNITURE_CATEGORY_FLOORS},
  2158. {3, "Floor 14 (Small)", 19376, FURNITURE_CATEGORY_FLOORS},
  2159. {3, "Floor 15 (Small)", 19375, FURNITURE_CATEGORY_FLOORS},
  2160. {3, "Floor 16 (Small)", 19366, FURNITURE_CATEGORY_FLOORS},
  2161. {3, "Floor 17 (Small)", 19360, FURNITURE_CATEGORY_FLOORS},
  2162. {3, "Floor 18 (Small)", 19356, FURNITURE_CATEGORY_FLOORS},
  2163. {4, "Large Wood Door", 977, FURNITURE_CATEGORY_DOORS},
  2164. {4, "Wood Door", 1491, FURNITURE_CATEGORY_DOORS},
  2165. {4, "Green Wood Door", 1492, FURNITURE_CATEGORY_DOORS},
  2166. {4, "Red Screen Door", 1493, FURNITURE_CATEGORY_DOORS},
  2167. {4, "Shitty Door", 1494, FURNITURE_CATEGORY_DOORS},
  2168. {4, "2 Screen Door", 1495, FURNITURE_CATEGORY_DOORS},
  2169. {4, "Barred Store Door", 1496, FURNITURE_CATEGORY_DOORS},
  2170. {4, "X Wood Door", 1497, FURNITURE_CATEGORY_DOORS},
  2171. {4, "White Door", 1498, FURNITURE_CATEGORY_DOORS},
  2172. {4, "Steel Door", 1499, FURNITURE_CATEGORY_DOORS},
  2173. {4, "Store Push Door", 1500, FURNITURE_CATEGORY_DOORS},
  2174. {4, "Door 12", 1501, FURNITURE_CATEGORY_DOORS},
  2175. {4, "Door 13", 1502, FURNITURE_CATEGORY_DOORS},
  2176. {4, "Door 14", 1504, FURNITURE_CATEGORY_DOORS},
  2177. {4, "Door 15", 1505, FURNITURE_CATEGORY_DOORS},
  2178. {4, "Door 16", 1506, FURNITURE_CATEGORY_DOORS},
  2179. {4, "Door 17", 1507, FURNITURE_CATEGORY_DOORS},
  2180. {4, "Door 18 (Double)", 1508, FURNITURE_CATEGORY_DOORS},
  2181. {4, "Door 19", 1522, FURNITURE_CATEGORY_DOORS},
  2182. {4, "Door 20", 1523, FURNITURE_CATEGORY_DOORS},
  2183. {4, "Door 21", 1532, FURNITURE_CATEGORY_DOORS},
  2184. {4, "Door 22", 1533, FURNITURE_CATEGORY_DOORS},
  2185. {4, "Door 23", 1535, FURNITURE_CATEGORY_DOORS},
  2186. {4, "Door 24", 1536, FURNITURE_CATEGORY_DOORS},
  2187. {4, "Door 25", 1537, FURNITURE_CATEGORY_DOORS},
  2188. {4, "Door 26", 1538, FURNITURE_CATEGORY_DOORS},
  2189. {4, "Door 27", 1555, FURNITURE_CATEGORY_DOORS},
  2190. {4, "Door 28", 1556, FURNITURE_CATEGORY_DOORS},
  2191. {4, "Door 29", 1557, FURNITURE_CATEGORY_DOORS},
  2192. {4, "Door 30", 1560, FURNITURE_CATEGORY_DOORS},
  2193. {4, "Door 31", 1561, FURNITURE_CATEGORY_DOORS},
  2194. {4, "Door 32", 1566, FURNITURE_CATEGORY_DOORS},
  2195. {4, "Door 33", 1567, FURNITURE_CATEGORY_DOORS},
  2196. {4, "Door 34", 1569, FURNITURE_CATEGORY_DOORS},
  2197. {4, "Door 35 (Vault)", 2634, FURNITURE_CATEGORY_DOORS},
  2198. {4, "Door 36", 2664, FURNITURE_CATEGORY_DOORS},
  2199. {4, "Door 37", 2873, FURNITURE_CATEGORY_DOORS},
  2200. {4, "Door 38", 2875, FURNITURE_CATEGORY_DOORS},
  2201. {4, "Door 39", 2876, FURNITURE_CATEGORY_DOORS},
  2202. {4, "Door 40", 2877, FURNITURE_CATEGORY_DOORS},
  2203. {4, "Door 41", 2878, FURNITURE_CATEGORY_DOORS},
  2204. {4, "Door 42", 2879, FURNITURE_CATEGORY_DOORS},
  2205. {4, "Door 43", 2924, FURNITURE_CATEGORY_DOORS},
  2206. {4, "Door 44 (Ship Door)", 2944, FURNITURE_CATEGORY_DOORS},
  2207. {4, "Door 45", 2946, FURNITURE_CATEGORY_DOORS},
  2208. {4, "Door 46", 2947, FURNITURE_CATEGORY_DOORS},
  2209. {4, "Door 47", 2948, FURNITURE_CATEGORY_DOORS},
  2210. {4, "Door 48", 2955, FURNITURE_CATEGORY_DOORS},
  2211. {4, "Door 49", 2959, FURNITURE_CATEGORY_DOORS},
  2212. {4, "Door 50", 2970, FURNITURE_CATEGORY_DOORS},
  2213. {4, "Door 51", 2987, FURNITURE_CATEGORY_DOORS},
  2214. {4, "Door 52", 3029, FURNITURE_CATEGORY_DOORS},
  2215. {4, "Door 53", 3061, FURNITURE_CATEGORY_DOORS},
  2216. {4, "Door 54", 3089, FURNITURE_CATEGORY_DOORS},
  2217. {4, "Door 55", 3093, FURNITURE_CATEGORY_DOORS},
  2218. {4, "Door 56", 3109, FURNITURE_CATEGORY_DOORS},
  2219. {4, "Door 57 (Double Green)", 11714, FURNITURE_CATEGORY_DOORS},
  2220. {4, "Door 58", 14819, FURNITURE_CATEGORY_DOORS},
  2221. {4, "Door 59 (Cell 1)", 19302, FURNITURE_CATEGORY_DOORS},
  2222. {4, "Door 60 (Cell 2)", 19303, FURNITURE_CATEGORY_DOORS},
  2223. {4, "Door 61", 19796, FURNITURE_CATEGORY_DOORS},
  2224. {4, "Door 62", 19802, FURNITURE_CATEGORY_DOORS},
  2225. {4, "Door 63", 19857, FURNITURE_CATEGORY_DOORS},
  2226. {4, "Door 64", 19858, FURNITURE_CATEGORY_DOORS},
  2227. {4, "Door 65", 19859, FURNITURE_CATEGORY_DOORS},
  2228. {4, "Door 66", 19860, FURNITURE_CATEGORY_DOORS},
  2229. {4, "Door 67", 19875, FURNITURE_CATEGORY_DOORS},
  2230. {5, "Rug 1 (Round)", 2835, FURNITURE_CATEGORY_MISC},
  2231. {5, "Rug 2 (Round)", 2841, FURNITURE_CATEGORY_MISC},
  2232. {5, "Rug 3", 2847, FURNITURE_CATEGORY_MISC},
  2233. {5, "Rug 4", 2842, FURNITURE_CATEGORY_MISC},
  2234. {5, "Rug 5", 2836, FURNITURE_CATEGORY_MISC},
  2235. {5, "Rug 6", 2833, FURNITURE_CATEGORY_MISC},
  2236. {5, "Rug 7", 2834, FURNITURE_CATEGORY_MISC},
  2237. {5, "Rug 8", 2818, FURNITURE_CATEGORY_MISC},
  2238. {5, "Rug 9", 2817, FURNITURE_CATEGORY_MISC},
  2239. {5, "Rug 10", 2815, FURNITURE_CATEGORY_MISC},
  2240. {5, "Picture 1", 2255, FURNITURE_CATEGORY_MISC},
  2241. {5, "Picture 2", 2258, FURNITURE_CATEGORY_MISC},
  2242. {5, "Picture 3", 2259, FURNITURE_CATEGORY_MISC},
  2243. {5, "Picture 4", 2260, FURNITURE_CATEGORY_MISC},
  2244. {5, "Picture 5", 2261, FURNITURE_CATEGORY_MISC},
  2245. {5, "Picture 6", 2262, FURNITURE_CATEGORY_MISC},
  2246. {5, "Picture 7", 2263, FURNITURE_CATEGORY_MISC},
  2247. {5, "Picture 8", 2264, FURNITURE_CATEGORY_MISC},
  2248. {5, "Picture 9", 2265, FURNITURE_CATEGORY_MISC},
  2249. {5, "Picture 10", 2266, FURNITURE_CATEGORY_MISC},
  2250. {5, "Picture 11", 2267, FURNITURE_CATEGORY_MISC},
  2251. {5, "Picture 12", 2268, FURNITURE_CATEGORY_MISC},
  2252. {5, "Picture 13", 2269, FURNITURE_CATEGORY_MISC},
  2253. {5, "Picture 14", 2270, FURNITURE_CATEGORY_MISC},
  2254. {5, "Picture 15", 2271, FURNITURE_CATEGORY_MISC},
  2255. {5, "Picture 16", 2272, FURNITURE_CATEGORY_MISC},
  2256. {5, "Picture 17", 2273, FURNITURE_CATEGORY_MISC},
  2257. {5, "Picture 18", 2274, FURNITURE_CATEGORY_MISC},
  2258. {5, "Picture 19", 2275, FURNITURE_CATEGORY_MISC},
  2259. {5, "Picture 20", 2276, FURNITURE_CATEGORY_MISC},
  2260. {5, "Picture 21", 2277, FURNITURE_CATEGORY_MISC},
  2261. {5, "Picture 22", 2278, FURNITURE_CATEGORY_MISC},
  2262. {5, "Picture 23", 2279, FURNITURE_CATEGORY_MISC},
  2263. {5, "Picture 24", 2280, FURNITURE_CATEGORY_MISC},
  2264. {5, "Picture 25", 2281, FURNITURE_CATEGORY_MISC},
  2265. {5, "Picture 26", 2282, FURNITURE_CATEGORY_MISC},
  2266. {5, "Picture 27", 2283, FURNITURE_CATEGORY_MISC},
  2267. {5, "Picture 28", 2284, FURNITURE_CATEGORY_MISC},
  2268. {5, "Picture 29", 2285, FURNITURE_CATEGORY_MISC},
  2269. {5, "Picture 30", 2286, FURNITURE_CATEGORY_MISC},
  2270. {5, "Picture 31", 2287, FURNITURE_CATEGORY_MISC},
  2271. {5, "Picture 32", 2288, FURNITURE_CATEGORY_MISC},
  2272. {5, "Picture 33", 2289, FURNITURE_CATEGORY_MISC},
  2273. {5, "Deer Head", 1736, FURNITURE_CATEGORY_MISC},
  2274. {5, "Water Dispenser 1", 1808, FURNITURE_CATEGORY_MISC},
  2275. {5, "Water Dispenser 2", 2002, FURNITURE_CATEGORY_MISC},
  2276. {5, "Safe", 2332, FURNITURE_CATEGORY_MISC},
  2277. {5, "Trashcan", 11706, FURNITURE_CATEGORY_MISC},
  2278. {5, "Cigarette Pack 1", 19896, FURNITURE_CATEGORY_MISC},
  2279. {5, "Cigarette Pack 2", 19897, FURNITURE_CATEGORY_MISC},
  2280. {5, "Skateboard", 19878, FURNITURE_CATEGORY_MISC},
  2281. {5, "Ashtray", 1510, FURNITURE_CATEGORY_MISC},
  2282. {5, "Ashtray w/ cigar", 1665, FURNITURE_CATEGORY_MISC},
  2283. {5, "Target 1", 2049, FURNITURE_CATEGORY_MISC},
  2284. {5, "Target 2", 2050, FURNITURE_CATEGORY_MISC},
  2285. {5, "Target 3", 2051, FURNITURE_CATEGORY_MISC},
  2286. {5, "Handgun Poster", 2055, FURNITURE_CATEGORY_MISC},
  2287. {5, "Used Bullseye Target", 2056, FURNITURE_CATEGORY_MISC},
  2288. {5, "Toy Airplanes", 2486, FURNITURE_CATEGORY_MISC},
  2289. {5, "Toy Trains", 2474, FURNITURE_CATEGORY_MISC},
  2290. {5, "Toy Trains (Box)", 2471, FURNITURE_CATEGORY_MISC},
  2291. {5, "Lock with chain", 2680, FURNITURE_CATEGORY_MISC},
  2292. {5, "Cluckin Bell Trashcan", 2770, FURNITURE_CATEGORY_MISC},
  2293. {6, "Grove St Graffiti", 18659, FURNITURE_CATEGORY_GRAF},
  2294. {6, "Seville BLVD Graffiti", 18660, FURNITURE_CATEGORY_GRAF},
  2295. {6, "Varrio Los Aztecas Graffiti", 18661, FURNITURE_CATEGORY_GRAF},
  2296. {6, "Kilo Tray Graffiti", 18662, FURNITURE_CATEGORY_GRAF},
  2297. {6, "San Fiero Rifa Graffiti", 18663, FURNITURE_CATEGORY_GRAF},
  2298. {6, "Temple Drive Graffiti", 18664, FURNITURE_CATEGORY_GRAF},
  2299. {6, "Los Santos Vagos Graffiti", 18665, FURNITURE_CATEGORY_GRAF},
  2300. {6, "Front Yard Graffiti", 18666, FURNITURE_CATEGORY_GRAF},
  2301. {6, "Rollin Heights Graffiti", 18667, FURNITURE_CATEGORY_GRAF},
  2302. {6, "USA Flag (Double)", 2614, FURNITURE_CATEGORY_GRAF},
  2303. {6, "Blue Flag", 19307, FURNITURE_CATEGORY_GRAF},
  2304. {6, "Red Flag", 19306, FURNITURE_CATEGORY_GRAF},
  2305. {6, "Confederate Flag", 2048, FURNITURE_CATEGORY_GRAF},
  2306. {6, "LS Defense Flag", 2047, FURNITURE_CATEGORY_GRAF},
  2307. {7, "Green Long Stairs", 3399, FURNITURE_CATEGORY_STAIRS},
  2308. {7, "Carter Stairs 4", 14411, FURNITURE_CATEGORY_STAIRS},
  2309. {7, "Carter Stairs 3", 14410, FURNITURE_CATEGORY_STAIRS},
  2310. {7, "Small Wooden Ladder", 1472, FURNITURE_CATEGORY_STAIRS},
  2311. {7, "Large Staircase", 13749, FURNITURE_CATEGORY_STAIRS},
  2312. {8, "Security Camera", 1886, FURNITURE_CATEGORY_ELEC},
  2313. {8, "Small Blue Cellphone", 2966, FURNITURE_CATEGORY_ELEC},
  2314. {8, "Black Cellphone", 2967, FURNITURE_CATEGORY_ELEC},
  2315. {8, "SNES", 1718, FURNITURE_CATEGORY_ELEC},
  2316. {8, "Game Console", 1719, FURNITURE_CATEGORY_ELEC},
  2317. {8, "Wooden TV 1", 1747, FURNITURE_CATEGORY_ELEC},
  2318. {8, "Wooden TV 2", 1748, FURNITURE_CATEGORY_ELEC},
  2319. {8, "Wooden TV 3", 2317, FURNITURE_CATEGORY_ELEC},
  2320. {8, "Wooden TV 4", 2320, FURNITURE_CATEGORY_ELEC},
  2321. {8, "Wooden TV 5", 1429, FURNITURE_CATEGORY_ELEC},
  2322. {8, "Small Black TV", 1749, FURNITURE_CATEGORY_ELEC},
  2323. {8, "Thin Wooden TV", 1750, FURNITURE_CATEGORY_ELEC},
  2324. {8, "Dark Gray TV", 1751, FURNITURE_CATEGORY_ELEC},
  2325. {8, "Black Television 1", 1518, FURNITURE_CATEGORY_ELEC},
  2326. {8, "Black Television 2", 1752, FURNITURE_CATEGORY_ELEC},
  2327. {8, "Black Television 3 (Wide)", 1786, FURNITURE_CATEGORY_ELEC},
  2328. {8, "Black Television 4", 1791, FURNITURE_CATEGORY_ELEC},
  2329. {8, "Black Television 5 (Thin)", 1792, FURNITURE_CATEGORY_ELEC},
  2330. {8, "Black Television 6 (Wide)", 2312, FURNITURE_CATEGORY_ELEC},
  2331. {8, "Black Television 7", 2316, FURNITURE_CATEGORY_ELEC},
  2332. {8, "Black Television 8", 2318, FURNITURE_CATEGORY_ELEC},
  2333. {8, "Black Television 9", 2596, FURNITURE_CATEGORY_ELEC},
  2334. {8, "Black Television 10", 2595, FURNITURE_CATEGORY_ELEC},
  2335. {8, "Black Television 11", 2648, FURNITURE_CATEGORY_ELEC},
  2336. {8, "Black Television 12", 2700, FURNITURE_CATEGORY_ELEC},
  2337. {8, "Black Television 13", 14772, FURNITURE_CATEGORY_ELEC},
  2338. {8, "Gray TV 1", 1781, FURNITURE_CATEGORY_ELEC},
  2339. {8, "Gray TV 2", 2322, FURNITURE_CATEGORY_ELEC},
  2340. {8, "Orange Sphere TV", 2224, FURNITURE_CATEGORY_ELEC},
  2341. {8, "TV and Entertainment Center", 2296, FURNITURE_CATEGORY_ELEC},
  2342. {8, "LCD TV 1", 19786, FURNITURE_CATEGORY_ELEC},
  2343. {8, "LCD TV 2", 19786, FURNITURE_CATEGORY_ELEC},
  2344. {8, "VCR 1", 1782, FURNITURE_CATEGORY_ELEC},
  2345. {8, "VCR 2", 1783, FURNITURE_CATEGORY_ELEC},
  2346. {8, "VCR 3", 1785, FURNITURE_CATEGORY_ELEC},
  2347. {8, "VCR 4", 1787, FURNITURE_CATEGORY_ELEC},
  2348. {8, "VCR 5", 1788, FURNITURE_CATEGORY_ELEC},
  2349. {8, "VCR 6", 1790, FURNITURE_CATEGORY_ELEC},
  2350. {8, "Hi-Fi System (Black)", 1809, FURNITURE_CATEGORY_ELEC},
  2351. {8, "Hi-Fi System (Gray)", 1839, FURNITURE_CATEGORY_ELEC},
  2352. {8, "Hi-Fi System On Wheels", 2225, FURNITURE_CATEGORY_ELEC},
  2353. {8, "Hi-Fi System On Stand", 2227, FURNITURE_CATEGORY_ELEC},
  2354. {8, "Black Game Console", 2028, FURNITURE_CATEGORY_ELEC},
  2355. {8, "Turntable", 2099, FURNITURE_CATEGORY_ELEC},
  2356. {8, "Big Wooden Hi-Fi System", 2100, FURNITURE_CATEGORY_ELEC},
  2357. {8, "Big Hi-Fi System", 2101, FURNITURE_CATEGORY_ELEC},
  2358. {8, "Boombox 1", 2102, FURNITURE_CATEGORY_ELEC},
  2359. {8, "Boombox 2", 2103, FURNITURE_CATEGORY_ELEC},
  2360. {8, "Boombox 3", 2226, FURNITURE_CATEGORY_ELEC},
  2361. {8, "Tall Hi-Fi System", 2104, FURNITURE_CATEGORY_ELEC},
  2362. {8, "White PC and Monitor", 2190, FURNITURE_CATEGORY_ELEC},
  2363. {8, "Desk and Computer", 11631, FURNITURE_CATEGORY_ELEC},
  2364. {8, "Arcade Machine 1", 2681, FURNITURE_CATEGORY_ELEC},
  2365. {8, "Arcade Machine 2", 2778, FURNITURE_CATEGORY_ELEC},
  2366. {8, "Arcade Machine 3", 2779, FURNITURE_CATEGORY_ELEC},
  2367. {8, "Arcade Machine 4", 2872, FURNITURE_CATEGORY_ELEC},
  2368. {8, "White Fan", 2192, FURNITURE_CATEGORY_ELEC},
  2369. {8, "Office Printer 1", 2201, FURNITURE_CATEGORY_ELEC},
  2370. {8, "Office Printer 2", 2202, FURNITURE_CATEGORY_ELEC},
  2371. {8, "Photocopier", 2186, FURNITURE_CATEGORY_ELEC},
  2372. {8, "Tall Speaker", 2229, FURNITURE_CATEGORY_ELEC},
  2373. {8, "Tall Wooden Speaker", 2230, FURNITURE_CATEGORY_ELEC},
  2374. {8, "Small Wooden Speaker", 2231, FURNITURE_CATEGORY_ELEC},
  2375. {8, "Black Speaker", 2232, FURNITURE_CATEGORY_ELEC},
  2376. {8, "Speaker", 1840, FURNITURE_CATEGORY_ELEC},
  2377. {8, "Tall Gray Speaker", 2233, FURNITURE_CATEGORY_ELEC},
  2378. {8, "Chair and Speakers", 11665, FURNITURE_CATEGORY_ELEC},
  2379. {8, "TV Remote", 2344, FURNITURE_CATEGORY_ELEC},
  2380. {8, "TV Remote 2", 19920, FURNITURE_CATEGORY_ELEC},
  2381. {8, "Sprunk Fridge", 2452, FURNITURE_CATEGORY_ELEC},
  2382. {8, "Black Telephone", 11705, FURNITURE_CATEGORY_ELEC},
  2383. {8, "Fancy House Phone", 11728, FURNITURE_CATEGORY_ELEC},
  2384. {8, "White House Phone", 19807, FURNITURE_CATEGORY_ELEC},
  2385. {8, "TV and VCR on Stand", 14532, FURNITURE_CATEGORY_ELEC},
  2386. {8, "Black TV and VCR on Stand", 16377, FURNITURE_CATEGORY_ELEC},
  2387. {8, "Guitar Amp 1", 19612, FURNITURE_CATEGORY_ELEC},
  2388. {8, "Guitar Amp 2", 19613, FURNITURE_CATEGORY_ELEC},
  2389. {8, "Guitar Amp 3", 19614, FURNITURE_CATEGORY_ELEC},
  2390. {8, "Guitar Amp 4", 19615, FURNITURE_CATEGORY_ELEC},
  2391. {8, "Guitar Amp 5", 19616, FURNITURE_CATEGORY_ELEC},
  2392. {8, "Camera", 19623, FURNITURE_CATEGORY_ELEC},
  2393. {8, "Keyboard", 19808, FURNITURE_CATEGORY_ELEC},
  2394. {8, "Mixer", 1958, FURNITURE_CATEGORY_ELEC},
  2395. {9, "Dark Sofa", 1702, FURNITURE_CATEGORY_SEATS},
  2396. {9, "Black Sofa", 1703, FURNITURE_CATEGORY_SEATS},
  2397. {9, "Purple Sofa", 1706, FURNITURE_CATEGORY_SEATS},
  2398. {9, "Red Sofa", 1707, FURNITURE_CATEGORY_SEATS},
  2399. {9, "Long Couch", 1709, FURNITURE_CATEGORY_SEATS},
  2400. {9, "Couch", 1710, FURNITURE_CATEGORY_SEATS},
  2401. {9, "Small Couch", 1712, FURNITURE_CATEGORY_SEATS},
  2402. {9, "Black Couch", 1713, FURNITURE_CATEGORY_SEATS},
  2403. {9, "Couch 1", 1753, FURNITURE_CATEGORY_SEATS},
  2404. {9, "Couch 2", 1756, FURNITURE_CATEGORY_SEATS},
  2405. {9, "Couch 3", 1757, FURNITURE_CATEGORY_SEATS},
  2406. {9, "Couch 4", 1760, FURNITURE_CATEGORY_SEATS},
  2407. {9, "Couch 5", 1761, FURNITURE_CATEGORY_SEATS},
  2408. {9, "Couch 6", 1763, FURNITURE_CATEGORY_SEATS},
  2409. {9, "Couch 7", 1764, FURNITURE_CATEGORY_SEATS},
  2410. {9, "Couch 8", 1766, FURNITURE_CATEGORY_SEATS},
  2411. {9, "Couch 9", 1768, FURNITURE_CATEGORY_SEATS},
  2412. {9, "Couch 10", 2290, FURNITURE_CATEGORY_SEATS},
  2413. {9, "Chair 1", 1754, FURNITURE_CATEGORY_SEATS},
  2414. {9, "Chair 2", 1755, FURNITURE_CATEGORY_SEATS},
  2415. {9, "Chair 3", 1758, FURNITURE_CATEGORY_SEATS},
  2416. {9, "Chair 4", 1759, FURNITURE_CATEGORY_SEATS},
  2417. {9, "Chair 5", 1762, FURNITURE_CATEGORY_SEATS},
  2418. {9, "Chair 6", 1765, FURNITURE_CATEGORY_SEATS},
  2419. {9, "Chair 7", 1767, FURNITURE_CATEGORY_SEATS},
  2420. {9, "Chair 8", 1769, FURNITURE_CATEGORY_SEATS},
  2421. {9, "Chair 9", 2291, FURNITURE_CATEGORY_SEATS},
  2422. {9, "Chair 10", 2292, FURNITURE_CATEGORY_SEATS},
  2423. {9, "Beanbag", 2295, FURNITURE_CATEGORY_SEATS},
  2424. {9, "2 Chairs and Table", 2571, FURNITURE_CATEGORY_SEATS},
  2425. {9, "2 White Chairs and Table", 2572, FURNITURE_CATEGORY_SEATS},
  2426. {9, "2 Small Chairs and Table", 2617, FURNITURE_CATEGORY_SEATS},
  2427. {9, "Long Black Couch", 3921, FURNITURE_CATEGORY_SEATS},
  2428. {9, "Orange Couch", 11717, FURNITURE_CATEGORY_SEATS},
  2429. {9, "Desk Chair 1", 1663, FURNITURE_CATEGORY_SEATS},
  2430. {9, "Desk Chair 2", 1671, FURNITURE_CATEGORY_SEATS},
  2431. {9, "Desk Chair 3", 1714, FURNITURE_CATEGORY_SEATS},
  2432. {9, "Desk Chair 4", 1715, FURNITURE_CATEGORY_SEATS},
  2433. {9, "Desk Chair 5", 1806, FURNITURE_CATEGORY_SEATS},
  2434. {9, "Desk Chair 6", 2356, FURNITURE_CATEGORY_SEATS},
  2435. {9, "Desk Chair 7", 19999, FURNITURE_CATEGORY_SEATS},
  2436. {9, "Chair 11", 1704, FURNITURE_CATEGORY_SEATS},
  2437. {9, "Chair 12", 1705, FURNITURE_CATEGORY_SEATS},
  2438. {9, "Chair 13", 1708, FURNITURE_CATEGORY_SEATS},
  2439. {9, "Chair 14", 1711, FURNITURE_CATEGORY_SEATS},
  2440. {9, "Chair 15", 1721, FURNITURE_CATEGORY_SEATS},
  2441. {9, "Chair 16", 1722, FURNITURE_CATEGORY_SEATS},
  2442. {9, "Kitchen Chair", 1720, FURNITURE_CATEGORY_SEATS},
  2443. {9, "Kitchen Chair 2", 1739, FURNITURE_CATEGORY_SEATS},
  2444. {9, "Kitchen Chair 3", 1811, FURNITURE_CATEGORY_SEATS},
  2445. {9, "Kitchen Chair 4", 2079, FURNITURE_CATEGORY_SEATS},
  2446. {9, "Kitchen Chair 5", 2120, FURNITURE_CATEGORY_SEATS},
  2447. {9, "Kitchen Chair 6", 2123, FURNITURE_CATEGORY_SEATS},
  2448. {9, "Kitchen Chair 7", 2124, FURNITURE_CATEGORY_SEATS},
  2449. {9, "Kitchen Chair 8", 2309, FURNITURE_CATEGORY_SEATS},
  2450. {9, "Kitchen Chair 9", 2310, FURNITURE_CATEGORY_SEATS},
  2451. {9, "Kitchen Chair 10", 2636, FURNITURE_CATEGORY_SEATS},
  2452. {9, "Folding Chair", 1810, FURNITURE_CATEGORY_SEATS},
  2453. {9, "Folding Chair 2", 2121, FURNITURE_CATEGORY_SEATS},
  2454. {9, "Folding Chair 3", 19996, FURNITURE_CATEGORY_SEATS},
  2455. {9, "Stool", 1716, FURNITURE_CATEGORY_SEATS},
  2456. {9, "Stool 2", 1805, FURNITURE_CATEGORY_SEATS},
  2457. {9, "Stool 3", 2125, FURNITURE_CATEGORY_SEATS},
  2458. {9, "Stool 4", 2723, FURNITURE_CATEGORY_SEATS},
  2459. {9, "Stool 5", 2725, FURNITURE_CATEGORY_SEATS},
  2460. {9, "Stool 6", 11687, FURNITURE_CATEGORY_SEATS},
  2461. {9, "Couch Piece 1", 11682, FURNITURE_CATEGORY_SEATS},
  2462. {9, "Couch Piece 2", 11683, FURNITURE_CATEGORY_SEATS},
  2463. {9, "Couch Piece 3", 11684, FURNITURE_CATEGORY_SEATS},
  2464. {9, "Couch Piece 4", 11685, FURNITURE_CATEGORY_SEATS},
  2465. {10, "GLASS TABLE", 2024, FURNITURE_CATEGORY_TABLES},
  2466. {10, "TABLE W/UMBRELLA", 1281, FURNITURE_CATEGORY_TABLES},
  2467. {10, "TABLE W/CHAIRS", 1432, FURNITURE_CATEGORY_TABLES},
  2468. {10, "CHESS TABLE", 1594, FURNITURE_CATEGORY_TABLES},
  2469. {10, "ELEGANT TABLE", 1827, FURNITURE_CATEGORY_TABLES},
  2470. {10, "ROOM TABLE", 1433, FURNITURE_CATEGORY_TABLES},
  2471. {10, "ROOM TABLE 2", 1516, FURNITURE_CATEGORY_TABLES},
  2472. {10, "LIVING ROOM TABLE", 2126, FURNITURE_CATEGORY_TABLES},
  2473. {10, "KITCHEN TABLE 1", 2334, FURNITURE_CATEGORY_TABLES},
  2474. {10, "KITCHEN TABLE 2", 2335, FURNITURE_CATEGORY_TABLES},
  2475. {10, "KITCHEN TABLE 3", 2336, FURNITURE_CATEGORY_TABLES},
  2476. {10, "KITCHEN TABLE 4", 2338, FURNITURE_CATEGORY_TABLES},
  2477. {10, "TV STAND", 2311, FURNITURE_CATEGORY_TABLES},
  2478. {10, "TV STAND 2", 2314, FURNITURE_CATEGORY_TABLES},
  2479. {10, "TV STAND 3", 2313, FURNITURE_CATEGORY_TABLES},
  2480. {10, "TV STAND 4", 2315, FURNITURE_CATEGORY_TABLES},
  2481. {10, "TABLE", 2319, FURNITURE_CATEGORY_TABLES},
  2482. {10, "TABLE 2", 2321, FURNITURE_CATEGORY_TABLES},
  2483. {10, "DRESSER", 2323, FURNITURE_CATEGORY_TABLES},
  2484. {10, "SMALL CABINET", 2328, FURNITURE_CATEGORY_TABLES},
  2485. {10, "KITCHEN CABINET 2", 2424, FURNITURE_CATEGORY_TABLES},
  2486. {10, "CORNER KITCHEN CABINET 2", 2423, FURNITURE_CATEGORY_TABLES},
  2487. {10, "KITCHEN BENCH 3", 2441, FURNITURE_CATEGORY_TABLES},
  2488. {10, "KITCHEN BENCH CORNER 3", 2442, FURNITURE_CATEGORY_TABLES},
  2489. {10, "KITCHEN 4", 2455, FURNITURE_CATEGORY_TABLES},
  2490. {10, "KITCHEN CORNER 4", 2454, FURNITURE_CATEGORY_TABLES},
  2491. {10, "RED KITCHEN", 2128, FURNITURE_CATEGORY_TABLES},
  2492. {10, "RED KITCHEN 2", 2128, FURNITURE_CATEGORY_TABLES},
  2493. {10, "WOODEN KITCHEN", 2136, FURNITURE_CATEGORY_TABLES},
  2494. {10, "WOODEN KITCHEN 2", 2139, FURNITURE_CATEGORY_TABLES},
  2495. {10, "WOOD KITCHEN 3", 2140, FURNITURE_CATEGORY_TABLES},
  2496. {10, "HI FI TABLE", 2346, FURNITURE_CATEGORY_TABLES},
  2497. {10, "LONG TABLE", 2357, FURNITURE_CATEGORY_TABLES},
  2498. {10, "TV COUNTER", 2368, FURNITURE_CATEGORY_TABLES},
  2499. {10, "SIMPLE TABLE", 2370, FURNITURE_CATEGORY_TABLES},
  2500. {10, "SMALL PIZZA TABLE", 2635, FURNITURE_CATEGORY_TABLES},
  2501. {10, "BIG PIZZA TABLE", 2637, FURNITURE_CATEGORY_TABLES},
  2502. {10, "RED TABLE", 2762, FURNITURE_CATEGORY_TABLES},
  2503. {10, "BLACK TABLE WITH CHAIRS", 2799, FURNITURE_CATEGORY_TABLES},
  2504. {10, "WHITE TABLES WITH RED CHAIRS", 1968, FURNITURE_CATEGORY_TABLES},
  2505. {10, "WHITE TABLE WITH RED CHAIR", 1969, FURNITURE_CATEGORY_TABLES},
  2506. {10, "SILVER SURFACE, WOOD EDGES", 936, FURNITURE_CATEGORY_TABLES},
  2507. {10, "THREE SHELVES.", 937, FURNITURE_CATEGORY_TABLES},
  2508. {10, "CRACK FACTORY TABLE", 941, FURNITURE_CATEGORY_TABLES},
  2509. {10, "GRAY DESK", 19929, FURNITURE_CATEGORY_TABLES},
  2510. {10, "LAB DESK", 3393, FURNITURE_CATEGORY_TABLES},
  2511. {10, "LAB DESK 2", 3391, FURNITURE_CATEGORY_TABLES},
  2512. {10, "WHITE DESK (NO COLLISION)", 1963, FURNITURE_CATEGORY_TABLES},
  2513. {10, "SQUARE TABLE", 2112, FURNITURE_CATEGORY_TABLES},
  2514. {10, "MIDDLE WOOD TABLE", 2117, FURNITURE_CATEGORY_TABLES}
  2515. };
  2516. /*enum E_CALLSIGN_INFO
  2517. {
  2518. Callsign[90]
  2519. }
  2520. static const g_CallsignData[][E_CALLSIGN_INFO] = {
  2521. {"STAFF 1"},
  2522. {"STAFF 2"},
  2523. {"STAFF 3"},
  2524. {"8-ADAM-10"},
  2525. {"8-ADAM-20"},
  2526. {"8-ADAM-11"},
  2527. {"8-ADAM-12"},
  2528. {"8-ADAM-13"},
  2529. {"8-ADAM-14"},
  2530. {"8-ADAM-15"},
  2531. {"8-ADAM-16"},
  2532. {"8-LINCOLN-10"},
  2533. {"8-LINCOLN-20"},
  2534. {"8-LINCOLN-11"},
  2535. {"8-LINCOLN-12"},
  2536. {"8-LINCOLN-13"},
  2537. {"8-LINCOLN-14"},
  2538. {"8-LINCOLN-15"},
  2539. {"8-LINCOLN-16"},
  2540. {"12-ADAM-10"},
  2541. {"12-ADAM-20"},
  2542. {"12-ADAM-11"},
  2543. {"12-ADAM-12"},
  2544. {"12-ADAM-13"},
  2545. {"12-ADAM-14"},
  2546. {"12-ADAM-15"},
  2547. {"12-ADAM-16"},
  2548. {"12-LINCOLN-10"},
  2549. {"12-LINCOLN-20"},
  2550. {"12-LINCOLN-11"},
  2551. {"12-LINCOLN-12"},
  2552. {"12-LINCOLN-13"},
  2553. {"12-LINCOLN-14"},
  2554. {"12-LINCOLN-15"},
  2555. {"12-LINCOLN-16"},
  2556. {"25-TOM-10"},
  2557. {"25-TOM-11"},
  2558. {"25-TOM-12"},
  2559. {"25-TOM-13"},
  2560. {"25-TOM-14"},
  2561. {"25-MARY-11"},
  2562. {"25-MARY-12"},
  2563. {"25-MARY-13"},
  2564. {"25-MARY-14"},
  2565. {"34-TOM-10"},
  2566. {"34-TOM-11"},
  2567. {"34-TOM-12"},
  2568. {"34-TOM-13"},
  2569. {"34-TOM-14"},
  2570. {"34-MARY-11"},
  2571. {"34-MARY-12"},
  2572. {"34-MARY-13"},
  2573. {"34-MARY-14"},
  2574. {"10-DAVID"},
  2575. {"20-DAVID"},
  2576. {"30-DAVID"},
  2577. {"40-DAVID"},
  2578. {"AIR 1"},
  2579. {"AIR 2"},
  2580. {"4-KING-10"},
  2581. {"4-KING-11"},
  2582. {"4-KING-12"},
  2583. {"5-KING-10"},
  2584. {"5-KING-11"},
  2585. {"5-KING-12"},
  2586. {"5-GEORGE-10"},
  2587. {"5-GEORGE-11"},
  2588. {"5-GEORGE-12"},
  2589. {"ROBERT 1C"},
  2590. {"ROBERT 1K"},
  2591. {"ROBERT 2C"},
  2592. {"ROBERT 2K"},
  2593. {"ROBERT 3C"},
  2594. {"ROBERT 3K"},
  2595. {"ROBERT 4C"},
  2596. {"ROBERT 4K"},
  2597. {"ROBERT 5C"},
  2598. {"ROBERT 5K"}
  2599. };*/
  2600. enum E_SIRENS_INFO
  2601. {
  2602. SirenForModel,
  2603. Float:PosX,
  2604. Float:PosY,
  2605. Float:PosZ
  2606. }
  2607. new g_SirenPresets[][E_SIRENS_INFO] =
  2608. {
  2609. {596, 0.0, -1.75, 0.35}, //LSPD
  2610. {598, 0.0, -1.5, 0.35}, //LVPD
  2611. {490, -0.5, 0.5, 1.15}, //FBI RANCHER
  2612. {560, -0.45, 0.25, 0.85}, //SULTAN
  2613. {426, -0.45, 0.0, 0.875}, //PREMIER
  2614. {541, 0.0, 0.6, 0.35}, //BULLET
  2615. {402, 0.0, 0.55, 0.3}, //BUFFALO
  2616. {579, 0.0, 0.6, 0.6}, // HUNTLEY
  2617. {413, 0.0, 0.65, 1.2}, //PONY
  2618. {597, 0.0, -1.75, 0.35}, //SFPD
  2619. {415, 0.0, 0.65, 0.2}, //CHEETAH
  2620. {445, 0.004999, 0.739999, 0.309999}, //ADMIRAL
  2621. {421, 0.000000, 0.799999, 0.239999}, //WASHINGTON
  2622. {599, 0.0, 0.65, 0.5}, //POLICE RANGER
  2623. {427, 0.0, 1.655, 0.7}, //ENFORCER
  2624. {405, 0.0, 0.7, 0.25}, //SENTINEL
  2625. {482, -0.5, 0.6, 0.95}, //BURRITO
  2626. {457, -0.3, 0.3, 1.35}, //CADDY
  2627. {525, 0.0, -0.449999, 1.425000}, //TOWTRUCK
  2628. {407, -0.0, -3.01, 1.350000}, //FIRETRUCK
  2629. {544, 0.0, 2.850001, 1.500000}, //FIRETRUCK LADDER
  2630. {416, 0.0, -3.525001, 1.350000}, //AMBULANCE
  2631. {552, 0.0, 0.65, 1.375}, //UTILITY
  2632. {554, 0.0, 0.0, 1.049999} //YOSEMITE
  2633. };
  2634. enum E_FUELSTATIONS_INFO
  2635. {
  2636. Float:PosX,
  2637. Float:PosY,
  2638. Float:PosZ
  2639. }
  2640. new g_FuelStations[][E_FUELSTATIONS_INFO] =
  2641. {
  2642. {1938.4384, -1772.9103, 13.3828},
  2643. {1004.2288, -939.6199, 42.1797},
  2644. {652.9380, -570.4348, 16.3359},
  2645. {653.1918, -559.8961, 16.3359},
  2646. {1381.2953, 457.8216, 19.9517},
  2647. {605.2136, 1704.8694, 6.9922},
  2648. {608.6473, 1700.0106, 6.9922},
  2649. {612.3318, 1694.4545, 6.9922},
  2650. {615.6635, 1689.9880, 6.9922},
  2651. {618.5643, 1684.9275, 6.9922},
  2652. {622.1896, 1679.8921, 6.9922},
  2653. {1541.4110, -2173.9783, 13.5532}
  2654. };
  2655. enum E_INTERIOR_DATA
  2656. {
  2657. IntName[60],
  2658. IntID,
  2659. Float:IntPosX,
  2660. Float:IntPosY,
  2661. Float:IntPosZ
  2662. }
  2663. new Interiors[][E_INTERIOR_DATA] =
  2664. {
  2665. {"24/7 #1", 17, -25.884498, -185.868988, 1003.546875},
  2666. {"24/7 #2", 10, 6.091179, -29.271898, 1003.549438},
  2667. {"24/7 #3", 18, -30.946699, -89.609596, 1003.546875},
  2668. {"24/7 #4", 16, -25.132598, -139.066986, 1003.546875},
  2669. {"24/7 #5", 4, -27.312299, -29.277599, 1003.557250},
  2670. {"24/7 #6", 5, -26.691598, -55.714897, 1003.546875},
  2671. {"Airport ticket desk", 14, -1827.147338, 7.207417, 1061.143554},
  2672. {"Airport baggage reclaim", 14, -1861.936889, 54.908092, 1061.143554},
  2673. {"Shamal", 1, 1.808619, 32.384357, 1199.593750},
  2674. {"Andromada", 9, 315.745086, 984.969299, 1958.919067},
  2675. {"Ammunation 1", 1, 286.148986, -40.644397, 1001.515625},
  2676. {"Ammunation 2", 4, 286.800994,-82.547599,1001.515625},
  2677. {"Ammunation 3", 6, 296.919982,-108.071998,1001.515625},
  2678. {"Ammunation 4", 7, 314.820983,-141.431991,999.601562},
  2679. {"Ammunation 5", 6, 316.524993,-167.706985,999.593750},
  2680. {"Ammunation booths", 7, 302.292877,-143.139099,1004.062500},
  2681. {"Ammunation range", 7, 298.507934,-141.647048,1004.054748},
  2682. {"Blastin fools hallway", 3, 1038.531372,0.111030,1001.284484},
  2683. {"Budget inn motel room", 12, 444.646911,508.239044,1001.419494},
  2684. {"Jefferson motel", 15, 2215.454833,-1147.475585,1025.796875},
  2685. {"Off track betting shop", 3, 833.269775,10.588416,1004.179687},
  2686. {"Sex shop", 3, -103.559165,-24.225606,1000.718750},
  2687. {"Meat factory", 1, 963.418762,2108.292480,1011.030273},
  2688. {"Zero's RC shop", 6, -2240.468505,137.060440,1035.414062},
  2689. {"Dillimore gas station", 0, 663.836242,-575.605407,16.343263},
  2690. {"Catigula's basement", 1, 2169.461181,1618.798339,999.976562},
  2691. {"FDC Janitors room", 10, 1889.953369,1017.438293,31.882812},
  2692. {"Woozie's office", 1, -2159.122802, 641.517517, 1052.381713},
  2693. {"Binco", 15, 207.737991, -109.019996, 1005.132812},
  2694. {"Didier sachs", 14, 204.332992, -166.694992, 1000.523437},
  2695. {"Prolaps", 3, 207.054992, -138.804992, 1003.507812},
  2696. {"Suburban", 1, 203.777999, -48.492397, 1001.804687},
  2697. {"Victim", 5, 226.293991, -7.431529, 1002.210937},
  2698. {"Zip", 18, 161.391006, -93.159156, 1001.804687},
  2699. {"Club", 17, 493.390991, -22.722799, 1000.679687},
  2700. {"Bar", 1, 501.980987, -69.150199, 998.757812},
  2701. {"Lil' probe inn", 18, -227.027999, 1401.229980, 27.765625},
  2702. {"Jay's diner", 4, 457.304748, -88.428497, 999.554687},
  2703. {"Gant bridge diner", 5, 454.973937, -110.104995, 1000.077209},
  2704. {"Secret valley diner", 6, 435.271331, -80.958938, 999.554687},
  2705. {"World of coq", 1, 452.489990, -18.179698, 1001.132812},
  2706. {"Welcome pump", 1, 681.557861, -455.680053, -25.609874},
  2707. {"Burger shot", 10, 375.962463, -65.816848, 1001.507812},
  2708. {"Cluckin' bell", 9, 369.579528, -4.487294, 1001.858886},
  2709. {"Well stacked pizza", 5, 373.825653, -117.270904, 1001.499511},
  2710. {"Rusty browns donuts", 17, 381.169189, -188.803024, 1000.632812},
  2711. {"Denise room", 1, 244.411987, 305.032989, 999.148437},
  2712. {"Katie room", 2, 271.884979, 306.631988, 999.148437},
  2713. {"Helena room", 3, 291.282989, 310.031982, 999.148437},
  2714. {"Michelle room", 4, 302.180999, 300.722991, 999.148437},
  2715. {"Barbara room", 5, 322.197998, 302.497985, 999.148437},
  2716. {"Millie room", 6, 346.870025, 309.259033, 999.155700},
  2717. {"Sherman dam", 17, -959.564392, 1848.576782, 9.000000},
  2718. {"Planning dept.", 3, 384.808624,173.804992,1008.382812},
  2719. {"Area 51", 0, 223.431976, 1872.400268, 13.734375},
  2720. {"LS gym", 5, 772.111999, -3.898649, 1000.728820},
  2721. {"SF gym", 6, 774.213989, -48.924297, 1000.585937},
  2722. {"LV gym", 7, 773.579956, -77.096694, 1000.655029},
  2723. {"B Dup's house", 3, 1527.229980, -11.574499, 1002.097106},
  2724. {"B Dup's crack pad", 2, 1523.509887, -47.821197, 1002.130981},
  2725. {"Cj's house", 3, 2496.049804, -1695.238159, 1014.742187},
  2726. {"Madd Doggs mansion", 5, 1267.663208, -781.323242, 1091.906250},
  2727. {"Og Loc's house", 3, 513.882507, -11.269994, 1001.565307},
  2728. {"Ryders house", 2, 2454.717041, -1700.871582, 1013.515197},
  2729. {"Sweet's house", 1, 2527.654052, -1679.388305, 1015.498596},
  2730. {"Crack factory", 2, 2543.462646, -1308.379882, 1026.728393},
  2731. {"Big spread ranch", 3, 1212.019897, -28.663099, 1000.953125},
  2732. {"Fanny batters", 6, 761.412963, 1440.191650, 1102.703125},
  2733. {"Strip club", 2, 1204.809936, -11.586799, 1000.921875},
  2734. {"Strip club private room", 2, 1204.809936, 13.897239, 1000.921875},
  2735. {"Unnamed brothel", 3, 942.171997, -16.542755, 1000.929687},
  2736. {"Tiger skin brothel", 3, 964.106994, -53.205497, 1001.124572},
  2737. {"Pleasure domes", 3, -2640.762939, 1406.682006, 906.460937},
  2738. {"Liberty city outside", 1, -729.276000, 503.086944, 1371.971801},
  2739. {"Liberty city inside", 1, -794.806396, 497.738037, 1376.195312},
  2740. {"Gang house", 5, 2350.339843, -1181.649902, 1027.976562},
  2741. {"Colonel Furhberger's", 8, 2807.619873, -1171.899902, 1025.570312},
  2742. {"Crack den", 5, 318.564971, 1118.209960, 1083.882812},
  2743. {"Warehouse 1", 1, 1412.639892, -1.787510, 1000.924377},
  2744. {"Warehouse 2", 18, 1302.519897,-1.787510,1001.028259},
  2745. {"Sweets garage", 0, 2522.000000,-1673.383911,14.866223},
  2746. {"Lil' probe inn toilet", 18, -221.059051,1408.984008,27.773437},
  2747. {"Unused safe house", 12, 2324.419921, -1145.568359, 1050.710083},
  2748. {"RC Battlefield ", 10, -975.975708, 1060.983032, 1345.671875},
  2749. {"Barber 1", 2, 411.625976, -21.433298, 1001.804687},
  2750. {"Barber 2", 3, 418.652984, -82.639793, 1001.804687},
  2751. {"Barber 3", 12, 412.021972, -52.649898, 1001.898437},
  2752. {"Tattoo parlor 1", 16, -204.439987, -26.453998, 1002.273437},
  2753. {"Tattoo parlor 2", 17, -204.439987, -8.469599, 1002.273437},
  2754. {"Tattoo parlor 3", 3, -204.439987, -43.652496, 1002.273437},
  2755. {"LS police HQ", 6, 246.783996, 63.900199, 1003.640625},
  2756. {"SF police HQ", 10, 246.375991, 109.245994, 1003.218750},
  2757. {"LV police HQ", 3, 288.745971, 169.350997, 1007.171875},
  2758. {"Car school", 3, -2029.798339, -106.675910, 1035.171875},
  2759. {"8-Track", 7, -1398.065307, -217.028900, 1051.115844},
  2760. {"Bloodbowl", 15, -1398.103515, 937.631164, 1036.479125},
  2761. {"Dirt track", 4, -1444.645507, -664.526000, 1053.572998},
  2762. {"Kickstart", 14, -1465.268676, 1557.868286, 1052.531250},
  2763. {"Vice stadium", 1, -1401.829956, 107.051300, 1032.273437},
  2764. {"SF Garage", 0, -1790.378295, 1436.949829, 7.187500},
  2765. {"LS Garage", 0, 1643.839843, -1514.819580, 13.566620},
  2766. {"SF Bomb shop", 0, -1685.636474, 1035.476196, 45.210937},
  2767. {"Blueberry warehouse", 0, 76.632553, -301.156829, 1.578125},
  2768. {"LV Warehouse 1", 0, 1059.895996, 2081.685791, 10.820312},
  2769. {"LV Warehouse 2 (hidden part)", 0, 1059.180175, 2148.938720, 10.820312},
  2770. {"Catigula's hidden room", 1, 2131.507812, 1600.818481, 1008.359375},
  2771. {"Bank", 0, 2315.952880, -1.618174, 26.742187},
  2772. {"Bank (behind desk)", 0, 2319.714843, -14.838361, 26.749565},
  2773. {"LS Atruim", 18, 1710.433715, -1669.379272, 20.225049},
  2774. {"Bike School", 3, 1494.325195, 1304.942871, 1093.289062},
  2775. {"Custom police HQ", 0, -236.1195, 144.9929, -53.8010},
  2776. {"Custom bank 1", 6, 1456.6346, -988.0356, 996.1050},
  2777. {"Custom bank 2", 0, -554.9476, 1782.2751, 1392.4731},
  2778. {"Complex 1", 0, 1990.2488, 1116.5715, 22.5186},
  2779. {"Complex 2", 0, 397.9061, 517.4778, 990.7277},
  2780. {"Complex 3", 0, 160.5634, 2485.5669,- 88.9141},
  2781. {"Studio Apartments", 0, 232.4190, 241.8836, 999.2313},
  2782. {"Mafia Bar", 0, 1930.5273, -2081.4336, 788.1960},
  2783. {"Custom House 1", 0, 2434.8584, -1622.6749, 1568.9280},
  2784. {"Custom House 2", 0, 1378.2780, -820.4017, 1092.3500},
  2785. {"Custom Restaurant", 0, -1794.6632, 1230.5464, 20.6711},
  2786. {"Custom Apartment", 0, 1697.4037,-1417.4551,37.3089},
  2787. {"Ghetto Bar", 0, 2588.5774, -1643.9049, 1358.4089},
  2788. {"Custom Bar", 0, 1299.3857, -880.3571, 2003.4534},
  2789. {"Small Apartment", 0, 1780.7344, -1443.6942, 1359.5919},
  2790. {"Prison", 0, 2574.9233, -1474.8563, -48.8995},
  2791. {"Hospital", 0, -204.5169, -1735.5739, 675.7687},
  2792. {"Modern House 1", 0, 243.4072, -1851.5687, 3333.9329},
  2793. {"Modern House 2", 0, 1245.2904, -1118.4497, 3458.9070},
  2794. {"Government Interior", 0, 1481.2892, -1779.5699, 1815.9910},
  2795. {"Police Department 1", 0, 2593.2646, -1201.2382, 1516.2271},
  2796. {"Police Department 2", 0, 230.9149, 79.2698, 1043.4009},
  2797. {"Police Department 3", 0, 1554.4457, -1671.8848, -40.5941},
  2798. {"Small House", 0, 669.4931, -1691.1508, -25.7441}
  2799. };
  2800. static const PossibleWeapons[][E_ORDER_DATA] =
  2801. {
  2802. {"Colt", 22},
  2803. {"Taurus", 22},
  2804. {"Browning", 22},
  2805. {"Deagle", 24},
  2806. {"Desert Eagle", 24},
  2807. {"Glock", 24},
  2808. {"Smith & Wesson", 24},
  2809. {"Smith and Wesson", 24},
  2810. {"Ruger", 24},
  2811. {"Beretta", 24},
  2812. {"CZ", 24},
  2813. {"FN", 24},
  2814. {"HK", 24},
  2815. {"Heckler & Koch", 24},
  2816. {"Heckler and Koch", 24},
  2817. {"Ithaca", 24},
  2818. {"Kel-Tec", 24},
  2819. {"Kriss", 24},
  2820. {"Sig Sauer", 24},
  2821. {"Springfield", 24},
  2822. {"Shotgun", 25},
  2823. {"Mossberg", 25},
  2824. {"Remington", 25},
  2825. {"Tec-9", 32},
  2826. {"Intratec", 32},
  2827. {"AB-10", 32}
  2828. };
  2829. static const g_aRoadblocks[][E_ROADBLOCK_INFO] = {
  2830. {"Short Barrier", 1949},
  2831. {"Shorter Barrier", 1459},
  2832. {"Traffic Barrier", 1282},
  2833. {"Detour Sign", 1425},
  2834. {"Track Barrier", 3091},
  2835. {"Large Barrier", 981},
  2836. {"Road Barrier", 1237},
  2837. {"Shorter Barrier", 1459},
  2838. {"Road Barrier 2", 1424},
  2839. {"Traffic Cone", 1238},
  2840. {"Police Tape", 19834},
  2841. {"Large Spikes", 2892},
  2842. {"Short Spikes", 2899}
  2843. };
  2844. static const PossibleDropSpots[][E_ORDERLOCATION_DATA] = {
  2845. {814.1916, -564.4401, 16.3359},
  2846. {1059.9880, -289.0486, 73.9922},
  2847. {2153.2617, -101.1982, 2.6570},
  2848. {2327.9292, 574.3517, 7.7813},
  2849. {-1481.0472, 2630.8008, 58.7813},
  2850. {-2827.8799, -1522.5027, 139.1632},
  2851. {1063.8962, 2271.0144, 10.8126},
  2852. {-539.9781, 2592.9333, 53.4154},
  2853. {-788.0873, 2420.7778, 157.1281},
  2854. {-376.3968, 1520.2499, 75.5625},
  2855. {-1366.9153, 2058.7578, 52.6534},
  2856. {-2287.1592, 2283.9688, 4.9724},
  2857. {-2988.5286, 472.0439, 4.9141},
  2858. {-1630.1023, -2242.4648, 31.4766},
  2859. {-416.8673, -1761.4701, 5.6762},
  2860. {258.8456, 2889.9907, 11.1991},
  2861. {2454.3835, 2806.2183, 10.8203},
  2862. {-1913.6975, -1675.6669, 23.0156},
  2863. {-1432.3746, -964.3013, 200.9599},
  2864. {-545.1014, -74.3072, 62.8594},
  2865. {191.2636, 1403.4678, 10.5859},
  2866. {1248.1340, 207.7558, 23.0555},
  2867. {2268.3137, -2570.4019, 8.3603},
  2868. {-1977.8420, 455.9144, 28.3573},
  2869. {-1805.8313, 1304.8137, 50.4453}
  2870. };
  2871. new GunObjectIDs[200] =
  2872. {
  2873. 1575, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 342, 343, 344, -1, -1, -1,
  2874. 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
  2875. 368, 369, 1575
  2876. };
  2877. static const VehicleColoursTableRGBA[256] =
  2878. {
  2879. 0x000000FF, 0xF5F5F5FF, 0x2A77A1FF, 0x840410FF, 0x263739FF, 0x86446EFF, 0xD78E10FF, 0x4C75B7FF, 0xBDBEC6FF, 0x5E7072FF,
  2880. 0x46597AFF, 0x656A79FF, 0x5D7E8DFF, 0x58595AFF, 0xD6DAD6FF, 0x9CA1A3FF, 0x335F3FFF, 0x730E1AFF, 0x7B0A2AFF, 0x9F9D94FF,
  2881. 0x3B4E78FF, 0x732E3EFF, 0x691E3BFF, 0x96918CFF, 0x515459FF, 0x3F3E45FF, 0xA5A9A7FF, 0x635C5AFF, 0x3D4A68FF, 0x979592FF,
  2882. 0x421F21FF, 0x5F272BFF, 0x8494ABFF, 0x767B7CFF, 0x646464FF, 0x5A5752FF, 0x252527FF, 0x2D3A35FF, 0x93A396FF, 0x6D7A88FF,
  2883. 0x221918FF, 0x6F675FFF, 0x7C1C2AFF, 0x5F0A15FF, 0x193826FF, 0x5D1B20FF, 0x9D9872FF, 0x7A7560FF, 0x989586FF, 0xADB0B0FF,
  2884. 0x848988FF, 0x304F45FF, 0x4D6268FF, 0x162248FF, 0x272F4BFF, 0x7D6256FF, 0x9EA4ABFF, 0x9C8D71FF, 0x6D1822FF, 0x4E6881FF,
  2885. 0x9C9C98FF, 0x917347FF, 0x661C26FF, 0x949D9FFF, 0xA4A7A5FF, 0x8E8C46FF, 0x341A1EFF, 0x6A7A8CFF, 0xAAAD8EFF, 0xAB988FFF,
  2886. 0x851F2EFF, 0x6F8297FF, 0x585853FF, 0x9AA790FF, 0x601A23FF, 0x20202CFF, 0xA4A096FF, 0xAA9D84FF, 0x78222BFF, 0x0E316DFF,
  2887. 0x722A3FFF, 0x7B715EFF, 0x741D28FF, 0x1E2E32FF, 0x4D322FFF, 0x7C1B44FF, 0x2E5B20FF, 0x395A83FF, 0x6D2837FF, 0xA7A28FFF,
  2888. 0xAFB1B1FF, 0x364155FF, 0x6D6C6EFF, 0x0F6A89FF, 0x204B6BFF, 0x2B3E57FF, 0x9B9F9DFF, 0x6C8495FF, 0x4D8495FF, 0xAE9B7FFF,
  2889. 0x406C8FFF, 0x1F253BFF, 0xAB9276FF, 0x134573FF, 0x96816CFF, 0x64686AFF, 0x105082FF, 0xA19983FF, 0x385694FF, 0x525661FF,
  2890. 0x7F6956FF, 0x8C929AFF, 0x596E87FF, 0x473532FF, 0x44624FFF, 0x730A27FF, 0x223457FF, 0x640D1BFF, 0xA3ADC6FF, 0x695853FF,
  2891. 0x9B8B80FF, 0x620B1CFF, 0x5B5D5EFF, 0x624428FF, 0x731827FF, 0x1B376DFF, 0xEC6AAEFF, 0x000000FF,
  2892. 0x177517FF, 0x210606FF, 0x125478FF, 0x452A0DFF, 0x571E1EFF, 0x010701FF, 0x25225AFF, 0x2C89AAFF, 0x8A4DBDFF, 0x35963AFF,
  2893. 0xB7B7B7FF, 0x464C8DFF, 0x84888CFF, 0x817867FF, 0x817A26FF, 0x6A506FFF, 0x583E6FFF, 0x8CB972FF, 0x824F78FF, 0x6D276AFF,
  2894. 0x1E1D13FF, 0x1E1306FF, 0x1F2518FF, 0x2C4531FF, 0x1E4C99FF, 0x2E5F43FF, 0x1E9948FF, 0x1E9999FF, 0x999976FF, 0x7C8499FF,
  2895. 0x992E1EFF, 0x2C1E08FF, 0x142407FF, 0x993E4DFF, 0x1E4C99FF, 0x198181FF, 0x1A292AFF, 0x16616FFF, 0x1B6687FF, 0x6C3F99FF,
  2896. 0x481A0EFF, 0x7A7399FF, 0x746D99FF, 0x53387EFF, 0x222407FF, 0x3E190CFF, 0x46210EFF, 0x991E1EFF, 0x8D4C8DFF, 0x805B80FF,
  2897. 0x7B3E7EFF, 0x3C1737FF, 0x733517FF, 0x781818FF, 0x83341AFF, 0x8E2F1CFF, 0x7E3E53FF, 0x7C6D7CFF, 0x020C02FF, 0x072407FF,
  2898. 0x163012FF, 0x16301BFF, 0x642B4FFF, 0x368452FF, 0x999590FF, 0x818D96FF, 0x99991EFF, 0x7F994CFF, 0x839292FF, 0x788222FF,
  2899. 0x2B3C99FF, 0x3A3A0BFF, 0x8A794EFF, 0x0E1F49FF, 0x15371CFF, 0x15273AFF, 0x375775FF, 0x060820FF, 0x071326FF, 0x20394BFF,
  2900. 0x2C5089FF, 0x15426CFF, 0x103250FF, 0x241663FF, 0x692015FF, 0x8C8D94FF, 0x516013FF, 0x090F02FF, 0x8C573AFF, 0x52888EFF,
  2901. 0x995C52FF, 0x99581EFF, 0x993A63FF, 0x998F4EFF, 0x99311EFF, 0x0D1842FF, 0x521E1EFF, 0x42420DFF, 0x4C991EFF, 0x082A1DFF,
  2902. 0x96821DFF, 0x197F19FF, 0x3B141FFF, 0x745217FF, 0x893F8DFF, 0x7E1A6CFF, 0x0B370BFF, 0x27450DFF, 0x071F24FF, 0x784573FF,
  2903. 0x8A653AFF, 0x732617FF, 0x319490FF, 0x56941DFF, 0x59163DFF, 0x1B8A2FFF, 0x38160BFF, 0x041804FF, 0x355D8EFF, 0x2E3F5BFF,
  2904. 0x561A28FF, 0x4E0E27FF, 0x706C67FF, 0x3B3E42FF, 0x2E2D33FF, 0x7B7E7DFF, 0x4A4442FF, 0x28344EFF
  2905. };
  2906. new PlatePossible[][] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
  2907. static const g_aPreloadLibs[][] =
  2908. {
  2909. "AIRPORT", "ATTRACTORS", "BAR", "BASEBALL", "BD_FIRE",
  2910. "BEACH", "BENCHPRESS", "BF_INJECTION", "BIKE_DBZ", "BIKED",
  2911. "BIKEH", "BIKELEAP", "BIKES", "BIKEV", "BLOWJOBZ",
  2912. "BMX", "BOMBER", "BOX", "BSKTBALL", "BUDDY",
  2913. "BUS", "CAMERA", "CAR", "CAR_CHAT", "CARRY",
  2914. "CASINO", "CHAINSAW", "CHOPPA", "CLOTHES", "COACH",
  2915. "COLT45", "COP_AMBIENT", "COP_DVBYZ", "CRACK", "CRIB",
  2916. "DAM_JUMP", "DANCING", "DEALER", "DILDO", "DODGE",
  2917. "DOZER", "DRIVEBYS", "FAT", "FIGHT_B", "FIGHT_C",
  2918. "FIGHT_D", "FIGHT_E", "FINALE", "FINALE2", "FLAME",
  2919. "FLOWERS", "FOOD", "FREEWEIGHTS", "GANGS", "GFUNK",
  2920. "GHANDS", "GHETTO_DB", "GOGGLES", "GRAFFITI", "GRAVEYARD",
  2921. "GRENADE", "GYMNASIUM", "HAIRCUTS", "HEIST9", "INT_HOUSE",
  2922. "INT_OFFICE", "INT_SHOP", "JST_BUISNESS", "KART", "KISSING",
  2923. "KNIFE", "LAPDAN1", "LAPDAN2", "LAPDAN3", "LOWRIDER",
  2924. "MD_CHASE", "MD_END", "MEDIC", "MISC", "MTB",
  2925. "MUSCULAR", "NEVADA", "ON_LOOKERS", "OTB", "PARACHUTE",
  2926. "PARK", "PAULNMAC", "PED", "PLAYER_DVBYS", "PLAYIDLES",
  2927. "POLICE", "POOL", "POOR", "PYTHON", "QUAD",
  2928. "QUAD_DBZ", "RAPPING", "RIFLE", "RIOT", "ROB_BANK",
  2929. "ROCKET", "RUNNINGMAN", "RUSTLER", "RYDER", "SCRATCHING",
  2930. "SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED",
  2931. "SKATE", "SMOKING", "SNIPER", "SNM", "SPRAYCAN",
  2932. "STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM",
  2933. "SWORD", "TANK", "TATTOOS", "TEC", "TRAIN",
  2934. "TRUCK", "UZI", "VAN", "VENDING", "VORTEX",
  2935. "WAYFARER", "WEAPONS", "WOP", "WUZI"
  2936. };
  2937. static const gSAZones[][SAZONE_MAIN] = { // Majority of names and area coordinates adopted from Mabako's 'Zones Script' v0.2
  2938. // NAME AREA (Xmin,Ymin,Zmin,Xmax,Ymax,Zmax)
  2939. {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  2940. {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  2941. {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  2942. {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  2943. {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  2944. {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  2945. {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  2946. {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  2947. {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  2948. {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  2949. {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  2950. {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  2951. {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  2952. {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  2953. {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  2954. {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  2955. {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  2956. {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  2957. {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  2958. {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  2959. {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  2960. {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  2961. {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  2962. {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}},
  2963. {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  2964. {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  2965. {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  2966. {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  2967. {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  2968. {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  2969. {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  2970. {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  2971. {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  2972. {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  2973. {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  2974. {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  2975. {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  2976. {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  2977. {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  2978. {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  2979. {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  2980. {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  2981. {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  2982. {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  2983. {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  2984. {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  2985. {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  2986. {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  2987. {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  2988. {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  2989. {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  2990. {"Downtown Los Santos", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  2991. {"Downtown Los Santos", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  2992. {"Downtown Los Santos", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  2993. {"Downtown Los Santos", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  2994. {"Downtown Los Santos", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  2995. {"Downtown Los Santos", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  2996. {"Downtown Los Santos", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  2997. {"Downtown Los Santos", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  2998. {"Downtown Los Santos", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  2999. {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  3000. {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  3001. {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  3002. {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  3003. {"East Los Santos", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  3004. {"East Los Santos", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  3005. {"East Los Santos", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  3006. {"East Los Santos", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  3007. {"East Los Santos", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  3008. {"East Los Santos", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  3009. {"East Los Santos", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  3010. {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  3011. {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  3012. {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  3013. {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  3014. {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  3015. {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  3016. {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  3017. {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  3018. {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  3019. {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  3020. {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  3021. {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  3022. {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  3023. {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  3024. {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  3025. {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  3026. {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  3027. {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  3028. {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  3029. {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  3030. {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  3031. {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  3032. {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  3033. {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  3034. {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  3035. {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}},
  3036. {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  3037. {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  3038. {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  3039. {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  3040. {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  3041. {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  3042. {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  3043. {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  3044. {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  3045. {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  3046. {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  3047. {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  3048. {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  3049. {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  3050. {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  3051. {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  3052. {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  3053. {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  3054. {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  3055. {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  3056. {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  3057. {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  3058. {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  3059. {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  3060. {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  3061. {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  3062. {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}},
  3063. {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  3064. {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  3065. {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  3066. {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  3067. {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  3068. {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  3069. {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  3070. {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  3071. {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  3072. {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  3073. {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  3074. {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  3075. {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  3076. {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  3077. {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  3078. {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  3079. {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  3080. {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  3081. {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  3082. {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  3083. {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  3084. {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  3085. {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  3086. {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  3087. {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  3088. {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  3089. {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  3090. {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  3091. {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  3092. {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  3093. {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  3094. {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  3095. {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  3096. {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  3097. {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  3098. {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  3099. {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  3100. {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  3101. {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  3102. {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  3103. {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  3104. {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  3105. {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  3106. {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  3107. {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  3108. {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  3109. {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  3110. {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  3111. {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  3112. {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  3113. {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  3114. {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  3115. {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  3116. {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  3117. {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  3118. {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  3119. {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  3120. {"Las Venturas Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  3121. {"Las Venturas Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  3122. {"Las Venturas Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  3123. {"Las Venturas Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  3124. {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  3125. {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  3126. {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  3127. {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  3128. {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  3129. {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  3130. {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  3131. {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  3132. {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  3133. {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  3134. {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  3135. {"Los Santos International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  3136. {"Los Santos International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  3137. {"Los Santos International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  3138. {"Los Santos International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  3139. {"Los Santos International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  3140. {"Los Santos International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  3141. {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  3142. {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  3143. {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  3144. {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  3145. {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  3146. {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  3147. {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  3148. {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  3149. {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  3150. {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  3151. {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  3152. {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  3153. {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  3154. {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  3155. {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  3156. {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  3157. {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  3158. {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  3159. {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  3160. {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  3161. {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  3162. {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  3163. {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  3164. {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  3165. {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  3166. {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  3167. {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  3168. {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  3169. {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  3170. {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  3171. {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  3172. {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  3173. {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  3174. {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  3175. {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  3176. {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  3177. {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  3178. {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  3179. {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  3180. {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  3181. {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  3182. {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  3183. {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  3184. {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  3185. {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  3186. {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  3187. {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  3188. {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  3189. {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  3190. {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  3191. {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  3192. {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  3193. {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  3194. {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  3195. {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  3196. {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  3197. {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  3198. {"Randolph Industrial Estate", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  3199. {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  3200. {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  3201. {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  3202. {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  3203. {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  3204. {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  3205. {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  3206. {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  3207. {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  3208. {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  3209. {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  3210. {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  3211. {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  3212. {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  3213. {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  3214. {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  3215. {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  3216. {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  3217. {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  3218. {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  3219. {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  3220. {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  3221. {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  3222. {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  3223. {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  3224. {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  3225. {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  3226. {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  3227. {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  3228. {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  3229. {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  3230. {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  3231. {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  3232. {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  3233. {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  3234. {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  3235. {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  3236. {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  3237. {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  3238. {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  3239. {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  3240. {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  3241. {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  3242. {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  3243. {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  3244. {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  3245. {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  3246. {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  3247. {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  3248. {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  3249. {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  3250. {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  3251. {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  3252. {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  3253. {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  3254. {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  3255. {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  3256. {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  3257. {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  3258. {"The Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  3259. {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  3260. {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  3261. {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  3262. {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  3263. {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  3264. {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  3265. {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  3266. {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  3267. {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  3268. {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  3269. {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  3270. {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  3271. {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  3272. {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  3273. {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  3274. {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  3275. {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  3276. {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  3277. {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  3278. {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  3279. {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  3280. {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  3281. {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  3282. {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  3283. {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  3284. {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  3285. {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  3286. {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  3287. {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  3288. {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  3289. {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  3290. {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  3291. {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  3292. {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  3293. {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  3294. {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  3295. // Main Zones
  3296. {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  3297. {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  3298. {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  3299. {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  3300. {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  3301. {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  3302. {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  3303. {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  3304. {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  3305. };
  3306. new AdmWarmToggle[MAX_PLAYERS];
  3307. new TogglePMs[MAX_PLAYERS];
  3308. new gsf;
  3309. new sbf;
  3310. new fyb;
  3311. new vla;
  3312. new vla2;
  3313. new JB;
  3314. new jb2;
  3315. new jb3;
  3316. new vagos;
  3317. new vagos2;
  3318. new tdb;
  3319. new tdf;
  3320. public OnGameModeInit()
  3321. {
  3322. // Turfs
  3323. gsf = GangZoneCreate(2223.813, -1835.824, 2531.842, -1634.489);
  3324. sbf = GangZoneCreate(2410.151, -2064.793, 2798.041, -1887.144);
  3325. fyb = GangZoneCreate(1923.388, -1768.712, 2185.784, -1547.639);
  3326. vla = GangZoneCreate(1809.303, -2175.33, 1961.417, -1973.995);
  3327. vla2 = GangZoneCreate(1676.204, -2147.695, 1820.712, -2104.27);
  3328. JB = GangZoneCreate(2064.094, -1401.572, 2162.967, -1125.23);
  3329. jb2 = GangZoneCreate(2162.967, -1298.931, 2258.038, -1227.872);
  3330. jb3 = GangZoneCreate(2136.347, -1496.318, 2200.996, -1405.52);
  3331. vagos = GangZoneCreate(2368.32, -1448.945, 2497.617, -1267.349);
  3332. vagos2 = GangZoneCreate(2436.771, -1255.506, 2702.97, -1192.342);
  3333. tdb = GangZoneCreate(976.4823, -1287.088, 1238.878, -1160.76);
  3334. TDF = GangZoneCreate(1117.187, -1144.969, 1352.963, -1046.276);
  3335. //Profiler_Start();
  3336. SetGameModeText(REVISION);
  3337. SendRconCommand("mapname San Andreas");
  3338. SendRconCommand("hostname [0.3.DL] San Andreas '92 Singleplayer Roleplay");
  3339. if (!MySQLConnection()) return SendRconCommand("exit");
  3340. //SAMPNode_CallEvent("Discord_SendMessage", "709702074509688922", "Hello. I am now online!");
  3341. mysql_log(ALL);
  3342. //g_SQL:CreateTables();
  3343. phone_OnGameModeInit();
  3344. //Disabling single player entities:
  3345. ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
  3346. SetNameTagDrawDistance(20.0);
  3347. EnableStuntBonusForAll(0);
  3348. DisableInteriorEnterExits();
  3349. ManualVehicleEngineAndLights();
  3350. //Configure world:
  3351. SetWeather(2);
  3352. new hour, seconds, minute;
  3353. gettime(hour, seconds, minute);
  3354. SetWorldTime(hour);
  3355. //Set all package types to -1
  3356. for (new i = 0; i < MAX_PROPERTY; i++) {
  3357. for (new j = 0; j < 10; j++) {
  3358. HousePackages[i][j][packageType] = -1;
  3359. }
  3360. }
  3361. //Loading systems:
  3362. mysql_tquery(m_Handle, "SELECT * FROM properties ORDER BY id ASC", "SQL_LoadProperties");
  3363. mysql_tquery(m_Handle, "SELECT * FROM factions ORDER BY id ASC", "SQL_LoadFactions");
  3364. mysql_tquery(m_Handle, "SELECT * FROM businesses ORDER BY id ASC", "SQL_LoadBusinesses");
  3365. mysql_tquery(m_Handle, "SELECT * FROM paynspray ORDER BY id ASC", "SQL_LoadPaynSpray");
  3366. mysql_tquery(m_Handle, "SELECT * FROM tolls ORDER BY id ASC", "SQL_LoadTolls");
  3367. mysql_tquery(m_Handle, "SELECT * FROM rentals ORDER BY id ASC", "SQL_LoadRentals");
  3368. mysql_tquery(m_Handle, "SELECT * FROM factioncars ORDER BY id ASC", "SQL_LoadFactionCars");
  3369. mysql_tquery(m_Handle, "SELECT * FROM doors ORDER BY id ASC", "SQL_LoadDoors");
  3370. mysql_tquery(m_Handle, "SELECT * FROM property_garages ORDER BY id ASC", "SQL_LoadPropertyGarages");
  3371. mysql_tquery(m_Handle, "SELECT * FROM xmr_data ORDER BY id ASC", "SQL_LoadXMRData");
  3372. mysql_tquery(m_Handle, "SELECT * FROM xmr_sub ORDER BY id ASC", "SQL_LoadXMRCategories");
  3373. mysql_tquery(m_Handle, "SELECT * FROM objects ORDER BY id ASC", "SQL_LoadObjects");
  3374. mysql_tquery(m_Handle, "SELECT * FROM entrances ORDER BY InteriorDBID ASC", "SQL_LoadEntrances");
  3375. //Mapping:
  3376. LoadPrisonMapping();
  3377. LoadPrisonInterior();
  3378. LoadHospital();
  3379. LoadApartmentInterior();
  3380. LoadPNSGates();
  3381. LoadModGates();
  3382. LoadMallBridge();
  3383. //LoadTollBooths();
  3384. LoadMechanicDevin();
  3385. LoadPD();
  3386. LoadBank1();
  3387. LoadBank2();
  3388. LoadComplex1();
  3389. LoadComplex2();
  3390. LoadComplex3();
  3391. LoadStudioApartments();
  3392. LoadMafiaBar();
  3393. LoadCustomHouse1();
  3394. LoadCustomHouse2();
  3395. LoadRestaurant();
  3396. LoadCustomApartment();
  3397. LoadGhettoBar();
  3398. LoadCustomClub();
  3399. LoadSmallApartment();
  3400. LoadModernHouse1();
  3401. LoadModernHouse2();
  3402. LoadGovernmentInterior();
  3403. LoadPoliceDepartment1();
  3404. LoadPoliceDepartment2();
  3405. LoadSmallHouse();
  3406. LoadPoliceStations();
  3407. //Delfino Willowfield Request
  3408. CreateDynamicObject(3407, 2461.56226, -1999.53760, 12.52557, 0.00000, 0.00000, 0.00000);
  3409. CreateDynamicObject(947, 2470.62500, -1990.00000, 14.44000, 0.00000, 0.00000, -90.00000);
  3410. CreateDynamicObject(1368, 2467.87305, -1995.82227, 13.37500, 0.00000, 0.00000, 0.00000);
  3411. CreateDynamicObject(2676, 2475.48145, -1984.19019, 12.66050, 0.00000, 0.00000, -45.00000);
  3412. CreateDynamicObject(1265, 2475.82275, -1984.68298, 12.95000, 0.00000, 0.00000, -20.00000);
  3413. //PDToll[0] = CreateDynamicObject(968, 1544.692016, -1630.910156, 13.144363, 0.0, 90.0, 90.0);
  3414. WEAPON_ANTI_CHEAT = 1;
  3415. AMMO_ANTI_CHEAT = 1;
  3416. //Timers:
  3417. SetTimer("FunctionPlayers", 1000, true);
  3418. SetTimer("FunctionPaychecks", 1000, true);
  3419. SetTimer("OnPlayerNearPickup", 2000, true);
  3420. SetTimer("OnPlayerNearBusiness", 1000, true);
  3421. SetTimer("OnPlayerNearPNS", 1000, true);
  3422. SetTimer("OnPlayerNearTolls", 2500, true);
  3423. SetTimer("OnVehicleUpdate", 1000, true);
  3424. SetTimer("RefreshPlayer", 3000, true);
  3425. SetTimer("LoadFurnitures", 10000, false);
  3426. SetTimer("Fuel", 1000, true);
  3427. SetTimer("WeaponCheats", 1000, true);
  3428. SetTimer("AmmoCheats", 1000, true);
  3429. SetTimer("SpeedCheats", 1000, true);
  3430. //
  3431. ClearWeaponCrateVars();
  3432. //Areas:
  3433. ImpoundLotArea = CreateDynamicCircle(-1098.6909, -973.7175, 140.0, 0, 0);
  3434. JailCenterArea = CreateDynamicCircle(2583.2087, -1510.8986, 500.0);
  3435. HospitalArea = CreateDynamicCircle(334.7980, 174.9129, 150.0, 59386, 3);
  3436. //DMV:
  3437. dmvCar1 = AddStaticVehicle(585, 1271.5765,-1549.2815,13.5656,272.7345, 1, 1);
  3438. dmvCar2 = AddStaticVehicle(585, 1271.5765,-1544.2815,13.5644,272.7345, 1, 1);
  3439. dmvCar3 = AddStaticVehicle(585, 1271.5765,-1539.2815,13.5637,272.7345, 1, 1);
  3440. dmvCar4 = AddStaticVehicle(585, 1271.5765,-1534.2815,13.5637,272.7345, 1, 1);
  3441. SetVehicleNumberPlate(dmvCar1, "DMV");
  3442. SetVehicleNumberPlate(dmvCar2, "DMV");
  3443. SetVehicleNumberPlate(dmvCar3, "DMV");
  3444. SetVehicleNumberPlate(dmvCar4, "DMV");
  3445. TruckerVehicles[0] = AddStaticVehicle(543,1521.6704,-2360.8064,13.3706,179.5936,0,0); // Sadler 1
  3446. TruckerVehicles[1] = AddStaticVehicle(543,1512.1055,-2360.9468,13.3917,179.2175,0,0); // Sadler 2
  3447. TruckerVehicles[2] = AddStaticVehicle(543,1508.8353,-2360.8936,13.2775,179.2003,0,0); // Sadler 3
  3448. TruckerVehicles[3] = AddStaticVehicle(543,1505.3467,-2361.0579,13.2668,180.9635,0,0); // Sadler 4
  3449. TruckerVehicles[4] = AddStaticVehicle(515,-569.8888,-487.3821,26.5410,179.8459,0,0); // Roadtrain 1
  3450. TruckerVehicles[5] = AddStaticVehicle(515,-564.8949,-487.1429,26.5371,180.0024,0,0); // Roadtrain 2
  3451. TruckerVehicles[6] = AddStaticVehicle(515,-559.9413,-487.2663,26.5414,180.0854,0,0); // Roadtrain 3
  3452. TruckerVehicles[7] = AddStaticVehicle(543,1385.0176,-2314.2576,13.3684,359.1054,0,0); //Sadler 5
  3453. TruckerVehicles[8] = AddStaticVehicle(543,1388.4532,-2314.4414,13.3633,359.3958,0,0); //Sadler 6
  3454. TruckerVehicles[9] = AddStaticVehicle(543,1391.6304,-2314.4216,13.3685,359.4192,0,0); //Sadler 7
  3455. TruckerVehicles[10] = AddStaticVehicle(515,-540.0516,-487.0027,26.5441,180.1929,0,0); //Roadtrain 4
  3456. TruckerVehicles[11] = AddStaticVehicle(515,-535.0956,-487.5607,26.5388,179.9805,0,0); //Roadtrain 5
  3457. TruckerVehicles[12] = AddStaticVehicle(515,-530.1603,-487.2915,26.5435,180.1380,0,0); //Roadtrain 6
  3458. for(new i = 0; i < sizeof TruckerVehicles; i++)
  3459. SetVehicleNumberPlate(TruckerVehicles[i], "TRUCKER");
  3460. // Graffiti Creates
  3461. for (new i = 0; i < sizeof(g_aGraffitiData); i++)
  3462. { //18666
  3463. GraffitiData[i][graffitiObject] = CreateDynamicObject(18666, g_aGraffitiData[i][graffitiPosX], g_aGraffitiData[i][graffitiPosY], g_aGraffitiData[i][graffitiPosZ], g_aGraffitiData[i][graffitiRotX], g_aGraffitiData[i][graffitiRotY], g_aGraffitiData[i][graffitiRotZ], -1, 0, -1, 5000.0);
  3464. }
  3465. //Textlabel
  3466. CreateDynamic3DTextLabel("{FFFF00}/buy\n{FFFFFF}to purchase clothing!", COLOR_WHITE, -2471.7783, 756.2209, 35.1719, 15.0);
  3467. //CreateDynamic3DTextLabel("{FFFF00}/changephone\n{FFFFFF}to purchase a new phone color!", COLOR_WHITE, 1154.4170, -1440.2319, 15.7969, 15.0);
  3468. CreateDynamic3DTextLabel("{F81414}Trucker job!\n{FFFFFF}/truckerjob", COLOR_WHITE, -516.1585, -539.9711, 25.5234, 25.0);
  3469. CreateDynamic3DTextLabel("{F81414}Trucker trailers!\n{FFFFFF}/usetrailer", COLOR_WHITE, 96.6237, -290.1677, 1.5781, 25.0);
  3470. CreateDynamic3DTextLabel("/lift", COLOR_YELLOW, 1566.1305, -2155.4905, 13.5532, 5.0);
  3471. CreateDynamic3DTextLabel("{F81414}Mechanic Job!\n{FFFFFF}/mechanicjob", COLOR_WHITE, 83.5813, -149.3909, 2.5845, 25.0);
  3472. //Pickups
  3473. CreateDynamicPickup(1581, 1, BLACK_MARKET_X, BLACK_MARKET_Y, BLACK_MARKET_Z, 0, 0, -1, 20.0);
  3474. CreateDynamicPickup(1239, 1, -516.1585, -539.9711, 25.5234, 0, 0, -1, 20.0);
  3475. CreateDynamicPickup(1239, 1, 83.5813, -149.3909, 2.5845, 0, 0, -1, 20.0);
  3476. //Garage Small Interior
  3477. CreateDynamicObject(1980, 608.75781, -78.85594, 999.19531, 0.00000, 0.00000, 0.00000, -1, 2);
  3478. CreateDynamicObject(1980, 608.73578, -78.83830, 996.07233, 0.00000, 0.00000, 0.00000, -1, 2);
  3479. CreateDynamicObject(1980, 608.75940, -71.52995, 999.19531, 0.00000, 0.00000, 0.00000, -1, 2);
  3480. CreateDynamicObject(1980, 608.75513, -71.49020, 996.07233, 0.00000, 0.00000, 0.00000, -1, 2);
  3481. //Textdraws below
  3482. LoadWarehouseMenu_1();
  3483. CrateInventory[0] = TextDrawCreate(552.333190, 109.940765, "box");
  3484. TextDrawLetterSize(CrateInventory[0], 0.000000, 24.266662);
  3485. TextDrawTextSize(CrateInventory[0], 640.000000, 0.000000);
  3486. TextDrawAlignment(CrateInventory[0], 1);
  3487. TextDrawColor(CrateInventory[0], -1);
  3488. TextDrawUseBox(CrateInventory[0], 1);
  3489. TextDrawBoxColor(CrateInventory[0], 122);
  3490. TextDrawSetShadow(CrateInventory[0], 0);
  3491. TextDrawSetOutline(CrateInventory[0], 0);
  3492. TextDrawBackgroundColor(CrateInventory[0], 255);
  3493. TextDrawFont(CrateInventory[0], 1);
  3494. TextDrawSetProportional(CrateInventory[0], 1);
  3495. TextDrawSetShadow(CrateInventory[0], 0);
  3496. CrateInventory[1] = TextDrawCreate(549.999877, 104.548187, "Crate");
  3497. TextDrawLetterSize(CrateInventory[1], 0.400000, 1.600000);
  3498. TextDrawAlignment(CrateInventory[1], 1);
  3499. TextDrawColor(CrateInventory[1], -1);
  3500. TextDrawSetShadow(CrateInventory[1], 0);
  3501. TextDrawSetOutline(CrateInventory[1], 1);
  3502. TextDrawBackgroundColor(CrateInventory[1], 255);
  3503. TextDrawFont(CrateInventory[1], 0);
  3504. TextDrawSetProportional(CrateInventory[1], 1);
  3505. TextDrawSetShadow(CrateInventory[1], 0);
  3506. //Meal Menu
  3507. TD_mealMenu[0] = TextDrawCreate(163.666702, 99.985115, "box");
  3508. TextDrawLetterSize(TD_mealMenu[0], 0.000000, 20.833322);
  3509. TextDrawTextSize(TD_mealMenu[0], 487.000000, 0.000000);
  3510. TextDrawAlignment(TD_mealMenu[0], 1);
  3511. TextDrawColor(TD_mealMenu[0], -1);
  3512. TextDrawUseBox(TD_mealMenu[0], 1);
  3513. TextDrawBoxColor(TD_mealMenu[0], 255);
  3514. TextDrawSetShadow(TD_mealMenu[0], 0);
  3515. TextDrawSetOutline(TD_mealMenu[0], 0);
  3516. TextDrawBackgroundColor(TD_mealMenu[0], 255);
  3517. TextDrawFont(TD_mealMenu[0], 1);
  3518. TextDrawSetProportional(TD_mealMenu[0], 1);
  3519. TextDrawSetShadow(TD_mealMenu[0], 0);
  3520. TD_mealMenu[1] = TextDrawCreate(171.366378, 103.629737, "Restaurant_Name");
  3521. TextDrawLetterSize(TD_mealMenu[1], 0.414666, 1.761777);
  3522. TextDrawAlignment(TD_mealMenu[1], 1);
  3523. TextDrawColor(TD_mealMenu[1], -1);
  3524. TextDrawSetShadow(TD_mealMenu[1], 0);
  3525. TextDrawSetOutline(TD_mealMenu[1], 0);
  3526. TextDrawBackgroundColor(TD_mealMenu[1], 255);
  3527. TextDrawFont(TD_mealMenu[1], 0);
  3528. TextDrawSetProportional(TD_mealMenu[1], 1);
  3529. TextDrawSetShadow(TD_mealMenu[1], 0);
  3530. TD_mealMenu[2] = TextDrawCreate(171.899795, 119.429496, "This_restaurant_offers_multiple_meals.");
  3531. TextDrawLetterSize(TD_mealMenu[2], 0.209666, 1.218368);
  3532. TextDrawAlignment(TD_mealMenu[2], 1);
  3533. TextDrawColor(TD_mealMenu[2], -1);
  3534. TextDrawSetShadow(TD_mealMenu[2], 0);
  3535. TextDrawSetOutline(TD_mealMenu[2], 0);
  3536. TextDrawBackgroundColor(TD_mealMenu[2], 255);
  3537. TextDrawFont(TD_mealMenu[2], 1);
  3538. TextDrawSetProportional(TD_mealMenu[2], 1);
  3539. TextDrawSetShadow(TD_mealMenu[2], 0);
  3540. TD_mealMenu[3] = TextDrawCreate(171.966491, 128.829421, "Choose_one_by_clicking_on_it.");
  3541. TextDrawLetterSize(TD_mealMenu[3], 0.209666, 1.218368);
  3542. TextDrawAlignment(TD_mealMenu[3], 1);
  3543. TextDrawColor(TD_mealMenu[3], -1);
  3544. TextDrawSetShadow(TD_mealMenu[3], 0);
  3545. TextDrawSetOutline(TD_mealMenu[3], 0);
  3546. TextDrawBackgroundColor(TD_mealMenu[3], 255);
  3547. TextDrawFont(TD_mealMenu[3], 1);
  3548. TextDrawSetProportional(TD_mealMenu[3], 1);
  3549. TextDrawSetShadow(TD_mealMenu[3], 0);
  3550. TD_mealMenu[4] = TextDrawCreate(168.466598, 122.718551, "");
  3551. TextDrawLetterSize(TD_mealMenu[4], 0.000000, 0.000000);
  3552. TextDrawTextSize(TD_mealMenu[4], 90.000000, 90.000000);
  3553. TextDrawAlignment(TD_mealMenu[4], 1);
  3554. TextDrawColor(TD_mealMenu[4], -1);
  3555. TextDrawSetShadow(TD_mealMenu[4], 0);
  3556. TextDrawSetOutline(TD_mealMenu[4], 0);
  3557. TextDrawBackgroundColor(TD_mealMenu[4], 255);
  3558. TextDrawFont(TD_mealMenu[4], 5);
  3559. TextDrawSetProportional(TD_mealMenu[4], 0);
  3560. TextDrawSetShadow(TD_mealMenu[4], 0);
  3561. TextDrawSetSelectable(TD_mealMenu[4], true);
  3562. TextDrawSetPreviewModel(TD_mealMenu[4], 2220);
  3563. TextDrawSetPreviewRot(TD_mealMenu[4], -22.000000, -1.000000, 0.000000, 1.000000);
  3564. TD_mealMenu[5] = TextDrawCreate(172.466522, 217.434829, "Large_Pizza_Meal");
  3565. TextDrawLetterSize(TD_mealMenu[5], 0.211000, 1.243257);
  3566. TextDrawAlignment(TD_mealMenu[5], 1);
  3567. TextDrawColor(TD_mealMenu[5], -1);
  3568. TextDrawSetShadow(TD_mealMenu[5], 0);
  3569. TextDrawSetOutline(TD_mealMenu[5], 0);
  3570. TextDrawBackgroundColor(TD_mealMenu[5], 255);
  3571. TextDrawFont(TD_mealMenu[5], 1);
  3572. TextDrawSetProportional(TD_mealMenu[5], 1);
  3573. TextDrawSetShadow(TD_mealMenu[5], 0);
  3574. TD_mealMenu[6] = TextDrawCreate(171.766479, 228.165054, "Full_Health");
  3575. TextDrawLetterSize(TD_mealMenu[6], 0.211000, 1.243257);
  3576. TextDrawAlignment(TD_mealMenu[6], 1);
  3577. TextDrawColor(TD_mealMenu[6], -2147483393);
  3578. TextDrawSetShadow(TD_mealMenu[6], 0);
  3579. TextDrawSetOutline(TD_mealMenu[6], 0);
  3580. TextDrawBackgroundColor(TD_mealMenu[6], 255);
  3581. TextDrawFont(TD_mealMenu[6], 1);
  3582. TextDrawSetProportional(TD_mealMenu[6], 1);
  3583. TextDrawSetShadow(TD_mealMenu[6], 0);
  3584. TD_mealMenu[7] = TextDrawCreate(172.533142, 237.721282, "Price:_$300");
  3585. TextDrawLetterSize(TD_mealMenu[7], 0.211000, 1.243257);
  3586. TextDrawAlignment(TD_mealMenu[7], 1);
  3587. TextDrawColor(TD_mealMenu[7], -1920073729);
  3588. TextDrawSetShadow(TD_mealMenu[7], 0);
  3589. TextDrawSetOutline(TD_mealMenu[7], 0);
  3590. TextDrawBackgroundColor(TD_mealMenu[7], 255);
  3591. TextDrawFont(TD_mealMenu[7], 1);
  3592. TextDrawSetProportional(TD_mealMenu[7], 1);
  3593. TextDrawSetShadow(TD_mealMenu[7], 0);
  3594. TD_mealMenu[8] = TextDrawCreate(258.072052, 124.548164, "");
  3595. TextDrawLetterSize(TD_mealMenu[8], 0.000000, 0.000000);
  3596. TextDrawTextSize(TD_mealMenu[8], 90.000000, 90.000000);
  3597. TextDrawAlignment(TD_mealMenu[8], 1);
  3598. TextDrawColor(TD_mealMenu[8], -1);
  3599. TextDrawSetShadow(TD_mealMenu[8], 0);
  3600. TextDrawSetOutline(TD_mealMenu[8], 0);
  3601. TextDrawBackgroundColor(TD_mealMenu[8], 255);
  3602. TextDrawFont(TD_mealMenu[8], 5);
  3603. TextDrawSetProportional(TD_mealMenu[8], 0);
  3604. TextDrawSetShadow(TD_mealMenu[8], 0);
  3605. TextDrawSetSelectable(TD_mealMenu[8], true);
  3606. TextDrawSetPreviewModel(TD_mealMenu[8], 2218);
  3607. TextDrawSetPreviewRot(TD_mealMenu[8], -29.000000, 14.000000, -2.000000, 1.000000);
  3608. TD_mealMenu[9] = TextDrawCreate(260.871917, 217.434829, "Small_Pizza_Meal");
  3609. TextDrawLetterSize(TD_mealMenu[9], 0.211000, 1.243257);
  3610. TextDrawAlignment(TD_mealMenu[9], 1);
  3611. TextDrawColor(TD_mealMenu[9], -1);
  3612. TextDrawSetShadow(TD_mealMenu[9], 0);
  3613. TextDrawSetOutline(TD_mealMenu[9], 0);
  3614. TextDrawBackgroundColor(TD_mealMenu[9], 255);
  3615. TextDrawFont(TD_mealMenu[9], 1);
  3616. TextDrawSetProportional(TD_mealMenu[9], 1);
  3617. TextDrawSetShadow(TD_mealMenu[9], 0);
  3618. TD_mealMenu[10] = TextDrawCreate(260.571899, 228.165054, "Full_Health");
  3619. TextDrawLetterSize(TD_mealMenu[10], 0.211000, 1.243257);
  3620. TextDrawAlignment(TD_mealMenu[10], 1);
  3621. TextDrawColor(TD_mealMenu[10], -2147483393);
  3622. TextDrawSetShadow(TD_mealMenu[10], 0);
  3623. TextDrawSetOutline(TD_mealMenu[10], 0);
  3624. TextDrawBackgroundColor(TD_mealMenu[10], 255);
  3625. TextDrawFont(TD_mealMenu[10], 1);
  3626. TextDrawSetProportional(TD_mealMenu[10], 1);
  3627. TextDrawSetShadow(TD_mealMenu[10], 0);
  3628. TD_mealMenu[11] = TextDrawCreate(261.238555, 237.721282, "Price:_$150");
  3629. TextDrawLetterSize(TD_mealMenu[11], 0.211000, 1.243257);
  3630. TextDrawAlignment(TD_mealMenu[11], 1);
  3631. TextDrawColor(TD_mealMenu[11], -1920073729);
  3632. TextDrawSetShadow(TD_mealMenu[11], 0);
  3633. TextDrawSetOutline(TD_mealMenu[11], 0);
  3634. TextDrawBackgroundColor(TD_mealMenu[11], 255);
  3635. TextDrawFont(TD_mealMenu[11], 1);
  3636. TextDrawSetProportional(TD_mealMenu[11], 1);
  3637. TextDrawSetShadow(TD_mealMenu[11], 0);
  3638. TD_mealMenu[12] = TextDrawCreate(336.176818, 138.933990, "");
  3639. TextDrawLetterSize(TD_mealMenu[12], 0.000000, 0.000000);
  3640. TextDrawTextSize(TD_mealMenu[12], 90.000000, 90.000000);
  3641. TextDrawAlignment(TD_mealMenu[12], 1);
  3642. TextDrawColor(TD_mealMenu[12], -1);
  3643. TextDrawSetShadow(TD_mealMenu[12], 0);
  3644. TextDrawSetOutline(TD_mealMenu[12], 0);
  3645. TextDrawBackgroundColor(TD_mealMenu[12], 255);
  3646. TextDrawFont(TD_mealMenu[12], 5);
  3647. TextDrawSetProportional(TD_mealMenu[12], 0);
  3648. TextDrawSetShadow(TD_mealMenu[12], 0);
  3649. TextDrawSetSelectable(TD_mealMenu[12], true);
  3650. TextDrawSetPreviewModel(TD_mealMenu[12], 2768);
  3651. TextDrawSetPreviewRot(TD_mealMenu[12], -29.000000, 14.000000, -2.000000, 1.037539);
  3652. TD_mealMenu[13] = TextDrawCreate(350.077362, 217.434829, "Spicy_Chicken_Sandwich");
  3653. TextDrawLetterSize(TD_mealMenu[13], 0.211000, 1.243257);
  3654. TextDrawAlignment(TD_mealMenu[13], 1);
  3655. TextDrawColor(TD_mealMenu[13], -1);
  3656. TextDrawSetShadow(TD_mealMenu[13], 0);
  3657. TextDrawSetOutline(TD_mealMenu[13], 0);
  3658. TextDrawBackgroundColor(TD_mealMenu[13], 255);
  3659. TextDrawFont(TD_mealMenu[13], 1);
  3660. TextDrawSetProportional(TD_mealMenu[13], 1);
  3661. TextDrawSetShadow(TD_mealMenu[13], 0);
  3662. TD_mealMenu[14] = TextDrawCreate(349.577331, 228.265060, "Full_Health");
  3663. TextDrawLetterSize(TD_mealMenu[14], 0.211000, 1.243257);
  3664. TextDrawAlignment(TD_mealMenu[14], 1);
  3665. TextDrawColor(TD_mealMenu[14], -2147483393);
  3666. TextDrawSetShadow(TD_mealMenu[14], 0);
  3667. TextDrawSetOutline(TD_mealMenu[14], 0);
  3668. TextDrawBackgroundColor(TD_mealMenu[14], 255);
  3669. TextDrawFont(TD_mealMenu[14], 1);
  3670. TextDrawSetProportional(TD_mealMenu[14], 1);
  3671. TextDrawSetShadow(TD_mealMenu[14], 0);
  3672. TD_mealMenu[15] = TextDrawCreate(350.544006, 237.721282, "Price:_$100");
  3673. TextDrawLetterSize(TD_mealMenu[15], 0.211000, 1.243257);
  3674. TextDrawAlignment(TD_mealMenu[15], 1);
  3675. TextDrawColor(TD_mealMenu[15], -1920073729);
  3676. TextDrawSetShadow(TD_mealMenu[15], 0);
  3677. TextDrawSetOutline(TD_mealMenu[15], 0);
  3678. TextDrawBackgroundColor(TD_mealMenu[15], 255);
  3679. TextDrawFont(TD_mealMenu[15], 1);
  3680. TextDrawSetProportional(TD_mealMenu[15], 1);
  3681. TextDrawSetShadow(TD_mealMenu[15], 0);
  3682. TD_mealMenu[16] = TextDrawCreate(473.333435, 102.888885, "x");
  3683. TextDrawLetterSize(TD_mealMenu[16], 0.288333, 0.857481);
  3684. TextDrawAlignment(TD_mealMenu[16], 1);
  3685. TextDrawColor(TD_mealMenu[16], -1);
  3686. TextDrawSetShadow(TD_mealMenu[16], 0);
  3687. TextDrawSetOutline(TD_mealMenu[16], 0);
  3688. TextDrawBackgroundColor(TD_mealMenu[16], 255);
  3689. TextDrawFont(TD_mealMenu[16], 2);
  3690. TextDrawSetProportional(TD_mealMenu[16], 1);
  3691. TextDrawSetShadow(TD_mealMenu[16], 0);
  3692. TextDrawSetSelectable(TD_mealMenu[16], true);
  3693. blindfoldTextdraw = TextDrawCreate(0.999984, 0.429619, "box");
  3694. TextDrawLetterSize(blindfoldTextdraw, 0.000000, 49.499942);
  3695. TextDrawTextSize(blindfoldTextdraw, 664.000000, 0.000000);
  3696. TextDrawAlignment(blindfoldTextdraw, 1);
  3697. TextDrawColor(blindfoldTextdraw, -1);
  3698. TextDrawUseBox(blindfoldTextdraw, 1);
  3699. TextDrawBoxColor(blindfoldTextdraw, 255);
  3700. TextDrawSetShadow(blindfoldTextdraw, 0);
  3701. TextDrawSetOutline(blindfoldTextdraw, 0);
  3702. TextDrawBackgroundColor(blindfoldTextdraw, 255);
  3703. TextDrawFont(blindfoldTextdraw, 1);
  3704. TextDrawSetProportional(blindfoldTextdraw, 1);
  3705. TextDrawSetShadow(blindfoldTextdraw, 0);
  3706. furnitureadd_TD[0] = TextDrawCreate(70.333335, 309.881439, "HOLD_''");
  3707. TextDrawLetterSize(furnitureadd_TD[0], 0.300000, 1.205926);
  3708. TextDrawAlignment(furnitureadd_TD[0], 1);
  3709. TextDrawColor(furnitureadd_TD[0], -1);
  3710. TextDrawSetShadow(furnitureadd_TD[0], 0);
  3711. TextDrawSetOutline(furnitureadd_TD[0], 1);
  3712. TextDrawBackgroundColor(furnitureadd_TD[0], 255);
  3713. TextDrawFont(furnitureadd_TD[0], 2);
  3714. TextDrawSetProportional(furnitureadd_TD[0], 1);
  3715. TextDrawSetShadow(furnitureadd_TD[0], 0);
  3716. furnitureadd_TD[1] = TextDrawCreate(116.832611, 309.551818, "SPACe_");
  3717. TextDrawLetterSize(furnitureadd_TD[1], 0.300000, 1.205926);
  3718. TextDrawAlignment(furnitureadd_TD[1], 1);
  3719. TextDrawColor(furnitureadd_TD[1], -457153537);
  3720. TextDrawSetShadow(furnitureadd_TD[1], 0);
  3721. TextDrawSetOutline(furnitureadd_TD[1], 1);
  3722. TextDrawBackgroundColor(furnitureadd_TD[1], 255);
  3723. TextDrawFont(furnitureadd_TD[1], 2);
  3724. TextDrawSetProportional(furnitureadd_TD[1], 1);
  3725. TextDrawSetShadow(furnitureadd_TD[1], 0);
  3726. furnitureadd_TD[2] = TextDrawCreate(159.834381, 309.681396, "''_AND_PRESS_YOUR_''");
  3727. TextDrawLetterSize(furnitureadd_TD[2], 0.300000, 1.205926);
  3728. TextDrawAlignment(furnitureadd_TD[2], 1);
  3729. TextDrawColor(furnitureadd_TD[2], -1);
  3730. TextDrawSetShadow(furnitureadd_TD[2], 0);
  3731. TextDrawSetOutline(furnitureadd_TD[2], 1);
  3732. TextDrawBackgroundColor(furnitureadd_TD[2], 255);
  3733. TextDrawFont(furnitureadd_TD[2], 2);
  3734. TextDrawSetProportional(furnitureadd_TD[2], 1);
  3735. TextDrawSetShadow(furnitureadd_TD[2], 0);
  3736. furnitureadd_TD[3] = TextDrawCreate(289.542297, 309.551818, "lmb");
  3737. TextDrawLetterSize(furnitureadd_TD[3], 0.300000, 1.205926);
  3738. TextDrawAlignment(furnitureadd_TD[3], 1);
  3739. TextDrawColor(furnitureadd_TD[3], -457153537);
  3740. TextDrawSetShadow(furnitureadd_TD[3], 0);
  3741. TextDrawSetOutline(furnitureadd_TD[3], 1);
  3742. TextDrawBackgroundColor(furnitureadd_TD[3], 255);
  3743. TextDrawFont(furnitureadd_TD[3], 2);
  3744. TextDrawSetProportional(furnitureadd_TD[3], 1);
  3745. TextDrawSetShadow(furnitureadd_TD[3], 0);
  3746. furnitureadd_TD[4] = TextDrawCreate(317.544006, 309.551818, "''_TO_MOVE_YOUR_FURNITUre_around.");
  3747. TextDrawLetterSize(furnitureadd_TD[4], 0.300000, 1.205926);
  3748. TextDrawAlignment(furnitureadd_TD[4], 1);
  3749. TextDrawColor(furnitureadd_TD[4], -1);
  3750. TextDrawSetShadow(furnitureadd_TD[4], 0);
  3751. TextDrawSetOutline(furnitureadd_TD[4], 1);
  3752. TextDrawBackgroundColor(furnitureadd_TD[4], 255);
  3753. TextDrawFont(furnitureadd_TD[4], 2);
  3754. TextDrawSetProportional(furnitureadd_TD[4], 1);
  3755. TextDrawSetShadow(furnitureadd_TD[4], 0);
  3756. furnitureadd_TD[5] = TextDrawCreate(70.333335, 321.282135, "press_your_''_");
  3757. TextDrawLetterSize(furnitureadd_TD[5], 0.300000, 1.205926);
  3758. TextDrawAlignment(furnitureadd_TD[5], 1);
  3759. TextDrawColor(furnitureadd_TD[5], -1);
  3760. TextDrawSetShadow(furnitureadd_TD[5], 0);
  3761. TextDrawSetOutline(furnitureadd_TD[5], 1);
  3762. TextDrawBackgroundColor(furnitureadd_TD[5], 255);
  3763. TextDrawFont(furnitureadd_TD[5], 2);
  3764. TextDrawSetProportional(furnitureadd_TD[5], 1);
  3765. TextDrawSetShadow(furnitureadd_TD[5], 0);
  3766. furnitureadd_TD[6] = TextDrawCreate(159.534362, 321.352539, "esc");
  3767. TextDrawLetterSize(furnitureadd_TD[6], 0.300000, 1.205926);
  3768. TextDrawAlignment(furnitureadd_TD[6], 1);
  3769. TextDrawColor(furnitureadd_TD[6], -1575535873);
  3770. TextDrawSetShadow(furnitureadd_TD[6], 0);
  3771. TextDrawSetOutline(furnitureadd_TD[6], 1);
  3772. TextDrawBackgroundColor(furnitureadd_TD[6], 255);
  3773. TextDrawFont(furnitureadd_TD[6], 2);
  3774. TextDrawSetProportional(furnitureadd_TD[6], 1);
  3775. TextDrawSetShadow(furnitureadd_TD[6], 0);
  3776. furnitureadd_TD[7] = TextDrawCreate(185.535964, 321.667358, "''");
  3777. TextDrawLetterSize(furnitureadd_TD[7], 0.300000, 1.205926);
  3778. TextDrawAlignment(furnitureadd_TD[7], 1);
  3779. TextDrawColor(furnitureadd_TD[7], -1);
  3780. TextDrawSetShadow(furnitureadd_TD[7], 0);
  3781. TextDrawSetOutline(furnitureadd_TD[7], 1);
  3782. TextDrawBackgroundColor(furnitureadd_TD[7], 255);
  3783. TextDrawFont(furnitureadd_TD[7], 2);
  3784. TextDrawSetProportional(furnitureadd_TD[7], 1);
  3785. TextDrawSetShadow(furnitureadd_TD[7], 0);
  3786. furnitureadd_TD[8] = TextDrawCreate(195.436569, 321.282135, "KEY_TO_RETURN_THE_ITEM_IF_YOU'RE_NOT_PLEASED.");
  3787. TextDrawLetterSize(furnitureadd_TD[8], 0.300000, 1.205926);
  3788. TextDrawAlignment(furnitureadd_TD[8], 1);
  3789. TextDrawColor(furnitureadd_TD[8], -1);
  3790. TextDrawSetShadow(furnitureadd_TD[8], 0);
  3791. TextDrawSetOutline(furnitureadd_TD[8], 1);
  3792. TextDrawBackgroundColor(furnitureadd_TD[8], 255);
  3793. TextDrawFont(furnitureadd_TD[8], 2);
  3794. TextDrawSetProportional(furnitureadd_TD[8], 1);
  3795. TextDrawSetShadow(furnitureadd_TD[8], 0);
  3796. Buymenu_TD[0] = TextDrawCreate(336.666839, 132.340713, "box");
  3797. TextDrawLetterSize(Buymenu_TD[0], 0.000000, 27.166658);
  3798. TextDrawTextSize(Buymenu_TD[0], 0.000000, 341.000000);
  3799. TextDrawAlignment(Buymenu_TD[0], 2);
  3800. TextDrawColor(Buymenu_TD[0], -1);
  3801. TextDrawUseBox(Buymenu_TD[0], 1);
  3802. TextDrawBoxColor(Buymenu_TD[0], 255);
  3803. TextDrawSetShadow(Buymenu_TD[0], 0);
  3804. TextDrawSetOutline(Buymenu_TD[0], 0);
  3805. TextDrawBackgroundColor(Buymenu_TD[0], 255);
  3806. TextDrawFont(Buymenu_TD[0], 1);
  3807. TextDrawSetProportional(Buymenu_TD[0], 1);
  3808. TextDrawSetShadow(Buymenu_TD[0], 0);
  3809. Buymenu_TD[1] = TextDrawCreate(481.666839, 131.925994, "EXIT");
  3810. TextDrawLetterSize(Buymenu_TD[1], 0.352665, 1.334519);
  3811. TextDrawAlignment(Buymenu_TD[1], 1);
  3812. TextDrawColor(Buymenu_TD[1], -1);
  3813. TextDrawSetShadow(Buymenu_TD[1], 0);
  3814. TextDrawSetOutline(Buymenu_TD[1], 0);
  3815. TextDrawBackgroundColor(Buymenu_TD[1], 255);
  3816. TextDrawFont(Buymenu_TD[1], 1);
  3817. TextDrawSetProportional(Buymenu_TD[1], 1);
  3818. TextDrawSetShadow(Buymenu_TD[1], 0);
  3819. TextDrawSetSelectable(Buymenu_TD[1], true);
  3820. Buymenu_TD[2] = TextDrawCreate(163.999969, 131.511169, "The_Store_Name_Goes_Here");
  3821. TextDrawLetterSize(Buymenu_TD[2], 0.401665, 1.645629);
  3822. TextDrawAlignment(Buymenu_TD[2], 1);
  3823. TextDrawColor(Buymenu_TD[2], -1);
  3824. TextDrawSetShadow(Buymenu_TD[2], 0);
  3825. TextDrawSetOutline(Buymenu_TD[2], 0);
  3826. TextDrawBackgroundColor(Buymenu_TD[2], 255);
  3827. TextDrawFont(Buymenu_TD[2], 0);
  3828. TextDrawSetProportional(Buymenu_TD[2], 1);
  3829. TextDrawSetShadow(Buymenu_TD[2], 0);
  3830. Buymenu_TD[3] = TextDrawCreate(169.333175, 152.511123, "");
  3831. TextDrawLetterSize(Buymenu_TD[3], 0.000000, 0.000000);
  3832. TextDrawTextSize(Buymenu_TD[3], 81.000000, 72.000000);
  3833. TextDrawAlignment(Buymenu_TD[3], 1);
  3834. TextDrawColor(Buymenu_TD[3], -1);
  3835. TextDrawSetShadow(Buymenu_TD[3], 0);
  3836. TextDrawSetOutline(Buymenu_TD[3], 0);
  3837. TextDrawBackgroundColor(Buymenu_TD[3], -572662273);
  3838. TextDrawFont(Buymenu_TD[3], 5);
  3839. TextDrawSetProportional(Buymenu_TD[3], 0);
  3840. TextDrawSetShadow(Buymenu_TD[3], 0);
  3841. TextDrawSetSelectable(Buymenu_TD[3], true);
  3842. TextDrawSetPreviewModel(Buymenu_TD[3], 1650);
  3843. TextDrawSetPreviewRot(Buymenu_TD[3], 0.600000, 0.200000, 22.000000, 1.100000);
  3844. Buymenu_TD[4] = TextDrawCreate(170.666671, 152.251876, "Gas_Can");
  3845. TextDrawLetterSize(Buymenu_TD[4], 0.262665, 1.044147);
  3846. TextDrawAlignment(Buymenu_TD[4], 1);
  3847. TextDrawColor(Buymenu_TD[4], -1);
  3848. TextDrawSetShadow(Buymenu_TD[4], 0);
  3849. TextDrawSetOutline(Buymenu_TD[4], 1);
  3850. TextDrawBackgroundColor(Buymenu_TD[4], 255);
  3851. TextDrawFont(Buymenu_TD[4], 1);
  3852. TextDrawSetProportional(Buymenu_TD[4], 1);
  3853. TextDrawSetShadow(Buymenu_TD[4], 0);
  3854. Buymenu_TD[5] = TextDrawCreate(229.333297, 215.303710, "$30");
  3855. TextDrawLetterSize(Buymenu_TD[5], 0.221000, 0.957036);
  3856. TextDrawAlignment(Buymenu_TD[5], 1);
  3857. TextDrawColor(Buymenu_TD[5], 8388863);
  3858. TextDrawSetShadow(Buymenu_TD[5], 0);
  3859. TextDrawSetOutline(Buymenu_TD[5], 0);
  3860. TextDrawBackgroundColor(Buymenu_TD[5], 8388863);
  3861. TextDrawFont(Buymenu_TD[5], 1);
  3862. TextDrawSetProportional(Buymenu_TD[5], 1);
  3863. TextDrawSetShadow(Buymenu_TD[5], 0);
  3864. Buymenu_TD[6] = TextDrawCreate(253.999893, 152.511093, "");
  3865. TextDrawLetterSize(Buymenu_TD[6], 0.000000, 0.000000);
  3866. TextDrawTextSize(Buymenu_TD[6], 81.000000, 72.000000);
  3867. TextDrawAlignment(Buymenu_TD[6], 1);
  3868. TextDrawColor(Buymenu_TD[6], -1);
  3869. TextDrawSetShadow(Buymenu_TD[6], 0);
  3870. TextDrawSetOutline(Buymenu_TD[6], 0);
  3871. TextDrawBackgroundColor(Buymenu_TD[6], -572662273);
  3872. TextDrawFont(Buymenu_TD[6], 5);
  3873. TextDrawSetProportional(Buymenu_TD[6], 0);
  3874. TextDrawSetShadow(Buymenu_TD[6], 0);
  3875. TextDrawSetSelectable(Buymenu_TD[6], true);
  3876. TextDrawSetPreviewModel(Buymenu_TD[6], 2226);
  3877. TextDrawSetPreviewRot(Buymenu_TD[6], 0.600000, 0.200000, 180.000000, 1.100000);
  3878. Buymenu_TD[7] = TextDrawCreate(255.666595, 152.666748, "Boombox");
  3879. TextDrawLetterSize(Buymenu_TD[7], 0.262665, 1.044147);
  3880. TextDrawAlignment(Buymenu_TD[7], 1);
  3881. TextDrawColor(Buymenu_TD[7], -1);
  3882. TextDrawSetShadow(Buymenu_TD[7], 0);
  3883. TextDrawSetOutline(Buymenu_TD[7], 1);
  3884. TextDrawBackgroundColor(Buymenu_TD[7], 255);
  3885. TextDrawFont(Buymenu_TD[7], 1);
  3886. TextDrawSetProportional(Buymenu_TD[7], 1);
  3887. TextDrawSetShadow(Buymenu_TD[7], 0);
  3888. Buymenu_TD[8] = TextDrawCreate(307.333221, 215.718536, "$150");
  3889. TextDrawLetterSize(Buymenu_TD[8], 0.221000, 0.957036);
  3890. TextDrawAlignment(Buymenu_TD[8], 1);
  3891. TextDrawColor(Buymenu_TD[8], 8388863);
  3892. TextDrawSetShadow(Buymenu_TD[8], 0);
  3893. TextDrawSetOutline(Buymenu_TD[8], 0);
  3894. TextDrawBackgroundColor(Buymenu_TD[8], 8388863);
  3895. TextDrawFont(Buymenu_TD[8], 1);
  3896. TextDrawSetProportional(Buymenu_TD[8], 1);
  3897. TextDrawSetShadow(Buymenu_TD[8], 0);
  3898. Buymenu_TD[9] = TextDrawCreate(342.666473, 147.273101, "Welcome!");
  3899. TextDrawLetterSize(Buymenu_TD[9], 0.400000, 1.600000);
  3900. TextDrawAlignment(Buymenu_TD[9], 1);
  3901. TextDrawColor(Buymenu_TD[9], -1);
  3902. TextDrawSetShadow(Buymenu_TD[9], 0);
  3903. TextDrawSetOutline(Buymenu_TD[9], 0);
  3904. TextDrawBackgroundColor(Buymenu_TD[9], 255);
  3905. TextDrawFont(Buymenu_TD[9], 1);
  3906. TextDrawSetProportional(Buymenu_TD[9], 1);
  3907. TextDrawSetShadow(Buymenu_TD[9], 0);
  3908. Buymenu_TD[10] = TextDrawCreate(344.999938, 161.792678, "Click_on_any_of_the_items_~n~to_buy_them.~n~~n~Press_ESC_to_exit.");
  3909. TextDrawLetterSize(Buymenu_TD[10], 0.255665, 0.932147);
  3910. TextDrawAlignment(Buymenu_TD[10], 1);
  3911. TextDrawColor(Buymenu_TD[10], -1);
  3912. TextDrawSetShadow(Buymenu_TD[10], 0);
  3913. TextDrawSetOutline(Buymenu_TD[10], 0);
  3914. TextDrawBackgroundColor(Buymenu_TD[10], 255);
  3915. TextDrawFont(Buymenu_TD[10], 1);
  3916. TextDrawSetProportional(Buymenu_TD[10], 1);
  3917. TextDrawSetShadow(Buymenu_TD[10], 0);
  3918. Buymenu_TD[11] = TextDrawCreate(169.333267, 226.762939, "");
  3919. TextDrawLetterSize(Buymenu_TD[11], 0.000000, 0.000000);
  3920. TextDrawTextSize(Buymenu_TD[11], 81.000000, 72.000000);
  3921. TextDrawAlignment(Buymenu_TD[11], 1);
  3922. TextDrawColor(Buymenu_TD[11], -1);
  3923. TextDrawSetShadow(Buymenu_TD[11], 0);
  3924. TextDrawSetOutline(Buymenu_TD[11], 0);
  3925. TextDrawBackgroundColor(Buymenu_TD[11], -572662273);
  3926. TextDrawFont(Buymenu_TD[11], 5);
  3927. TextDrawSetProportional(Buymenu_TD[11], 0);
  3928. TextDrawSetShadow(Buymenu_TD[11], 0);
  3929. TextDrawSetSelectable(Buymenu_TD[11], true);
  3930. TextDrawSetPreviewModel(Buymenu_TD[11], 336);
  3931. TextDrawSetPreviewRot(Buymenu_TD[11], 200.000000, 150.000000, 1.000000, 2.099998);
  3932. Buymenu_TD[12] = TextDrawCreate(170.333374, 226.088943, "Baseball_Bat");
  3933. TextDrawLetterSize(Buymenu_TD[12], 0.258666, 1.035851);
  3934. TextDrawAlignment(Buymenu_TD[12], 1);
  3935. TextDrawColor(Buymenu_TD[12], -1);
  3936. TextDrawSetShadow(Buymenu_TD[12], 0);
  3937. TextDrawSetOutline(Buymenu_TD[12], 1);
  3938. TextDrawBackgroundColor(Buymenu_TD[12], 255);
  3939. TextDrawFont(Buymenu_TD[12], 1);
  3940. TextDrawSetProportional(Buymenu_TD[12], 1);
  3941. TextDrawSetShadow(Buymenu_TD[12], 0);
  3942. Buymenu_TD[13] = TextDrawCreate(230.333312, 289.555725, "$10");
  3943. TextDrawLetterSize(Buymenu_TD[13], 0.221000, 0.957036);
  3944. TextDrawAlignment(Buymenu_TD[13], 1);
  3945. TextDrawColor(Buymenu_TD[13], 8388863);
  3946. TextDrawSetShadow(Buymenu_TD[13], 0);
  3947. TextDrawSetOutline(Buymenu_TD[13], 0);
  3948. TextDrawBackgroundColor(Buymenu_TD[13], 8388863);
  3949. TextDrawFont(Buymenu_TD[13], 1);
  3950. TextDrawSetProportional(Buymenu_TD[13], 1);
  3951. TextDrawSetShadow(Buymenu_TD[13], 0);
  3952. Buymenu_TD[14] = TextDrawCreate(253.999938, 226.348114, "");
  3953. TextDrawLetterSize(Buymenu_TD[14], 0.000000, 0.000000);
  3954. TextDrawTextSize(Buymenu_TD[14], 81.000000, 73.000000);
  3955. TextDrawAlignment(Buymenu_TD[14], 1);
  3956. TextDrawColor(Buymenu_TD[14], -1);
  3957. TextDrawSetShadow(Buymenu_TD[14], 0);
  3958. TextDrawSetOutline(Buymenu_TD[14], 0);
  3959. TextDrawBackgroundColor(Buymenu_TD[14], -572662273);
  3960. TextDrawFont(Buymenu_TD[14], 5);
  3961. TextDrawSetProportional(Buymenu_TD[14], 0);
  3962. TextDrawSetShadow(Buymenu_TD[14], 0);
  3963. TextDrawSetSelectable(Buymenu_TD[14], true);
  3964. TextDrawSetPreviewModel(Buymenu_TD[14], 325);
  3965. TextDrawSetPreviewRot(Buymenu_TD[14], 200.000000, 600.000000, -100.000000, 1.000000);
  3966. Buymenu_TD[15] = TextDrawCreate(254.333389, 225.674118, "Flowers");
  3967. TextDrawLetterSize(Buymenu_TD[15], 0.260333, 1.060740);
  3968. TextDrawAlignment(Buymenu_TD[15], 1);
  3969. TextDrawColor(Buymenu_TD[15], -1);
  3970. TextDrawSetShadow(Buymenu_TD[15], 0);
  3971. TextDrawSetOutline(Buymenu_TD[15], 1);
  3972. TextDrawBackgroundColor(Buymenu_TD[15], 255);
  3973. TextDrawFont(Buymenu_TD[15], 1);
  3974. TextDrawSetProportional(Buymenu_TD[15], 1);
  3975. TextDrawSetShadow(Buymenu_TD[15], 0);
  3976. Buymenu_TD[16] = TextDrawCreate(314.333343, 290.385437, "$3");
  3977. TextDrawLetterSize(Buymenu_TD[16], 0.221000, 0.957036);
  3978. TextDrawAlignment(Buymenu_TD[16], 1);
  3979. TextDrawColor(Buymenu_TD[16], 8388863);
  3980. TextDrawSetShadow(Buymenu_TD[16], 0);
  3981. TextDrawSetOutline(Buymenu_TD[16], 0);
  3982. TextDrawBackgroundColor(Buymenu_TD[16], 8388863);
  3983. TextDrawFont(Buymenu_TD[16], 1);
  3984. TextDrawSetProportional(Buymenu_TD[16], 1);
  3985. TextDrawSetShadow(Buymenu_TD[16], 0);
  3986. Buymenu_TD[17] = TextDrawCreate(337.999877, 225.933273, "");
  3987. TextDrawLetterSize(Buymenu_TD[17], 0.000000, 0.000000);
  3988. TextDrawTextSize(Buymenu_TD[17], 81.000000, 73.000000);
  3989. TextDrawAlignment(Buymenu_TD[17], 1);
  3990. TextDrawColor(Buymenu_TD[17], -1);
  3991. TextDrawSetShadow(Buymenu_TD[17], 0);
  3992. TextDrawSetOutline(Buymenu_TD[17], 0);
  3993. TextDrawBackgroundColor(Buymenu_TD[17], -572662273);
  3994. TextDrawFont(Buymenu_TD[17], 5);
  3995. TextDrawSetProportional(Buymenu_TD[17], 0);
  3996. TextDrawSetShadow(Buymenu_TD[17], 0);
  3997. TextDrawSetSelectable(Buymenu_TD[17], true);
  3998. TextDrawSetPreviewModel(Buymenu_TD[17], 326);
  3999. TextDrawSetPreviewRot(Buymenu_TD[17], 200.000000, 600.000000, -100.000000, 1.000000);
  4000. Buymenu_TD[18] = TextDrawCreate(339.000000, 225.259307, "Cane");
  4001. TextDrawLetterSize(Buymenu_TD[18], 0.260333, 1.060740);
  4002. TextDrawAlignment(Buymenu_TD[18], 1);
  4003. TextDrawColor(Buymenu_TD[18], -1);
  4004. TextDrawSetShadow(Buymenu_TD[18], 0);
  4005. TextDrawSetOutline(Buymenu_TD[18], 1);
  4006. TextDrawBackgroundColor(Buymenu_TD[18], 255);
  4007. TextDrawFont(Buymenu_TD[18], 1);
  4008. TextDrawSetProportional(Buymenu_TD[18], 1);
  4009. TextDrawSetShadow(Buymenu_TD[18], 0);
  4010. Buymenu_TD[19] = TextDrawCreate(399.333312, 289.970672, "$20");
  4011. TextDrawLetterSize(Buymenu_TD[19], 0.221000, 0.957036);
  4012. TextDrawAlignment(Buymenu_TD[19], 1);
  4013. TextDrawColor(Buymenu_TD[19], 8388863);
  4014. TextDrawSetShadow(Buymenu_TD[19], 0);
  4015. TextDrawSetOutline(Buymenu_TD[19], 0);
  4016. TextDrawBackgroundColor(Buymenu_TD[19], 8388863);
  4017. TextDrawFont(Buymenu_TD[19], 1);
  4018. TextDrawSetProportional(Buymenu_TD[19], 1);
  4019. TextDrawSetShadow(Buymenu_TD[19], 0);
  4020. Buymenu_TD[20] = TextDrawCreate(421.333099, 225.933258, "");
  4021. TextDrawLetterSize(Buymenu_TD[20], 0.000000, 0.000000);
  4022. TextDrawTextSize(Buymenu_TD[20], 81.000000, 73.000000);
  4023. TextDrawAlignment(Buymenu_TD[20], 1);
  4024. TextDrawColor(Buymenu_TD[20], -1);
  4025. TextDrawSetShadow(Buymenu_TD[20], 0);
  4026. TextDrawSetOutline(Buymenu_TD[20], 0);
  4027. TextDrawBackgroundColor(Buymenu_TD[20], -572662273);
  4028. TextDrawFont(Buymenu_TD[20], 5);
  4029. TextDrawSetProportional(Buymenu_TD[20], 0);
  4030. TextDrawSetShadow(Buymenu_TD[20], 0);
  4031. TextDrawSetSelectable(Buymenu_TD[20], true);
  4032. TextDrawSetPreviewModel(Buymenu_TD[20], 367);
  4033. TextDrawSetPreviewRot(Buymenu_TD[20], 20.000000, 7.000000, 2000.000000, 0.600000);
  4034. Buymenu_TD[21] = TextDrawCreate(422.333251, 225.259307, "Camera");
  4035. TextDrawLetterSize(Buymenu_TD[21], 0.260333, 1.060740);
  4036. TextDrawAlignment(Buymenu_TD[21], 1);
  4037. TextDrawColor(Buymenu_TD[21], -1);
  4038. TextDrawSetShadow(Buymenu_TD[21], 0);
  4039. TextDrawSetOutline(Buymenu_TD[21], 1);
  4040. TextDrawBackgroundColor(Buymenu_TD[21], 255);
  4041. TextDrawFont(Buymenu_TD[21], 1);
  4042. TextDrawSetProportional(Buymenu_TD[21], 1);
  4043. TextDrawSetShadow(Buymenu_TD[21], 0);
  4044. Buymenu_TD[22] = TextDrawCreate(407.666351, 214.888854, "PURCHASE");
  4045. TextDrawLetterSize(Buymenu_TD[22], 0.220332, 1.135408);
  4046. TextDrawAlignment(Buymenu_TD[22], 1);
  4047. TextDrawColor(Buymenu_TD[22], 8388863);
  4048. TextDrawSetShadow(Buymenu_TD[22], 0);
  4049. TextDrawSetOutline(Buymenu_TD[22], 1);
  4050. TextDrawBackgroundColor(Buymenu_TD[22], 255);
  4051. TextDrawFont(Buymenu_TD[22], 1);
  4052. TextDrawSetProportional(Buymenu_TD[22], 1);
  4053. TextDrawSetShadow(Buymenu_TD[22], 0);
  4054. Buymenu_TD[23] = TextDrawCreate(449.666259, 215.303680, "EMPTY_CART");
  4055. TextDrawLetterSize(Buymenu_TD[23], 0.198999, 1.131260);
  4056. TextDrawAlignment(Buymenu_TD[23], 1);
  4057. TextDrawColor(Buymenu_TD[23], -16776961);
  4058. TextDrawSetShadow(Buymenu_TD[23], 0);
  4059. TextDrawSetOutline(Buymenu_TD[23], 1);
  4060. TextDrawBackgroundColor(Buymenu_TD[23], 255);
  4061. TextDrawFont(Buymenu_TD[23], 1);
  4062. TextDrawSetProportional(Buymenu_TD[23], 1);
  4063. TextDrawSetShadow(Buymenu_TD[23], 0);
  4064. Buymenu_TD[24] = TextDrawCreate(169.333175, 301.429504, "");
  4065. TextDrawLetterSize(Buymenu_TD[24], 0.000000, 0.000000);
  4066. TextDrawTextSize(Buymenu_TD[24], 81.000000, 73.000000);
  4067. TextDrawAlignment(Buymenu_TD[24], 1);
  4068. TextDrawColor(Buymenu_TD[24], -1);
  4069. TextDrawSetShadow(Buymenu_TD[24], 0);
  4070. TextDrawSetOutline(Buymenu_TD[24], 0);
  4071. TextDrawBackgroundColor(Buymenu_TD[24], -572662273);
  4072. TextDrawFont(Buymenu_TD[24], 5);
  4073. TextDrawSetProportional(Buymenu_TD[24], 0);
  4074. TextDrawSetShadow(Buymenu_TD[24], 0);
  4075. TextDrawSetSelectable(Buymenu_TD[24], true);
  4076. TextDrawSetPreviewModel(Buymenu_TD[24], 19036);
  4077. TextDrawSetPreviewRot(Buymenu_TD[24], 0.200000, 0.500000, 50.000000, 1.000000);
  4078. Buymenu_TD[25] = TextDrawCreate(170.333251, 301.170471, "OOC_Mask");
  4079. TextDrawLetterSize(Buymenu_TD[25], 0.243999, 1.027555);
  4080. TextDrawAlignment(Buymenu_TD[25], 1);
  4081. TextDrawColor(Buymenu_TD[25], -1);
  4082. TextDrawSetShadow(Buymenu_TD[25], 0);
  4083. TextDrawSetOutline(Buymenu_TD[25], 1);
  4084. TextDrawBackgroundColor(Buymenu_TD[25], 255);
  4085. TextDrawFont(Buymenu_TD[25], 1);
  4086. TextDrawSetProportional(Buymenu_TD[25], 1);
  4087. TextDrawSetShadow(Buymenu_TD[25], 0);
  4088. Buymenu_TD[26] = TextDrawCreate(481.666717, 289.970672, "$50");
  4089. TextDrawLetterSize(Buymenu_TD[26], 0.221000, 0.957036);
  4090. TextDrawAlignment(Buymenu_TD[26], 1);
  4091. TextDrawColor(Buymenu_TD[26], 8388863);
  4092. TextDrawSetShadow(Buymenu_TD[26], 0);
  4093. TextDrawSetOutline(Buymenu_TD[26], 0);
  4094. TextDrawBackgroundColor(Buymenu_TD[26], 8388863);
  4095. TextDrawFont(Buymenu_TD[26], 1);
  4096. TextDrawSetProportional(Buymenu_TD[26], 1);
  4097. TextDrawSetShadow(Buymenu_TD[26], 0);
  4098. Buymenu_TD[27] = TextDrawCreate(223.000122, 366.296691, "$200");
  4099. TextDrawLetterSize(Buymenu_TD[27], 0.221000, 0.957036);
  4100. TextDrawAlignment(Buymenu_TD[27], 1);
  4101. TextDrawColor(Buymenu_TD[27], 8388863);
  4102. TextDrawSetShadow(Buymenu_TD[27], 0);
  4103. TextDrawSetOutline(Buymenu_TD[27], 0);
  4104. TextDrawBackgroundColor(Buymenu_TD[27], 8388863);
  4105. TextDrawFont(Buymenu_TD[27], 1);
  4106. TextDrawSetProportional(Buymenu_TD[27], 1);
  4107. TextDrawSetShadow(Buymenu_TD[27], 0);
  4108. Buymenu_TD[28] = TextDrawCreate(253.666534, 301.844207, "");
  4109. TextDrawLetterSize(Buymenu_TD[28], 0.000000, 0.000000);
  4110. TextDrawTextSize(Buymenu_TD[28], 81.000000, 73.000000);
  4111. TextDrawAlignment(Buymenu_TD[28], 1);
  4112. TextDrawColor(Buymenu_TD[28], -1);
  4113. TextDrawSetShadow(Buymenu_TD[28], 0);
  4114. TextDrawSetOutline(Buymenu_TD[28], 0);
  4115. TextDrawBackgroundColor(Buymenu_TD[28], -572662273);
  4116. TextDrawFont(Buymenu_TD[28], 5);
  4117. TextDrawSetProportional(Buymenu_TD[28], 0);
  4118. TextDrawSetShadow(Buymenu_TD[28], 0);
  4119. TextDrawSetSelectable(Buymenu_TD[28], true);
  4120. TextDrawSetPreviewModel(Buymenu_TD[28], 19823);
  4121. TextDrawSetPreviewRot(Buymenu_TD[28], 0.200000, 0.500000, 50.000000, 1.000000);
  4122. Buymenu_TD[29] = TextDrawCreate(254.999908, 301.170410, "Drink");
  4123. TextDrawLetterSize(Buymenu_TD[29], 0.243999, 1.027555);
  4124. TextDrawAlignment(Buymenu_TD[29], 1);
  4125. TextDrawColor(Buymenu_TD[29], -1);
  4126. TextDrawSetShadow(Buymenu_TD[29], 0);
  4127. TextDrawSetOutline(Buymenu_TD[29], 1);
  4128. TextDrawBackgroundColor(Buymenu_TD[29], 255);
  4129. TextDrawFont(Buymenu_TD[29], 1);
  4130. TextDrawSetProportional(Buymenu_TD[29], 1);
  4131. TextDrawSetShadow(Buymenu_TD[29], 0);
  4132. Buymenu_TD[30] = TextDrawCreate(314.333618, 366.296691, "$3");
  4133. TextDrawLetterSize(Buymenu_TD[30], 0.221000, 0.957036);
  4134. TextDrawAlignment(Buymenu_TD[30], 1);
  4135. TextDrawColor(Buymenu_TD[30], 8388863);
  4136. TextDrawSetShadow(Buymenu_TD[30], 0);
  4137. TextDrawSetOutline(Buymenu_TD[30], 0);
  4138. TextDrawBackgroundColor(Buymenu_TD[30], 8388863);
  4139. TextDrawFont(Buymenu_TD[30], 1);
  4140. TextDrawSetProportional(Buymenu_TD[30], 1);
  4141. TextDrawSetShadow(Buymenu_TD[30], 0);
  4142. Buymenu_TD[31] = TextDrawCreate(338.333312, 301.844207, "");
  4143. TextDrawLetterSize(Buymenu_TD[31], 0.000000, 0.000000);
  4144. TextDrawTextSize(Buymenu_TD[31], 81.000000, 73.000000);
  4145. TextDrawAlignment(Buymenu_TD[31], 1);
  4146. TextDrawColor(Buymenu_TD[31], -1);
  4147. TextDrawSetShadow(Buymenu_TD[31], 0);
  4148. TextDrawSetOutline(Buymenu_TD[31], 0);
  4149. TextDrawBackgroundColor(Buymenu_TD[31], -572662273);
  4150. TextDrawFont(Buymenu_TD[31], 5);
  4151. TextDrawSetProportional(Buymenu_TD[31], 0);
  4152. TextDrawSetShadow(Buymenu_TD[31], 0);
  4153. TextDrawSetSelectable(Buymenu_TD[31], true);
  4154. TextDrawSetPreviewModel(Buymenu_TD[31], 19897);
  4155. TextDrawSetPreviewRot(Buymenu_TD[31], 600.000000, 400.000000, 200.000000, 1.000000);
  4156. Buymenu_TD[32] = TextDrawCreate(339.666473, 301.170379, "Cigarette");
  4157. TextDrawLetterSize(Buymenu_TD[32], 0.243999, 1.027555);
  4158. TextDrawAlignment(Buymenu_TD[32], 1);
  4159. TextDrawColor(Buymenu_TD[32], -1);
  4160. TextDrawSetShadow(Buymenu_TD[32], 0);
  4161. TextDrawSetOutline(Buymenu_TD[32], 1);
  4162. TextDrawBackgroundColor(Buymenu_TD[32], 255);
  4163. TextDrawFont(Buymenu_TD[32], 1);
  4164. TextDrawSetProportional(Buymenu_TD[32], 1);
  4165. TextDrawSetShadow(Buymenu_TD[32], 0);
  4166. Buymenu_TD[33] = TextDrawCreate(400.000305, 366.296661, "$30");
  4167. TextDrawLetterSize(Buymenu_TD[33], 0.221000, 0.957036);
  4168. TextDrawAlignment(Buymenu_TD[33], 1);
  4169. TextDrawColor(Buymenu_TD[33], 8388863);
  4170. TextDrawSetShadow(Buymenu_TD[33], 0);
  4171. TextDrawSetOutline(Buymenu_TD[33], 0);
  4172. TextDrawBackgroundColor(Buymenu_TD[33], 8388863);
  4173. TextDrawFont(Buymenu_TD[33], 1);
  4174. TextDrawSetProportional(Buymenu_TD[33], 1);
  4175. TextDrawSetShadow(Buymenu_TD[33], 0);
  4176. Buymenu_TD[34] = TextDrawCreate(421.666625, 301.844268, "");
  4177. TextDrawLetterSize(Buymenu_TD[34], 0.000000, 0.000000);
  4178. TextDrawTextSize(Buymenu_TD[34], 81.000000, 73.000000);
  4179. TextDrawAlignment(Buymenu_TD[34], 1);
  4180. TextDrawColor(Buymenu_TD[34], -1);
  4181. TextDrawSetShadow(Buymenu_TD[34], 0);
  4182. TextDrawSetOutline(Buymenu_TD[34], 0);
  4183. TextDrawBackgroundColor(Buymenu_TD[34], -572662273);
  4184. TextDrawFont(Buymenu_TD[34], 5);
  4185. TextDrawSetProportional(Buymenu_TD[34], 0);
  4186. TextDrawSetShadow(Buymenu_TD[34], 0);
  4187. TextDrawSetSelectable(Buymenu_TD[34], true);
  4188. TextDrawSetPreviewModel(Buymenu_TD[34], 19942);
  4189. TextDrawSetPreviewRot(Buymenu_TD[34], 4000.000000, 4000.000000, 200.000000, 1.000000);
  4190. Buymenu_TD[35] = TextDrawCreate(422.666351, 300.755401, "Radio");
  4191. TextDrawLetterSize(Buymenu_TD[35], 0.243999, 1.027555);
  4192. TextDrawAlignment(Buymenu_TD[35], 1);
  4193. TextDrawColor(Buymenu_TD[35], -1);
  4194. TextDrawSetShadow(Buymenu_TD[35], 0);
  4195. TextDrawSetOutline(Buymenu_TD[35], 1);
  4196. TextDrawBackgroundColor(Buymenu_TD[35], 255);
  4197. TextDrawFont(Buymenu_TD[35], 1);
  4198. TextDrawSetProportional(Buymenu_TD[35], 1);
  4199. TextDrawSetShadow(Buymenu_TD[35], 0);
  4200. Buymenu_TD[36] = TextDrawCreate(474.000305, 365.881683, "$50");
  4201. TextDrawLetterSize(Buymenu_TD[36], 0.221000, 0.957036);
  4202. TextDrawAlignment(Buymenu_TD[36], 1);
  4203. TextDrawColor(Buymenu_TD[36], 8388863);
  4204. TextDrawSetShadow(Buymenu_TD[36], 0);
  4205. TextDrawSetOutline(Buymenu_TD[36], 0);
  4206. TextDrawBackgroundColor(Buymenu_TD[36], 8388863);
  4207. TextDrawFont(Buymenu_TD[36], 1);
  4208. TextDrawSetProportional(Buymenu_TD[36], 1);
  4209. TextDrawSetShadow(Buymenu_TD[36], 0);
  4210. return true;
  4211. }
  4212. MySQLConnection()
  4213. {
  4214. /*new MySQLOpt: option_id = mysql_init_options();
  4215. mysql_set_option(option_id, AUTO_RECONNECT, true); no need as mysql automatically does this */
  4216. m_Handle = mysql_connect(SQL_HOSTNAME, SQL_USERNAME, SQL_PASSWORD, SQL_DATABASE/*, option_id*/);
  4217. if(m_Handle) {
  4218. printf("[MYSQL]: Connection to '%s' successful!", SQL_DATABASE);
  4219. return true;
  4220. }
  4221. else
  4222. {
  4223. printf("[MYSQL]: Connection to '%s' failed!", SQL_DATABASE);
  4224. return false;
  4225. }
  4226. }
  4227. public OnGameModeExit()
  4228. {
  4229. //Saving:
  4230. SaveProperties();
  4231. SaveFactions();
  4232. SaveBusinesses();
  4233. SaveTolls();
  4234. SavePaynSprays();
  4235. SaveDoors();
  4236. SavePropertyGarages();
  4237. foreach (new i : Player) {
  4238. if(StartedTruckerMission[i]) {
  4239. StartedTruckerMission[i] = false;
  4240. KillTimer(TruckerJobTimer[i]);
  4241. if(TruckerMissionStep[i] == 2)
  4242. {
  4243. TogglePlayerControllable(i, 1);
  4244. KillTimer(TruckerJobDeliverTimer[i]);
  4245. }
  4246. for(new x = 0; x < 2; i++)
  4247. PlayerTextDrawHide(i, TruckerEarning_PTD[i][x]);
  4248. DisablePlayerCheckpoint(i);
  4249. GiveMoney(i, TruckerJobEarnings[i]);
  4250. TruckerJobEarnings[i] = 0;
  4251. }
  4252. OnPlayerDisconnect(i, 1);
  4253. }
  4254. //Closing database:
  4255. mysql_close(m_Handle);
  4256. return true;
  4257. }
  4258. /*public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
  4259. {
  4260. switch(weaponid){
  4261. case 1: amount = 10;
  4262. case 3: amount = 11;
  4263. case 4: amount = 11;
  4264. case 5: amount = 11;
  4265. case 6: amount = 11;
  4266. case 7: amount = 11;
  4267. case 8: amount = 20;
  4268. case 10 .. 15: amount = 5;
  4269. case 22: amount = 12;
  4270. case 23: amount = 13;
  4271. case 24: amount = 30;
  4272. case 25: amount = 40;
  4273. case 27: amount = 65;
  4274. case 28: amount = 14;
  4275. case 29: amount = 16;
  4276. case 30: amount = 17;
  4277. case 31: amount = 18;
  4278. case 32: amount = 14;
  4279. case 33: amount = 60;
  4280. case 34: amount = 100;
  4281. }
  4282. if(issuerid != INVALID_PLAYER_ID) {
  4283. new Float: playerHealth, Float: playerArmor, Float: amoun;
  4284. GetPlayerHealth(playerid, playerHealth);
  4285. GetPlayerArmour(playerid, playerArmor);
  4286. foreach(new i : Player)
  4287. {
  4288. if(WatchingDamages[i][playerid] == 1)
  4289. {
  4290. Message(i, COLOR_WHITE, "%s did %.2f damage to {FF6347}%s{FFFFFF} with a %s, Health: %f", ReturnName(issuerid), amount, ReturnName(playerid), ReturnWeaponName(weaponid), playerHealth-amount);
  4291. }
  4292. }
  4293. if(GetPlayerTeam(playerid) == STATE_WOUNDED)
  4294. {
  4295. if(!PlayerData[playerid][pExecuteTime]){
  4296. SetDead(playerid);
  4297. SetPlayerTeam(playerid, STATE_DEAD);
  4298. new string[128];
  4299. format(string, sizeof(string), "Executed by %s with %s", ReturnName(issuerid), ReturnWeaponName(weaponid));
  4300. LogPlayerAction(playerid, string);
  4301. format(string, sizeof(string), "Executed %s with %s", ReturnName(playerid), ReturnWeaponName(weaponid));
  4302. LogPlayerAction(issuerid, string);
  4303. return false;
  4304. }
  4305. SetPlayerHealth(playerid, playerHealth);
  4306. return false;
  4307. }
  4308. if(GetPlayerTeam(playerid) != STATE_ALIVE){ SetPlayerHealth(playerid, playerHealth); return false; }
  4309. if(GetPlayerTeam(playerid) == STATE_ALIVE){
  4310. if(playerArmor > 0) { // if armor is greater than 0
  4311. amoun = playerArmor - amount; // armor - amount taken
  4312. if(amoun <= 0){ // if armor - amount taken is less than or equal to 0
  4313. SetPlayerHealth(playerid, playerHealth - amount); // hp is set
  4314. }
  4315. else { // if the amoun is greater than 0
  4316. if(bodypart != BODY_PART_HEAD && bodypart != BODY_PART_RIGHT_LEG && bodypart != BODY_PART_LEFT_LEG){ // if bodypart isn't head or legs
  4317. SetPlayerArmour(playerid, playerArmor - amount);
  4318. }
  4319. else{ // if bodypart is legs or head
  4320. SetPlayerHealth(playerid, playerHealth - amount); // hp is taken
  4321. }
  4322. }
  4323. }
  4324. else{
  4325. SetPlayerHealth(playerid, playerHealth - amount);
  4326. }
  4327. }
  4328. AddDamages(playerid, issuerid, weaponid, bodypart, amount);
  4329. if(bodypart == BODY_PART_LEFT_LEG){
  4330. if(!PlayerData[playerid][pLegShot]) {
  4331. PlayerData[playerid][pLegShot] = true;
  4332. LegShotTimer[playerid] = SetTimerEx("LegShotEnd", 900000, false, "i", playerid);
  4333. SendClientMessage(playerid, COLOR_ADM, "-> You've been hit in the leg, you're gonna struggle with running and jumping.");
  4334. }
  4335. }
  4336. if(bodypart == BODY_PART_RIGHT_LEG){
  4337. if(!PlayerData[playerid][pLegShot]) {
  4338. PlayerData[playerid][pLegShot] = true;
  4339. LegShotTimer[playerid] = SetTimerEx("LegShotEnd", 900000, false, "i", playerid);
  4340. SendClientMessage(playerid, COLOR_ADM, "-> You've been hit in the leg, you're gonna struggle with running and jumping.");
  4341. }
  4342. }
  4343. if( playerHealth - amount <= 5 && GetPlayerTeam(playerid) == STATE_ALIVE ) {
  4344. SetBrutallyWounded( playerid, issuerid, weaponid );
  4345. SetPlayerTeam(playerid, STATE_WOUNDED);
  4346. if(IsPlayerInAnyVehicle(playerid)) ClearAnimations(playerid);
  4347. return false;
  4348. }
  4349. if( playerHealth - amount <= 1 ){
  4350. SetBrutallyWounded(playerid, issuerid, weaponid);
  4351. SetPlayerTeam(playerid, STATE_WOUNDED);
  4352. return false;
  4353. }
  4354. }
  4355. return true;
  4356. }*/
  4357. stock IsPill(drug)
  4358. {
  4359. new ispill;
  4360. switch (drug)
  4361. {
  4362. case DRUG_TYPE_ECSTASY, DRUG_TYPE_LSD, DRUG_TYPE_PCP, DRUG_TYPE_ASPIRIN, DRUG_TYPE_HALOP, DRUG_TYPE_MORPHINE, DRUG_TYPE_XANAX, DRUG_TYPE_MDMA, DRUG_TYPE_PHENETOLE, DRUG_TYPE_STEROIDS: {
  4363. ispill = 1;
  4364. }
  4365. }
  4366. return ispill;
  4367. }
  4368. stock GetPackageType(type)
  4369. {
  4370. new string[32];
  4371. switch (type)
  4372. {
  4373. case 0: string = "Ziploc Bag - Small";
  4374. case 1: string = "Ziploc Bag - Medium";
  4375. case 2: string = "Ziploc Bag - Large";
  4376. case 3: string = "Plastic Wrap Ball - Small";
  4377. case 4: string = "Plastic Wrap Ball - Medium";
  4378. case 5: string = "Plastic Wrap Ball - Large";
  4379. case 6: string = "Wrapped Foil - Small";
  4380. case 7: string = "Wrapped Foil - Medium";
  4381. case 8: string = "Wrapped Foil - Large";
  4382. case 9: string = "Pill Bottle - Small";
  4383. case 10: string = "Pill Bottle - Medium";
  4384. case 11: string = "Pill Bottle - Large";
  4385. case 12: string = "Wax Paper Wrap - Small";
  4386. case 13: string = "Wax Paper Wrap - Medium";
  4387. }
  4388. return string;
  4389. }
  4390. stock CountPackages(playerid)
  4391. {
  4392. new count;
  4393. for (new i = 0; i < 10; i++) if (DrugData[playerid][i][drugQuantity] > 0)
  4394. count++;
  4395. return count;
  4396. }
  4397. stock Float:GetPackageCapacity(type, drugtype)
  4398. {
  4399. new Float:capacity[][] =
  4400. {
  4401. {7.0, 16.0},
  4402. {14.0, 32.0},
  4403. {28.0, 50.0},
  4404. {7.0, 16.0},
  4405. {14.0, 32.0},
  4406. {28.0, 50.0},
  4407. {7.0, 16.0},
  4408. {14.0, 32.0},
  4409. {28.0, 50.0},
  4410. {7.0, 16.0},
  4411. {14.0, 32.0},
  4412. {28.0, 50.0},
  4413. {7.0, 16.0},
  4414. {14.0, 32.0}
  4415. };
  4416. return capacity[type][IsPill(drugtype)];
  4417. }
  4418. stock GiveDrugPackage(playerid, type, drugtype, Float:quantity, strength)
  4419. {
  4420. for (new i = 0; i < 10; i++) if (DrugData[playerid][i][drugQuantity] == 0)
  4421. {
  4422. new query[128];
  4423. DrugData[playerid][i][drugPackage] = type;
  4424. DrugData[playerid][i][drugType] = drugtype;
  4425. DrugData[playerid][i][drugQuantity] = quantity;
  4426. DrugData[playerid][i][drugStrength] = strength;
  4427. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO player_drugs (playersqlid, slot, package, type, quantity, strength) VALUES (%d, %d, %d, %d, %.1f, %d)", PlayerData[playerid][pSQLID], i, type, drugtype, quantity, strength);
  4428. mysql_tquery(m_Handle, query);
  4429. return 1;
  4430. }
  4431. return 0;
  4432. }
  4433. stock RemoveDrugPackage(playerid, slot)
  4434. {
  4435. new query[100];
  4436. DrugData[playerid][slot][drugPackage] = 0;
  4437. DrugData[playerid][slot][drugType] = 0;
  4438. DrugData[playerid][slot][drugQuantity] = 0.0;
  4439. DrugData[playerid][slot][drugStrength] = 0;
  4440. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM player_drugs WHERE playersqlid = %d AND slot = %d", PlayerData[playerid][pSQLID], slot);
  4441. mysql_tquery(m_Handle, query);
  4442. }
  4443. Float:GetHousePackageCapacity(type)
  4444. {
  4445. new Float:capacity;
  4446. switch (type)
  4447. {
  4448. case 0: capacity = 33.0;
  4449. case 1: capacity = 53.0;
  4450. case 2: capacity = 113.0;
  4451. case 3: capacity = 113.0;
  4452. case 4: capacity = 103.0;
  4453. case 5: capacity = 103.0;
  4454. case 6: capacity = 83.0;
  4455. case 7: capacity = 123.0;
  4456. case 8: capacity = 14.0;
  4457. }
  4458. return capacity;
  4459. }
  4460. GetPackageModel(type)
  4461. {
  4462. new model;
  4463. switch (type)
  4464. {
  4465. case 0: model = 2768;
  4466. case 1: model = 2647;
  4467. case 2: model = 19562;
  4468. case 3: model = 2694;
  4469. case 4: model = 19569;
  4470. case 5: model = 1575;
  4471. case 6: model = 1582;
  4472. case 7: model = 1220;
  4473. case 8: model = 19896;
  4474. }
  4475. return model;
  4476. }
  4477. GetPackageName(type)
  4478. {
  4479. new name[32];
  4480. switch (type)
  4481. {
  4482. case 0: name = "Cluckin' Bell Burger Box";
  4483. case 1: name = "Burgershot Cup";
  4484. case 2: name = "Cok'O'Pops";
  4485. case 3: name = "Shoe Box";
  4486. case 4: name = "Milk Carton";
  4487. case 5: name = "Wrapped Package";
  4488. case 6: name = "Pizza Box";
  4489. case 7: name = "Cardboard Box";
  4490. case 8: name = "Cigarette Pack";
  4491. }
  4492. return name;
  4493. }
  4494. public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
  4495. {
  4496. if (weaponid > 0 && !PlayerHasWeapon(playerid, weaponid))
  4497. return 0;
  4498. switch(weaponid)
  4499. {
  4500. case 1: amount = 10;
  4501. case 3: amount = 11;
  4502. case 4: amount = 11;
  4503. case 5: amount = 10;
  4504. case 6: amount = 11;
  4505. case 7: amount = 11;
  4506. case 8: amount = 20;
  4507. case 10 .. 15: amount = 5;
  4508. case 22: amount = 29;
  4509. case 23: amount = 13;
  4510. case 24: amount = 30;
  4511. case 25: amount = 75;
  4512. case 27: amount = 65;
  4513. case 28: amount = 34;
  4514. case 29: amount = 16;
  4515. case 30: amount = 35;
  4516. case 31: amount = 18;
  4517. case 32: amount = 14;
  4518. case 33: amount = 60;
  4519. case 34: amount = 100;
  4520. }
  4521. switch(bodypart)
  4522. {
  4523. case BODY_PART_HEAD: amount = amount * 1.5;
  4524. case BODY_PART_LEFT_LEG, BODY_PART_RIGHT_LEG: amount = amount * 0.8;
  4525. }
  4526. new string[128];
  4527. if(damagedid != INVALID_PLAYER_ID)
  4528. {
  4529. new
  4530. Float:targetPos[3],
  4531. Float:distance,
  4532. distancex;
  4533. GetPlayerPos(damagedid, targetPos[0], targetPos[1], targetPos[2]);
  4534. distance = GetPlayerDistanceFromPoint(playerid, targetPos[0], targetPos[1], targetPos[2]);
  4535. distancex = floatround(distance, floatround_round);
  4536. switch(distancex)
  4537. {
  4538. case 46 .. 70:
  4539. {
  4540. if(weaponid != WEAPON_SNIPER && weaponid != WEAPON_RIFLE)
  4541. amount = amount * 0.74;
  4542. else if(weaponid == WEAPON_M4 || weaponid == WEAPON_AK47)
  4543. amount = amount * 0.79;
  4544. }
  4545. case 71 .. 200:
  4546. {
  4547. if(weaponid != WEAPON_SNIPER && weaponid != WEAPON_RIFLE)
  4548. amount = amount * 0.70;
  4549. else if(weaponid == WEAPON_M4 || weaponid == WEAPON_AK47)
  4550. amount = amount * 0.74;
  4551. }
  4552. }
  4553. new Float: playerHealth, Float: playerArmor, Float: amoun;
  4554. GetPlayerHealth(damagedid, playerHealth);
  4555. GetPlayerArmour(damagedid, playerArmor);
  4556. foreach(new i : Player)
  4557. {
  4558. if(WatchingDamages[i][damagedid] == 1)
  4559. {
  4560. Message(i, COLOR_WHITE, "%s did %.2f damage to {FF6347}%s{FFFFFF} with a %s, Health: %f", ReturnName(playerid), amount, ReturnName(damagedid), ReturnWeaponName(weaponid), playerHealth-amount);
  4561. }
  4562. }
  4563. if(GetPlayerTeam(damagedid) == STATE_WOUNDED)
  4564. {
  4565. if(!PlayerData[damagedid][pExecuteTime]){
  4566. SetDead(damagedid);
  4567. SetPlayerTeam(damagedid, STATE_DEAD);
  4568. format(string, sizeof(string), "Executed by %s with %s", ReturnName(playerid), ReturnWeaponName(weaponid));
  4569. LogPlayerAction(damagedid, string);
  4570. format(string, sizeof(string), "Executed %s with %s", ReturnName(damagedid), ReturnWeaponName(weaponid));
  4571. LogPlayerAction(playerid, string);
  4572. return false;
  4573. }
  4574. SetPlayerHealth(damagedid, playerHealth);
  4575. return false;
  4576. }
  4577. if(GetPlayerTeam(damagedid) != STATE_ALIVE) {
  4578. SetPlayerHealth(damagedid, playerHealth);
  4579. return false;
  4580. }
  4581. if(GetPlayerTeam(damagedid) == STATE_ALIVE){
  4582. if(playerArmor > 0) { // if armor is greater than 0
  4583. amoun = playerArmor - amount; // armor - amount taken
  4584. if(amoun <= 0){ // if armor - amount taken is less than or equal to 0
  4585. SetPlayerHealth(damagedid, playerHealth - amount); // hp is set
  4586. }
  4587. else { // if the amoun is greater than 0
  4588. if(bodypart != BODY_PART_HEAD && bodypart != BODY_PART_RIGHT_LEG && bodypart != BODY_PART_LEFT_LEG){ // if bodypart isn't head or legs
  4589. SetPlayerArmour(damagedid, playerArmor - amount);
  4590. }
  4591. else{ // if bodypart is legs or head
  4592. SetPlayerHealth(damagedid, playerHealth - amount); // hp is taken
  4593. }
  4594. }
  4595. }
  4596. else {
  4597. SetPlayerHealth(damagedid, playerHealth - amount);
  4598. }
  4599. if(PlayerData[playerid][pRubberbullet] && GetPlayerWeapon(playerid) == 25)
  4600. {
  4601. if(!GetDistanceBetweenPlayers(playerid, damagedid, 26))
  4602. {
  4603. SendClientMessage(playerid, COLOR_WHITE, "SERVER: Your shotguns beanbags don't go that far.");
  4604. SetPlayerHealth(damagedid, playerHealth);
  4605. if(playerArmor > 0) SetPlayerArmour(damagedid, playerArmor);
  4606. return 0;
  4607. }
  4608. format(string, sizeof(string), "Rubberbulleted by %s", ReturnName(playerid));
  4609. LogPlayerAction(damagedid, string);
  4610. format(string, sizeof(string), "Rubberbulleted player %s", ReturnName(damagedid));
  4611. LogPlayerAction(playerid, string);
  4612. SendNearbyMessage(damagedid, 20.0, COLOR_EMOTE, "* %s gets hit by %s's rubberbullets and falls.", ReturnName(damagedid, 0), ReturnName(playerid, 0));
  4613. format(string, sizeof(string), "[ ! ] %s hit you with a rubberbullet!", ReturnName(playerid, 0));
  4614. SendClientMessage(damagedid, COLOR_ADM, string);
  4615. format(string, sizeof(string), "[ ! ] You hit %s with your rubberbullets!", ReturnName(damagedid, 0));
  4616. SendClientMessage(playerid, COLOR_ADM, string);
  4617. ClearAnimations(damagedid, 1);
  4618. SetPlayerDrunkLevel(damagedid, 6000);
  4619. TogglePlayerControllable(damagedid, 0);
  4620. SetTimerEx("OnPlayerRubberbulleted", 1100, false, "i", damagedid);
  4621. PlayerIsTased[damagedid] = 21;
  4622. SetPlayerHealth(damagedid, playerHealth);
  4623. if(playerArmor > 0) SetPlayerArmour(damagedid, playerArmor);
  4624. return 0;
  4625. }
  4626. if(PlayerData[playerid][pTaser] && GetPlayerWeapon(playerid) == 23)
  4627. {
  4628. if(!GetDistanceBetweenPlayers(playerid, damagedid, 10.3))
  4629. {
  4630. SendClientMessage(playerid, COLOR_WHITE, "SERVER: You aren't close enough for your prongs to hit.");
  4631. SetPlayerHealth(damagedid, playerHealth);
  4632. if(playerArmor > 0) SetPlayerArmour(damagedid, playerArmor);
  4633. return 0;
  4634. }
  4635. format(string, sizeof(string), "Tasered by %s", ReturnName(playerid));
  4636. LogPlayerAction(damagedid, string);
  4637. format(string, sizeof(string), "Tased player %s", ReturnName(damagedid));
  4638. LogPlayerAction(playerid, string);
  4639. ClearAnimations(damagedid, 1);
  4640. SetPlayerDrunkLevel(damagedid, 5000);
  4641. SendNearbyMessage(damagedid, 20.0, COLOR_EMOTE, "* %s falls on the ground after being hit by %s's taser.", ReturnName(damagedid, 0), ReturnName(playerid, 0));
  4642. GameTextForPlayer(damagedid, "~r~You Are Tasered", 3000, 3);
  4643. TogglePlayerControllable(damagedid, false);
  4644. format(string, sizeof(string), "[ ! ] You were tasered by %s!", ReturnName(playerid, 0));
  4645. SendClientMessage(damagedid, COLOR_ADM, string);
  4646. format(string, sizeof(string), "[ ! ] You tasered %s!", ReturnName(damagedid, 0));
  4647. SendClientMessage(playerid, COLOR_ADM, string);
  4648. SetTimerEx("OnPlayerTasered", 1200, false, "i", damagedid);
  4649. PlayerIsTased[damagedid] = 21;
  4650. SetPlayerHealth(damagedid, playerHealth);
  4651. if(playerArmor > 0) SetPlayerArmour(damagedid, playerArmor);
  4652. return 0;
  4653. }
  4654. if (PlayerData[playerid][pTackle] && weaponid == 0) {
  4655. if (random(7)) {
  4656. format(string, sizeof(string), "Tackled by %s", ReturnName(playerid));
  4657. LogPlayerAction(damagedid, string);
  4658. format(string, sizeof(string), "Tackled player %s", ReturnName(damagedid));
  4659. LogPlayerAction(playerid, string);
  4660. ClearAnimations(damagedid, 1);
  4661. TogglePlayerControllable(damagedid, false);
  4662. SendNearbyMessage(damagedid, 20.0, COLOR_EMOTE, "* %s falls on the ground after being tackled by %s.", ReturnName(damagedid, 0), ReturnName(playerid, 0));
  4663. GameTextForPlayer(damagedid, "~r~You Were Tackled", 3000, 3);
  4664. format(string, sizeof(string), "[ ! ] %s tackled you!", ReturnName(playerid, 0));
  4665. SendClientMessage(damagedid, COLOR_ADM, string);
  4666. format(string, sizeof(string), "[ ! ] You tackled %s!", ReturnName(damagedid, 0));
  4667. SendClientMessage(playerid, COLOR_ADM, string);
  4668. SetTimerEx("OnPlayerTackled", 1200, false, "iii", damagedid, playerid, true);
  4669. PlayerIsTased[damagedid] = 16;
  4670. } else {
  4671. format(string, sizeof(string), "Attempted to be tackled by %s", ReturnName(playerid));
  4672. LogPlayerAction(damagedid, string);
  4673. format(string, sizeof(string), "Attempted to tackle player %s", ReturnName(damagedid));
  4674. LogPlayerAction(playerid, string);
  4675. cmd_me(playerid, sprintf("attempts to tackle %s and fails.", ReturnName(damagedid)));
  4676. ClearAnimations(playerid, 1);
  4677. TogglePlayerControllable(playerid, false);
  4678. SetTimerEx("OnPlayerTackled", 1200, false, "iii", damagedid, playerid, false);
  4679. PlayerIsTased[playerid] = 16;
  4680. }
  4681. SetPlayerHealth(damagedid, playerHealth);
  4682. if(playerArmor > 0) SetPlayerArmour(damagedid, playerArmor);
  4683. return 0;
  4684. }
  4685. }
  4686. AddDamages(damagedid, playerid, weaponid, bodypart, amount);
  4687. if(!PlayerData[damagedid][pAdminDuty]) {
  4688. if(bodypart == BODY_PART_LEFT_LEG || bodypart == BODY_PART_RIGHT_LEG) {
  4689. if(!PlayerData[damagedid][pLegShot]) {
  4690. PlayerData[damagedid][pLegShot] = true;
  4691. LegShotTimer[damagedid] = SetTimerEx("LegShotEnd", 900000, false, "i", damagedid);
  4692. SendClientMessage(damagedid, COLOR_ADM, "-> You've been hit in the leg, you're gonna struggle with running and jumping.");
  4693. }
  4694. }
  4695. }
  4696. /*if(bodypart == BODY_PART_RIGHT_LEG){
  4697. if(!PlayerData[damagedid][pLegShot]) {
  4698. PlayerData[damagedid][pLegShot] = true;
  4699. LegShotTimer[damagedid] = SetTimerEx("LegShotEnd", 900000, false, "i", damagedid);
  4700. SendClientMessage(damagedid, COLOR_ADM, "-> You've been hit in the leg, you're gonna struggle with running and jumping.");
  4701. }
  4702. }*/
  4703. if( playerHealth - amount <= 5 && GetPlayerTeam(damagedid) == STATE_ALIVE ) {
  4704. SetBrutallyWounded( damagedid, playerid, weaponid );
  4705. SetPlayerTeam(damagedid, STATE_WOUNDED);
  4706. if(IsPlayerInAnyVehicle(damagedid)) ClearAnimations(damagedid);
  4707. return false;
  4708. }
  4709. if( playerHealth - amount <= 1 ){
  4710. SetBrutallyWounded(damagedid, playerid, weaponid);
  4711. SetPlayerTeam(damagedid, STATE_WOUNDED);
  4712. return false;
  4713. }
  4714. }
  4715. return true;
  4716. }
  4717. public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
  4718. {
  4719. new
  4720. string[128];
  4721. if(GetTickCount() > (PlayerData[playerid ][pPauseCheck]+2000))
  4722. {
  4723. format(string, sizeof(string), "%s(%d) may be cheating OR desynced (or TABBED) while shooting.", ReturnName(playerid), playerid);
  4724. adminWarn(1, string);
  4725. }
  4726. if(PlayerHasWeapon(playerid, weaponid))
  4727. {
  4728. UpdatePlayerWeapon(playerid, weaponid);
  4729. }
  4730. else
  4731. {
  4732. if(!PlayerData[playerid][pExecuteTime])
  4733. {
  4734. format(string, sizeof(string), "%s(%d) may be cheating[Shooting] a: %s (Ammo: %i)", ReturnName(playerid), playerid, ReturnWeaponName(weaponid), GetPlayerAmmo(playerid));
  4735. adminWarn(1, string);
  4736. return 0;
  4737. }
  4738. }
  4739. if(hittype == BULLET_HIT_TYPE_PLAYER)
  4740. {
  4741. if(GetPlayerTeam(hitid) == STATE_WOUNDED){
  4742. if(!PlayerData[hitid][pExecuteTime]) {
  4743. SetDead(hitid);
  4744. SetPlayerTeam(hitid, STATE_DEAD);
  4745. format(string, sizeof(string), "Executed by %s with %s", ReturnName(playerid), ReturnWeaponName(weaponid));
  4746. LogPlayerAction(hitid, string);
  4747. format(string, sizeof(string), "Executed %s with %s", ReturnName(hitid), ReturnWeaponName(weaponid));
  4748. LogPlayerAction(playerid, string);
  4749. return false;
  4750. }
  4751. return false;
  4752. }
  4753. else{
  4754. if(GetPlayerTeam(hitid) != STATE_ALIVE)return false;
  4755. }
  4756. }
  4757. if(PlayerData[playerid][pTaser] && weaponid == 23)
  4758. {
  4759. //SetPlayerArmedWeapon(playerid, 0);
  4760. ApplyAnimation(playerid, "COLT45", "colt45_reload", 4.1, 0, 0, 0, 0, 0);
  4761. SetTimerEx("OnTaserShoot", 1100, false, "i", playerid);
  4762. }
  4763. return true;
  4764. }
  4765. public OnPlayerConnect(playerid)
  4766. {
  4767. for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
  4768. {
  4769. RemovePlayerAttachedObject(playerid, i);
  4770. }
  4771. foreach(new i : Player)
  4772. {
  4773. if(PlayerData[i][pAdmin] && PlayerData[i][pToggleConnects])
  4774. {
  4775. Message(i, COLOR_GREY, "**%s[%i] connected to the server. IP: %s", ReturnName(playerid), playerid, ReturnIP(playerid));
  4776. }
  4777. }
  4778. ResetPlayerWeapons(playerid);
  4779. ResetPlayerMoney(playerid);
  4780. DefaultPlayerValues(playerid);
  4781. CheckPlayerBans(playerid);
  4782. PreloadAnimations(playerid);
  4783. SetPlayerColor(playerid, COLOR_GREY);
  4784. phone_OnPlayerConnect(playerid);
  4785. //createMDTTextdraws(playerid);
  4786. InitMDC(playerid);
  4787. SetUp[playerid][0] = CreatePlayerTextDraw(playerid, 160.000000, 173.000000, "_");
  4788. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][0], 255);
  4789. PlayerTextDrawFont(playerid, SetUp[playerid][0], 1);
  4790. PlayerTextDrawLetterSize(playerid, SetUp[playerid][0], 0.500000, 14.599998);
  4791. PlayerTextDrawColor(playerid, SetUp[playerid][0], -1);
  4792. PlayerTextDrawSetOutline(playerid, SetUp[playerid][0], 0);
  4793. PlayerTextDrawSetProportional(playerid, SetUp[playerid][0], 1);
  4794. PlayerTextDrawSetShadow(playerid, SetUp[playerid][0], 1);
  4795. PlayerTextDrawUseBox(playerid, SetUp[playerid][0], 1);
  4796. PlayerTextDrawBoxColor(playerid, SetUp[playerid][0], 119);
  4797. PlayerTextDrawTextSize(playerid, SetUp[playerid][0], 10.000000, 20.000000);
  4798. SetUp[playerid][1] = CreatePlayerTextDraw(playerid, 9.000000, 162.000000, "Character Setup");
  4799. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][1], 255);
  4800. PlayerTextDrawFont(playerid, SetUp[playerid][1], 0);
  4801. PlayerTextDrawLetterSize(playerid, SetUp[playerid][1], 0.569999, 1.799998);
  4802. PlayerTextDrawColor(playerid, SetUp[playerid][1], -1);
  4803. PlayerTextDrawSetOutline(playerid, SetUp[playerid][1], 1);
  4804. PlayerTextDrawSetProportional(playerid, SetUp[playerid][1], 1);
  4805. SetUp[playerid][2] = CreatePlayerTextDraw(playerid, 18.000000, 184.000000, "~g~~h~Gender:");
  4806. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][2], 255);
  4807. PlayerTextDrawFont(playerid, SetUp[playerid][2], 2);
  4808. PlayerTextDrawLetterSize(playerid, SetUp[playerid][2], 0.239999, 1.200000);
  4809. PlayerTextDrawColor(playerid, SetUp[playerid][2], -1);
  4810. PlayerTextDrawSetOutline(playerid, SetUp[playerid][2], 1);
  4811. PlayerTextDrawSetProportional(playerid, SetUp[playerid][2], 1);
  4812. SetUp[playerid][3] = CreatePlayerTextDraw(playerid, 19.000000, 195.000000, "Male");
  4813. PlayerTextDrawTextSize(playerid, SetUp[playerid][3], 100.000000, 10.000000);
  4814. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][3], 255);
  4815. PlayerTextDrawFont(playerid, SetUp[playerid][3], 2);
  4816. PlayerTextDrawLetterSize(playerid, SetUp[playerid][3], 0.239999, 1.100000);
  4817. PlayerTextDrawColor(playerid, SetUp[playerid][3], -1);
  4818. PlayerTextDrawSetOutline(playerid, SetUp[playerid][3], 1);
  4819. PlayerTextDrawSetProportional(playerid, SetUp[playerid][3], 1);
  4820. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][3], true);
  4821. SetUp[playerid][4] = CreatePlayerTextDraw(playerid, 19.000000, 205.000000, "Female");
  4822. PlayerTextDrawTextSize(playerid, SetUp[playerid][4], 100.000000, 10.000000);
  4823. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][4], 255);
  4824. PlayerTextDrawFont(playerid, SetUp[playerid][4], 2);
  4825. PlayerTextDrawLetterSize(playerid, SetUp[playerid][4], 0.240000, 1.100000);
  4826. PlayerTextDrawColor(playerid, SetUp[playerid][4], -1);
  4827. PlayerTextDrawSetOutline(playerid, SetUp[playerid][4], 1);
  4828. PlayerTextDrawSetProportional(playerid, SetUp[playerid][4], 1);
  4829. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][4], true);
  4830. SetUp[playerid][5] = CreatePlayerTextDraw(playerid, 18.000000, 225.000000, "~g~~h~Age:");
  4831. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][5], 255);
  4832. PlayerTextDrawFont(playerid, SetUp[playerid][5], 2);
  4833. PlayerTextDrawLetterSize(playerid, SetUp[playerid][5], 0.239999, 1.100000);
  4834. PlayerTextDrawColor(playerid, SetUp[playerid][5], -1);
  4835. PlayerTextDrawSetOutline(playerid, SetUp[playerid][5], 1);
  4836. PlayerTextDrawSetProportional(playerid, SetUp[playerid][5], 1);
  4837. SetUp[playerid][6] = CreatePlayerTextDraw(playerid, 19.000000, 235.000000, "13 years old");
  4838. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][6], 255);
  4839. PlayerTextDrawFont(playerid, SetUp[playerid][6], 2);
  4840. PlayerTextDrawLetterSize(playerid, SetUp[playerid][6], 0.230000, 1.100000);
  4841. PlayerTextDrawColor(playerid, SetUp[playerid][6], -1);
  4842. PlayerTextDrawSetOutline(playerid, SetUp[playerid][6], 1);
  4843. PlayerTextDrawSetProportional(playerid, SetUp[playerid][6], 1);
  4844. SetUp[playerid][7] = CreatePlayerTextDraw(playerid, 123.000000, 235.000000, "-");
  4845. PlayerTextDrawAlignment(playerid, SetUp[playerid][7], 2);
  4846. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][7], 255);
  4847. PlayerTextDrawFont(playerid, SetUp[playerid][7], 0);
  4848. PlayerTextDrawLetterSize(playerid, SetUp[playerid][7], 0.589999, 1.200000);
  4849. PlayerTextDrawColor(playerid, SetUp[playerid][7], -1);
  4850. PlayerTextDrawSetOutline(playerid, SetUp[playerid][7], 1);
  4851. PlayerTextDrawSetProportional(playerid, SetUp[playerid][7], 1);
  4852. PlayerTextDrawUseBox(playerid, SetUp[playerid][7], 1);
  4853. PlayerTextDrawBoxColor(playerid, SetUp[playerid][7], 68);
  4854. PlayerTextDrawTextSize(playerid, SetUp[playerid][7], 20.000000, 15.000000);
  4855. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][7], true);
  4856. SetUp[playerid][8] = CreatePlayerTextDraw(playerid, 143.000000, 235.000000, "+");
  4857. PlayerTextDrawAlignment(playerid, SetUp[playerid][8], 2);
  4858. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][8], 255);
  4859. PlayerTextDrawFont(playerid, SetUp[playerid][8], 0);
  4860. PlayerTextDrawLetterSize(playerid, SetUp[playerid][8], 0.389999, 1.200000);
  4861. PlayerTextDrawColor(playerid, SetUp[playerid][8], -1);
  4862. PlayerTextDrawSetOutline(playerid, SetUp[playerid][8], 1);
  4863. PlayerTextDrawSetProportional(playerid, SetUp[playerid][8], 1);
  4864. PlayerTextDrawUseBox(playerid, SetUp[playerid][8], 1);
  4865. PlayerTextDrawBoxColor(playerid, SetUp[playerid][8], 68);
  4866. PlayerTextDrawTextSize(playerid, SetUp[playerid][8], 20.000000, 15.000000);
  4867. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][8], true);
  4868. SetUp[playerid][9] = CreatePlayerTextDraw(playerid, 18.000000, 256.000000, "~g~~h~Outfit:");
  4869. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][9], 255);
  4870. PlayerTextDrawFont(playerid, SetUp[playerid][9], 2);
  4871. PlayerTextDrawLetterSize(playerid, SetUp[playerid][9], 0.239999, 1.100000);
  4872. PlayerTextDrawColor(playerid, SetUp[playerid][9], -1);
  4873. PlayerTextDrawSetOutline(playerid, SetUp[playerid][9], 1);
  4874. PlayerTextDrawSetProportional(playerid, SetUp[playerid][9], 1);
  4875. SetUp[playerid][10] = CreatePlayerTextDraw(playerid, 19.000000, 266.000000, "Skin: 299");
  4876. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][10], 255);
  4877. PlayerTextDrawFont(playerid, SetUp[playerid][10], 2);
  4878. PlayerTextDrawLetterSize(playerid, SetUp[playerid][10], 0.230000, 1.100000);
  4879. PlayerTextDrawColor(playerid, SetUp[playerid][10], -1);
  4880. PlayerTextDrawSetOutline(playerid, SetUp[playerid][10], 1);
  4881. PlayerTextDrawSetProportional(playerid, SetUp[playerid][10], 1);
  4882. SetUp[playerid][11] = CreatePlayerTextDraw(playerid, 123.000000, 267.000000, "<<");
  4883. PlayerTextDrawAlignment(playerid, SetUp[playerid][11], 2);
  4884. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][11], 255);
  4885. PlayerTextDrawFont(playerid, SetUp[playerid][11], 0);
  4886. PlayerTextDrawLetterSize(playerid, SetUp[playerid][11], 0.219999, 1.200000);
  4887. PlayerTextDrawColor(playerid, SetUp[playerid][11], -1);
  4888. PlayerTextDrawSetOutline(playerid, SetUp[playerid][11], 1);
  4889. PlayerTextDrawSetProportional(playerid, SetUp[playerid][11], 1);
  4890. PlayerTextDrawUseBox(playerid, SetUp[playerid][11], 1);
  4891. PlayerTextDrawBoxColor(playerid, SetUp[playerid][11], 68);
  4892. PlayerTextDrawTextSize(playerid, SetUp[playerid][11], 20.000000, 15.000000);
  4893. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][11], true);
  4894. SetUp[playerid][12] = CreatePlayerTextDraw(playerid, 143.000000, 267.000000, ">>");
  4895. PlayerTextDrawAlignment(playerid, SetUp[playerid][12], 2);
  4896. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][12], 255);
  4897. PlayerTextDrawFont(playerid, SetUp[playerid][12], 0);
  4898. PlayerTextDrawLetterSize(playerid, SetUp[playerid][12], 0.219999, 1.200000);
  4899. PlayerTextDrawColor(playerid, SetUp[playerid][12], -1);
  4900. PlayerTextDrawSetOutline(playerid, SetUp[playerid][12], 1);
  4901. PlayerTextDrawSetProportional(playerid, SetUp[playerid][12], 1);
  4902. PlayerTextDrawUseBox(playerid, SetUp[playerid][12], 1);
  4903. PlayerTextDrawBoxColor(playerid, SetUp[playerid][12], 68);
  4904. PlayerTextDrawTextSize(playerid, SetUp[playerid][12], 20.000000, 15.000000);
  4905. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][12], true);
  4906. SetUp[playerid][13] = CreatePlayerTextDraw(playerid, 37.000000, 290.000000, "Reset");
  4907. PlayerTextDrawAlignment(playerid, SetUp[playerid][13], 2);
  4908. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][13], 255);
  4909. PlayerTextDrawFont(playerid, SetUp[playerid][13], 2);
  4910. PlayerTextDrawLetterSize(playerid, SetUp[playerid][13], 0.230000, 1.200000);
  4911. PlayerTextDrawColor(playerid, SetUp[playerid][13], -1);
  4912. PlayerTextDrawSetOutline(playerid, SetUp[playerid][13], 1);
  4913. PlayerTextDrawSetProportional(playerid, SetUp[playerid][13], 1);
  4914. PlayerTextDrawUseBox(playerid, SetUp[playerid][13], 1);
  4915. PlayerTextDrawBoxColor(playerid, SetUp[playerid][13], 68);
  4916. PlayerTextDrawTextSize(playerid, SetUp[playerid][13], 20.000000, 37.000000);
  4917. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][13], true);
  4918. SetUp[playerid][14] = CreatePlayerTextDraw(playerid, 85.000000, 290.000000, "Confirm");
  4919. PlayerTextDrawAlignment(playerid, SetUp[playerid][14], 2);
  4920. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][14], 255);
  4921. PlayerTextDrawFont(playerid, SetUp[playerid][14], 2);
  4922. PlayerTextDrawLetterSize(playerid, SetUp[playerid][14], 0.230000, 1.200000);
  4923. PlayerTextDrawColor(playerid, SetUp[playerid][14], -1);
  4924. PlayerTextDrawSetOutline(playerid, SetUp[playerid][14], 1);
  4925. PlayerTextDrawSetProportional(playerid, SetUp[playerid][14], 1);
  4926. PlayerTextDrawUseBox(playerid, SetUp[playerid][14], 1);
  4927. PlayerTextDrawBoxColor(playerid, SetUp[playerid][14], 68);
  4928. PlayerTextDrawTextSize(playerid, SetUp[playerid][14], 20.000000, 46.000000);
  4929. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][14], true);
  4930. SetUp[playerid][15] = CreatePlayerTextDraw(playerid, 133.000000, 290.000000, "Help");
  4931. PlayerTextDrawAlignment(playerid, SetUp[playerid][15], 2);
  4932. PlayerTextDrawBackgroundColor(playerid, SetUp[playerid][15], 255);
  4933. PlayerTextDrawFont(playerid, SetUp[playerid][15], 2);
  4934. PlayerTextDrawLetterSize(playerid, SetUp[playerid][15], 0.230000, 1.200000);
  4935. PlayerTextDrawColor(playerid, SetUp[playerid][15], -1);
  4936. PlayerTextDrawSetOutline(playerid, SetUp[playerid][15], 1);
  4937. PlayerTextDrawSetProportional(playerid, SetUp[playerid][15], 1);
  4938. PlayerTextDrawUseBox(playerid, SetUp[playerid][15], 1);
  4939. PlayerTextDrawBoxColor(playerid, SetUp[playerid][15], 68);
  4940. PlayerTextDrawTextSize(playerid, SetUp[playerid][15], 20.000000, 37.000000);
  4941. PlayerTextDrawSetSelectable(playerid, SetUp[playerid][15], true);
  4942. MDC_Layout[playerid][0] = CreatePlayerTextDraw(playerid, 519.575378, 177.166748, "box");
  4943. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][0], 0.000000, 1.566619);
  4944. PlayerTextDrawTextSize(playerid, MDC_Layout[playerid][0], 615.000000, 0.000000);
  4945. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][0], 1);
  4946. PlayerTextDrawColor(playerid, MDC_Layout[playerid][0], -1);
  4947. PlayerTextDrawUseBox(playerid, MDC_Layout[playerid][0], 1);
  4948. PlayerTextDrawBoxColor(playerid, MDC_Layout[playerid][0], -1717986982);
  4949. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][0], 0);
  4950. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][0], 0);
  4951. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][0], 1962829311);
  4952. PlayerTextDrawFont(playerid, MDC_Layout[playerid][0], 1);
  4953. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][0], 1);
  4954. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][0], 0);
  4955. MDC_Layout[playerid][1] = CreatePlayerTextDraw(playerid, 565.959411, 177.750000, "EMERGENCY_LIGHT");
  4956. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][1], 0.247730, 1.174165);
  4957. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][1], 2);
  4958. PlayerTextDrawColor(playerid, MDC_Layout[playerid][1], -1);
  4959. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][1], 0);
  4960. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][1], 0);
  4961. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][1], 255);
  4962. PlayerTextDrawFont(playerid, MDC_Layout[playerid][1], 1);
  4963. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][1], 1);
  4964. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][1], 0);
  4965. MDC_Layout[playerid][2] = CreatePlayerTextDraw(playerid, 519.106933, 202.250076, "box");
  4966. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][2], 0.000000, 12.623718);
  4967. PlayerTextDrawTextSize(playerid, MDC_Layout[playerid][2], 616.000000, 0.000000);
  4968. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][2], 1);
  4969. PlayerTextDrawColor(playerid, MDC_Layout[playerid][2], -1);
  4970. PlayerTextDrawUseBox(playerid, MDC_Layout[playerid][2], 1);
  4971. PlayerTextDrawBoxColor(playerid, MDC_Layout[playerid][2], -1717986982);
  4972. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][2], 0);
  4973. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][2], 0);
  4974. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][2], 1962829311);
  4975. PlayerTextDrawFont(playerid, MDC_Layout[playerid][2], 1);
  4976. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][2], 1);
  4977. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][2], 0);
  4978. MDC_Layout[playerid][3] = CreatePlayerTextDraw(playerid, 526.603271, 206.916717, "PRIMARY");
  4979. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][3], 0.153557, 1.086665);
  4980. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][3], 1);
  4981. PlayerTextDrawColor(playerid, MDC_Layout[playerid][3], 255);
  4982. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][3], 0);
  4983. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][3], 0);
  4984. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][3], 255);
  4985. PlayerTextDrawFont(playerid, MDC_Layout[playerid][3], 2);
  4986. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][3], 1);
  4987. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][3], 0);
  4988. MDC_Layout[playerid][4] = CreatePlayerTextDraw(playerid, 576.735107, 205.166641, "~g~Off");
  4989. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][4], 0.217276, 1.337499);
  4990. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][4], 1);
  4991. PlayerTextDrawColor(playerid, MDC_Layout[playerid][4], -1523963137);
  4992. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][4], 0);
  4993. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][4], 0);
  4994. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][4], 255);
  4995. PlayerTextDrawFont(playerid, MDC_Layout[playerid][4], 2);
  4996. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][4], 1);
  4997. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][4], 0);
  4998. PlayerTextDrawSetSelectable(playerid, MDC_Layout[playerid][4], true);
  4999. MDC_Layout[playerid][5] = CreatePlayerTextDraw(playerid, 526.603271, 225.583312, "STROBE");
  5000. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][5], 0.153557, 1.086665);
  5001. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][5], 1);
  5002. PlayerTextDrawColor(playerid, MDC_Layout[playerid][5], 255);
  5003. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][5], 0);
  5004. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][5], 0);
  5005. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][5], 255);
  5006. PlayerTextDrawFont(playerid, MDC_Layout[playerid][5], 2);
  5007. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][5], 1);
  5008. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][5], 0);
  5009. MDC_Layout[playerid][6] = CreatePlayerTextDraw(playerid, 576.735107, 223.833312, "~g~Off");
  5010. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][6], 0.217276, 1.337499);
  5011. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][6], 1);
  5012. PlayerTextDrawColor(playerid, MDC_Layout[playerid][6], -1523963137);
  5013. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][6], 0);
  5014. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][6], 0);
  5015. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][6], 255);
  5016. PlayerTextDrawFont(playerid, MDC_Layout[playerid][6], 2);
  5017. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][6], 1);
  5018. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][6], 0);
  5019. PlayerTextDrawSetSelectable(playerid, MDC_Layout[playerid][6], true);
  5020. MDC_Layout[playerid][7] = CreatePlayerTextDraw(playerid, 526.134765, 244.833312, "SEARCH");
  5021. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][7], 0.153557, 1.086665);
  5022. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][7], 1);
  5023. PlayerTextDrawColor(playerid, MDC_Layout[playerid][7], 255);
  5024. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][7], 0);
  5025. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][7], 0);
  5026. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][7], 255);
  5027. PlayerTextDrawFont(playerid, MDC_Layout[playerid][7], 2);
  5028. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][7], 1);
  5029. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][7], 0);
  5030. MDC_Layout[playerid][8] = CreatePlayerTextDraw(playerid, 576.735046, 243.083282, "~g~Off");
  5031. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][8], 0.217276, 1.337499);
  5032. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][8], 1);
  5033. PlayerTextDrawColor(playerid, MDC_Layout[playerid][8], -1523963137);
  5034. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][8], 0);
  5035. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][8], 0);
  5036. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][8], 255);
  5037. PlayerTextDrawFont(playerid, MDC_Layout[playerid][8], 2);
  5038. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][8], 1);
  5039. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][8], 0);
  5040. PlayerTextDrawSetSelectable(playerid, MDC_Layout[playerid][8], true);
  5041. MDC_Layout[playerid][9] = CreatePlayerTextDraw(playerid, 595.476196, 205.750015, "~y~Static");
  5042. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][9], 0.117012, 1.179999);
  5043. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][9], 1);
  5044. PlayerTextDrawColor(playerid, MDC_Layout[playerid][9], -1);
  5045. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][9], 0);
  5046. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][9], 0);
  5047. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][9], 255);
  5048. PlayerTextDrawFont(playerid, MDC_Layout[playerid][9], 2);
  5049. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][9], 1);
  5050. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][9], 0);
  5051. MDC_Layout[playerid][10] = CreatePlayerTextDraw(playerid, 595.944580, 221.500030, "~y~Static");
  5052. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][10], 0.116075, 1.284999);
  5053. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][10], 1);
  5054. PlayerTextDrawColor(playerid, MDC_Layout[playerid][10], -1);
  5055. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][10], 0);
  5056. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][10], 0);
  5057. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][10], 255);
  5058. PlayerTextDrawFont(playerid, MDC_Layout[playerid][10], 2);
  5059. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][10], 1);
  5060. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][10], 0);
  5061. MDC_Layout[playerid][11] = CreatePlayerTextDraw(playerid, 535.973937, 264.083251, "Dispatch");
  5062. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][11], 0.168549, 1.162497);
  5063. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][11], 1);
  5064. PlayerTextDrawColor(playerid, MDC_Layout[playerid][11], -1);
  5065. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][11], 0);
  5066. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][11], 0);
  5067. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][11], 255);
  5068. PlayerTextDrawFont(playerid, MDC_Layout[playerid][11], 2);
  5069. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][11], 1);
  5070. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][11], 0);
  5071. PlayerTextDrawSetSelectable(playerid, MDC_Layout[playerid][11], true);
  5072. MDC_Layout[playerid][12] = CreatePlayerTextDraw(playerid, 532.225463, 282.166748, "box");
  5073. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][12], 0.000000, 2.691070);
  5074. PlayerTextDrawTextSize(playerid, MDC_Layout[playerid][12], 609.000000, 0.000000);
  5075. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][12], 1);
  5076. PlayerTextDrawColor(playerid, MDC_Layout[playerid][12], -2139062017);
  5077. PlayerTextDrawUseBox(playerid, MDC_Layout[playerid][12], 1);
  5078. PlayerTextDrawBoxColor(playerid, MDC_Layout[playerid][12], -1523963137);
  5079. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][12], 0);
  5080. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][12], 0);
  5081. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][12], 255);
  5082. PlayerTextDrawFont(playerid, MDC_Layout[playerid][12], 1);
  5083. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][12], 1);
  5084. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][12], 0);
  5085. MDC_Layout[playerid][13] = CreatePlayerTextDraw(playerid, 613.279968, 264.083435, "[~bl~IIIIIIII~w~]");
  5086. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][13], 0.214465, 1.174165);
  5087. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][13], 3);
  5088. PlayerTextDrawColor(playerid, MDC_Layout[playerid][13], -1);
  5089. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][13], 0);
  5090. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][13], 0);
  5091. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][13], 255);
  5092. PlayerTextDrawFont(playerid, MDC_Layout[playerid][13], 1);
  5093. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][13], 1);
  5094. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][13], 0);
  5095. MDC_Layout[playerid][14] = CreatePlayerTextDraw(playerid, 537.379211, 282.166748, "Something_here");
  5096. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][14], 0.180261, 0.882498);
  5097. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][14], 1);
  5098. PlayerTextDrawColor(playerid, MDC_Layout[playerid][14], -1);
  5099. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][14], 0);
  5100. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][14], 0);
  5101. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][14], 255);
  5102. PlayerTextDrawFont(playerid, MDC_Layout[playerid][14], 1);
  5103. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][14], 1);
  5104. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][14], 0);
  5105. MDC_Layout[playerid][15] = CreatePlayerTextDraw(playerid, 537.379272, 292.083435, "Something_here");
  5106. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][15], 0.180261, 0.882498);
  5107. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][15], 1);
  5108. PlayerTextDrawColor(playerid, MDC_Layout[playerid][15], -1);
  5109. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][15], 0);
  5110. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][15], 0);
  5111. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][15], 255);
  5112. PlayerTextDrawFont(playerid, MDC_Layout[playerid][15], 1);
  5113. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][15], 1);
  5114. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][15], 0);
  5115. MDC_Layout[playerid][16] = CreatePlayerTextDraw(playerid, 586.573974, 276.916625, "l");
  5116. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][16], 0.255225, 3.279999);
  5117. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][16], 1);
  5118. PlayerTextDrawColor(playerid, MDC_Layout[playerid][16], 255);
  5119. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][16], 0);
  5120. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][16], 0);
  5121. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][16], 255);
  5122. PlayerTextDrawFont(playerid, MDC_Layout[playerid][16], 1);
  5123. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][16], 1);
  5124. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][16], 0);
  5125. MDC_Layout[playerid][17] = CreatePlayerTextDraw(playerid, 600.160644, 282.166564, "BACK-UP~n~DEPART");
  5126. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][17], 0.134816, 1.086665);
  5127. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][17], 2);
  5128. PlayerTextDrawColor(playerid, MDC_Layout[playerid][17], 255);
  5129. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][17], 0);
  5130. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][17], 0);
  5131. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][17], 255);
  5132. PlayerTextDrawFont(playerid, MDC_Layout[playerid][17], 1);
  5133. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][17], 1);
  5134. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][17], 0);
  5135. MDC_Layout[playerid][18] = CreatePlayerTextDraw(playerid, 595.944580, 241.916687, "~y~Static");
  5136. PlayerTextDrawLetterSize(playerid, MDC_Layout[playerid][18], 0.116075, 1.284999);
  5137. PlayerTextDrawAlignment(playerid, MDC_Layout[playerid][18], 1);
  5138. PlayerTextDrawColor(playerid, MDC_Layout[playerid][18], -1);
  5139. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][18], 0);
  5140. PlayerTextDrawSetOutline(playerid, MDC_Layout[playerid][18], 0);
  5141. PlayerTextDrawBackgroundColor(playerid, MDC_Layout[playerid][18], 255);
  5142. PlayerTextDrawFont(playerid, MDC_Layout[playerid][18], 2);
  5143. PlayerTextDrawSetProportional(playerid, MDC_Layout[playerid][18], 1);
  5144. PlayerTextDrawSetShadow(playerid, MDC_Layout[playerid][18], 0);
  5145. //Police Buildings
  5146. RemoveBuildingForPlayer(playerid, 17535, 2364.0547, -1391.5313, 41.3516, 0.25);
  5147. RemoveBuildingForPlayer(playerid, 17965, 2322.2813, -1355.1953, 25.4063, 0.25);
  5148. RemoveBuildingForPlayer(playerid, 1266, 2317.5859, -1355.8281, 37.2188, 0.25);
  5149. RemoveBuildingForPlayer(playerid, 17970, 2364.0547, -1391.5313, 41.3516, 0.25);
  5150. RemoveBuildingForPlayer(playerid, 1308, 2331.4453, -1373.5313, 23.0938, 0.25);
  5151. RemoveBuildingForPlayer(playerid, 1315, 2310.0547, -1376.9453, 26.2422, 0.25);
  5152. RemoveBuildingForPlayer(playerid, 17504, 2378.6719, -1455.2578, 26.7422, 0.25);
  5153. RemoveBuildingForPlayer(playerid, 1297, 2308.5859, -1356.2813, 26.2266, 0.25);
  5154. RemoveBuildingForPlayer(playerid, 17543, 2322.2813, -1355.1953, 25.4063, 0.25);
  5155. RemoveBuildingForPlayer(playerid, 1260, 2317.5938, -1355.8203, 37.2266, 0.25);
  5156. RemoveBuildingForPlayer(playerid, 620, 2336.9844, -1350.5781, 22.7266, 0.25);
  5157. RemoveBuildingForPlayer(playerid, 5422, 2071.4766, -1831.4219, 14.5625, 0.25); // Idlewood PNS
  5158. RemoveBuildingForPlayer(playerid, 6400, 488.2813, -1734.6953, 12.3906, 0.25); // Santa Maria PNS
  5159. RemoveBuildingForPlayer(playerid, 5856, 1024.9844, -1029.3516, 33.1953, 0.25); // Temple PNS
  5160. RemoveBuildingForPlayer(playerid, 13028, 720.0156, -462.5234, 16.8594, 0.25); // Dillimore PNS
  5161. RemoveBuildingForPlayer(playerid, 3294, -100.0000, 1111.4141, 21.6406, 0.25); // Fort Carson PNS
  5162. RemoveBuildingForPlayer(playerid, 3294, -1420.5469, 2591.1563, 57.7422, 0.25); // El Q ... PNS
  5163. RemoveBuildingForPlayer(playerid, 11319, -1904.5313, 277.8984, 42.9531, 0.25); // SF PNS
  5164. RemoveBuildingForPlayer(playerid, 11313, -1935.8594, 239.5313, 35.3516, 0.25); // SF Carshop East
  5165. RemoveBuildingForPlayer(playerid, 10575, -2716.3516, 217.4766, 5.3828, 0.25); // SF Carshop West
  5166. RemoveBuildingForPlayer(playerid, 9093, 2386.6563, 1043.6016, 11.5938, 0.25); // LV Carshop
  5167. RemoveBuildingForPlayer(playerid, 5340, 2644.8594, -2039.2344, 14.0391, 0.25); // Seville Carshop
  5168. RemoveBuildingForPlayer(playerid, 5779, 1041.3516, -1025.9297, 32.6719, 0.25); // Temple Carshop
  5169. RemoveBuildingForPlayer(playerid, 792, 1279.7344, -1552.9453, 12.2188, 0.25); // Market DMV
  5170. RemoveBuildingForPlayer(playerid, 1231, 1273.6094, -1542.3750, 15.2344, 0.25); // Market DMV
  5171. RemoveBuildingForPlayer(playerid, 792, 1280.0313, -1531.1406, 12.0703, 0.25); // Market DMV
  5172. RemoveBuildingForPlayer(playerid, 1231, 1263.3047, -1520.1484, 15.1953, 0.25); // Market DMV
  5173. //Prison Mapping
  5174. RemoveBuildingForPlayer(playerid, 16614, -346.6719, 1595.0781, 79.6641, 0.25);
  5175. RemoveBuildingForPlayer(playerid, 16615, -389.7656, 1515.1641, 74.5547, 0.25);
  5176. RemoveBuildingForPlayer(playerid, 16616, -326.6953, 1541.3906, 74.5547, 0.25);
  5177. RemoveBuildingForPlayer(playerid, 16137, -389.7656, 1515.1641, 74.5547, 0.25);
  5178. RemoveBuildingForPlayer(playerid, 16138, -326.6953, 1541.3906, 74.5547, 0.25);
  5179. RemoveBuildingForPlayer(playerid, 16613, -346.6719, 1595.0781, 79.6641, 0.25);
  5180. Init_SpeedText(playerid);
  5181. LoadWarehouseMenu_2(playerid);
  5182. CrateInventory_P[playerid][0] = CreatePlayerTextDraw(playerid, 553.666687, 128.607421, "AK-47~n~M4A1");
  5183. PlayerTextDrawLetterSize(playerid, CrateInventory_P[playerid][0], 0.203000, 0.741333);
  5184. PlayerTextDrawAlignment(playerid, CrateInventory_P[playerid][0], 1);
  5185. PlayerTextDrawColor(playerid, CrateInventory_P[playerid][0], -1);
  5186. PlayerTextDrawSetShadow(playerid, CrateInventory_P[playerid][0], 0);
  5187. PlayerTextDrawSetOutline(playerid, CrateInventory_P[playerid][0], 1);
  5188. PlayerTextDrawBackgroundColor(playerid, CrateInventory_P[playerid][0], 255);
  5189. PlayerTextDrawFont(playerid, CrateInventory_P[playerid][0], 1);
  5190. PlayerTextDrawSetProportional(playerid, CrateInventory_P[playerid][0], 1);
  5191. PlayerTextDrawSetShadow(playerid, CrateInventory_P[playerid][0], 0);
  5192. //Default Textdraws
  5193. DefaultTextdraw[playerid] = CreatePlayerTextDraw(playerid, 97.333351, 291.629669, "~y~............");
  5194. PlayerTextDrawLetterSize(playerid, DefaultTextdraw[playerid], 0.216666, 1.139555);
  5195. PlayerTextDrawAlignment(playerid, DefaultTextdraw[playerid], 1);
  5196. PlayerTextDrawColor(playerid, DefaultTextdraw[playerid], -1523963137);
  5197. PlayerTextDrawSetShadow(playerid, DefaultTextdraw[playerid], 0);
  5198. PlayerTextDrawSetOutline(playerid, DefaultTextdraw[playerid], 1);
  5199. PlayerTextDrawBackgroundColor(playerid, DefaultTextdraw[playerid], 255);
  5200. PlayerTextDrawFont(playerid, DefaultTextdraw[playerid], 2);
  5201. PlayerTextDrawSetProportional(playerid, DefaultTextdraw[playerid], 1);
  5202. PlayerTextDrawSetShadow(playerid, DefaultTextdraw[playerid], 0);
  5203. //Graffiti Display
  5204. GraffitiDisplay[playerid] = CreatePlayerTextDraw(playerid, 97.333351, 291.629669, "~y~............");
  5205. PlayerTextDrawLetterSize(playerid, GraffitiDisplay[playerid], 0.216666, 1.139555);
  5206. PlayerTextDrawAlignment(playerid, GraffitiDisplay[playerid], 1);
  5207. PlayerTextDrawColor(playerid, GraffitiDisplay[playerid], -1523963137);
  5208. PlayerTextDrawSetShadow(playerid, GraffitiDisplay[playerid], 0);
  5209. PlayerTextDrawSetOutline(playerid, GraffitiDisplay[playerid], 1);
  5210. PlayerTextDrawBackgroundColor(playerid, GraffitiDisplay[playerid], 255);
  5211. PlayerTextDrawFont(playerid, GraffitiDisplay[playerid], 2);
  5212. PlayerTextDrawSetProportional(playerid, GraffitiDisplay[playerid], 1);
  5213. PlayerTextDrawSetShadow(playerid, GraffitiDisplay[playerid], 0);
  5214. //Phone:
  5215. //UI_Phone(playerid);
  5216. //Vehicle List:
  5217. CreateVehicleMenu(playerid);
  5218. //Vehicle HUD:
  5219. VehicleHUD[playerid][0] = CreatePlayerTextDraw(playerid, 497.086730, 127.583274, "~bl~mph:~n~fuel:");
  5220. PlayerTextDrawLetterSize(playerid, VehicleHUD[playerid][0], 0.459502, 1.302499);
  5221. PlayerTextDrawAlignment(playerid, VehicleHUD[playerid][0], 1);
  5222. PlayerTextDrawColor(playerid, VehicleHUD[playerid][0], -1);
  5223. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][0], 2);
  5224. PlayerTextDrawSetOutline(playerid, VehicleHUD[playerid][0], 0);
  5225. PlayerTextDrawBackgroundColor(playerid, VehicleHUD[playerid][0], 255);
  5226. PlayerTextDrawFont(playerid, VehicleHUD[playerid][0], 3);
  5227. PlayerTextDrawSetProportional(playerid, VehicleHUD[playerid][0], 1);
  5228. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][0], 2);
  5229. VehicleHUD[playerid][1] = CreatePlayerTextDraw(playerid, 552.372192, 128.166625, "~g~0~n~0");
  5230. PlayerTextDrawLetterSize(playerid, VehicleHUD[playerid][1], 0.459970, 1.273333);
  5231. PlayerTextDrawAlignment(playerid, VehicleHUD[playerid][1], 1);
  5232. PlayerTextDrawColor(playerid, VehicleHUD[playerid][1], -1);
  5233. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][1], 2);
  5234. PlayerTextDrawSetOutline(playerid, VehicleHUD[playerid][1], 0);
  5235. PlayerTextDrawBackgroundColor(playerid, VehicleHUD[playerid][1], 255);
  5236. PlayerTextDrawFont(playerid, VehicleHUD[playerid][1], 3);
  5237. PlayerTextDrawSetProportional(playerid, VehicleHUD[playerid][1], 1);
  5238. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][1], 2);
  5239. VehicleHUD[playerid][2] = CreatePlayerTextDraw(playerid, 597.349853, 97.250038, "~g~100__~r~9__~w~15");
  5240. PlayerTextDrawLetterSize(playerid, VehicleHUD[playerid][2], 0.532122, 2.031666);
  5241. PlayerTextDrawAlignment(playerid, VehicleHUD[playerid][2], 3);
  5242. PlayerTextDrawColor(playerid, VehicleHUD[playerid][2], -1);
  5243. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][2], 0);
  5244. PlayerTextDrawSetOutline(playerid, VehicleHUD[playerid][2], 1);
  5245. PlayerTextDrawBackgroundColor(playerid, VehicleHUD[playerid][2], 255);
  5246. PlayerTextDrawFont(playerid, VehicleHUD[playerid][2], 3);
  5247. PlayerTextDrawSetProportional(playerid, VehicleHUD[playerid][2], 1);
  5248. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][2], 0);
  5249. VehicleHUD[playerid][3] = CreatePlayerTextDraw(playerid, 20.131790, 152.666564, "Tahoma_~r~100_90~y~KMH/~r~92~y~MPH~n~~w~Radio_Info:~y~123~n~~w~Slot:~y~11");
  5250. PlayerTextDrawLetterSize(playerid, VehicleHUD[playerid][3], 0.245387, 1.745832);
  5251. PlayerTextDrawAlignment(playerid, VehicleHUD[playerid][3], 1);
  5252. PlayerTextDrawColor(playerid, VehicleHUD[playerid][3], -1);
  5253. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][3], 0);
  5254. PlayerTextDrawSetOutline(playerid, VehicleHUD[playerid][3], 1);
  5255. PlayerTextDrawBackgroundColor(playerid, VehicleHUD[playerid][3], 255);
  5256. PlayerTextDrawFont(playerid, VehicleHUD[playerid][3], 1);
  5257. PlayerTextDrawSetProportional(playerid, VehicleHUD[playerid][3], 1);
  5258. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][3], 0);
  5259. VehicleHUD[playerid][4] = CreatePlayerTextDraw(playerid, 524.729553, 383.083496, "Landstalker");
  5260. PlayerTextDrawLetterSize(playerid, VehicleHUD[playerid][4], 0.495577, 3.367500);
  5261. PlayerTextDrawAlignment(playerid, VehicleHUD[playerid][4], 2);
  5262. PlayerTextDrawColor(playerid, VehicleHUD[playerid][4], 255);
  5263. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][4], 0);
  5264. PlayerTextDrawSetOutline(playerid, VehicleHUD[playerid][4], 1);
  5265. PlayerTextDrawBackgroundColor(playerid, VehicleHUD[playerid][4], -2139062017);
  5266. PlayerTextDrawFont(playerid, VehicleHUD[playerid][4], 2);
  5267. PlayerTextDrawSetProportional(playerid, VehicleHUD[playerid][4], 1);
  5268. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][4], 0);
  5269. VehicleHUD[playerid][5] = CreatePlayerTextDraw(playerid, 590.322448, 413.416870, "~w~0 ~l~0 ~w~1000 ~l~100");
  5270. PlayerTextDrawLetterSize(playerid, VehicleHUD[playerid][5], 0.406558, 2.649996);
  5271. PlayerTextDrawAlignment(playerid, VehicleHUD[playerid][5], 3);
  5272. PlayerTextDrawColor(playerid, VehicleHUD[playerid][5], 255);
  5273. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][5], 0);
  5274. PlayerTextDrawSetOutline(playerid, VehicleHUD[playerid][5], 1);
  5275. PlayerTextDrawBackgroundColor(playerid, VehicleHUD[playerid][5], -2139062017);
  5276. PlayerTextDrawFont(playerid, VehicleHUD[playerid][5], 2);
  5277. PlayerTextDrawSetProportional(playerid, VehicleHUD[playerid][5], 1);
  5278. PlayerTextDrawSetShadow(playerid, VehicleHUD[playerid][5], 0);
  5279. //Order Counter:
  5280. OrderCount[playerid][0] = CreatePlayerTextDraw(playerid, 34.200592, 322.396972, "ORDER_TIME:");
  5281. PlayerTextDrawLetterSize(playerid, OrderCount[playerid][0], 0.300000, 1.205924);
  5282. PlayerTextDrawAlignment(playerid, OrderCount[playerid][0], 1);
  5283. PlayerTextDrawColor(playerid, OrderCount[playerid][0], -457153537);
  5284. PlayerTextDrawSetShadow(playerid, OrderCount[playerid][0], 0);
  5285. PlayerTextDrawSetOutline(playerid, OrderCount[playerid][0], 1);
  5286. PlayerTextDrawBackgroundColor(playerid, OrderCount[playerid][0], 255);
  5287. PlayerTextDrawFont(playerid, OrderCount[playerid][0], 1);
  5288. PlayerTextDrawSetProportional(playerid, OrderCount[playerid][0], 1);
  5289. PlayerTextDrawSetShadow(playerid, OrderCount[playerid][0], 0);
  5290. OrderCount[playerid][1] = CreatePlayerTextDraw(playerid, 104.032882, 322.567382, "00:00:00");
  5291. PlayerTextDrawLetterSize(playerid, OrderCount[playerid][1], 0.300000, 1.205924);
  5292. PlayerTextDrawAlignment(playerid, OrderCount[playerid][1], 1);
  5293. PlayerTextDrawColor(playerid, OrderCount[playerid][1], -1);
  5294. PlayerTextDrawSetShadow(playerid, OrderCount[playerid][1], 0);
  5295. PlayerTextDrawSetOutline(playerid, OrderCount[playerid][1], 1);
  5296. PlayerTextDrawBackgroundColor(playerid, OrderCount[playerid][1], 255);
  5297. PlayerTextDrawFont(playerid, OrderCount[playerid][1], 1);
  5298. PlayerTextDrawSetProportional(playerid, OrderCount[playerid][1], 1);
  5299. PlayerTextDrawSetShadow(playerid, OrderCount[playerid][1], 0);
  5300. //Spectators:
  5301. SpectatorTD[playerid][0] = CreatePlayerTextDraw(playerid, 380.846374, 286.452758, "SPECTATING:");
  5302. PlayerTextDrawLetterSize(playerid, SpectatorTD[playerid][0], 0.206330, 1.118813);
  5303. PlayerTextDrawAlignment(playerid, SpectatorTD[playerid][0], 1);
  5304. PlayerTextDrawColor(playerid, SpectatorTD[playerid][0], -2147483393);
  5305. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][0], 0);
  5306. PlayerTextDrawSetOutline(playerid, SpectatorTD[playerid][0], 1);
  5307. PlayerTextDrawBackgroundColor(playerid, SpectatorTD[playerid][0], 255);
  5308. PlayerTextDrawFont(playerid, SpectatorTD[playerid][0], 2);
  5309. PlayerTextDrawSetProportional(playerid, SpectatorTD[playerid][0], 1);
  5310. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][0], 0);
  5311. SpectatorTD[playerid][1] = CreatePlayerTextDraw(playerid, 442.902862, 286.637817, "firstname-LASTNAMe");
  5312. PlayerTextDrawLetterSize(playerid, SpectatorTD[playerid][1], 0.206330, 1.118813);
  5313. PlayerTextDrawAlignment(playerid, SpectatorTD[playerid][1], 1);
  5314. PlayerTextDrawColor(playerid, SpectatorTD[playerid][1], -490707969);
  5315. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][1], 0);
  5316. PlayerTextDrawSetOutline(playerid, SpectatorTD[playerid][1], 1);
  5317. PlayerTextDrawBackgroundColor(playerid, SpectatorTD[playerid][1], 255);
  5318. PlayerTextDrawFont(playerid, SpectatorTD[playerid][1], 2);
  5319. PlayerTextDrawSetProportional(playerid, SpectatorTD[playerid][1], 1);
  5320. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][1], 0);
  5321. SpectatorTD[playerid][2] = CreatePlayerTextDraw(playerid, 380.946380, 297.553436, "ping:");
  5322. PlayerTextDrawLetterSize(playerid, SpectatorTD[playerid][2], 0.206330, 1.118813);
  5323. PlayerTextDrawAlignment(playerid, SpectatorTD[playerid][2], 1);
  5324. PlayerTextDrawColor(playerid, SpectatorTD[playerid][2], -2147483393);
  5325. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][2], 0);
  5326. PlayerTextDrawSetOutline(playerid, SpectatorTD[playerid][2], 1);
  5327. PlayerTextDrawBackgroundColor(playerid, SpectatorTD[playerid][2], 255);
  5328. PlayerTextDrawFont(playerid, SpectatorTD[playerid][2], 2);
  5329. PlayerTextDrawSetProportional(playerid, SpectatorTD[playerid][2], 1);
  5330. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][2], 0);
  5331. SpectatorTD[playerid][3] = CreatePlayerTextDraw(playerid, 407.800720, 297.538482, "PINGhere");
  5332. PlayerTextDrawLetterSize(playerid, SpectatorTD[playerid][3], 0.206330, 1.118813);
  5333. PlayerTextDrawAlignment(playerid, SpectatorTD[playerid][3], 1);
  5334. PlayerTextDrawColor(playerid, SpectatorTD[playerid][3], -490707969);
  5335. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][3], 0);
  5336. PlayerTextDrawSetOutline(playerid, SpectatorTD[playerid][3], 1);
  5337. PlayerTextDrawBackgroundColor(playerid, SpectatorTD[playerid][3], 255);
  5338. PlayerTextDrawFont(playerid, SpectatorTD[playerid][3], 2);
  5339. PlayerTextDrawSetProportional(playerid, SpectatorTD[playerid][3], 1);
  5340. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][3], 0);
  5341. SpectatorTD[playerid][4] = CreatePlayerTextDraw(playerid, 380.946380, 308.354095, "PACKETLOSS:");
  5342. PlayerTextDrawLetterSize(playerid, SpectatorTD[playerid][4], 0.206330, 1.118813);
  5343. PlayerTextDrawAlignment(playerid, SpectatorTD[playerid][4], 1);
  5344. PlayerTextDrawColor(playerid, SpectatorTD[playerid][4], -2147483393);
  5345. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][4], 0);
  5346. PlayerTextDrawSetOutline(playerid, SpectatorTD[playerid][4], 1);
  5347. PlayerTextDrawBackgroundColor(playerid, SpectatorTD[playerid][4], 255);
  5348. PlayerTextDrawFont(playerid, SpectatorTD[playerid][4], 2);
  5349. PlayerTextDrawSetProportional(playerid, SpectatorTD[playerid][4], 1);
  5350. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][4], 0);
  5351. SpectatorTD[playerid][5] = CreatePlayerTextDraw(playerid, 443.102874, 308.739166, "Plosshere");
  5352. PlayerTextDrawLetterSize(playerid, SpectatorTD[playerid][5], 0.206330, 1.118813);
  5353. PlayerTextDrawAlignment(playerid, SpectatorTD[playerid][5], 1);
  5354. PlayerTextDrawColor(playerid, SpectatorTD[playerid][5], -490707969);
  5355. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][5], 0);
  5356. PlayerTextDrawSetOutline(playerid, SpectatorTD[playerid][5], 1);
  5357. PlayerTextDrawBackgroundColor(playerid, SpectatorTD[playerid][5], 255);
  5358. PlayerTextDrawFont(playerid, SpectatorTD[playerid][5], 2);
  5359. PlayerTextDrawSetProportional(playerid, SpectatorTD[playerid][5], 1);
  5360. PlayerTextDrawSetShadow(playerid, SpectatorTD[playerid][5], 0);
  5361. //Taxi Fair Textdraws:
  5362. TaxiFair_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 99.032882, 309.551818, "duration:");
  5363. PlayerTextDrawLetterSize(playerid, TaxiFair_PTD[playerid][0], 0.231333, 0.961183);
  5364. PlayerTextDrawAlignment(playerid, TaxiFair_PTD[playerid][0], 1);
  5365. PlayerTextDrawColor(playerid, TaxiFair_PTD[playerid][0], -457153537);
  5366. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][0], 0);
  5367. PlayerTextDrawSetOutline(playerid, TaxiFair_PTD[playerid][0], 1);
  5368. PlayerTextDrawBackgroundColor(playerid, TaxiFair_PTD[playerid][0], 255);
  5369. PlayerTextDrawFont(playerid, TaxiFair_PTD[playerid][0], 2);
  5370. PlayerTextDrawSetProportional(playerid, TaxiFair_PTD[playerid][0], 1);
  5371. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][0], 0);
  5372. TaxiFair_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 98.899574, 301.151306, "YOU'RE_IN_A_TAXI_RIDE!");
  5373. PlayerTextDrawLetterSize(playerid, TaxiFair_PTD[playerid][1], 0.231333, 0.961183);
  5374. PlayerTextDrawAlignment(playerid, TaxiFair_PTD[playerid][1], 1);
  5375. PlayerTextDrawColor(playerid, TaxiFair_PTD[playerid][1], -2147483393);
  5376. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][1], 0);
  5377. PlayerTextDrawSetOutline(playerid, TaxiFair_PTD[playerid][1], 1);
  5378. PlayerTextDrawBackgroundColor(playerid, TaxiFair_PTD[playerid][1], 255);
  5379. PlayerTextDrawFont(playerid, TaxiFair_PTD[playerid][1], 2);
  5380. PlayerTextDrawSetProportional(playerid, TaxiFair_PTD[playerid][1], 1);
  5381. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][1], 0);
  5382. TaxiFair_PTD[playerid][2] = CreatePlayerTextDraw(playerid, 154.800765, 309.551818, "0_Seconds");
  5383. PlayerTextDrawLetterSize(playerid, TaxiFair_PTD[playerid][2], 0.231333, 0.961183);
  5384. PlayerTextDrawAlignment(playerid, TaxiFair_PTD[playerid][2], 1);
  5385. PlayerTextDrawColor(playerid, TaxiFair_PTD[playerid][2], -1);
  5386. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][2], 0);
  5387. PlayerTextDrawSetOutline(playerid, TaxiFair_PTD[playerid][2], 1);
  5388. PlayerTextDrawBackgroundColor(playerid, TaxiFair_PTD[playerid][2], 255);
  5389. PlayerTextDrawFont(playerid, TaxiFair_PTD[playerid][2], 2);
  5390. PlayerTextDrawSetProportional(playerid, TaxiFair_PTD[playerid][2], 1);
  5391. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][2], 0);
  5392. TaxiFair_PTD[playerid][3] = CreatePlayerTextDraw(playerid, 99.032882, 318.452362, "PRICE:");
  5393. PlayerTextDrawLetterSize(playerid, TaxiFair_PTD[playerid][3], 0.231333, 0.961183);
  5394. PlayerTextDrawAlignment(playerid, TaxiFair_PTD[playerid][3], 1);
  5395. PlayerTextDrawColor(playerid, TaxiFair_PTD[playerid][3], -457153537);
  5396. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][3], 0);
  5397. PlayerTextDrawSetOutline(playerid, TaxiFair_PTD[playerid][3], 1);
  5398. PlayerTextDrawBackgroundColor(playerid, TaxiFair_PTD[playerid][3], 255);
  5399. PlayerTextDrawFont(playerid, TaxiFair_PTD[playerid][3], 2);
  5400. PlayerTextDrawSetProportional(playerid, TaxiFair_PTD[playerid][3], 1);
  5401. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][3], 0);
  5402. TaxiFair_PTD[playerid][4] = CreatePlayerTextDraw(playerid, 133.632781, 318.452362, "$0.00");
  5403. PlayerTextDrawLetterSize(playerid, TaxiFair_PTD[playerid][4], 0.231333, 0.961183);
  5404. PlayerTextDrawAlignment(playerid, TaxiFair_PTD[playerid][4], 1);
  5405. PlayerTextDrawColor(playerid, TaxiFair_PTD[playerid][4], -1);
  5406. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][4], 0);
  5407. PlayerTextDrawSetOutline(playerid, TaxiFair_PTD[playerid][4], 1);
  5408. PlayerTextDrawBackgroundColor(playerid, TaxiFair_PTD[playerid][4], 255);
  5409. PlayerTextDrawFont(playerid, TaxiFair_PTD[playerid][4], 2);
  5410. PlayerTextDrawSetProportional(playerid, TaxiFair_PTD[playerid][4], 1);
  5411. PlayerTextDrawSetShadow(playerid, TaxiFair_PTD[playerid][4], 0);
  5412. //Unscrambler Textdraws:
  5413. Unscrambler_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 199.873275, 273.593383, "<UNSCRAMBLED_WORD>");
  5414. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][0], 0.206330, 1.118813);
  5415. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][0], 1);
  5416. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][0], -1);
  5417. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][0], 0);
  5418. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][0], 1);
  5419. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][0], 255);
  5420. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][0], 2);
  5421. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][0], 1);
  5422. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][0], 0);
  5423. Unscrambler_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 137.369461, 273.593383, "/unscramble");
  5424. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][1], 0.206330, 1.118813);
  5425. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][1], 1);
  5426. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][1], -490707969);
  5427. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][1], 0);
  5428. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][1], 1);
  5429. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][1], 255);
  5430. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][1], 2);
  5431. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][1], 1);
  5432. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][1], 0);
  5433. Unscrambler_PTD[playerid][2] = CreatePlayerTextDraw(playerid, 305.179687, 273.593383, "TO_UNSCRAMBLE_THE_WORD");
  5434. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][2], 0.206330, 1.118813);
  5435. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][2], 1);
  5436. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][2], -2147483393);
  5437. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][2], 0);
  5438. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][2], 1);
  5439. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][2], 255);
  5440. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][2], 2);
  5441. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][2], 1);
  5442. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][2], 0);
  5443. Unscrambler_PTD[playerid][3] = CreatePlayerTextDraw(playerid, 141.369705, 285.194091, "scrambledword");
  5444. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][3], 0.206330, 1.118813);
  5445. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][3], 1);
  5446. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][3], -1);
  5447. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][3], 0);
  5448. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][3], 1);
  5449. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][3], 255);
  5450. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][3], 2);
  5451. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][3], 1);
  5452. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][3], 0);
  5453. Unscrambler_PTD[playerid][4] = CreatePlayerTextDraw(playerid, 137.902801, 296.924377, "YOU_HAVE");
  5454. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][4], 0.206330, 1.118813);
  5455. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][4], 1);
  5456. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][4], -2147483393);
  5457. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][4], 0);
  5458. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][4], 1);
  5459. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][4], 255);
  5460. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][4], 2);
  5461. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][4], 1);
  5462. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][4], 0);
  5463. Unscrambler_PTD[playerid][5] = CreatePlayerTextDraw(playerid, 184.539016, 297.024383, "001");
  5464. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][5], 0.206330, 1.118813);
  5465. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][5], 1);
  5466. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][5], -1);
  5467. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][5], 0);
  5468. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][5], 1);
  5469. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][5], 255);
  5470. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][5], 2);
  5471. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][5], 1);
  5472. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][5], 0);
  5473. Unscrambler_PTD[playerid][6] = CreatePlayerTextDraw(playerid, 202.540191, 297.124389, "SECONDS_LEFT_TO_FINISh.");
  5474. PlayerTextDrawLetterSize(playerid, Unscrambler_PTD[playerid][6], 0.206330, 1.118813);
  5475. PlayerTextDrawAlignment(playerid, Unscrambler_PTD[playerid][6], 1);
  5476. PlayerTextDrawColor(playerid, Unscrambler_PTD[playerid][6], -2147483393);
  5477. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][6], 0);
  5478. PlayerTextDrawSetOutline(playerid, Unscrambler_PTD[playerid][6], 1);
  5479. PlayerTextDrawBackgroundColor(playerid, Unscrambler_PTD[playerid][6], 255);
  5480. PlayerTextDrawFont(playerid, Unscrambler_PTD[playerid][6], 2);
  5481. PlayerTextDrawSetProportional(playerid, Unscrambler_PTD[playerid][6], 1);
  5482. PlayerTextDrawSetShadow(playerid, Unscrambler_PTD[playerid][6], 0);
  5483. //Skin menu
  5484. Skinmenu_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 434.965545, 236.270599, "LD_BEAT:right");
  5485. PlayerTextDrawLetterSize(playerid, Skinmenu_PTD[playerid][0], 0.000000, 0.000000);
  5486. PlayerTextDrawTextSize(playerid, Skinmenu_PTD[playerid][0], 25.000000, 27.000000);
  5487. PlayerTextDrawAlignment(playerid, Skinmenu_PTD[playerid][0], 1);
  5488. PlayerTextDrawColor(playerid, Skinmenu_PTD[playerid][0], -1);
  5489. PlayerTextDrawSetShadow(playerid, Skinmenu_PTD[playerid][0], 0);
  5490. PlayerTextDrawSetOutline(playerid, Skinmenu_PTD[playerid][0], 0);
  5491. PlayerTextDrawBackgroundColor(playerid, Skinmenu_PTD[playerid][0], 255);
  5492. PlayerTextDrawFont(playerid, Skinmenu_PTD[playerid][0], 4);
  5493. PlayerTextDrawSetProportional(playerid, Skinmenu_PTD[playerid][0], 0);
  5494. PlayerTextDrawSetShadow(playerid, Skinmenu_PTD[playerid][0], 0);
  5495. PlayerTextDrawSetSelectable(playerid, Skinmenu_PTD[playerid][0], true);
  5496. Skinmenu_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 356.360748, 236.270599, "LD_BEAT:left");
  5497. PlayerTextDrawLetterSize(playerid, Skinmenu_PTD[playerid][1], 0.000000, 0.000000);
  5498. PlayerTextDrawTextSize(playerid, Skinmenu_PTD[playerid][1], 25.000000, 27.000000);
  5499. PlayerTextDrawAlignment(playerid, Skinmenu_PTD[playerid][1], 1);
  5500. PlayerTextDrawColor(playerid, Skinmenu_PTD[playerid][1], -1);
  5501. PlayerTextDrawSetShadow(playerid, Skinmenu_PTD[playerid][1], 0);
  5502. PlayerTextDrawSetOutline(playerid, Skinmenu_PTD[playerid][1], 0);
  5503. PlayerTextDrawBackgroundColor(playerid, Skinmenu_PTD[playerid][1], 255);
  5504. PlayerTextDrawFont(playerid, Skinmenu_PTD[playerid][1], 4);
  5505. PlayerTextDrawSetProportional(playerid, Skinmenu_PTD[playerid][1], 0);
  5506. PlayerTextDrawSetShadow(playerid, Skinmenu_PTD[playerid][1], 0);
  5507. PlayerTextDrawSetSelectable(playerid, Skinmenu_PTD[playerid][1], true);
  5508. Skinmenu_PTD[playerid][2] = CreatePlayerTextDraw(playerid, 319.200164, 60.496173, "");
  5509. PlayerTextDrawLetterSize(playerid, Skinmenu_PTD[playerid][2], 0.000000, 0.000000);
  5510. PlayerTextDrawTextSize(playerid, Skinmenu_PTD[playerid][2], 168.000000, 179.000000);
  5511. PlayerTextDrawAlignment(playerid, Skinmenu_PTD[playerid][2], 1);
  5512. PlayerTextDrawColor(playerid, Skinmenu_PTD[playerid][2], -1);
  5513. PlayerTextDrawSetShadow(playerid, Skinmenu_PTD[playerid][2], 0);
  5514. PlayerTextDrawSetOutline(playerid, Skinmenu_PTD[playerid][2], 0);
  5515. PlayerTextDrawBackgroundColor(playerid, Skinmenu_PTD[playerid][2], 0);
  5516. PlayerTextDrawFont(playerid, Skinmenu_PTD[playerid][2], 5);
  5517. PlayerTextDrawSetProportional(playerid, Skinmenu_PTD[playerid][2], 0);
  5518. PlayerTextDrawSetShadow(playerid, Skinmenu_PTD[playerid][2], 0);
  5519. PlayerTextDrawSetSelectable(playerid, Skinmenu_PTD[playerid][2], true);
  5520. PlayerTextDrawSetPreviewModel(playerid, Skinmenu_PTD[playerid][2], 1);
  5521. PlayerTextDrawSetPreviewRot(playerid, Skinmenu_PTD[playerid][2], 0.000000, 0.000000, 0.000000, 1.000000);
  5522. //Trucker Job Earnings
  5523. TruckerEarning_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 2.000023, 165.525863, "EARNINGS:");
  5524. PlayerTextDrawLetterSize(playerid, TruckerEarning_PTD[playerid][0], 0.289333, 1.210073);
  5525. PlayerTextDrawAlignment(playerid, TruckerEarning_PTD[playerid][0], 1);
  5526. PlayerTextDrawColor(playerid, TruckerEarning_PTD[playerid][0], -1);
  5527. PlayerTextDrawSetShadow(playerid, TruckerEarning_PTD[playerid][0], 0);
  5528. PlayerTextDrawSetOutline(playerid, TruckerEarning_PTD[playerid][0], 1);
  5529. PlayerTextDrawBackgroundColor(playerid, TruckerEarning_PTD[playerid][0], 255);
  5530. PlayerTextDrawFont(playerid, TruckerEarning_PTD[playerid][0], 2);
  5531. PlayerTextDrawSetProportional(playerid, TruckerEarning_PTD[playerid][0], 1);
  5532. PlayerTextDrawSetShadow(playerid, TruckerEarning_PTD[playerid][0], 0);
  5533. TruckerEarning_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 1.900024, 177.156143, "$0");
  5534. PlayerTextDrawLetterSize(playerid, TruckerEarning_PTD[playerid][1], 0.289333, 1.210073);
  5535. PlayerTextDrawAlignment(playerid, TruckerEarning_PTD[playerid][1], 1);
  5536. PlayerTextDrawColor(playerid, TruckerEarning_PTD[playerid][1], -1523963137);
  5537. PlayerTextDrawSetShadow(playerid, TruckerEarning_PTD[playerid][1], 0);
  5538. PlayerTextDrawSetOutline(playerid, TruckerEarning_PTD[playerid][1], 1);
  5539. PlayerTextDrawBackgroundColor(playerid, TruckerEarning_PTD[playerid][1], 255);
  5540. PlayerTextDrawFont(playerid, TruckerEarning_PTD[playerid][1], 2);
  5541. PlayerTextDrawSetProportional(playerid, TruckerEarning_PTD[playerid][1], 1);
  5542. PlayerTextDrawSetShadow(playerid, TruckerEarning_PTD[playerid][1], 0);
  5543. //Trucker Warning
  5544. TruckerWarning_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 97.333351, 291.629669, "RETURN_TO_YOUR_TRUCK_OR_ENTER_THE_CHECKPOINT!");
  5545. PlayerTextDrawLetterSize(playerid, TruckerWarning_PTD[playerid][0], 0.216666, 1.139555);
  5546. PlayerTextDrawAlignment(playerid, TruckerWarning_PTD[playerid][0], 1);
  5547. PlayerTextDrawColor(playerid, TruckerWarning_PTD[playerid][0], -1523963137);
  5548. PlayerTextDrawSetShadow(playerid, TruckerWarning_PTD[playerid][0], 0);
  5549. PlayerTextDrawSetOutline(playerid, TruckerWarning_PTD[playerid][0], 1);
  5550. PlayerTextDrawBackgroundColor(playerid, TruckerWarning_PTD[playerid][0], 255);
  5551. PlayerTextDrawFont(playerid, TruckerWarning_PTD[playerid][0], 2);
  5552. PlayerTextDrawSetProportional(playerid, TruckerWarning_PTD[playerid][0], 1);
  5553. PlayerTextDrawSetShadow(playerid, TruckerWarning_PTD[playerid][0], 0);
  5554. TruckerWarning_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 96.799972, 301.485900, "TIME_LEFT:_60_Seconds");
  5555. PlayerTextDrawLetterSize(playerid, TruckerWarning_PTD[playerid][1], 0.210332, 1.122962);
  5556. PlayerTextDrawAlignment(playerid, TruckerWarning_PTD[playerid][1], 1);
  5557. PlayerTextDrawColor(playerid, TruckerWarning_PTD[playerid][1], -1);
  5558. PlayerTextDrawSetShadow(playerid, TruckerWarning_PTD[playerid][1], 0);
  5559. PlayerTextDrawSetOutline(playerid, TruckerWarning_PTD[playerid][1], 1);
  5560. PlayerTextDrawBackgroundColor(playerid, TruckerWarning_PTD[playerid][1], 255);
  5561. PlayerTextDrawFont(playerid, TruckerWarning_PTD[playerid][1], 2);
  5562. PlayerTextDrawSetProportional(playerid, TruckerWarning_PTD[playerid][1], 1);
  5563. PlayerTextDrawSetShadow(playerid, TruckerWarning_PTD[playerid][1], 0);
  5564. //Trucker job Textdraws
  5565. TruckerJob_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 97.333351, 291.629669, "TRUCKER_MISSION");
  5566. PlayerTextDrawLetterSize(playerid, TruckerJob_PTD[playerid][0], 0.216666, 1.139555);
  5567. PlayerTextDrawAlignment(playerid, TruckerJob_PTD[playerid][0], 1);
  5568. PlayerTextDrawColor(playerid, TruckerJob_PTD[playerid][0], -1523963137);
  5569. PlayerTextDrawSetShadow(playerid, TruckerJob_PTD[playerid][0], 0);
  5570. PlayerTextDrawSetOutline(playerid, TruckerJob_PTD[playerid][0], 1);
  5571. PlayerTextDrawBackgroundColor(playerid, TruckerJob_PTD[playerid][0], 255);
  5572. PlayerTextDrawFont(playerid, TruckerJob_PTD[playerid][0], 2);
  5573. PlayerTextDrawSetProportional(playerid, TruckerJob_PTD[playerid][0], 1);
  5574. PlayerTextDrawSetShadow(playerid, TruckerJob_PTD[playerid][0], 0);
  5575. TruckerJob_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 96.799972, 301.485900, "YOU_ARE_NOW_TRUCKING");
  5576. PlayerTextDrawLetterSize(playerid, TruckerJob_PTD[playerid][1], 0.210332, 1.122962);
  5577. PlayerTextDrawAlignment(playerid, TruckerJob_PTD[playerid][1], 1);
  5578. PlayerTextDrawColor(playerid, TruckerJob_PTD[playerid][1], -1);
  5579. PlayerTextDrawSetShadow(playerid, TruckerJob_PTD[playerid][1], 0);
  5580. PlayerTextDrawSetOutline(playerid, TruckerJob_PTD[playerid][1], 1);
  5581. PlayerTextDrawBackgroundColor(playerid, TruckerJob_PTD[playerid][1], 255);
  5582. PlayerTextDrawFont(playerid, TruckerJob_PTD[playerid][1], 2);
  5583. PlayerTextDrawSetProportional(playerid, TruckerJob_PTD[playerid][1], 1);
  5584. PlayerTextDrawSetShadow(playerid, TruckerJob_PTD[playerid][1], 0);
  5585. //New job textdraw
  5586. Getjob_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 97.333351, 291.629669, "CONGRATULATIONS!");
  5587. PlayerTextDrawLetterSize(playerid, Getjob_PTD[playerid][0], 0.216666, 1.139555);
  5588. PlayerTextDrawAlignment(playerid, Getjob_PTD[playerid][0], 1);
  5589. PlayerTextDrawColor(playerid, Getjob_PTD[playerid][0], -1523963137);
  5590. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][0], 0);
  5591. PlayerTextDrawSetOutline(playerid, Getjob_PTD[playerid][0], 1);
  5592. PlayerTextDrawBackgroundColor(playerid, Getjob_PTD[playerid][0], 255);
  5593. PlayerTextDrawFont(playerid, Getjob_PTD[playerid][0], 2);
  5594. PlayerTextDrawSetProportional(playerid, Getjob_PTD[playerid][0], 1);
  5595. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][0], 0);
  5596. Getjob_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 169.702743, 301.385894, "JOB_NAME.");
  5597. PlayerTextDrawLetterSize(playerid, Getjob_PTD[playerid][1], 0.206332, 1.118814);
  5598. PlayerTextDrawAlignment(playerid, Getjob_PTD[playerid][1], 1);
  5599. PlayerTextDrawColor(playerid, Getjob_PTD[playerid][1], -490707969);
  5600. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][1], 0);
  5601. PlayerTextDrawSetOutline(playerid, Getjob_PTD[playerid][1], 1);
  5602. PlayerTextDrawBackgroundColor(playerid, Getjob_PTD[playerid][1], 255);
  5603. PlayerTextDrawFont(playerid, Getjob_PTD[playerid][1], 2);
  5604. PlayerTextDrawSetProportional(playerid, Getjob_PTD[playerid][1], 1);
  5605. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][1], 0);
  5606. Getjob_PTD[playerid][2] = CreatePlayerTextDraw(playerid, 96.799972, 301.485900, "YOU_ARE_NOW_A");
  5607. PlayerTextDrawLetterSize(playerid, Getjob_PTD[playerid][2], 0.210332, 1.122962);
  5608. PlayerTextDrawAlignment(playerid, Getjob_PTD[playerid][2], 1);
  5609. PlayerTextDrawColor(playerid, Getjob_PTD[playerid][2], -1);
  5610. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][2], 0);
  5611. PlayerTextDrawSetOutline(playerid, Getjob_PTD[playerid][2], 1);
  5612. PlayerTextDrawBackgroundColor(playerid, Getjob_PTD[playerid][2], 255);
  5613. PlayerTextDrawFont(playerid, Getjob_PTD[playerid][2], 2);
  5614. PlayerTextDrawSetProportional(playerid, Getjob_PTD[playerid][2], 1);
  5615. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][2], 0);
  5616. Getjob_PTD[playerid][3] = CreatePlayerTextDraw(playerid, 97.766632, 311.686523, "/jobhelp.");
  5617. PlayerTextDrawLetterSize(playerid, Getjob_PTD[playerid][3], 0.219332, 1.089777);
  5618. PlayerTextDrawAlignment(playerid, Getjob_PTD[playerid][3], 1);
  5619. PlayerTextDrawColor(playerid, Getjob_PTD[playerid][3], -1);
  5620. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][3], 0);
  5621. PlayerTextDrawSetOutline(playerid, Getjob_PTD[playerid][3], 1);
  5622. PlayerTextDrawBackgroundColor(playerid, Getjob_PTD[playerid][3], 255);
  5623. PlayerTextDrawFont(playerid, Getjob_PTD[playerid][3], 2);
  5624. PlayerTextDrawSetProportional(playerid, Getjob_PTD[playerid][3], 1);
  5625. PlayerTextDrawSetShadow(playerid, Getjob_PTD[playerid][3], 0);
  5626. //Trace System
  5627. Trace_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 98.632888, 309.551818, "TRACE_INITIATED");
  5628. PlayerTextDrawLetterSize(playerid, Trace_PTD[playerid][0], 0.300000, 1.205925);
  5629. PlayerTextDrawAlignment(playerid, Trace_PTD[playerid][0], 1);
  5630. PlayerTextDrawColor(playerid, Trace_PTD[playerid][0], -457153537);
  5631. PlayerTextDrawSetShadow(playerid, Trace_PTD[playerid][0], 0);
  5632. PlayerTextDrawSetOutline(playerid, Trace_PTD[playerid][0], 1);
  5633. PlayerTextDrawBackgroundColor(playerid, Trace_PTD[playerid][0], 255);
  5634. PlayerTextDrawFont(playerid, Trace_PTD[playerid][0], 2);
  5635. PlayerTextDrawSetProportional(playerid, Trace_PTD[playerid][0], 1);
  5636. PlayerTextDrawSetShadow(playerid, Trace_PTD[playerid][0], 0);
  5637. //Dealership Carbuy
  5638. CarBought_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 97.333351, 291.629669, "YOUR_NEW_PLATE_HAS_BEEN_SET");
  5639. PlayerTextDrawLetterSize(playerid, CarBought_PTD[playerid][0], 0.248666, 1.259851);
  5640. PlayerTextDrawAlignment(playerid, CarBought_PTD[playerid][0], 1);
  5641. PlayerTextDrawColor(playerid, CarBought_PTD[playerid][0], -1);
  5642. PlayerTextDrawSetShadow(playerid, CarBought_PTD[playerid][0], 0);
  5643. PlayerTextDrawSetOutline(playerid, CarBought_PTD[playerid][0], 1);
  5644. PlayerTextDrawBackgroundColor(playerid, CarBought_PTD[playerid][0], 255);
  5645. PlayerTextDrawFont(playerid, CarBought_PTD[playerid][0], 2);
  5646. PlayerTextDrawSetProportional(playerid, CarBought_PTD[playerid][0], 1);
  5647. PlayerTextDrawSetShadow(playerid, CarBought_PTD[playerid][0], 0);
  5648. CarBought_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 97.533348, 302.630340, "PLATEHERE");
  5649. PlayerTextDrawLetterSize(playerid, CarBought_PTD[playerid][1], 0.248666, 1.259851);
  5650. PlayerTextDrawAlignment(playerid, CarBought_PTD[playerid][1], 1);
  5651. PlayerTextDrawColor(playerid, CarBought_PTD[playerid][1], -490707969);
  5652. PlayerTextDrawSetShadow(playerid, CarBought_PTD[playerid][1], 0);
  5653. PlayerTextDrawSetOutline(playerid, CarBought_PTD[playerid][1], 1);
  5654. PlayerTextDrawBackgroundColor(playerid, CarBought_PTD[playerid][1], 255);
  5655. PlayerTextDrawFont(playerid, CarBought_PTD[playerid][1], 2);
  5656. PlayerTextDrawSetProportional(playerid, CarBought_PTD[playerid][1], 1);
  5657. PlayerTextDrawSetShadow(playerid, CarBought_PTD[playerid][1], 0);
  5658. AdmWarmToggle[playerid] = 1;
  5659. TogglePMs[playerid] = 1;
  5660. return 1;
  5661. }
  5662. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  5663. {
  5664. switch(dialogid)
  5665. {
  5666. /*case DIALOG_REG1: {
  5667. if (!response)
  5668. return KickEx(playerid);
  5669. if (strlen(inputtext) < 1)
  5670. return ShowPlayerDialog(playerid, DIALOG_REG1, DIALOG_STYLE_INPUT, "Question 1", PlayerRegQuestion[playerid][playerRegQuestion][0], "Submit", "Exit");
  5671. format(PlayerRegQuestion[playerid][playerRegAnswer][0], 128, "%s", inputtext);
  5672. ShowPlayerDialog(playerid, DIALOG_REG2, DIALOG_STYLE_INPUT, "Question 2", PlayerRegQuestion[playerid][playerRegQuestion][1], "Submit", "Exit");
  5673. }
  5674. case DIALOG_REG2: {
  5675. if (!response)
  5676. return KickEx(playerid);
  5677. if (strlen(inputtext) < 1)
  5678. return ShowPlayerDialog(playerid, DIALOG_REG2, DIALOG_STYLE_INPUT, "Question 2", PlayerRegQuestion[playerid][playerRegQuestion][1], "Submit", "Exit");
  5679. format(PlayerRegQuestion[playerid][playerRegAnswer][1], 128, "%s", inputtext);
  5680. ShowPlayerDialog(playerid, DIALOG_REG3, DIALOG_STYLE_INPUT, "Question 3", PlayerRegQuestion[playerid][playerRegQuestion][2], "Submit", "Exit");
  5681. }
  5682. case DIALOG_REG3: {
  5683. if (!response)
  5684. return KickEx(playerid);
  5685. if (strlen(inputtext) < 1)
  5686. return ShowPlayerDialog(playerid, DIALOG_REG3, DIALOG_STYLE_INPUT, "Question 3", PlayerRegQuestion[playerid][playerRegQuestion][2], "Submit", "Exit");
  5687. format(PlayerRegQuestion[playerid][playerRegAnswer][2], 128, "%s", inputtext);
  5688. ShowPlayerDialog(playerid, DIALOG_REG4, DIALOG_STYLE_INPUT, "Thank you!", "{FFFFFF}Your application has been submitted!\n{FFFFFF}Please wait for a helper to review it.\n\n{FF0000}Do not log off otherwise you will have to redo the quiz!", "Status", "");
  5689. }
  5690. case DIALOG_REG4: {
  5691. if (!response)
  5692. return ShowPlayerDialog(playerid, DIALOG_REG4, DIALOG_STYLE_INPUT, "Thank you!", "{FFFFFF}Your application has been submitted!\n{FFFFFF}Please wait for an admin to review it.\n\n{FF0000}Do not log off otherwise you will have to redo the quiz!", "Status", "");
  5693. adminWarn(1, sprintf("%s (id: %d) has submitted a registration quiz. /review %d to answer it.", ReturnName(playerid, 1), playerid, playerid));
  5694. PlayerAwaitingRegistration[playerid] = true;
  5695. PlayerRegWait[playerid] = 60;
  5696. }*/
  5697. // "24/7\nDealerships\nBanks\nJobs"
  5698. /*
  5699. case 0: string = "Unemployed";
  5700. case 1: string = "Mechanic";
  5701. case 2: string = "Fisherman";
  5702. case 3: string = "Taxi Driver";
  5703. case 4: string = "Trucker"; */
  5704. /*case DIALOG_GPS1: {
  5705. if (!response) return 1;
  5706. switch (listitem) {
  5707. case 0: {
  5708. return ShowPlayerDialog(playerid, DIALOG_GPS2, DIALOG_STYLE_MSGBOX, "GPS > 24/7", "GPS's are strategically placed around the map.\nYou can usually identify them by their exterior.", "Back", "");
  5709. }
  5710. case 1: {
  5711. return ShowPlayerDialog(playerid, DIALOG_GPS3, DIALOG_STYLE_MSGBOX, "GPS > Dealerships", "The dealerships are located at two locations. Rodeo Dealership, or Grotti's, and Commerce Dealership.\nYou can also upgrade your vehicle's at these dealerships.");
  5712. }
  5713. case 2: {
  5714. return ShowPlayerDialog(playerid, DIALOG_GPS4, DIALOG_STYLE_MSGBOX, "GPS > Banks", "The Bank is located in Rodeo, right next to the Rodeo Dealership.\nYou can withdraw, deposit and withdraw/deposit into your savings account here.");
  5715. }
  5716. case 3: {
  5717. static string[] = EOS, jobDesc[32], jobName[16], bool:jobVehicle;
  5718. for (new i = 1; i < 6; i++) {
  5719. jobDesc[0] = EOS;
  5720. jobName[0] = EOS;
  5721. jobVehicle = false;
  5722. switch (i) {
  5723. case 1: {
  5724. jobName = "Mechanic";
  5725. jobDesc = "Repair, tow and respray cars for a fee";
  5726. jobVehicle = true;
  5727. }
  5728. case 2: {
  5729. jobName = "Taxi Driver";
  5730. jobDesc = "Drive players about";
  5731. jobVehicle = true;
  5732. }
  5733. case 3: {
  5734. jobName = "Trucker";
  5735. jobDesc = "Truck, truck, truck. Makes roughly 1K per run";
  5736. jobVehicle = false;
  5737. }
  5738. }
  5739. strcat(string, sprintf("%s\t%s\t%s\n", jobName, jobDesc, (jobVehicle ? "Yes" : "No")));
  5740. }
  5741. return ShowPlayerDialog(playerid, DIALOG_GPS5, DIALOG_STYLE_TABLIST_HEADERS,
  5742. sprintf("GPS > Jobs", "Job Name\tJob Description\tPersonal Vehicle Needed?\n\
  5743. %s", string
  5744. ), "Back", "");
  5745. }
  5746. default: {
  5747. SendClientMessage(playerid, COLOR_ADM, "GPS: Invalid option selected!");
  5748. }
  5749. }
  5750. return 1;
  5751. }*/
  5752. case DIALOG_CONFIRM_SYS:{
  5753. ConfirmDialog_Response(playerid, response);
  5754. }
  5755. case DIALOG_REGISTER:{
  5756. if(!response) return Kick(playerid);
  5757. if(strlen(inputtext) < 3 || strlen(inputtext) > 30){
  5758. ShowRegisterDialog(playerid, "Your password length should be above 3 chars AND below 30 chars long.");
  5759. return true;
  5760. }
  5761. new thstndrd[10];
  5762. switch(CountRegister() + 1)
  5763. {
  5764. case 1,21,31: format(thstndrd, sizeof(thstndrd), "st");
  5765. case 2,22: format(thstndrd, sizeof(thstndrd), "nd");
  5766. case 3,23: format(thstndrd, sizeof(thstndrd), "rd");
  5767. default: format(thstndrd, sizeof(thstndrd), "th");
  5768. }
  5769. SetPlayerCamera(playerid);
  5770. format(PlayerPassword[playerid], 90, "%s", inputtext);
  5771. Message(playerid, COLOR_GOLD, "Welcome to San Andreas '92 Singleplayer Roleplay, %s {FFFFFF}["REVISION"]", ReturnName(playerid));
  5772. SendClientMessage(playerid, -1, " ");
  5773. Message(playerid, COLOR_WHITE, "* You will be our %i%s registered user.", (CountRegister() + 1), thstndrd);
  5774. SendClientMessage(playerid, COLOR_WHITE, "* Before you can spawn you'll go through this short introduction to our server.");
  5775. SendClientMessage(playerid, COLOR_WHITE, "* You can through slides by pressing SPACE.");
  5776. PlayerTutorial[playerid] = 1;
  5777. PlayerTutorialTimer[playerid] = SetTimerEx("StartPlayerTutorial", 3000, false, "i", playerid);
  5778. }
  5779. case DIALOG_LOGIN: {
  5780. if(!response)return Kick(playerid);
  5781. if(strlen(inputtext) < 3 || strlen(inputtext) > 128){
  5782. ShowLoginDialog(playerid, "The password you inputted does not match the password criteria.");
  5783. PlayerData[playerid][pPassAttempts]++;
  5784. if(PlayerData[playerid][pPassAttempts] == 4){
  5785. SendClientMessage(playerid, COLOR_ADM, "SERVER:{FFFFFF} You were kicked for exceeding three password attempts.");
  5786. KickEx(playerid);
  5787. }
  5788. return true;
  5789. }
  5790. new
  5791. query[190];
  5792. mysql_format(m_Handle, query, sizeof(query), "SELECT id, IP, SecretWord FROM players WHERE Name = '%e' AND Password = sha1('%e') LIMIT 1", ReturnName(playerid, 1), inputtext);
  5793. mysql_pquery(m_Handle, query, "SQL_OnAccountLogin", "i", playerid);
  5794. }
  5795. case DIALOG_ADMINPM:
  5796. {
  5797. if(response)
  5798. {
  5799. new
  5800. name_colorA[60],
  5801. name_colorB[60];
  5802. new text[128], playerb;
  5803. format(text, 128, "%s", PlayerData[playerid][pPMText]);
  5804. playerb = PlayerData[playerid][pPMing];
  5805. // 2 lazy to change them all to PMText;
  5806. if(PlayerData[playerid][pAdminDuty])
  5807. format(name_colorA, 60, "{FF9900}%s", ReturnName(playerid));
  5808. else format(name_colorA, 60, "%s", ReturnName(playerid));
  5809. if(PlayerData[playerb][pAdminDuty])
  5810. format(name_colorB, 60, "{FF9900}%s", ReturnName(playerb));
  5811. else format(name_colorB, 60, "%s", ReturnName(playerb));
  5812. foreach(new i : Player)
  5813. {
  5814. if(PlayerData[i][pSpectator] == playerid)
  5815. {
  5816. Message(i, COLOR_PMSEN, "%s[%i] PM to %s[%i]: %s", name_colorA, playerid, name_colorB, playerb, text);
  5817. }
  5818. if(PlayerData[i][pSpectator] == playerb)
  5819. {
  5820. Message(i, COLOR_PMREC, "%s[%i] PM to %s[%i]: %s", name_colorA, playerid, name_colorB, playerb, text);
  5821. }
  5822. }
  5823. if(strlen(text) > 75)
  5824. {
  5825. Message(playerid, COLOR_PMSEN, "(( PM to %s{EEE854}[%i]: %.75s... ))", name_colorB, playerb, text);
  5826. Message(playerid, COLOR_PMSEN, "(( PM to %s{EEE854}[%i]: ...%s ))", name_colorB, playerb, text[75]);
  5827. Message(playerb, COLOR_PMREC, "(( PM from %s{FFDC18}[%i]: %.75s... ))", name_colorA, playerid, text);
  5828. Message(playerb, COLOR_PMREC, "(( PM from %s{FFDC18}[%i]: ...%s ))", name_colorA, playerid, text[75]);
  5829. }
  5830. else
  5831. {
  5832. Message(playerid, COLOR_PMSEN, "(( PM to %s{ECCD2D}[%i]: %s ))", name_colorB, playerb, text);
  5833. Message(playerb, COLOR_PMREC, "(( PM from %s{FFDC18}[%i]: %s ))", name_colorA, playerid, text);
  5834. }
  5835. CanPMAdmin[playerid][playerb] = 1;
  5836. WriteLog("chat_logs/pm_log.txt", "[%s] %s PMed %s: %s.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), text);
  5837. return 1;
  5838. }
  5839. else format(PlayerData[playerid][pPMText], 128, "");
  5840. return 1;
  5841. }
  5842. case DIALOG_PDSKINS:{
  5843. switch(listitem){
  5844. case 0: SetPlayerSkin(playerid, 280);
  5845. case 1: SetPlayerSkin(playerid, 300);
  5846. case 2: SetPlayerSkin(playerid, 281);
  5847. case 3: SetPlayerSkin(playerid, 301);
  5848. case 4: SetPlayerSkin(playerid, 306);
  5849. case 5: SetPlayerSkin(playerid, 307);
  5850. case 6: SetPlayerSkin(playerid, 265);
  5851. case 7: SetPlayerSkin(playerid, 267);
  5852. case 8: SetPlayerSkin(playerid, 266);
  5853. case 9: SetPlayerSkin(playerid, 284);
  5854. case 10: SetPlayerSkin(playerid, 61);
  5855. case 11: SetPlayerSkin(playerid, 93);
  5856. }
  5857. return 1;
  5858. }
  5859. case DIALOG_SDSKINS:{
  5860. switch(listitem){
  5861. case 0: SetPlayerSkin(playerid, 71);
  5862. case 1: SetPlayerSkin(playerid, 282);
  5863. case 2: SetPlayerSkin(playerid, 302);
  5864. case 3: SetPlayerSkin(playerid, 309);
  5865. case 4: SetPlayerSkin(playerid, 283);
  5866. case 5: SetPlayerSkin(playerid, 310);
  5867. case 6: SetPlayerSkin(playerid, 288);
  5868. case 7: SetPlayerSkin(playerid, 311);
  5869. case 8: SetPlayerSkin(playerid, 211);
  5870. case 9: SetPlayerSkin(playerid, 93);
  5871. case 10: SetPlayerSkin(playerid, 284);
  5872. case 11: SetPlayerSkin(playerid, 61);
  5873. case 12: SetPlayerSkin(playerid, 150);
  5874. }
  5875. return 1;
  5876. }
  5877. case DIALOG_FDSKINS:{
  5878. switch(listitem)
  5879. {
  5880. case 0: SetPlayerSkin(playerid, 274);
  5881. case 1: SetPlayerSkin(playerid, 275);
  5882. case 2: SetPlayerSkin(playerid, 276);
  5883. case 3: SetPlayerSkin(playerid, 308);
  5884. case 4: SetPlayerSkin(playerid, 277);
  5885. case 5: SetPlayerSkin(playerid, 278);
  5886. case 6: SetPlayerSkin(playerid, 279);
  5887. }
  5888. return 1;
  5889. }
  5890. case DIALOG_TOLLS:{
  5891. if(response){
  5892. new string[129], longstr[256];
  5893. //bf605c locked
  5894. new lslvStatus[90], lslvLock[90];
  5895. new flintStatus[90], flintLock[90];
  5896. new richStatus[90], richLock[90];
  5897. if(TollsData[1][tollStatus] == 1)
  5898. format(lslvStatus, sizeof(lslvStatus), "Opened");
  5899. else
  5900. format(lslvStatus, sizeof(lslvStatus), "Closed");
  5901. if(TollsData[1][tollLocked] == 1)
  5902. format(lslvLock, sizeof(lslvLock), "{BF605C}Locked");
  5903. else
  5904. format(lslvLock, sizeof(lslvLock), "{85A82B}Unlocked");
  5905. if(TollsData[2][tollStatus] == 1)
  5906. format(flintStatus, sizeof(flintStatus), "Opened");
  5907. else
  5908. format(flintStatus, sizeof(flintStatus), "Closed");
  5909. if(TollsData[2][tollLocked] == 1)
  5910. format(flintLock, sizeof(flintLock), "{BF605C}Locked");
  5911. else
  5912. format(flintLock, sizeof(flintLock), "{85A82B}Unlocked");
  5913. if(TollsData[3][tollStatus] == 1)
  5914. format(richStatus, sizeof(richStatus), "Opened");
  5915. else
  5916. format(richStatus, sizeof(richStatus), "Closed");
  5917. if(TollsData[3][tollLocked] == 1)
  5918. format(richLock, sizeof(richLock), "{BF605C}Locked");
  5919. else
  5920. format(richLock, sizeof(richLock), "{85A82B}Unlocked");
  5921. format(string, sizeof(string), "{AFAFAF}Booth Name\t\t\tStatus\t\t\tEmergency\n");
  5922. strcat(longstr, string);
  5923. format(string, sizeof(string), " \t\t\n\n");
  5924. strcat(longstr, string);
  5925. format(string, sizeof(string), "{FFFFFF}LSLV Highway{AFAFAF}\t\t\t%s\t\t\t%s\n", lslvStatus, lslvLock);
  5926. strcat(longstr, string);
  5927. format(string, sizeof(string), "{FFFFFF}Flint Range{AFAFAF}\t\t\t%s\t\t\t%s\n", flintStatus, flintLock);
  5928. strcat(longstr, string);
  5929. format(string, sizeof(string), "{FFFFFF}Rodeo Bank{AFAFAF}\t\t\t%s\t\t\t%s\n", richStatus, richLock);
  5930. strcat(longstr, string);
  5931. format(string, sizeof(string), "{AFAFAF}Lock all booths\n{AFAFAF}Unlock all booths");
  5932. strcat(longstr, string);
  5933. ShowPlayerDialog(playerid, DIALOG_TOLLM, DIALOG_STYLE_LIST, "Toll Management", longstr, "Select", "Back");
  5934. }
  5935. }
  5936. case DIALOG_TOLLM:{
  5937. if(response){
  5938. switch(listitem){
  5939. case 2:{ // LS LV
  5940. new string[128];
  5941. if(TollsData[1][tollLocked]){
  5942. TollsData[1][tollLocked] = false;
  5943. format(string, sizeof(string), "** HQ Announcement: The Las Venturas tolls were UNLOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5944. SendLawMessage(COLOR_COP, string);
  5945. }
  5946. else{
  5947. TollsData[1][tollLocked] = true;
  5948. format(string, sizeof(string), "** HQ Announcement: The Las Venturas tolls were LOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5949. SendLawMessage(COLOR_COP, string);
  5950. tollTimesLocked++;
  5951. }
  5952. }
  5953. case 3:{ // Flint
  5954. new string[128];
  5955. if(TollsData[2][tollLocked]){
  5956. TollsData[2][tollLocked] = false;
  5957. format(string, sizeof(string), "** HQ Announcement: The Flint Range tolls were UNLOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5958. SendLawMessage(COLOR_COP, string);
  5959. }
  5960. else{
  5961. TollsData[2][tollLocked] = true;
  5962. format(string, sizeof(string), "** HQ Announcement: The Flint Range tolls were LOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5963. SendLawMessage(COLOR_COP, string);
  5964. tollTimesLocked++;
  5965. }
  5966. }
  5967. case 4:{ // Rodeo
  5968. new string[128];
  5969. if(TollsData[3][tollLocked]){
  5970. TollsData[3][tollLocked] = false;
  5971. format(string, sizeof(string), "** HQ Announcement: The Rodeo Bank tolls were UNLOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5972. SendLawMessage(COLOR_COP, string);
  5973. }
  5974. else{
  5975. TollsData[3][tollLocked] = true;
  5976. format(string, sizeof(string), "** HQ Announcement: The Rodeo Bank tolls were LOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5977. SendLawMessage(COLOR_COP, string);
  5978. tollTimesLocked++;
  5979. }
  5980. }
  5981. case 5:{ // Lock all
  5982. new string[128];
  5983. for(new i = 0; i < MAX_TOLLS; i++){
  5984. if(TollsData[i][tollID] != 0){
  5985. TollsData[i][tollLocked] = true;
  5986. }
  5987. }
  5988. tollTimesLocked++;
  5989. format(string, sizeof(string), "** HQ Announcement: All toll booths were LOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  5990. SendLawMessage(COLOR_COP, string);
  5991. }
  5992. case 6:{ // Unlock all
  5993. new string[128];
  5994. for(new i = 0; i < MAX_TOLLS; i++){
  5995. if(TollsData[i][tollID] != 0){
  5996. TollsData[i][tollLocked] = false;
  5997. }
  5998. }
  5999. format(string, sizeof(string), "** HQ Announcement: All toll booths were UNLOCKED by %s %s! **", ReturnRank(playerid), ReturnName(playerid, 0));
  6000. SendLawMessage(COLOR_COP, string);
  6001. }
  6002. }
  6003. }
  6004. else{
  6005. new string[256];
  6006. format(string, sizeof(string), "Welcome to the toll booth management menu!\n\nFrom this menu you can toggle the locked status of tolls and\nview some information on a specific toll around San Andreas.\n\nThis front screen will also display financial and statistical data\nof all toll booth's including visits, taxations and payments made\nfor the past 60 minutes.\n\n{85A82B}Statistical Information:\n{FFFFFF}Booths Opened: %d Payments: %d Times Locked: %d",
  6007. ReturnTollsOpened(), totalTollPayment, tollTimesLocked);
  6008. ShowPlayerDialog(playerid, DIALOG_TOLLS, DIALOG_STYLE_MSGBOX, "Tollbooth Management", string, "Proceed", "Cancel");
  6009. }
  6010. }
  6011. case DIALOG_FURNITURE:{
  6012. if(response){
  6013. switch(listitem){
  6014. case 0:{
  6015. new prop = IsPlayerInProperty(playerid);
  6016. if(CountPropertyFurniture(prop) >= MAX_HOUSE_FURNITURE)
  6017. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your properties at the limit.");
  6018. new string[400];
  6019. string[0] = EOS;
  6020. for(new i = 0; i < sizeof(g_aFurnitureTypes); i++){
  6021. format(string, sizeof(string), "%s%s\n", string, g_aFurnitureTypes[i]);
  6022. }
  6023. ShowPlayerDialog(playerid, DIALOG_BUYFURNITURE, DIALOG_STYLE_LIST, "Categories:", string, "Select", "<<");
  6024. }
  6025. case 1:{
  6026. ShowPlayerFurniture(playerid, 1);
  6027. /*new sub_str[256], principal_str[3200], title[128], counter = 0, id = IsPlayerInProperty(playerid);
  6028. format(title, sizeof(title), "Current Furniture({33AA33}%d{FFFFFF})", CountPropertyFurniture(id));
  6029. for(new i = 0; i < MAX_FURNITURE; i++){
  6030. if( FurnitureData[i][furnitureSQLID] != 0 )
  6031. {
  6032. if( FurnitureData[i][furniturePropertyID] == id )
  6033. {
  6034. format(sub_str, sizeof(sub_str), "%d. %s\n", i, FurnitureData[i][furnituresName]);
  6035. strcat(principal_str, sub_str);
  6036. FurnitureSelectHolder[playerid][counter] = i;
  6037. counter++;
  6038. }
  6039. }
  6040. }
  6041. ShowPlayerDialog(playerid, DIALOG_EDIT_FURNITURE, DIALOG_STYLE_LIST, title, principal_str, "Select", "<<");*/
  6042. }
  6043. case 2:{
  6044. new string[267], id = IsPlayerInProperty(playerid);
  6045. format(string, sizeof(string), "{FFFFFF}-This property currently\nhas {33AA33}%d{FFFFFF} items.\n-You have a furniture limit of {33AA33}%d\n{FFFFFF}-You can add\n {33AA33}%d{FFFFFF} more items.",
  6046. CountPropertyFurniture(id), MAX_HOUSE_FURNITURE, MAX_HOUSE_FURNITURE - CountPropertyFurniture(id));
  6047. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "House Information", string, "<<", "");
  6048. }
  6049. }
  6050. }
  6051. }
  6052. case DIALOG_EDIT_FURNITURE:{
  6053. if(!response)
  6054. {
  6055. PlayerFurniturePage[playerid] = 0;
  6056. for(new i = 0; i < MAX_SHOWING_FURNITURE+3; i++)
  6057. {
  6058. FurnitureSelectHolder[playerid][i] = -1;
  6059. }
  6060. }
  6061. if(response){
  6062. if(listitem == 0)
  6063. {
  6064. if(PlayerFurniturePage[playerid] == 1)
  6065. ShowPlayerFurniture(playerid, 1);
  6066. else
  6067. ShowPlayerFurniture(playerid, PlayerFurniturePage[playerid]-1);
  6068. return true;
  6069. }
  6070. if(listitem == MAX_SHOWING_FURNITURE+1){
  6071. return ShowPlayerFurniture(playerid, PlayerFurniturePage[playerid]+1);
  6072. }
  6073. //FurnitureSelectHolderArr[playerid] = FurnitureSelectHolder[playerid][listitem];
  6074. PlayerListitemSelected[playerid] = listitem-1;
  6075. ShowPlayerDialog(playerid, DIALOG_FURNITURE_EDIT_MENU, DIALOG_STYLE_LIST, "Modification Menu", "Edit Furniture\nDuplicate Furniture\nSell Furniture", "Select", "<<");
  6076. }
  6077. }
  6078. case DIALOG_FURNITURE_EDIT_MENU:{
  6079. if(response){
  6080. for(new i = 0; i < MAX_FURNITURE; i++){
  6081. if(FurnitureData[i][furnitureSQLID] != 0){
  6082. if(FurnitureData[i][furnitureSQLID] == FurnitureSelectHolder[playerid][PlayerListitemSelected[playerid]]){
  6083. FurnitureSelectHolderArr[playerid] = i;
  6084. }
  6085. }
  6086. }
  6087. switch(listitem){
  6088. case 0:{
  6089. DisplayFurnitureMessage(playerid);
  6090. EditDynamicObject(playerid, FurnitureData[FurnitureSelectHolderArr[playerid]][furnitureObject]);
  6091. PlayerData[playerid][pEditingFurniture] = true;
  6092. PlayerData[playerid][pEditingXMR] = false;
  6093. PlayerData[playerid][pAddingFurniture] = false;
  6094. }
  6095. case 1:{
  6096. new i = FurnitureSelectHolderArr[playerid];
  6097. PlayerData[playerid][pFurnitureDuplicate] =
  6098. CreateDynamicObject(FurnitureData[i][furnituresModel], FurnitureData[i][furniturePos][0], FurnitureData[i][furniturePos][1], FurnitureData[i][furniturePos][2],
  6099. FurnitureData[i][furnitureRot][0], FurnitureData[i][furnitureRot][1], FurnitureData[i][furnitureRot][2], GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  6100. EditDynamicObject(playerid, PlayerData[playerid][pFurnitureDuplicate]);
  6101. PlayerData[playerid][pEditingDuplicate] = true;
  6102. DisplayFurnitureMessage(playerid);
  6103. }
  6104. case 2:{
  6105. new string[128];
  6106. format(string, sizeof(string), "{FFFFFF}Are you sure you\n want to sell this %s?\n\nPress {FFFF00}Yes{FFFFFF} to continue.", FurnitureData[FurnitureSelectHolderArr[playerid]][furnituresName]);
  6107. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerSellFurniture", FurnitureData[FurnitureSelectHolderArr[playerid]][furnitureObject], FurnitureData[FurnitureSelectHolderArr[playerid]][furnitureSQLID], FurnitureSelectHolderArr[playerid]);
  6108. }
  6109. }
  6110. }
  6111. }
  6112. case DIALOG_BUYFURNITURE:{
  6113. new string[1250];
  6114. if(response){
  6115. CatFurnitureHolder[playerid] = listitem;
  6116. new counter = 0;
  6117. for(new i = 0; i < sizeof(g_aFurnitureData); i++){
  6118. if(listitem == g_aFurnitureData[i][furnitureCategory]){
  6119. format(string, sizeof(string), "%s%s\n", string, g_aFurnitureData[i][furnitureName]);
  6120. SubFurnitureHolderArr[playerid][counter] = i;
  6121. counter++;
  6122. }
  6123. }
  6124. ShowPlayerDialog(playerid, DIALOG_BUYFURNITURE_SUB, DIALOG_STYLE_LIST, "Available Furnitures:", string, "Select", "<<");
  6125. }
  6126. else{
  6127. for(new i = 0; i < sizeof(g_aFurnitureTypes); i++){
  6128. format(string, sizeof(string), "%s%s\n", string, g_aFurnitureTypes[i]);
  6129. }
  6130. ShowPlayerDialog(playerid, DIALOG_BUYFURNITURE, DIALOG_STYLE_LIST, "Categories:", string, "Select", "<<");
  6131. }
  6132. }
  6133. case DIALOG_BUYFURNITURE_SUB:{
  6134. if(response){
  6135. SubFurnitureHolder[playerid] = SubFurnitureHolderArr[playerid][listitem];
  6136. new Float:currPos[3];
  6137. GetPlayerPos(playerid, currPos[0], currPos[1], currPos[2]);
  6138. PlayerData[playerid][pFurnitureModel] = g_aFurnitureData[SubFurnitureHolder[playerid]][furnitureModel];
  6139. format(PlayerData[playerid][pFurnitureName], 32, g_aFurnitureData[SubFurnitureHolder[playerid]][furnitureName]);
  6140. PlayerData[playerid][pFurnitureObject] = CreateDynamicObject(g_aFurnitureData[SubFurnitureHolder[playerid]][furnitureModel], currPos[0] - 1, currPos[1], currPos[2] + 1, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  6141. EditDynamicObject(playerid, PlayerData[playerid][pFurnitureObject]);
  6142. PlayerData[playerid][pAddingFurniture] = true;
  6143. DisplayFurnitureMessage(playerid);
  6144. }
  6145. }
  6146. case DIALOG_DEALERSHIP:{
  6147. if(response){
  6148. CatDealershipHolder[playerid] = listitem;
  6149. new string[900], counter = 0;
  6150. for(new i = 0; i < sizeof(g_aDealershipData); i++){
  6151. if(listitem == g_aDealershipData[i][dealershipCategory]){
  6152. format(string, sizeof(string), "%s%s\t\t\t$%s\n", string, g_aDealershipData[i][dealershipModelName], MoneyFormat(g_aDealershipData[i][dealershipPrice]));
  6153. SubDealershipHolderArr[playerid][counter] = i;
  6154. counter++;
  6155. }
  6156. }
  6157. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_SUB, DIALOG_STYLE_LIST, "Available Vehicles:", string, "Select", "<<");
  6158. }
  6159. else{
  6160. new string[400];
  6161. string[0] = EOS;
  6162. for(new v = 0; v < sizeof(g_aDealershipCategory); v++){
  6163. format(string, sizeof(string), "%s%s\n", string, g_aDealershipCategory[v]);
  6164. }
  6165. }
  6166. }
  6167. case DIALOG_DEALERSHIP_SUB:{
  6168. if(response){
  6169. SubDealershipHolder[playerid] = SubDealershipHolderArr[playerid][listitem];
  6170. new title[128], string[128];
  6171. g_aTotalAmount[playerid] = g_aDealershipData[SubDealershipHolder[playerid]][dealershipPrice];
  6172. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6173. strcat(string, "Alarm\n");
  6174. strcat(string, "Lock\n");
  6175. strcat(string, "Immobiliser\n");
  6176. strcat(string, "Colors\n");
  6177. strcat(string, "No XM Installed\n");
  6178. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Append", "Purchase");
  6179. TogglePlayerControllable(playerid, false);
  6180. new biz = PlayerData[playerid][pAtDealership];
  6181. g_aVehicleSpawned[playerid] = CreateVehicle(ds_PlayerMenuModels[playerid][SubDealershipHolder[playerid]], BusinessData[biz][businessInt][0], BusinessData[biz][businessInt][1], BusinessData[biz][businessInt][2], 90, 0, 0, 0, 0);
  6182. PutPlayerInVehicle(playerid, g_aVehicleSpawned[playerid], 0);
  6183. printf("[DEBUG] Vehicle ID %d spawned for %s's dealership car.", g_aVehicleSpawned[playerid], ReturnName(playerid, 1));
  6184. }
  6185. }
  6186. case DIALOG_DEALERSHIP_APPEND:{
  6187. if(response){
  6188. new title[128], string[400];
  6189. switch(listitem){
  6190. case 0:{
  6191. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6192. if(g_aAlarmLevel[playerid] == 1){
  6193. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 1 - $200\n");
  6194. }
  6195. else { strcat(string, "Alarm Level 1 - $200\n"); }
  6196. if(g_aAlarmLevel[playerid] == 2){
  6197. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 2 - $400\n");
  6198. }
  6199. else { strcat(string, "Alarm Level 2 - $400\n"); }
  6200. if(g_aAlarmLevel[playerid] == 3){
  6201. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 3 - $600\n");
  6202. }
  6203. else { strcat(string, "Alarm Level 3 - $600\n"); }
  6204. if(g_aAlarmLevel[playerid] == 4){
  6205. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 4 - $1,000\n");
  6206. }
  6207. else { strcat(string, "Alarm Level 4 - $1,000\n"); }
  6208. ShowPlayerDialog(playerid, DIALOG_APPEND_ALARM, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6209. }
  6210. case 1:{
  6211. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6212. if(g_aLockLevel[playerid] == 1){
  6213. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 1 - $100\n");
  6214. }
  6215. else { strcat(string, "Lock Level 1 - $100\n"); }
  6216. if(g_aLockLevel[playerid] == 2){
  6217. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 2 - $300\n");
  6218. }
  6219. else { strcat(string, "Lock Level 2 - $300\n"); }
  6220. if(g_aLockLevel[playerid] == 3){
  6221. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 3 - $500\n");
  6222. }
  6223. else { strcat(string, "Lock Level 3 - $500\n"); }
  6224. if(g_aLockLevel[playerid] == 4){
  6225. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 4 - $800\n");
  6226. }
  6227. else { strcat(string, "Lock Level 4 - $800\n"); }
  6228. ShowPlayerDialog(playerid, DIALOG_APPEND_LOCK, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6229. }
  6230. case 2:{
  6231. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6232. if(g_aImmobLevel[playerid] == 1) {
  6233. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 1 - $300\n");
  6234. }
  6235. else { strcat(string, "Immobiliser Level 1 - $300\n"); }
  6236. if(g_aImmobLevel[playerid] == 2) {
  6237. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 2 - $500\n");
  6238. }
  6239. else { strcat(string, "Immobiliser Level 2 - $500\n"); }
  6240. if(g_aImmobLevel[playerid] == 3) {
  6241. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 3 - $700\n");
  6242. }
  6243. else { strcat(string, "Immobiliser Level 3 - $700\n"); }
  6244. if(g_aImmobLevel[playerid] == 4) {
  6245. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 4 - $1,000\n");
  6246. }
  6247. else { strcat(string, "Immobiliser Level 4 - $1,000\n"); }
  6248. ShowPlayerDialog(playerid, DIALOG_APPEND_IMMOB, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6249. }
  6250. case 3:{
  6251. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6252. ShowPlayerDialog(playerid, DIALOG_APPEND_COLOR, DIALOG_STYLE_INPUT, title, "Enter your vehicles Color1 ID (0-255)!", "Select", ">>");
  6253. }
  6254. case 4:{
  6255. if(!g_aXMR[playerid]){
  6256. g_aXMR[playerid] = true;
  6257. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6258. strcat(string, "Alarm\n");
  6259. strcat(string, "Lock\n");
  6260. strcat(string, "Immobiliser\n");
  6261. strcat(string, "Colors\n");
  6262. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6263. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", ">>");
  6264. }
  6265. else{
  6266. g_aXMR[playerid] = false;
  6267. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6268. strcat(string, "Alarm\n");
  6269. strcat(string, "Lock\n");
  6270. strcat(string, "Immobiliser\n");
  6271. strcat(string, "Colors\n");
  6272. strcat(string, "No XM Installed\n");
  6273. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", ">>");
  6274. }
  6275. }
  6276. }
  6277. }
  6278. else{
  6279. new title[100];
  6280. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  6281. ConfirmDialog(playerid, title, "Are you sure you would like\n to continue with this purchase?", "OnPlayerPurchaseCar");
  6282. }
  6283. }
  6284. case DIALOG_APPEND_COLOR:{
  6285. if(response) {
  6286. new title[100];
  6287. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6288. if(!IsNumeric(inputtext)){
  6289. return ShowPlayerDialog(playerid, DIALOG_APPEND_COLOR, DIALOG_STYLE_INPUT, title, "{F81414}Color must be between 0-255! ( /colorlist )\n\n{FFFFFF}Enter your vehicles Color1 ID (0-255)!", "Select", "<<");
  6290. }
  6291. g_aVehicleColor[playerid][0] = strval(inputtext);
  6292. ChangeVehicleColor(GetPlayerVehicleID(playerid), g_aVehicleColor[playerid][0], g_aVehicleColor[playerid][1]);
  6293. ShowPlayerDialog(playerid, DIALOG_APPEND_COLOR2, DIALOG_STYLE_INPUT, title, "Enter your vehicles Color2 ID (0-255)!", "Select", "<<");
  6294. }
  6295. else {
  6296. new title[100], string[128];
  6297. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6298. strcat(string, "Alarm\n");
  6299. strcat(string, "Lock\n");
  6300. strcat(string, "Immobiliser\n");
  6301. strcat(string, "Colors\n");
  6302. if(g_aXMR[playerid]) {
  6303. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6304. }
  6305. else{
  6306. strcat(string, "No XM Installed");
  6307. }
  6308. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6309. }
  6310. }
  6311. case DIALOG_APPEND_COLOR2:{
  6312. if(response) {
  6313. new title[100], string[128];
  6314. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6315. if(!IsNumeric(inputtext)){
  6316. return ShowPlayerDialog(playerid, DIALOG_APPEND_COLOR, DIALOG_STYLE_INPUT, title, "{F81414}Color must be between 0-255! ( /colorlist )\n\n{FFFFFF}Enter your vehicles Color1 ID (0-255)!", "Select", "<<");
  6317. }
  6318. g_aVehicleColor[playerid][1] = strval(inputtext);
  6319. ChangeVehicleColor(GetPlayerVehicleID(playerid), g_aVehicleColor[playerid][0], g_aVehicleColor[playerid][1]);
  6320. strcat(string, "Alarm\n");
  6321. strcat(string, "Lock\n");
  6322. strcat(string, "Immobiliser\n");
  6323. strcat(string, "Colors\n");
  6324. if(g_aXMR[playerid]) {
  6325. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6326. }
  6327. else{
  6328. strcat(string, "No XM Installed");
  6329. }
  6330. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6331. }
  6332. else {
  6333. new title[100], string[128];
  6334. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6335. strcat(string, "Alarm\n");
  6336. strcat(string, "Lock\n");
  6337. strcat(string, "Immobiliser\n");
  6338. strcat(string, "Colors\n");
  6339. if(g_aXMR[playerid]) {
  6340. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6341. }
  6342. else{
  6343. strcat(string, "No XM Installed");
  6344. }
  6345. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6346. }
  6347. }
  6348. case DIALOG_APPEND_IMMOB:{
  6349. if(response){
  6350. new title[100], string[600];
  6351. switch(listitem){
  6352. case 0:{
  6353. if(g_aImmobLevel[playerid] != 1) { g_aTotalAmount[playerid] += 300; }
  6354. if(g_aImmobLevel[playerid] == 2){
  6355. g_aTotalAmount[playerid] -= 500;
  6356. }
  6357. else if(g_aImmobLevel[playerid] == 3){
  6358. g_aTotalAmount[playerid] -= 700;
  6359. }
  6360. else if(g_aImmobLevel[playerid] == 4){
  6361. g_aTotalAmount[playerid] -= 1000;
  6362. }
  6363. g_aImmobLevel[playerid] = 1;
  6364. if(g_aImmobLevel[playerid] == 1) {
  6365. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 1 - $300\n");
  6366. }
  6367. else { strcat(string, "Immobiliser Level 1 - $300\n"); }
  6368. if(g_aImmobLevel[playerid] == 2) {
  6369. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 2 - $500\n");
  6370. }
  6371. else { strcat(string, "Immobiliser Level 2 - $500\n"); }
  6372. if(g_aImmobLevel[playerid] == 3) {
  6373. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 3 - $700\n");
  6374. }
  6375. else { strcat(string, "Immobiliser Level 3 - $700\n"); }
  6376. if(g_aImmobLevel[playerid] == 4) {
  6377. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 4 - $1,000\n");
  6378. }
  6379. else { strcat(string, "Immobiliser Level 4 - $1,000\n"); }
  6380. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6381. ShowPlayerDialog(playerid, DIALOG_APPEND_IMMOB, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6382. }
  6383. case 1:{
  6384. if(g_aImmobLevel[playerid] != 2) { g_aTotalAmount[playerid] += 500; }
  6385. if(g_aImmobLevel[playerid] == 1){
  6386. g_aTotalAmount[playerid] -= 300;
  6387. }
  6388. else if(g_aImmobLevel[playerid] == 3){
  6389. g_aTotalAmount[playerid] -= 700;
  6390. }
  6391. else if(g_aImmobLevel[playerid] == 4){
  6392. g_aTotalAmount[playerid] -= 1000;
  6393. }
  6394. g_aImmobLevel[playerid] = 2;
  6395. if(g_aImmobLevel[playerid] == 1) {
  6396. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 1 - $300\n");
  6397. }
  6398. else { strcat(string, "Immobiliser Level 1 - $300\n"); }
  6399. if(g_aImmobLevel[playerid] == 2) {
  6400. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 2 - $500\n");
  6401. }
  6402. else { strcat(string, "Immobiliser Level 2 - $500\n"); }
  6403. if(g_aImmobLevel[playerid] == 3) {
  6404. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 3 - $700\n");
  6405. }
  6406. else { strcat(string, "Immobiliser Level 3 - $700\n"); }
  6407. if(g_aImmobLevel[playerid] == 4) {
  6408. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 4 - $1,000\n");
  6409. }
  6410. else { strcat(string, "Immobiliser Level 4 - $1,000\n"); }
  6411. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6412. ShowPlayerDialog(playerid, DIALOG_APPEND_IMMOB, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6413. }
  6414. case 2:{
  6415. if(g_aImmobLevel[playerid] != 3) { g_aTotalAmount[playerid] += 700; }
  6416. if(g_aImmobLevel[playerid] == 1){
  6417. g_aTotalAmount[playerid] -= 300;
  6418. }
  6419. else if(g_aImmobLevel[playerid] == 2){
  6420. g_aTotalAmount[playerid] -= 500;
  6421. }
  6422. else if(g_aImmobLevel[playerid] == 4){
  6423. g_aTotalAmount[playerid] -= 1000;
  6424. }
  6425. g_aImmobLevel[playerid] = 3;
  6426. if(g_aImmobLevel[playerid] == 1) {
  6427. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 1 - $300\n");
  6428. }
  6429. else { strcat(string, "Immobiliser Level 1 - $300\n"); }
  6430. if(g_aImmobLevel[playerid] == 2) {
  6431. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 2 - $500\n");
  6432. }
  6433. else { strcat(string, "Immobiliser Level 2 - $500\n"); }
  6434. if(g_aImmobLevel[playerid] == 3) {
  6435. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 3 - $700\n");
  6436. }
  6437. else { strcat(string, "Immobiliser Level 3 - $700\n"); }
  6438. if(g_aImmobLevel[playerid] == 4) {
  6439. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 4 - $1,000\n");
  6440. }
  6441. else { strcat(string, "Immobiliser Level 4 - $1000\n"); }
  6442. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6443. ShowPlayerDialog(playerid, DIALOG_APPEND_IMMOB, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6444. }
  6445. case 3:{
  6446. if(g_aImmobLevel[playerid] != 4) { g_aTotalAmount[playerid] += 1000; }
  6447. if(g_aImmobLevel[playerid] == 1){
  6448. g_aTotalAmount[playerid] -= 300;
  6449. }
  6450. else if(g_aImmobLevel[playerid] == 2){
  6451. g_aTotalAmount[playerid] -= 500;
  6452. }
  6453. else if(g_aImmobLevel[playerid] == 3){
  6454. g_aTotalAmount[playerid] -= 700;
  6455. }
  6456. g_aImmobLevel[playerid] = 4;
  6457. if(g_aImmobLevel[playerid] == 1) {
  6458. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 1 - $300\n");
  6459. }
  6460. else { strcat(string, "Immobiliser Level 1 - $300\n"); }
  6461. if(g_aImmobLevel[playerid] == 2) {
  6462. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 2 - $500\n");
  6463. }
  6464. else { strcat(string, "Immobiliser Level 2 - $500\n"); }
  6465. if(g_aImmobLevel[playerid] == 3) {
  6466. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 3 - $700\n");
  6467. }
  6468. else { strcat(string, "Immobiliser Level 3 - $700\n"); }
  6469. if(g_aImmobLevel[playerid] == 4) {
  6470. strcat(string, "{FFFF00}>>{FFFFFF}Immobiliser Level 4 - $1,000\n");
  6471. }
  6472. else { strcat(string, "Immobiliser Level 4 - $1,000\n"); }
  6473. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6474. ShowPlayerDialog(playerid, DIALOG_APPEND_IMMOB, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6475. }
  6476. }
  6477. }
  6478. else{
  6479. new title[100], string[128];
  6480. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6481. strcat(string, "Alarm\n");
  6482. strcat(string, "Lock\n");
  6483. strcat(string, "Immobiliser\n");
  6484. strcat(string, "Colors\n");
  6485. if(g_aXMR[playerid]) {
  6486. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6487. }
  6488. else{
  6489. strcat(string, "No XM Installed");
  6490. }
  6491. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6492. }
  6493. }
  6494. case DIALOG_APPEND_LOCK:{
  6495. if(response){
  6496. new title[100], string[128];
  6497. switch(listitem){
  6498. case 0:{
  6499. if(g_aLockLevel[playerid] != 1) { g_aTotalAmount[playerid]+= 100; }
  6500. if(g_aLockLevel[playerid] == 2){
  6501. g_aTotalAmount[playerid]-= 300;
  6502. }
  6503. else if(g_aLockLevel[playerid] == 3){
  6504. g_aTotalAmount[playerid] -=500;
  6505. }
  6506. else if(g_aLockLevel[playerid] == 4){
  6507. g_aTotalAmount[playerid]-=800;
  6508. }
  6509. g_aLockLevel[playerid] = 1;
  6510. if(g_aLockLevel[playerid] == 1){
  6511. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 1 - $100\n");
  6512. }
  6513. else { strcat(string, "Lock Level 1 - $100\n"); }
  6514. if(g_aLockLevel[playerid] == 2){
  6515. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 2 - $300\n");
  6516. }
  6517. else { strcat(string, "Lock Level 2 - $300\n"); }
  6518. if(g_aLockLevel[playerid] == 3){
  6519. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 3 - $500\n");
  6520. }
  6521. else { strcat(string, "Lock Level 3 - $500\n"); }
  6522. if(g_aLockLevel[playerid] == 4){
  6523. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 4 - $800\n");
  6524. }
  6525. else { strcat(string, "Lock Level 4 - $800\n"); }
  6526. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6527. ShowPlayerDialog(playerid, DIALOG_APPEND_LOCK, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6528. }
  6529. case 1:{
  6530. if(g_aLockLevel[playerid] != 2) { g_aTotalAmount[playerid]+= 300; }
  6531. if(g_aLockLevel[playerid] == 1){
  6532. g_aTotalAmount[playerid] -= 100;
  6533. }
  6534. else if(g_aLockLevel[playerid] == 3){
  6535. g_aTotalAmount[playerid] -= 500;
  6536. }
  6537. else if(g_aLockLevel[playerid] == 4){
  6538. g_aTotalAmount[playerid]-= 800;
  6539. }
  6540. g_aLockLevel[playerid] = 2;
  6541. if(g_aLockLevel[playerid] == 1){
  6542. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 1 - $100\n");
  6543. }
  6544. else { strcat(string, "Lock Level 1 - $100\n"); }
  6545. if(g_aLockLevel[playerid] == 2){
  6546. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 2 - $300\n");
  6547. }
  6548. else { strcat(string, "Lock Level 2 - $300\n"); }
  6549. if(g_aLockLevel[playerid] == 3){
  6550. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 3 - $500\n");
  6551. }
  6552. else { strcat(string, "Lock Level 3 - $500\n"); }
  6553. if(g_aLockLevel[playerid] == 4){
  6554. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 4 - $800\n");
  6555. }
  6556. else { strcat(string, "Lock Level 4 - $800\n"); }
  6557. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6558. ShowPlayerDialog(playerid, DIALOG_APPEND_LOCK, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6559. }
  6560. case 2:{
  6561. if(g_aLockLevel[playerid] != 3) { g_aTotalAmount[playerid]+= 500; }
  6562. if(g_aLockLevel[playerid] == 1){
  6563. g_aTotalAmount[playerid] -= 100;
  6564. }
  6565. else if(g_aLockLevel[playerid] == 2){
  6566. g_aTotalAmount[playerid] -= 300;
  6567. }
  6568. else if(g_aLockLevel[playerid] == 4){
  6569. g_aTotalAmount[playerid]-= 800;
  6570. }
  6571. g_aLockLevel[playerid] = 3;
  6572. if(g_aLockLevel[playerid] == 1){
  6573. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 1 - $100\n");
  6574. }
  6575. else { strcat(string, "Lock Level 1 - $100\n"); }
  6576. if(g_aLockLevel[playerid] == 2){
  6577. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 2 - $300\n");
  6578. }
  6579. else { strcat(string, "Lock Level 2 - $300\n"); }
  6580. if(g_aLockLevel[playerid] == 3){
  6581. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 3 - $500\n");
  6582. }
  6583. else { strcat(string, "Lock Level 3 - $500\n"); }
  6584. if(g_aLockLevel[playerid] == 4){
  6585. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 4 - $800\n");
  6586. }
  6587. else { strcat(string, "Lock Level 4 - $800\n"); }
  6588. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6589. ShowPlayerDialog(playerid, DIALOG_APPEND_LOCK, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6590. }
  6591. case 3:{
  6592. if(g_aLockLevel[playerid] != 4) { g_aTotalAmount[playerid]+= 800; }
  6593. if(g_aLockLevel[playerid] == 1){
  6594. g_aTotalAmount[playerid] -= 100;
  6595. }
  6596. else if(g_aLockLevel[playerid] == 2){
  6597. g_aTotalAmount[playerid] -= 300;
  6598. }
  6599. else if(g_aLockLevel[playerid] == 3){
  6600. g_aTotalAmount[playerid]-= 500;
  6601. }
  6602. g_aLockLevel[playerid] = 4;
  6603. if(g_aLockLevel[playerid] == 1){
  6604. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 1 - $100\n");
  6605. }
  6606. else { strcat(string, "Lock Level 1 - $100\n"); }
  6607. if(g_aLockLevel[playerid] == 2){
  6608. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 2 - $300\n");
  6609. }
  6610. else { strcat(string, "Lock Level 2 - $300\n"); }
  6611. if(g_aLockLevel[playerid] == 3){
  6612. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 3 - $500\n");
  6613. }
  6614. else { strcat(string, "Lock Level 3 - $500\n"); }
  6615. if(g_aLockLevel[playerid] == 4){
  6616. strcat(string, "{FFFF00}>>{FFFFFF}Lock Level 4 - $800\n");
  6617. }
  6618. else { strcat(string, "Lock Level 4 - $800\n"); }
  6619. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6620. ShowPlayerDialog(playerid, DIALOG_APPEND_LOCK, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6621. }
  6622. }
  6623. }
  6624. else{
  6625. new title[128], string[128];
  6626. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6627. strcat(string, "Alarm\n");
  6628. strcat(string, "Lock\n");
  6629. strcat(string, "Immobiliser\n");
  6630. strcat(string, "Colors\n");
  6631. if(g_aXMR[playerid]) {
  6632. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6633. }
  6634. else{
  6635. strcat(string, "No XM Installed");
  6636. }
  6637. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6638. }
  6639. }
  6640. case DIALOG_APPEND_ALARM:{
  6641. if(response){
  6642. new title[128], string[600];
  6643. switch(listitem){
  6644. case 0:{
  6645. if(g_aAlarmLevel[playerid] != 1){ g_aTotalAmount[playerid]+= 200; }
  6646. if(g_aAlarmLevel[playerid] == 2){
  6647. g_aTotalAmount[playerid]-= 400;
  6648. }
  6649. else if(g_aAlarmLevel[playerid] == 3){
  6650. g_aTotalAmount[playerid]-=600;
  6651. }
  6652. else if(g_aAlarmLevel[playerid] == 4){
  6653. g_aTotalAmount[playerid]-=1000;
  6654. }
  6655. g_aAlarmLevel[playerid] = 1;
  6656. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6657. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 1 - $200\n");
  6658. strcat(string, "Alarm Level 2 - $400\n");
  6659. strcat(string, "Alarm Level 3 - $600\n");
  6660. strcat(string, "Alarm Level 4 - $1000\n");
  6661. ShowPlayerDialog(playerid, DIALOG_APPEND_ALARM, DIALOG_STYLE_LIST, title, string, "Select", ">>");
  6662. }
  6663. case 1:{
  6664. if(g_aAlarmLevel[playerid] != 2){ g_aTotalAmount[playerid]+= 400; }
  6665. if(g_aAlarmLevel[playerid] == 1){
  6666. g_aTotalAmount[playerid]-= 200;
  6667. }
  6668. else if(g_aAlarmLevel[playerid] == 3){
  6669. g_aTotalAmount[playerid]-=600;
  6670. }
  6671. else if(g_aAlarmLevel[playerid] == 4){
  6672. g_aTotalAmount[playerid]-=1000;
  6673. }
  6674. g_aAlarmLevel[playerid] = 2;
  6675. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6676. strcat(string, "Alarm Level 1 - $200\n");
  6677. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 2 - $400\n");
  6678. strcat(string, "Alarm Level 3 - $600\n");
  6679. strcat(string, "Alarm Level 4 - $1000\n");
  6680. ShowPlayerDialog(playerid, DIALOG_APPEND_ALARM, DIALOG_STYLE_LIST, title, string, "Select", ">>");
  6681. }
  6682. case 2:{
  6683. if(g_aAlarmLevel[playerid] != 3){ g_aTotalAmount[playerid]+= 600; }
  6684. if(g_aAlarmLevel[playerid] == 1){
  6685. g_aTotalAmount[playerid]-=200;
  6686. }
  6687. else if(g_aAlarmLevel[playerid] == 2){
  6688. g_aTotalAmount[playerid]-= 400;
  6689. }
  6690. else if(g_aAlarmLevel[playerid] == 4){
  6691. g_aTotalAmount[playerid]-=1000;
  6692. }
  6693. g_aAlarmLevel[playerid] = 3;
  6694. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6695. strcat(string, "Alarm Level 1 - $200\n");
  6696. strcat(string, "Alarm Level 2 - $400\n");
  6697. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 3 - $600\n");
  6698. strcat(string, "Alarm Level 4 - $1,000\n");
  6699. ShowPlayerDialog(playerid, DIALOG_APPEND_ALARM, DIALOG_STYLE_LIST, title, string, "Select", ">>");
  6700. }
  6701. case 3:{
  6702. if(g_aAlarmLevel[playerid] != 4){ g_aTotalAmount[playerid]+= 1000; }
  6703. if(g_aAlarmLevel[playerid] == 1){
  6704. g_aTotalAmount[playerid]-=200;
  6705. }
  6706. else if(g_aAlarmLevel[playerid] == 2){
  6707. g_aTotalAmount[playerid]-= 400;
  6708. }
  6709. else if(g_aAlarmLevel[playerid] == 3){
  6710. g_aTotalAmount[playerid]-=600;
  6711. }
  6712. g_aAlarmLevel[playerid] = 4;
  6713. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6714. strcat(string, "Alarm Level 1 - $200\n");
  6715. strcat(string, "Alarm Level 2 - $400\n");
  6716. strcat(string, "Alarm Level 3 - $600\n");
  6717. strcat(string, "{FFFF00}>>{FFFFFF}Alarm Level 4 - $1,000\n");
  6718. ShowPlayerDialog(playerid, DIALOG_APPEND_ALARM, DIALOG_STYLE_LIST, title, string, "Select", ">>");
  6719. }
  6720. }
  6721. }
  6722. else{
  6723. new title[128], string[128];
  6724. format(title, sizeof(title), "%s - {33AA33}$%s", g_aDealershipData[SubDealershipHolder[playerid]][dealershipModelName], MoneyFormat(g_aTotalAmount[playerid]));
  6725. strcat(string, "Alarm\n");
  6726. strcat(string, "Lock\n");
  6727. strcat(string, "Immobiliser\n");
  6728. strcat(string, "Colors\n");
  6729. if(g_aXMR[playerid]) {
  6730. strcat(string, "{FFFF00}XM-Radio Installed\n");
  6731. }
  6732. else{
  6733. strcat(string, "No XM Installed");
  6734. }
  6735. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Select", "<<");
  6736. }
  6737. }
  6738. case DIALOG_XMR:
  6739. {
  6740. if(response){
  6741. new string[400], counter = 0;
  6742. string[0] = EOS;
  6743. CatXMRHolder[playerid] = listitem + 1;
  6744. for(new i = 1; i < MAX_XMR_SUBCATEGORY; i++)
  6745. {
  6746. if (CatXMRHolder[playerid] == XMRData[i][xmrCategory]){
  6747. format(string, sizeof(string), "%sID:%d - %s\n", string, XMRData[i][xmrID], XMRData[i][xmrName]);
  6748. SubXMRHolderArr[playerid][counter] = i;
  6749. counter++;
  6750. }
  6751. }
  6752. strcat(string, "{FFFF00}OFF - Click to turn off.\n");
  6753. ShowPlayerDialog(playerid, DIALOG_XMR_SELECT, DIALOG_STYLE_LIST, "Stations:", string, "Select", "Cancel");
  6754. }
  6755. }
  6756. case DIALOG_XMR_SELECT:
  6757. {
  6758. if(response){
  6759. SubXMRHolder[playerid] = SubXMRHolderArr[playerid][listitem];
  6760. if(!strcmp(inputtext, "OFF - Click to turn off."))
  6761. {
  6762. cmd_setstation(playerid, "off");
  6763. return 1;
  6764. }
  6765. new
  6766. string[128],
  6767. vehicleid = GetPlayerVehicleID(playerid),
  6768. property = IsPlayerInProperty(playerid)
  6769. ;
  6770. if (IsNearBoombox(playerid))
  6771. {
  6772. format(string, sizeof(string), "> %s has turned the radio to %s.", ReturnName(playerid, 0), XMRData[SubXMRHolder[playerid]][xmrName]);
  6773. SetPlayerChatBubble(playerid, string, COLOR_ACTION, 20.0, 3000);
  6774. SendClientMessage(playerid, 0x88AA62FF, string);
  6775. new idx = IsNearBoombox(playerid);
  6776. foreach (new i : Player)
  6777. {
  6778. if (pLoggedIn[i])
  6779. {
  6780. if (IsPlayerInRangeOfPoint(i, 25.0, BoomboxData[idx][boomboxPos][0], BoomboxData[idx][boomboxPos][1], BoomboxData[idx][boomboxPos][2]))
  6781. {
  6782. PlayAudioStreamForPlayer(i, XMRData[SubXMRHolder[playerid]][xmrStationURL], BoomboxData[idx][boomboxPos][0], BoomboxData[idx][boomboxPos][1], BoomboxData[idx][boomboxPos][2], 25.0, 1);
  6783. format(string, sizeof(string), "Radio changed to station %s.", XMRData[SubXMRHolder[playerid]][xmrName]);
  6784. SendClientMessage(i, COLOR_ADM, string);
  6785. }
  6786. }
  6787. }
  6788. BoomboxData[idx][boomboxOn] = true;
  6789. format(BoomboxData[idx][boomboxURL], 128, "%s", XMRData[SubXMRHolder[playerid]][xmrStationURL]);
  6790. return true;
  6791. }
  6792. if(IsPlayerInAnyVehicle(playerid))
  6793. {
  6794. format(string, sizeof(string), "> %s has turned the radio to %s.", ReturnName(playerid, 0), XMRData[SubXMRHolder[playerid]][xmrName]);
  6795. SetPlayerChatBubble(playerid, string, COLOR_ACTION, 20.0, 3000);
  6796. SendClientMessage(playerid, 0x88AA62FF, string);
  6797. if(IsValidPlayerCar(vehicleid))
  6798. {
  6799. CarData[vehicleid][carXMROn] = true;
  6800. format(CarData[vehicleid][carXMRUrl], 128, "%s", XMRData[SubXMRHolder[playerid]][xmrStationURL]);
  6801. }
  6802. if(IsValidFactionCar(vehicleid))
  6803. {
  6804. FactionCar[vehicleid][carsXMROn] = true;
  6805. format(FactionCar[vehicleid][carsXMRURL], 128, "%s", XMRData[SubXMRHolder[playerid]][xmrStationURL]);
  6806. }
  6807. foreach(new i : Player)
  6808. {
  6809. if(IsPlayerInVehicle(i, vehicleid))
  6810. {
  6811. PlayAudioStreamForPlayer(i, XMRData[SubXMRHolder[playerid]][xmrStationURL]);
  6812. format(string, sizeof(string), "Radio changed to station %s.", XMRData[SubXMRHolder[playerid]][xmrName]);
  6813. SendClientMessage(i, COLOR_ADM, string);
  6814. }
  6815. }
  6816. return true;
  6817. }
  6818. if(IsPlayerInProperty(playerid))
  6819. {
  6820. foreach(new i : Player)
  6821. {
  6822. if(IsPlayerInProperty(i) == IsPlayerInProperty(playerid))
  6823. {
  6824. PlayAudioStreamForPlayer(i, XMRData[SubXMRHolder[playerid]][xmrStationURL]);
  6825. format(string, sizeof(string), "Radio changed to station %s.", XMRData[SubXMRHolder[playerid]][xmrName]);
  6826. SendClientMessage(i, COLOR_ADM, string);
  6827. }
  6828. }
  6829. format(string, sizeof(string), "> %s has turned the radio to %s.", ReturnName(playerid, 0), XMRData[SubXMRHolder[playerid]][xmrName]);
  6830. SetPlayerChatBubble(playerid, string, COLOR_ACTION, 20.0, 3000);
  6831. SendClientMessage(playerid, 0x88AA62FF, string);
  6832. PropertyData[property][propertyXMROn] = true;
  6833. format(PropertyData[property][propertyXMRUrl], 128, "%s", XMRData[SubXMRHolder[playerid]][xmrStationURL]);
  6834. return true;
  6835. }
  6836. SendClientMessage(playerid, COLOR_ADM, "You're no longer near a radio... Please stay within a distance of your XMR source.");
  6837. return true;
  6838. }
  6839. }
  6840. case DIALOG_BUY_CLOTHING:
  6841. {
  6842. if(response){
  6843. if(listitem == 0){
  6844. if(PlayerClothingPage[playerid] == 1)
  6845. ShowClothingList(playerid, 1);
  6846. else
  6847. ShowClothingList(playerid, PlayerClothingPage[playerid]-1);
  6848. return true;
  6849. }
  6850. if(listitem == MAX_CLOTHING_SHOW+1){
  6851. return ShowClothingList(playerid, PlayerClothingPage[playerid]+1);
  6852. }
  6853. new id = ClothingItemSelector[playerid][listitem-1], clothing_id = FreeAttachmentSlot(playerid);
  6854. ApplyAnimation(playerid, "CLOTHES", "CLO_Pose_Hat", 4.1, 0, 0, 0, 1, 0, 1);
  6855. SendClientMessage(playerid, COLOR_WHITE, "HINT: Use {FFFF00}SPACE{FFFFFF} to look around. Press {FFFF00}ESC{FFFFFF} to decline.");
  6856. SendClientMessage(playerid, COLOR_WHITE, "Use {FFFF00}/clothing{FFFFFF} to edit your clothing items.");
  6857. SetPlayerAttachedObject(playerid, clothing_id, g_aClothingData[id][clothingModel], 2);
  6858. EditAttachedObject(playerid, clothing_id);
  6859. // was -1
  6860. ClothingCost[playerid] = g_aClothingData[id][clothingPrice];
  6861. format(PlayerData[playerid][pClothingName], 90, "%s", g_aClothingData[id][clothingName]);
  6862. PlayerData[playerid][pBuyingClothing] = true;
  6863. }
  6864. }
  6865. case DIALOG_CLOTHING_MENU:
  6866. {
  6867. new
  6868. string[128]
  6869. ;
  6870. if(response)
  6871. {
  6872. ClothingHolder[playerid] = ClothingMenuSelect[playerid][listitem + 1];
  6873. new index;
  6874. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  6875. {
  6876. if(ClothingData[playerid][i][attachment_SQLID] == ClothingMenuSelect[playerid][listitem + 1])
  6877. index = i;
  6878. }
  6879. format(string, sizeof(string), "%s", ClothingData[playerid][index][attachment_name]);
  6880. if(IsPlayerAttachedObjectSlotUsed(playerid, index))
  6881. ShowPlayerDialog(playerid, DIALOG_CLOTHING_EDIT, DIALOG_STYLE_LIST, string, "Adjust The Item\nChange Bone Slot\nDrop The Item\nTake Off", "Select", "<<");
  6882. else
  6883. ShowPlayerDialog(playerid, DIALOG_CLOTHING_EDIT, DIALOG_STYLE_LIST, string, "Adjust The Item\nChange Bone Slot\nDrop The Item\nPlace On", "Select", "<<");
  6884. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  6885. {
  6886. ClothingMenuSelect[playerid][i] = 0;
  6887. }
  6888. }
  6889. }
  6890. case DIALOG_CLOTHING_EDIT:
  6891. {
  6892. new
  6893. id,
  6894. string[128]
  6895. ;
  6896. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  6897. {
  6898. if(ClothingData[playerid][i][attachment_SQLID] == ClothingHolder[playerid])
  6899. id = i;
  6900. }
  6901. if(response) {
  6902. switch(listitem){
  6903. case 0:
  6904. {
  6905. if (IsPlayerAttachedObjectSlotUsed(playerid, id))
  6906. {
  6907. ApplyAnimation(playerid, "CLOTHES", "CLO_Pose_Hat", 4.1, 0, 0, 0, 1, 0, 1);
  6908. EditAttachedObject(playerid, id);
  6909. PlayerData[playerid][pEditingClothing] = true;
  6910. }
  6911. else {
  6912. SetPlayerAttachedObject(playerid, id, ClothingData[playerid][id][attachment_modelid], ClothingData[playerid][id][attachment_bone], ClothingData[playerid][id][attachment_Pos][0], ClothingData[playerid][id][attachment_Pos][1], ClothingData[playerid][id][attachment_Pos][2],
  6913. ClothingData[playerid][id][attachment_Rot][0], ClothingData[playerid][id][attachment_Rot][1], ClothingData[playerid][id][attachment_Rot][2], ClothingData[playerid][id][attachment_Scale][0],
  6914. ClothingData[playerid][id][attachment_Scale][1], ClothingData[playerid][id][attachment_Scale][2]);
  6915. ApplyAnimation(playerid, "CLOTHES", "CLO_Pose_Hat", 4.1, 0, 0, 0, 1, 0, 1);
  6916. EditAttachedObject(playerid, id);
  6917. PlayerData[playerid][pEditingClothing] = true;
  6918. }
  6919. }
  6920. case 1:
  6921. {
  6922. ShowPlayerDialog(playerid, DIALOG_CLOTHES_BONE, DIALOG_STYLE_LIST, "Change The Bone Slot", "Spine\nHead\nLeft arm\nRight arm\nLeft hand\nRight hand\nLeft thigh\nRight thigh\nLeft foot\nRight foot", "Select", "<<");
  6923. }
  6924. case 2:
  6925. {
  6926. new
  6927. thread[128];
  6928. mysql_format(m_Handle, thread, sizeof(thread), "DELETE FROM player_clothing WHERE id = %i", ClothingData[playerid][id][attachment_SQLID]);
  6929. mysql_pquery(m_Handle, thread, "OnClothingDelete", "ii", playerid, id);
  6930. }
  6931. case 3:
  6932. {
  6933. if (IsPlayerAttachedObjectSlotUsed(playerid, id))
  6934. {
  6935. RemovePlayerAttachedObject(playerid, id);
  6936. format(string, sizeof(string), "You took off %s", ClothingData[playerid][id][attachment_name]);
  6937. SendClientMessage(playerid, COLOR_WHITE, string);
  6938. }
  6939. else {
  6940. SetPlayerAttachedObject(playerid, id, ClothingData[playerid][id][attachment_modelid], ClothingData[playerid][id][attachment_bone], ClothingData[playerid][id][attachment_Pos][0], ClothingData[playerid][id][attachment_Pos][1], ClothingData[playerid][id][attachment_Pos][2],
  6941. ClothingData[playerid][id][attachment_Rot][0], ClothingData[playerid][id][attachment_Rot][1], ClothingData[playerid][id][attachment_Rot][2], ClothingData[playerid][id][attachment_Scale][0],
  6942. ClothingData[playerid][id][attachment_Scale][1], ClothingData[playerid][id][attachment_Scale][2]);
  6943. format(string, sizeof(string), "You put on %s", ClothingData[playerid][id][attachment_name]);
  6944. SendClientMessage(playerid, COLOR_WHITE, string);
  6945. }
  6946. }
  6947. }
  6948. }
  6949. else
  6950. {
  6951. return cmd_clothing(playerid, "");
  6952. }
  6953. }
  6954. case DIALOG_CLOTHES_BONE:
  6955. {
  6956. new id, string[128];
  6957. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  6958. {
  6959. if(ClothingData[playerid][i][attachment_SQLID] == ClothingHolder[playerid])
  6960. id = i;
  6961. }
  6962. if(response){
  6963. switch(listitem){
  6964. case 0:{
  6965. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Spine", ClothingData[playerid][id][attachment_name], id);
  6966. SendClientMessage(playerid, COLOR_WHITE, string);
  6967. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_SPINE;
  6968. }
  6969. case 1:{
  6970. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Head", ClothingData[playerid][id][attachment_name], id);
  6971. SendClientMessage(playerid, COLOR_WHITE, string);
  6972. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_HEAD;
  6973. }
  6974. case 2:{
  6975. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Left arm", ClothingData[playerid][id][attachment_name], id);
  6976. SendClientMessage(playerid, COLOR_WHITE, string);
  6977. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_LUPPER_A;
  6978. }
  6979. case 3:{
  6980. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Right arm", ClothingData[playerid][id][attachment_name], id);
  6981. SendClientMessage(playerid, COLOR_WHITE, string);
  6982. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_RUPPER_A;
  6983. }
  6984. case 4:{
  6985. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Left hand", ClothingData[playerid][id][attachment_name], id);
  6986. SendClientMessage(playerid, COLOR_WHITE, string);
  6987. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_LHAND;
  6988. }
  6989. case 5:{
  6990. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Right hand", ClothingData[playerid][id][attachment_name], id);
  6991. SendClientMessage(playerid, COLOR_WHITE, string);
  6992. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_RHAND;
  6993. }
  6994. case 6:{
  6995. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Left thigh", ClothingData[playerid][id][attachment_name], id);
  6996. SendClientMessage(playerid, COLOR_WHITE, string);
  6997. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_LTHIGH;
  6998. }
  6999. case 7:{
  7000. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Right thigh", ClothingData[playerid][id][attachment_name], id);
  7001. SendClientMessage(playerid, COLOR_WHITE, string);
  7002. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_RTHIGH;
  7003. }
  7004. case 8:{
  7005. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Left foot", ClothingData[playerid][id][attachment_name], id);
  7006. SendClientMessage(playerid, COLOR_WHITE, string);
  7007. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_LFOOT;
  7008. }
  7009. case 9:{
  7010. format(string, sizeof(string), "You changed your %s(Index: %d) bone to Right foot", ClothingData[playerid][id][attachment_name], id);
  7011. SendClientMessage(playerid, COLOR_WHITE, string);
  7012. ClothingData[playerid][id][attachment_bone] = OBJECT_BONE_RFOOT;
  7013. }
  7014. }
  7015. new
  7016. thread[128];
  7017. mysql_format(m_Handle, thread, sizeof(thread), "UPDATE player_clothing SET bone = %i WHERE id = %i", ClothingData[playerid][id][attachment_bone], ClothingData[playerid][id][attachment_SQLID]);
  7018. mysql_tquery(m_Handle, thread);
  7019. }
  7020. }
  7021. case DIALOG_ADMIN_MSG:
  7022. {
  7023. if (response){
  7024. PlayerData[playerid][pAdmMsgConfirm] = true;
  7025. format(PlayerData[playerid][pAdminMsg], 128, "");
  7026. format(PlayerData[playerid][pAdminMsgBy], 60, "");
  7027. }
  7028. }
  7029. case DIALOG_SECRET_WORD_CREATE:
  7030. {
  7031. new query[256];
  7032. if (!response) {
  7033. SendClientMessage(playerid, COLOR_ADM, "You have been kicked for not setting your secret word.");
  7034. printf("[DEBUG] %s was auto-kicked (Reason: Not logging in after 60s.)");
  7035. KickEx(playerid);
  7036. return true;
  7037. }
  7038. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET SecretWord = sha1('%e') WHERE id = %i", inputtext, PlayerData[playerid][pSQLID]);
  7039. mysql_pquery(m_Handle, query);
  7040. LoadPlayerData(playerid);
  7041. SendClientMessage(playerid, COLOR_YELLOW, "Your connection to the server has been authenticated.");
  7042. }
  7043. case DIALOG_SECRET_WORD_ENTER:
  7044. {
  7045. new string[128], query[256];
  7046. if(!response) {
  7047. SendClientMessage(playerid, COLOR_ADM, "You have been kicked for not logging in.");
  7048. format(string, sizeof(string), "%s was kicked during login (Did not confirm security password). Details logged", ReturnName(playerid, 1));
  7049. adminWarn(1, string);
  7050. KickEx(playerid);
  7051. return true;
  7052. }
  7053. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM players WHERE Name = '%e' AND SecretWord = sha1('%e') LIMIT 1", ReturnName(playerid, 1), inputtext);
  7054. mysql_pquery(m_Handle, query, "SQL_OnAccountConfirm", "i", playerid);
  7055. }
  7056. case DIALOG_GRAFFITI_MENU:
  7057. {
  7058. if (response)
  7059. {
  7060. switch(listitem)
  7061. {
  7062. case 0:
  7063. {
  7064. new string[289];
  7065. string = "USAGE:\n\n-\t\tIn this dialog, you may insert custom text to spray graffiti with. With this, there are custom bbCodes.\n\n\t\tNew line (n), Black (b), Brown(br) Red (r), Blue (bl), Green (g), Orange (o), White (w)\n\t\tYellow (y), Maroon (mr)\n-\t\t\nYour character may not be longer then 60 characters.";
  7066. format(string, sizeof(string), "%s", string);
  7067. ShowPlayerDialog(playerid, DIALOG_GRAFFITI_TEXT, DIALOG_STYLE_INPUT, "Enter your text:", string, "Select", "<<");
  7068. }
  7069. case 1:
  7070. {
  7071. ShowPlayerDialog(playerid, DIALOG_GRAFFITI_FONT, DIALOG_STYLE_LIST, "Pick A Font:", "Comic Sans\nLevi Brush\nDripping\nDiploma", "Select", "<<");
  7072. }
  7073. }
  7074. }
  7075. }
  7076. case DIALOG_GRAFFITI_FONT:
  7077. {
  7078. if (response)
  7079. {
  7080. switch(listitem)
  7081. {
  7082. case 0:
  7083. {
  7084. format(graffitiFont[playerid], 60, "Comic Sans");
  7085. SendClientMessage(playerid, COLOR_YELLOW, "You have chosen the font:{FFFFFF} Comic Sans");
  7086. }
  7087. case 1:
  7088. {
  7089. format(graffitiFont[playerid], 60, "Levi Brush");
  7090. SendClientMessage(playerid, COLOR_YELLOW, "You have chosen the font:{FFFFFF} Levi Brush");
  7091. }
  7092. case 2:
  7093. {
  7094. format(graffitiFont[playerid], 60, "Dripping");
  7095. SendClientMessage(playerid, COLOR_YELLOW, "You have chosen the font:{FFFFFF} Dripping");
  7096. }
  7097. case 3:
  7098. {
  7099. format(graffitiFont[playerid], 60, "Diploma");
  7100. SendClientMessage(playerid, COLOR_YELLOW, "You have chosen the font:{FFFFFF} Diploma");
  7101. }
  7102. }
  7103. }
  7104. else return ShowPlayerDialog(playerid, DIALOG_GRAFFITI_MENU, DIALOG_STYLE_LIST, "Main Menu:", "Custom Graffiti Text\nChoose Your Font", "Select", "<<");
  7105. }
  7106. case DIALOG_GRAFFITI_TEXT:
  7107. {
  7108. if (response)
  7109. {
  7110. new
  7111. string[289]
  7112. ;
  7113. string = "USAGE:\n\n-\tIn this dialog, you may insert custom text to spray graffiti with. With this, there are custom bbCodes.\n\n\t\tNew line (n), Black (b), Brown(br) Red (r), Blue (bl), Green (g), Orange (o), White (w)\n\t\tYellow (y), Maroon (mr)\n-\t\t\nYour character may not be longer then 60 characters.";
  7114. format(string, sizeof(string), "%s", string);
  7115. if(strlen(inputtext) >= 60)
  7116. {
  7117. SendClientMessage(playerid, COLOR_YELLOW, "Your graffiti text was over 60 characters.");
  7118. ShowPlayerDialog(playerid, DIALOG_GRAFFITI_TEXT, DIALOG_STYLE_INPUT, "Enter your text:", string, "Select", "<<");
  7119. return true;
  7120. }
  7121. if(strlen(inputtext) < 1)
  7122. {
  7123. ShowPlayerDialog(playerid, DIALOG_GRAFFITI_TEXT, DIALOG_STYLE_INPUT, "Enter your text:", string, "Select", "<<");
  7124. return true;
  7125. }
  7126. ShowPlayerDialog(playerid, DIALOG_GRAFFITI_TEXT, DIALOG_STYLE_INPUT, "Enter your text:", string, "Select", "<<");
  7127. format(graffitiText[playerid], 60, "%s", inputtext);
  7128. sprayingGraffitiTime[playerid] = strlen(graffitiText[playerid]);
  7129. saveSprayingTime[playerid] = sprayingGraffitiTime[playerid];
  7130. format(graffitiFont[playerid], 60, "Comic Sans");
  7131. SendClientMessage(playerid, COLOR_YELLOW, "You have set your text!");
  7132. format(string, sizeof(string), "%s", graffitiText[playerid]);
  7133. SendClientMessage(playerid, COLOR_WHITE, string);
  7134. }
  7135. else return ShowPlayerDialog(playerid, DIALOG_GRAFFITI_MENU, DIALOG_STYLE_LIST, "Main Menu:", "Custom Graffiti Text\nChoose Your Font", "Select", "<<");
  7136. }
  7137. case DIALOG_FACTION_CLOTHING:
  7138. {
  7139. if(response){
  7140. new id = listitem, clothing_id = FreeAttachmentSlot(playerid);
  7141. ApplyAnimation(playerid, "CLOTHES", "CLO_Pose_Hat", 4.1, 0, 0, 0, 1, 0, 1);
  7142. SendClientMessage(playerid, COLOR_WHITE, "HINT: Use {FFFF00}SPACE{FFFFFF} to look around. Press {FFFF00}ESC{FFFFFF} to decline.");
  7143. SendClientMessage(playerid, COLOR_WHITE, "Use {FFFF00}/clothing{FFFFFF} to edit your clothing items.");
  7144. SetPlayerAttachedObject(playerid, clothing_id, g_aFactionClothing[id][clothingModel], 2);
  7145. EditAttachedObject(playerid, clothing_id);
  7146. ClothingCost[playerid] = g_aFactionClothing[id][clothingPrice];
  7147. format(PlayerData[playerid][pClothingName], 90, "%s", g_aFactionClothing[id][clothingName]);
  7148. PlayerData[playerid][pBuyingClothing] = true;
  7149. }
  7150. }
  7151. case DIALOG_MDC:
  7152. {
  7153. if(response)
  7154. {
  7155. PlayNearbySound(playerid, MDC_SELECT);
  7156. switch(listitem)
  7157. {
  7158. case 0: return ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full legal name to search below:", "Select", "<<");
  7159. case 2: return ShowPlayerDialog(playerid, DIALOG_MDC_PLATE_FULL, DIALOG_STYLE_INPUT, "Plate Search - MDC", "Enter the vehicles full plate number to search below:", "Select", "<<");
  7160. case 3: return ShowPlayerDialog(playerid, DIALOG_MDC_PLATE_PARTIAL, DIALOG_STYLE_INPUT, "Partial Plate Search - MDC", "Enter a partial plate number to search below:", "Select", "<<");
  7161. case 5:
  7162. {
  7163. new
  7164. primary[500], sub[128];
  7165. if(!TotalJailees)
  7166. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Prisoners List - MDC", "There are no prisoners at the time.", "<<", "");
  7167. foreach(new i : Player)
  7168. {
  7169. if(PlayerData[i][pICJailed])
  7170. {
  7171. format(sub, sizeof(sub), "%s\n", ReturnName(i));
  7172. strcat(primary, sub);
  7173. }
  7174. }
  7175. format(sub, sizeof(sub), "{1E0C95}Total Prisoners: %i", TotalJailees);
  7176. strcat(primary, sub);
  7177. ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_LIST, "Prisoners List - MDC", primary, ">>", "<<");
  7178. }
  7179. case 6:
  7180. {
  7181. return mysql_tquery(m_Handle, "SELECT ModelID, Plate, ReportedStolenDate FROM ownedcars WHERE ReportedStolen = 1 ORDER BY id DESC", "OnStolenCars", "i", playerid);
  7182. }
  7183. case 8: return ShowPlayerDialog(playerid, DIALOG_MDC_NUMBER_SEARCH, DIALOG_STYLE_INPUT, "Phone Search - MDC", "Enter the phone number you want to find the owner of:", "Select", "<<");
  7184. case 9:
  7185. {
  7186. new
  7187. primary[900], sub[128],
  7188. callsign[128], bool:found;
  7189. foreach(new i : Player)
  7190. {
  7191. if(!PlayerData[i][pLAWduty])
  7192. continue;
  7193. format(callsign, 128, "- %s", PlayerData[i][pCallsign]);
  7194. format(sub, sizeof(sub), "%s %s\n", ReturnName(i), (strlen(PlayerData[i][pCallsign]) > 1) ? (callsign) : (""));
  7195. strcat(primary, sub);
  7196. found = true;
  7197. }
  7198. if(!found)
  7199. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Duty Roster - MDC", "There's nobody on duty right now.", ">>", "<<");
  7200. ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_LIST, "Duty Roster - MDC", primary, ">>", "<<");
  7201. }
  7202. }
  7203. }
  7204. return 1;
  7205. }
  7206. case DIALOG_MDC_NAME:
  7207. {
  7208. if(response)
  7209. {
  7210. if(strlen(inputtext) < 3 || strlen(inputtext) > MAX_PLAYER_NAME + 1)
  7211. return ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full legal name to search below:", "Select", "<<");
  7212. for(new i = 0; i < strlen(inputtext); i++)
  7213. {
  7214. if(inputtext[i] == '_')
  7215. {
  7216. PlayNearbySound(playerid, MDC_ERROR);
  7217. ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full legal name to search below:", "Select", "<<");
  7218. }
  7219. else
  7220. {
  7221. if(inputtext[i] == ' ')
  7222. {
  7223. inputtext[i] = '_';
  7224. }
  7225. }
  7226. }
  7227. PlayNearbySound(playerid, MDC_SELECT);
  7228. format(PlayerMDCText[playerid], 32, "%s", inputtext);
  7229. new
  7230. search_query[256];
  7231. mysql_format(m_Handle, search_query, sizeof(search_query), "SELECT Phone, DriversLicense, WeaponsLicense, ActiveListing, JailTimes, PrisonTimes FROM players WHERE Name = '%e'", inputtext);
  7232. mysql_tquery(m_Handle, search_query, "OnMDCNameSearch", "i", playerid);
  7233. return 1;
  7234. }
  7235. else ShowPlayerMDC(playerid);
  7236. }
  7237. case DIALOG_MDC_PLATE_FULL:
  7238. {
  7239. if(response)
  7240. {
  7241. if(strlen(inputtext) > 7 || strlen(inputtext) < 7)
  7242. {
  7243. PlayNearbySound(playerid, MDC_ERROR);
  7244. return ShowPlayerDialog(playerid, DIALOG_MDC_PLATE_FULL, DIALOG_STYLE_INPUT, "Plate Search - MDC", "Enter the vehicles full plate number to search below:", "Select", "<<");
  7245. }
  7246. PlayNearbySound(playerid, MDC_SELECT);
  7247. format(PlayerMDCText[playerid], 32, "%s", inputtext);
  7248. new
  7249. search_query[256];
  7250. mysql_format(m_Handle, search_query, sizeof(search_query), "SELECT OwnerID, ModelID, Impounded, Insurance, ReportedStolen, ReportedStolenDate FROM ownedcars WHERE Plate = '%e'", inputtext);
  7251. mysql_tquery(m_Handle, search_query, "OnMDCPlateSearch", "i", playerid);
  7252. return 1;
  7253. }
  7254. else return ShowPlayerMDC(playerid);
  7255. }
  7256. case DIALOG_MDC_PLATE_PARTIAL:
  7257. {
  7258. if(response)
  7259. {
  7260. if(strlen(inputtext) < 3 || strlen(inputtext) > 7)
  7261. {
  7262. PlayNearbySound(playerid, MDC_ERROR);
  7263. return ShowPlayerDialog(playerid, DIALOG_MDC_PLATE_PARTIAL, DIALOG_STYLE_INPUT, "Partial Plate Search - MDC", "Partial plates must have at least 3 characters.\n\nEnter a partial plate number to search below:", "Select", "<<");
  7264. }
  7265. PlayNearbySound(playerid, MDC_SELECT);
  7266. format(PlayerMDCText[playerid], 32, "%s", inputtext);
  7267. new
  7268. search_query[128];
  7269. mysql_format(m_Handle, search_query, sizeof(search_query), "SELECT Plate FROM ownedcars WHERE Plate LIKE '%%%e%%' LIMIT 5", inputtext);
  7270. mysql_tquery(m_Handle, search_query, "OnMDCPartialPlate", "i", playerid);
  7271. return 1;
  7272. }
  7273. else return ShowPlayerMDC(playerid);
  7274. }
  7275. case DIALOG_MDC_PLATE_LIST:
  7276. {
  7277. if(response)
  7278. {
  7279. new
  7280. search_query[230];
  7281. PlayNearbySound(playerid, MDC_SELECT);
  7282. format(PlayerMDCText[playerid], 32, "%s", PlayerMDCPlateHolder[playerid][listitem]);
  7283. mysql_format(m_Handle, search_query, sizeof(search_query), "SELECT OwnerID, ModelID, Impounded, Insurance, ReportedStolen, ReportedStolenDate FROM ownedcars WHERE Plate = '%e'", PlayerMDCPlateHolder[playerid][listitem]);
  7284. mysql_tquery(m_Handle, search_query, "OnMDCPlateSearch", "i", playerid);
  7285. return 1;
  7286. }
  7287. else return ShowPlayerMDC(playerid);
  7288. }
  7289. case DIALOG_MDC_NUMBER_SEARCH:
  7290. {
  7291. if(response)
  7292. {
  7293. if(!IsNumeric(inputtext))
  7294. return ShowPlayerDialog(playerid, DIALOG_MDC_NUMBER_SEARCH, DIALOG_STYLE_INPUT, "Phone Search - MDC", "Enter the phone number you want to find the owner of:", "Select", "<<");
  7295. new
  7296. number,
  7297. thread[128];
  7298. if(strlen(inputtext) > 6)
  7299. return ShowPlayerDialog(playerid, DIALOG_MDC_NUMBER_SEARCH, DIALOG_STYLE_INPUT, "Phone Search - MDC", "Enter the phone number you want to find the owner of:", "Select", "<<");
  7300. number = strval(inputtext);
  7301. mysql_format(m_Handle, thread, sizeof(thread), "SELECT Name FROM players WHERE Phone = %i", number);
  7302. mysql_tquery(m_Handle, thread, "OnPhoneSearch", "ii", playerid, number);
  7303. }
  7304. else return ShowPlayerMDC(playerid);
  7305. }
  7306. /*
  7307. case DIALOG_MDC_FINISH_QUEUE:
  7308. {
  7309. if(response)
  7310. return ShowPlayerMDC(playerid);
  7311. return 1;
  7312. }
  7313. */
  7314. /*
  7315. case DIALOG_MDC:
  7316. {
  7317. if(response)
  7318. {
  7319. switch(listitem)
  7320. {
  7321. case 0: return ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full name to search below:", "Search", "<<");
  7322. case 1: return ShowPlayerDialog(playerid, DIALOG_MDC_PLATE, DIALOG_STYLE_INPUT, "Plate Search - MDC", "Enter the vehicles full or partial plate to search below:", "Search", "<<");
  7323. }
  7324. return 1;
  7325. }
  7326. }
  7327. case DIALOG_MDC_NAME:
  7328. {
  7329. if(response)
  7330. {
  7331. if(strlen(inputtext) < 3 || strlen(inputtext) > 32)
  7332. return ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full name to search below:", "Search", "<<");
  7333. for(new i = 0; i < strlen(inputtext); i++)
  7334. {
  7335. if(inputtext[i] == '_')
  7336. {
  7337. return ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full name to search below:", "Search", "<<");
  7338. }
  7339. else
  7340. {
  7341. if(inputtext[i] == ' ')
  7342. {
  7343. inputtext[i] = '_';
  7344. }
  7345. }
  7346. }
  7347. PlayerMDCCount[playerid] = 0;
  7348. PlayerMDCTimer[playerid] = SetTimerEx("OnMDCSearch", 1000, true, "ii", playerid, 1);
  7349. format(PlayerMDCName[playerid], 32, "%s", inputtext);
  7350. PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], "Searching.");
  7351. return 1;
  7352. }
  7353. else return 1;
  7354. }
  7355. */
  7356. case DIALOG_MDC_PLATE:
  7357. {
  7358. if(response)
  7359. {
  7360. if(strlen(inputtext) > 6 || strlen(inputtext) < 3)
  7361. return ShowPlayerDialog(playerid, DIALOG_MDC_PLATE, DIALOG_STYLE_INPUT, "Plate Search - MDC", "Enter the vehicles full or partial plate to search below:\n\nYou need at least 3 characters for a plate search.", "Search", "<<");
  7362. PlayerMDCCount[playerid] = 0;
  7363. PlayerMDCTimer[playerid] = SetTimerEx("OnMDCSearch", 1000, true, "ii", playerid, 2);
  7364. format(PlayerMDCName[playerid], 32, "%s", inputtext);
  7365. PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], "Searching.");
  7366. }
  7367. else return 1;
  7368. }
  7369. case DIALOG_MDC_NAME_QUEUE:
  7370. {
  7371. if(response)
  7372. {
  7373. new
  7374. str[120];
  7375. format(str, sizeof(str), "{FFFFFF}Name search cancelled for: \"%s\"", PlayerMDCName[playerid]);
  7376. ShowPlayerDialog(playerid, DIALOG_DEFAULT, DIALOG_STYLE_MSGBOX, "Name Search - MDC", str, "Okay", "");
  7377. KillTimer(PlayerMDCTimer[playerid]);
  7378. PlayerMDCCount[playerid] = 0;
  7379. return 1;
  7380. }
  7381. }
  7382. case DIALOG_MDC_PLATE_QUEUE:
  7383. {
  7384. if(response)
  7385. {
  7386. new
  7387. str[120];
  7388. format(str, sizeof(str), "{FFFFFF}Plate search cancelled for: \"%s\"", PlayerMDCName[playerid]);
  7389. ShowPlayerDialog(playerid, DIALOG_DEFAULT, DIALOG_STYLE_MSGBOX, "Plate Search - MDC", str, "Okay", "");
  7390. KillTimer(PlayerMDCTimer[playerid]);
  7391. for(new i = 0; i < 5; i++) PlayerPlateSaver[playerid][i] = "";
  7392. PlayerMDCName[playerid] = "";
  7393. PlayerMDCCount[playerid] = 0;
  7394. }
  7395. }
  7396. /*
  7397. case DIALOG_MDC_PLATE_LIST:
  7398. {
  7399. if(response)
  7400. {
  7401. new query[220];
  7402. mysql_format(m_Handle, query, sizeof(query), "SELECT VehicleStolen, VehicleOwnerDBID, VehicleModel, VehicleImpounded FROM vehicles WHERE VehiclePlates = '%e'", PlayerPlateSaver[playerid][listitem]);
  7403. mysql_tquery(m_Handle, query, "OnPlateSelect", "ii", playerid, listitem);
  7404. return 1;
  7405. }
  7406. }
  7407. */
  7408. case DIALOG_MDC_FINISH_QUEUE:
  7409. {
  7410. if(response)
  7411. {
  7412. ShowPlayerMDC(playerid);
  7413. return 1;
  7414. }
  7415. }
  7416. case DIALOG_FINES:
  7417. {
  7418. if(response)
  7419. { //{105289} ADC3E7
  7420. if(!strcmp(inputtext, "**Click here to clear a fine."))
  7421. {
  7422. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  7423. return ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Fines", "Your rank doesn't have permission to clear fines.", ">>", "<<");
  7424. return ShowPlayerDialog(playerid, DIALOG_FINES_DELETE, DIALOG_STYLE_INPUT, "Clear a fine:", "Enter the Fine's # ID to clear it.", "Select", "Exit");
  7425. }
  7426. new
  7427. str[128], id;
  7428. id = CheckingPlayerFine[playerid];
  7429. SendClientMessage(playerid, COLOR_GRAD1, "- - - - - - - - PRINTED FINE - - - - - - - -");
  7430. format(str, sizeof(str), "{105289}Fine #. ID:{ADC3E7} %i", Fines[id][listitem][Fine_ID]);
  7431. SendClientMessage(playerid, -1, str);
  7432. format(str, sizeof(str), "{105289}Fine Recipient:{ADC3E7} %s", ReturnName(id, 1));
  7433. SendClientMessage(playerid, -1, str);
  7434. ClearLines(playerid, 1);
  7435. format(str, sizeof(str), "{105289}Fine Issuer:{ADC3E7} %s", Fines[id][listitem][Fine_Issuer]);
  7436. SendClientMessage(playerid, -1, str);
  7437. format(str, sizeof(str), "{105289}Fine Amount:{ADC3E7} $%s", MoneyFormat(Fines[id][listitem][Fine_Amount]));
  7438. SendClientMessage(playerid, -1, str);
  7439. ClearLines(playerid, 1);
  7440. format(str, sizeof(str), "{105289}Fine Reason:{ADC3E7} %s", Fines[id][listitem][Fine_Reason]);
  7441. SendClientMessage(playerid, -1, str);
  7442. format(str, sizeof(str), "{105289}Issued Date:{ADC3E7} %s", Fines[id][listitem][Fine_Date]);
  7443. SendClientMessage(playerid, -1, str);
  7444. SendClientMessage(playerid, COLOR_GRAD1, "- - - - - - - - - - - - - - - - - - - - - -");
  7445. return 1;
  7446. }
  7447. return 1;
  7448. }
  7449. case DIALOG_FINES_DELETE:
  7450. {
  7451. if(response)
  7452. {
  7453. new
  7454. id,
  7455. bool:found = false,
  7456. query[128]
  7457. ;
  7458. if(!IsNumeric(inputtext))
  7459. return ShowPlayerDialog(playerid, DIALOG_FINES_DELETE, DIALOG_STYLE_INPUT, "Clear a fine:", "Enter the Fine's # ID to clear it.", "Select", "Exit");
  7460. id = strval(inputtext);
  7461. foreach(new i : Player)
  7462. {
  7463. for(new f = 0; f < 30; f++)
  7464. {
  7465. if(Fines[i][f][Fine_ID] == id)
  7466. {
  7467. found = true;
  7468. }
  7469. }
  7470. }
  7471. if(!found)
  7472. return ShowPlayerDialog(playerid, DIALOG_FINES_DELETE, DIALOG_STYLE_INPUT, "Clear a fine:", "THAT FINE DOESN'T EXIST!\n\nEnter the Fine's # ID to clear it.", "Select", "Exit");
  7473. else
  7474. {
  7475. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM player_fines WHERE id = %i", id);
  7476. mysql_tquery(m_Handle, query, "OnDeletePlayerFine", "ii", playerid, id);
  7477. }
  7478. return 1;
  7479. }
  7480. return 1;
  7481. }
  7482. case DIALOG_ROADBLOCKS:
  7483. {
  7484. if(response)
  7485. {
  7486. new
  7487. liststr[500];
  7488. switch(listitem)
  7489. {
  7490. case 0:
  7491. {
  7492. for(new i = 0; i < sizeof(g_aRoadblocks); i++)
  7493. {
  7494. format(liststr, sizeof(liststr), "%s%s\n", liststr, g_aRoadblocks[i][RoadblockName]);
  7495. }
  7496. ShowPlayerDialog(playerid, DIALOG_ROADBLOCK_LIST, DIALOG_STYLE_LIST, "Available Roadblocks:", liststr, "Select", "<<");
  7497. }
  7498. case 1:
  7499. {
  7500. new
  7501. foundRoadblock;
  7502. for(new i = 0; i < sizeof(Roadblocks); i++)
  7503. {
  7504. if(!Roadblocks[i][RoadblockExists])
  7505. continue;
  7506. foundRoadblock++;
  7507. format(liststr, sizeof(liststr), "%s%s {AFAFAF}[%s - %s]\n", liststr, GetRoadblockNameFromModel(Roadblocks[i][RoadblocksModelID]), Roadblocks[i][RoadblockPlacedBy], Roadblocks[i][RoadblockLocation]);
  7508. }
  7509. if(foundRoadblock) return ShowPlayerDialog(playerid, DIALOG_ACTIVE_ROADBLOCKS, DIALOG_STYLE_LIST, "Active Roadblocks:", liststr, "Select", "<<");
  7510. else return ShowPlayerDialog(playerid, DIALOG_ROADBLOCKS, DIALOG_STYLE_LIST, "Roadblocks Menu", "Deploy Roadblock\nRoadblock List", "Select", "Cancel");
  7511. }
  7512. }
  7513. }
  7514. return 1;
  7515. }
  7516. case DIALOG_ROADBLOCK_LIST:
  7517. {
  7518. if(response)
  7519. {
  7520. new
  7521. foundRoom = 1,
  7522. count;
  7523. for(new i = 0; i < sizeof(Roadblocks); i++)
  7524. {
  7525. if(!Roadblocks[i][RoadblockExists])
  7526. continue;
  7527. count++;
  7528. if(count >= 29)
  7529. foundRoom = 0;
  7530. }
  7531. if(!foundRoom)
  7532. {
  7533. SendClientMessage(playerid, COLOR_WHITE, "SERVER: It's not possible to spawn anymore roadblocks right now.");
  7534. return ShowPlayerDialog(playerid, DIALOG_ROADBLOCKS, DIALOG_STYLE_LIST, "Roadblocks Menu", "Deploy Roadblock\nRoadblock List", "Select", "Cancel");
  7535. }
  7536. new
  7537. Float:x,
  7538. Float:y,
  7539. Float:z, str[128];
  7540. GetPlayerPos(playerid, x, y, z);
  7541. PlayerData[playerid][pRoadblockObject] = CreateDynamicObject(g_aRoadblocks[listitem][RoadblockModel], x + 2, y, z, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), playerid);
  7542. PlayerData[playerid][pAddingRoadblock] = 1;
  7543. PlayerData[playerid][pRoadblockModel] = g_aRoadblocks[listitem][RoadblockModel];
  7544. EditDynamicObject(playerid, PlayerData[playerid][pRoadblockObject]);
  7545. format(str, 128, "SERVER: You're adding a {ADC3E7}%s{FFFFFF} roadblock. Set the position to spawn it.", GetRoadblockNameFromModel(g_aRoadblocks[listitem][RoadblockModel]));
  7546. SendClientMessage(playerid, -1, str);
  7547. }
  7548. else return ShowPlayerDialog(playerid, DIALOG_ROADBLOCKS, DIALOG_STYLE_LIST, "Roadblocks Menu", "Deploy Roadblock\nRoadblock List", "Select", "Cancel");
  7549. return 1;
  7550. }
  7551. case DIALOG_ACTIVE_ROADBLOCKS:
  7552. {
  7553. if(response)
  7554. {
  7555. new
  7556. primary[350],
  7557. detailstr[128];
  7558. format(detailstr, 128, "{ADC3E7}Roadblock:{FFFFFF} %s\n", GetRoadblockNameFromModel(Roadblocks[listitem][RoadblocksModelID]));
  7559. strcat(primary, detailstr);
  7560. format(detailstr, 128, "{ADC3E7}Location:{FFFFFF} %s\n", Roadblocks[listitem][RoadblockLocation]);
  7561. strcat(primary, detailstr);
  7562. format(detailstr, 128, "{ADC3E7}Placed by:{FFFFFF} %s\n\n", Roadblocks[listitem][RoadblockPlacedBy]);
  7563. strcat(primary, detailstr);
  7564. strcat(primary, "Click '{ADC3E7}Yes{FFFFFF}' to disband this roadblock.");
  7565. ConfirmDialog(playerid, "Roadblock:", primary, "OnRoadblockDisband", listitem);
  7566. }
  7567. else return ShowPlayerDialog(playerid, DIALOG_ROADBLOCKS, DIALOG_STYLE_LIST, "Roadblocks Menu", "Deploy Roadblock\nRoadblock List", "Select", "Cancel");
  7568. return 1;
  7569. }
  7570. case DIALOG_FORUM_NAME:
  7571. {
  7572. if(response)
  7573. {
  7574. if(strlen(inputtext) > 60)
  7575. return ShowPlayerDialog(playerid, DIALOG_FORUM_NAME, DIALOG_STYLE_INPUT, "ADMIN FORUM NAME:", "{FFFF00}You're missing your forum name. As an admin, it's required to have one. Type in your forum name:", "Select", "Exit");
  7576. if(!strcmp(inputtext, "Kane", true) && PlayerData[playerid][pSQLID] != 1)
  7577. return ShowPlayerDialog(playerid, DIALOG_FORUM_NAME, DIALOG_STYLE_INPUT, "ADMIN FORUM NAME:", "YOU AREN'T KANE.\n\n{FFFF00}You're missing your forum name. As an admin, it's required to have one. Type in your forum name:", "Select", "Exit");
  7578. return cmd_forumname(playerid, inputtext);
  7579. }
  7580. return 1;
  7581. }
  7582. case DIALOG_INTERIORS:
  7583. {
  7584. if(response)
  7585. {
  7586. SetPlayerPos(playerid, Interiors[listitem][IntPosX], Interiors[listitem][IntPosY], Interiors[listitem][IntPosZ]);
  7587. SetPlayerInterior(playerid, Interiors[listitem][IntID]);
  7588. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  7589. ResetHouseVar(playerid);
  7590. return 1;
  7591. }
  7592. return 1;
  7593. }
  7594. case DIALOG_VLOG_LIST:
  7595. {
  7596. if(response)
  7597. {
  7598. if(listitem == 0)
  7599. {
  7600. if(PlayerVlogPage[playerid] == 1)
  7601. ShowVehicleLogs(playerid, PlayerVlogVehicle[playerid], 1);
  7602. else
  7603. ShowVehicleLogs(playerid, PlayerVlogVehicle[playerid], PlayerVlogPage[playerid]-1);
  7604. return 1;
  7605. }
  7606. if(listitem == MAX_VLOG_PER_PAGE+1){
  7607. return ShowVehicleLogs(playerid, PlayerVlogVehicle[playerid], PlayerVlogPage[playerid]+1);
  7608. }
  7609. }
  7610. return 1;
  7611. }
  7612. case DIALOG_PLOG_LIST:
  7613. {
  7614. if(response)
  7615. {
  7616. if(listitem == 0)
  7617. {
  7618. if(PlayerLogPage[playerid] == 1)
  7619. ShowPlayerLogs(playerid, PlayerLogPlayer[playerid], 1);
  7620. else
  7621. ShowPlayerLogs(playerid, PlayerLogPlayer[playerid], PlayerLogPage[playerid]-1);
  7622. return 1;
  7623. }
  7624. if(listitem == MAX_PLOG_PER_PAGE+1)
  7625. return ShowPlayerLogs(playerid, PlayerLogPlayer[playerid], PlayerLogPage[playerid]+1);
  7626. }
  7627. }
  7628. case DIALOG_REPORTS:
  7629. {
  7630. if(response)
  7631. {
  7632. new
  7633. primary_str[300],
  7634. sub_str[128];
  7635. format(sub_str, sizeof(sub_str), "Report ID: %i\n", listitem + 1);
  7636. strcat(primary_str, sub_str);
  7637. format(sub_str, sizeof(sub_str), "Reporter: %s\n", ReturnSQLName(ReportData[listitem + 1][reportBy]));
  7638. strcat(primary_str, sub_str);
  7639. format(sub_str, sizeof(sub_str), "Details: %s\n", ReportData[listitem + 1][reportReason]);
  7640. strcat(primary_str, sub_str);
  7641. format(sub_str, sizeof(sub_str), "Pending time: %d Seconds\n\n", gettime() - ReportData[listitem + 1][reportTime]);
  7642. strcat(primary_str, sub_str);
  7643. strcat(primary_str, "{A52A2A}Accept(Yes) or disregard(No) this report with the buttons.");
  7644. ConfirmDialog(playerid, "{A52A2A}Accept/disregard Report", primary_str, "OnSelectReport", listitem + 1);
  7645. return 1;
  7646. }
  7647. return 1;
  7648. }
  7649. case DIALOG_ADMINSYS:
  7650. {
  7651. if(response)
  7652. {
  7653. ShowAdminSys(playerid, listitem);
  7654. return 1;
  7655. }
  7656. return 1;
  7657. }
  7658. case DIALOG_ASYS_OFFLINEBAN:
  7659. {
  7660. if(!response)
  7661. return ShowAdminPanel(playerid);
  7662. new
  7663. strin[128];
  7664. if(!ReturnSQLFromName(inputtext))
  7665. {
  7666. format(strin, sizeof(strin), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" does not exist in the database.", inputtext);
  7667. ShowAdminSys(playerid, 0, strin);
  7668. return 1;
  7669. }
  7670. if(IsUserBanned(inputtext))
  7671. {
  7672. format(strin, sizeof(strin), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" is already banned from the server.", inputtext);
  7673. ShowAdminSys(playerid, 0, strin);
  7674. return 1;
  7675. }
  7676. foreach(new i : Player)
  7677. {
  7678. if(!strcmp(ReturnName(i), inputtext, true))
  7679. {
  7680. format(strin, sizeof(strin), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" is logged in as ID %i.", inputtext, i);
  7681. ShowAdminSys(playerid, 0, strin);
  7682. return 1;
  7683. }
  7684. }
  7685. format(OfflineBanName[playerid], 128, "%s", inputtext);
  7686. format(strin, 128, "Input the ban reason for user \"{A52A2A}%s{ADC3E7}\":", inputtext);
  7687. ShowPlayerDialog(playerid, DIALOG_ASYS_BANREASON, DIALOG_STYLE_INPUT, "Administration panel", strin, "Select", "<<");
  7688. return 1;
  7689. }
  7690. case DIALOG_ASYS_BANREASON:
  7691. {
  7692. if(!response)
  7693. return ShowAdminPanel(playerid);
  7694. if(strlen(inputtext) < 3)
  7695. {
  7696. new
  7697. strin[128];
  7698. format(strin, 128, "Input the ban reason for user \"{A52A2A}%s{ADC3E7}\":", OfflineBanName[playerid]);
  7699. ShowPlayerDialog(playerid, DIALOG_ASYS_BANREASON, DIALOG_STYLE_INPUT, "Administration panel", strin, "Select", "<<");
  7700. return 1;
  7701. }
  7702. foreach(new i : Player)
  7703. {
  7704. if(!strcmp(ReturnName(i), OfflineBanName[playerid], true))
  7705. {
  7706. SendClientMessage(playerid, COLOR_ADM, "An error occurred... The player you were banning has logged in.");
  7707. Message(playerid, COLOR_WHITE, "ID: %i", i);
  7708. return 1;
  7709. }
  7710. }
  7711. new
  7712. secure[160],
  7713. admin_level, IP[60], HWID[90];
  7714. mysql_format(m_Handle, secure, sizeof(secure), "SELECT AdminLevel, IP, HWID FROM players WHERE Name = '%e'", OfflineBanName[playerid]);
  7715. new Cache:cache = mysql_query(m_Handle, secure);
  7716. cache_get_value_name_int(0, "AdminLevel", admin_level);
  7717. cache_get_value_name(0, "IP", IP, 60);
  7718. cache_get_value_name(0, "HWID", HWID, 90);
  7719. if(admin_level > PlayerData[playerid][pAdmin])
  7720. {
  7721. cache_delete(cache);
  7722. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Error processing", "The user specified cannot be banned by you.", "Okay", "");
  7723. return 1;
  7724. }
  7725. new
  7726. query[300],
  7727. string[128];
  7728. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO bans (`Name`, `Reason`, `BannedBy`, `Date`, `IP`, `HWID`) VALUES('%e', '%e', '%e', '%e', '%e', '%e')", OfflineBanName[playerid], inputtext, ReturnName(playerid, 1), ReturnDateLog(), IP, HWID);
  7729. mysql_pquery(m_Handle, query);
  7730. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_bans (Name, Reason, BannedBy, Date, IP) VALUES('%e', '%e', '%e', '%e', '%e')", OfflineBanName[playerid], inputtext, ReturnName(playerid), ReturnDate(), IP);
  7731. mysql_pquery(m_Handle, query);
  7732. format(string, sizeof(string), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" has successfully been banned.", OfflineBanName[playerid]);
  7733. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  7734. format(string, sizeof(string), "%s was offline banned by %s for '%s'", OfflineBanName[playerid], ReturnName(playerid), inputtext);
  7735. adminWarn(1, string);
  7736. printf("[WARNING] AdmCmd: %s offline banned %s, reason: %s ", ReturnName(playerid, 1), OfflineBanName[playerid], inputtext);
  7737. WriteLog("admin_logs/punishments/ban_log.txt", "[%s] %s was banned by %s, Reason: %s (OFFLINE)", ReturnDate(), OfflineBanName[playerid], ReturnName(playerid), inputtext);
  7738. cache_delete(cache);
  7739. return 1;
  7740. }
  7741. case DIALOG_ASYS_OFFLINEAJAIL:
  7742. {
  7743. if(!response)
  7744. return ShowAdminPanel(playerid);
  7745. new
  7746. strin[128];
  7747. if(!ReturnSQLFromName(inputtext))
  7748. {
  7749. format(strin, sizeof(strin), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" does not exist in the database.", inputtext);
  7750. ShowAdminSys(playerid, 1, strin);
  7751. return 1;
  7752. }
  7753. foreach(new i : Player)
  7754. {
  7755. if(!strcmp(ReturnName(i), inputtext, true))
  7756. {
  7757. format(strin, sizeof(strin), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" is logged in as ID %i.", inputtext, i);
  7758. ShowAdminSys(playerid, 0, strin);
  7759. return 1;
  7760. }
  7761. }
  7762. format(OfflineJailName[playerid], 60, "%s", inputtext);
  7763. format(strin, sizeof(strin), "Input the time you want to admin jail \"{A52A2A}%s{ADC3E7}\" for:", inputtext);
  7764. ShowPlayerDialog(playerid, DIALOG_ASYS_OJAILTIME, DIALOG_STYLE_INPUT, "Administration panel", strin, "Select", "<<");
  7765. return 1;
  7766. }
  7767. case DIALOG_ASYS_OJAILTIME:
  7768. {
  7769. if(!response)
  7770. return ShowAdminPanel(playerid);
  7771. new
  7772. strin[230];
  7773. if(!IsNumeric(inputtext))
  7774. {
  7775. format(strin, sizeof(strin), "The time must be a numeric value in minutes.\n\nInput the time you want to admin jail \"{A52A2A}%s{ADC3E7}\" for:", OfflineJailName[playerid]);
  7776. ShowPlayerDialog(playerid, DIALOG_ASYS_OJAILTIME, DIALOG_STYLE_INPUT, "Administration panel", strin, "Select", "<<");
  7777. return 1;
  7778. }
  7779. OfflineJailTime[playerid] = strval(inputtext);
  7780. if(OfflineJailTime[playerid] < 1)
  7781. {
  7782. if(!IsNumeric(inputtext))
  7783. {
  7784. format(strin, sizeof(strin), "The time must be a numeric value in minutes. (1+)\n\nInput the time you want to admin jail \"{A52A2A}%s{ADC3E7}\" for:", OfflineJailName[playerid]);
  7785. ShowPlayerDialog(playerid, DIALOG_ASYS_OJAILTIME, DIALOG_STYLE_INPUT, "Administration panel", strin, "Select", "<<");
  7786. return 1;
  7787. }
  7788. }
  7789. format(strin, sizeof(strin), "Input the reason for \"{A52A2A}%s{ADC3E7}\"'s (%i) minute admin jail:", OfflineJailName[playerid], OfflineJailTime[playerid]);
  7790. ShowPlayerDialog(playerid, DIALOG_ASYS_OJAILREASON, DIALOG_STYLE_INPUT, "Administration panel", strin, "Select", "<<");
  7791. return 1;
  7792. }
  7793. case DIALOG_ASYS_OJAILREASON:
  7794. {
  7795. if(!response)
  7796. return ShowAdminPanel(playerid);
  7797. new
  7798. query[256],
  7799. string[170];
  7800. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET OfflineAjail = 1, AjailTime = %d, OfflineAjailReason = '%e' WHERE Name = '%e'", OfflineJailTime[playerid], inputtext, OfflineJailName[playerid]);
  7801. mysql_pquery(m_Handle, query);
  7802. format(string, sizeof(string), "{ADC3E7}The username \"{A52A2A}%s{ADC3E7}\" has successfully been admin jailed.", OfflineJailName[playerid]);
  7803. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  7804. format(string, sizeof(string), "%s was offline jailed by %s for '%s'", OfflineJailName[playerid], ReturnName(playerid), inputtext);
  7805. adminWarn(1, string);
  7806. WriteLog("admin_logs/punishments/ajail_log.txt", "[%s] %s offline jailed %s for %d minutes, reason: %s (OFFLINE)", ReturnDate(), ReturnName(playerid, 1), OfflineJailName[playerid], OfflineJailTime[playerid], inputtext);
  7807. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_ajail (`Name`, `Reason`, `JailedBy`, `Date`, `Time`, `IP`) VALUES('%e', '%e', '%e', '%e', %i, 'via off')", OfflineJailName[playerid], inputtext, ReturnName(playerid, 1), ReturnDateLog(), OfflineJailTime[playerid]);
  7808. mysql_pquery(m_Handle, query);
  7809. return 1;
  7810. }
  7811. case DIALOG_ASYS_UNBAN:
  7812. {
  7813. if(!response)
  7814. return ShowAdminPanel(playerid);
  7815. /*{
  7816. ShowAdminSys(playerid, 2, "The username you specified isn't possible.");
  7817. return 1;
  7818. }*/
  7819. if(!ReturnSQLFromName(inputtext))
  7820. {
  7821. ShowAdminSys(playerid, 2, "The username you specified doesn't exist in the database.");
  7822. return 1;
  7823. }
  7824. new
  7825. string[128];
  7826. foreach(new i : Player)
  7827. {
  7828. if(!strcmp(ReturnName(i), inputtext, true))
  7829. {
  7830. format(string, sizeof(string), "The user you specified is logged in as ID %i.", i);
  7831. ShowAdminSys(playerid, 2, string);
  7832. return 1;
  7833. }
  7834. }
  7835. if(!IsUserBanned(inputtext))
  7836. {
  7837. format(string, sizeof(string), "The user \"{A52A2A}%s{ADC3E7}\" is not banned from the server.", inputtext);
  7838. ShowAdminSys(playerid, 2, string);
  7839. return 1;
  7840. }
  7841. format(AdminPanelName[playerid], 60, "%s", inputtext);
  7842. format(string, sizeof(string), "Are you sure you want to unban \"{A52A2A}%s{ADC3E7}\" from the server?", inputtext);
  7843. ConfirmDialog(playerid, "Administration panel", string, "OnPanelUnban");
  7844. return 1;
  7845. }
  7846. case DIALOG_LOOKUP_JAILS:
  7847. {
  7848. if(!response)
  7849. return ShowAdminPanel(playerid);
  7850. /*{
  7851. ShowAdminSys(playerid, 3, "The username you specified isn't possible.");
  7852. return 1;
  7853. }*/
  7854. if(!ReturnSQLFromName(inputtext))
  7855. {
  7856. ShowAdminSys(playerid, 3, "The username you specified doesn't exist in the database.");
  7857. return 1;
  7858. }
  7859. new
  7860. query[200];
  7861. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM log_ajail WHERE Name = '%e' ORDER BY id DESC", inputtext);
  7862. new Cache:cache = mysql_query(m_Handle, query);
  7863. if(!cache_num_rows())
  7864. {
  7865. format(query, sizeof(query), "The user \"{A52A2A}%s{ADC3E7}\" has never been admin jailed.", inputtext);
  7866. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", query, "Okay!", "");
  7867. cache_delete(cache);
  7868. return 1;
  7869. }
  7870. else
  7871. {
  7872. new Reason[128], By[60], Date[90], IP[90], Time;
  7873. new PackerString[128], FullList[1100];
  7874. strcat(FullList, "Jailed by - Date - Time - Reason - IP\n\n");
  7875. for(new i = 0; i < cache_num_rows(); i++)
  7876. {
  7877. cache_get_value_name(i, "JailedBy", By, 60);
  7878. cache_get_value_name(i, "Reason", Reason, 128);
  7879. cache_get_value_name(i, "Date", Date, 90);
  7880. cache_get_value_name(i, "IP", IP, 90);
  7881. cache_get_value_name_int(i, "Time", Time);
  7882. format(PackerString, 128, "\t%s - %s - %i - %s - %s\n", By, Date, Time, Reason, IP);
  7883. strcat(FullList, PackerString);
  7884. }
  7885. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", FullList, "Okay!", "");
  7886. }
  7887. return 1;
  7888. }
  7889. case DIALOG_LOOKUP_KICKS:
  7890. {
  7891. if(!response)
  7892. return ShowAdminPanel(playerid);
  7893. /*{
  7894. ShowAdminSys(playerid, 4, "The username you specified isn't possible.");
  7895. return 1;
  7896. }*/
  7897. if(!ReturnSQLFromName(inputtext))
  7898. {
  7899. ShowAdminSys(playerid, 4, "The username you specified doesn't exist in the database.");
  7900. return 1;
  7901. }
  7902. new
  7903. query[200];
  7904. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM log_kicks WHERE Name = '%e' ORDER BY id DESC", inputtext);
  7905. new Cache:cache = mysql_query(m_Handle, query);
  7906. if(!cache_num_rows())
  7907. {
  7908. format(query, sizeof(query), "The user \"{A52A2A}%s{ADC3E7}\" has never been kicked.", inputtext);
  7909. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", query, "Okay!", "");
  7910. cache_delete(cache);
  7911. return 1;
  7912. }
  7913. else
  7914. {
  7915. new Reason[128], By[60], Date[90], IP[90];
  7916. new PackerString[128], FullList[1100];
  7917. strcat(FullList, "Kicked by - Date - Reason - IP\n\n");
  7918. for(new i = 0; i < cache_num_rows(); i++)
  7919. {
  7920. cache_get_value_name(i, "KickedBy", By, 60);
  7921. cache_get_value_name(i, "Reason", Reason, 128);
  7922. cache_get_value_name(i, "Date", Date, 90);
  7923. cache_get_value_name(i, "IP", IP, 90);
  7924. format(PackerString, 128, "\t%s - %s - %s - %s\n", By, Date, Reason, IP);
  7925. strcat(FullList, PackerString);
  7926. }
  7927. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", FullList, "Okay!", "");
  7928. }
  7929. return 1;
  7930. }
  7931. case DIALOG_LOOKUP_BANS:
  7932. {
  7933. if(!response)
  7934. return ShowAdminPanel(playerid);
  7935. /*{
  7936. ShowAdminSys(playerid, 5, "The username you specified isn't possible.");
  7937. return 1;
  7938. }*/
  7939. if(!ReturnSQLFromName(inputtext))
  7940. {
  7941. ShowAdminSys(playerid, 5, "The username you specified doesn't exist in the database.");
  7942. return 1;
  7943. }
  7944. new
  7945. query[200];
  7946. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM log_bans WHERE Name = '%e' ORDER BY id DESC", inputtext);
  7947. new Cache:cache = mysql_query(m_Handle, query);
  7948. if(!cache_num_rows())
  7949. {
  7950. format(query, sizeof(query), "The user \"{A52A2A}%s{ADC3E7}\" has never been banned.", inputtext);
  7951. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", query, "Okay!", "");
  7952. cache_delete(cache);
  7953. return 1;
  7954. }
  7955. else
  7956. {
  7957. new Reason[128], By[60], Date[90], IP[90];
  7958. new PackerString[128], FullList[1100];
  7959. strcat(FullList, "Banned by - Date - Reason - IP\n\n");
  7960. for(new i = 0; i < cache_num_rows(); i++)
  7961. {
  7962. cache_get_value_name(i, "BannedBy", By, 60);
  7963. cache_get_value_name(i, "Reason", Reason, 128);
  7964. cache_get_value_name(i, "Date", Date, 90);
  7965. cache_get_value_name(i, "IP", IP, 90);
  7966. format(PackerString, 128, "\t%s - %s - %s - %s\n", By, Date, Reason, IP);
  7967. strcat(FullList, PackerString);
  7968. }
  7969. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", FullList, "Okay!", "");
  7970. }
  7971. return 1;
  7972. }
  7973. case DIALOG_DECRYPTMASK:
  7974. {
  7975. if(!response)
  7976. return ShowAdminPanel(playerid);
  7977. if(strlen(inputtext) > 9)
  7978. return ShowAdminSys(playerid, 6, "The Mask ID you specified is invalid.");
  7979. new bool:isValid = true;
  7980. for (new i = 0, l = strlen(inputtext); i != l; i ++)
  7981. {
  7982. if (i == 6 && inputtext[6] == '_')
  7983. continue;
  7984. else if (inputtext[i] < '0' || inputtext[i] > '9')
  7985. isValid = false;
  7986. }
  7987. if(!isValid)
  7988. return ShowAdminSys(playerid, 6, "The Mask ID you specified is invalid.");
  7989. new First,
  7990. Second,
  7991. FirstStr[30],
  7992. SecondStr[30];
  7993. strmid(FirstStr, inputtext, 0, 6);
  7994. strmid(SecondStr, inputtext, 7, 9);
  7995. First = strval(FirstStr);
  7996. Second = strval(SecondStr);
  7997. new Query[128],
  7998. string[128];
  7999. mysql_format(m_Handle, Query, sizeof(Query), "SELECT Name FROM players WHERE MaskID = %i AND MaskIDEx = %i", First, Second);
  8000. new Cache:cache = mysql_query(m_Handle, Query);
  8001. if(!cache_num_rows())
  8002. {
  8003. format(string, sizeof(string), "No user has the Mask ID \"{A52A2A}[%d_%d]{ADC3E7}\".", First, Second);
  8004. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  8005. cache_delete(cache);
  8006. }
  8007. else
  8008. {
  8009. new Name[60];
  8010. cache_get_value_name(0, "Name", Name, 60);
  8011. format(string, sizeof(string), "Mask ID \"{A52A2A}[%d_%d]{ADC3E7}\" belongs to the user \"{A52A2A}%s{ADC3E7}\".", First, Second, Name);
  8012. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  8013. cache_delete(cache);
  8014. }
  8015. return 1;
  8016. }
  8017. case DIALOG_APANEL:
  8018. {
  8019. if(response) return ShowAdminPanel(playerid);
  8020. return 1;
  8021. }
  8022. case DIALOG_SKINSEARCH:
  8023. {
  8024. if(!response)
  8025. return ShowAdminPanel(playerid);
  8026. if(!IsNumeric(inputtext))
  8027. return ShowAdminSys(playerid, 8, "Your input needs to be a numeric value.");
  8028. new Skin;
  8029. Skin = strval(inputtext);
  8030. if(Skin < 0 || Skin == 74 || Skin > 311)
  8031. return ShowAdminSys(playerid, 8, "You specified an invalid Skin ID.");
  8032. new FoundSkin, ListStr[900], PlayerStr[128];
  8033. format(PlayerStr, sizeof(PlayerStr), "Players with Skin ID %i:\n\n", Skin);
  8034. strcat(ListStr, PlayerStr);
  8035. foreach(new i : Player) if(GetPlayerSkin(i) == Skin)
  8036. {
  8037. FoundSkin++;
  8038. format(PlayerStr, sizeof(PlayerStr), "\t%s (ID: %i) - Location: %s - Vehicle: %i\n", ReturnName(i), i, ReturnLocation(i), GetPlayerVehicleID(i));
  8039. strcat(ListStr, PlayerStr);
  8040. }
  8041. if(!FoundSkin)
  8042. return ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", "No player was found with that Skin ID.", "Okay!", "");
  8043. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", ListStr, "Okay!", "");
  8044. return 1;
  8045. }
  8046. case DIALOG_ANOTE_LOOKUP:
  8047. {
  8048. if(!response)
  8049. return ShowAdminPanel(playerid);
  8050. /*{
  8051. ShowAdminSys(playerid, 9, "The username you specified isn't possible.");
  8052. return 1;
  8053. }*/
  8054. if(!ReturnSQLFromName(inputtext))
  8055. {
  8056. ShowAdminSys(playerid, 9, "The username you specified doesn't exist in the database.");
  8057. return 1;
  8058. }
  8059. new Query[200], string[128];
  8060. mysql_format(m_Handle, Query, sizeof(Query), "SELECT * FROM player_anotes WHERE player_dbid = %i", ReturnSQLFromName(inputtext));
  8061. new Cache:cache = mysql_query(m_Handle, Query);
  8062. if(!cache_num_rows())
  8063. {
  8064. format(string, sizeof(string), "The user \"{A52A2A}%s{ADC3E7}\" does not have any admin notes.", inputtext);
  8065. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  8066. cache_delete(cache);
  8067. return 1;
  8068. }
  8069. else
  8070. {
  8071. new Reason[128];
  8072. new ID;
  8073. new FullList[400], ShowList[128];
  8074. for(new i = 0, j = 1; i < cache_num_rows(); i++)
  8075. {
  8076. cache_get_value_name(i, "anote_reason", Reason, 128);
  8077. cache_get_value_name_int(i, "id", ID);
  8078. AdminNoteSelect[playerid][j] = ID;
  8079. j++;
  8080. if(j > MAX_ADMIN_NOTES)
  8081. break;
  8082. format(ShowList, sizeof(ShowList), "[%i] %.35s...\n", i+1, Reason);
  8083. strcat(FullList, ShowList);
  8084. }
  8085. ShowPlayerDialog(playerid, DIALOG_ANOTE_SELECT, DIALOG_STYLE_LIST, "Administration panel", FullList, "Select", "<<");
  8086. }
  8087. return 1;
  8088. }
  8089. case DIALOG_ANOTE_SELECT:
  8090. {
  8091. if(!response)
  8092. return ShowAdminPanel(playerid);
  8093. new Query[128];
  8094. mysql_format(m_Handle, Query, sizeof(Query), "SELECT * FROM player_anotes WHERE id = %i", AdminNoteSelect[playerid][listitem+1]);
  8095. new Cache:cache = mysql_query(m_Handle, Query);
  8096. if(!cache_num_rows())
  8097. {
  8098. cache_delete(cache);
  8099. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", "An error occurred with this admin note.", "Okay!", "");
  8100. return 1;
  8101. }
  8102. else
  8103. {
  8104. new PlayerDBID, Reason[128],
  8105. Issuer[60], Date[90];
  8106. cache_get_value_name_int(0, "player_dbid", PlayerDBID);
  8107. cache_get_value_name(0, "anote_issuer", Issuer, 60);
  8108. cache_get_value_name(0, "anote_reason", Reason, 128);
  8109. cache_get_value_name(0, "anote_date", Date, 90);
  8110. new Primary[500], Sub[128];
  8111. format(Sub, sizeof(Sub), "Player name: %s\n", ReturnSQLName(PlayerDBID));
  8112. strcat(Primary, Sub);
  8113. format(Sub, sizeof(Sub), "Issuer name: %s\n\n", Issuer);
  8114. strcat(Primary, Sub);
  8115. format(Sub, sizeof(Sub), "Date: %s\n", Date);
  8116. strcat(Primary, Sub);
  8117. format(Sub, sizeof(Sub), "Reason: %s\n\n", Reason);
  8118. strcat(Primary, Sub);
  8119. strcat(Primary, "{A52A2A}Use admin sys to Delete or Edit this admin note.");
  8120. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", Primary, "Okay!", "");
  8121. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  8122. AdminNoteSelect[playerid][i] = 0;
  8123. }
  8124. return 1;
  8125. }
  8126. case DIALOG_ANOTE_EDIT:
  8127. {
  8128. if(!response)
  8129. return ShowAdminPanel(playerid);
  8130. /*{
  8131. ShowAdminSys(playerid, 10, "The username you specified isn't possible.");
  8132. return 1;
  8133. }*/
  8134. if(!ReturnSQLFromName(inputtext))
  8135. {
  8136. ShowAdminSys(playerid, 10, "The username you specified doesn't exist in the database.");
  8137. return 1;
  8138. }
  8139. new Query[200], string[128];
  8140. mysql_format(m_Handle, Query, sizeof(Query), "SELECT * FROM player_anotes WHERE player_dbid = %i", ReturnSQLFromName(inputtext));
  8141. new Cache:cache = mysql_query(m_Handle, Query);
  8142. if(!cache_num_rows())
  8143. {
  8144. format(string, sizeof(string), "The user \"{A52A2A}%s{ADC3E7}\" does not have any admin notes.", inputtext);
  8145. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  8146. cache_delete(cache);
  8147. return 1;
  8148. }
  8149. else
  8150. {
  8151. new Reason[128];
  8152. new ID;
  8153. new FullList[400], ShowList[128];
  8154. for(new i = 0, j = 1; i < cache_num_rows(); i++)
  8155. {
  8156. cache_get_value_name(i, "anote_reason", Reason, 128);
  8157. cache_get_value_name_int(i, "id", ID);
  8158. AdminNoteSelect[playerid][j] = ID;
  8159. j++;
  8160. if(j > MAX_ADMIN_NOTES)
  8161. break;
  8162. format(ShowList, sizeof(ShowList), "[%i] %.35s...\n", i+1, Reason);
  8163. strcat(FullList, ShowList);
  8164. }
  8165. format(AdminPanelName[playerid], 60, "%s", inputtext);
  8166. ShowPlayerDialog(playerid, DIALOG_ANOTE_EDIT_YES, DIALOG_STYLE_LIST, "Administration panel", FullList, "Select", "<<");
  8167. }
  8168. return 1;
  8169. }
  8170. case DIALOG_ANOTE_EDIT_YES:
  8171. {
  8172. if(!response)
  8173. return ShowAdminPanel(playerid);
  8174. new Query[128];
  8175. mysql_format(m_Handle, Query, sizeof(Query), "SELECT * FROM player_anotes WHERE id = %i", AdminNoteSelect[playerid][listitem+1]);
  8176. new Cache:cache = mysql_query(m_Handle, Query);
  8177. if(!cache_num_rows())
  8178. {
  8179. cache_delete(cache);
  8180. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", "An error occurred with this admin note.", "Okay!", "");
  8181. return 1;
  8182. }
  8183. else
  8184. {
  8185. new PlayerDBID, Reason[128],
  8186. Issuer[60], Date[90];
  8187. cache_get_value_name_int(0, "player_dbid", PlayerDBID);
  8188. cache_get_value_name(0, "anote_issuer", Issuer, 60);
  8189. cache_get_value_name(0, "anote_reason", Reason, 128);
  8190. cache_get_value_name(0, "anote_date", Date, 90);
  8191. new Primary[500], Sub[128];
  8192. format(Sub, sizeof(Sub), "Player name: %s\n", ReturnSQLName(PlayerDBID));
  8193. strcat(Primary, Sub);
  8194. format(Sub, sizeof(Sub), "Issuer name: %s\n\n", Issuer);
  8195. strcat(Primary, Sub);
  8196. format(Sub, sizeof(Sub), "Date: %s\n", Date);
  8197. strcat(Primary, Sub);
  8198. format(Sub, sizeof(Sub), "Reason: %s\n\n", Reason);
  8199. strcat(Primary, Sub);
  8200. strcat(Primary, "{A52A2A}Select \"EDIT\" to edit this admin note reason.");
  8201. ShowPlayerDialog(playerid, DIALOG_ANOTE_EDIT_YES2, DIALOG_STYLE_MSGBOX, "Administration panel", Primary, "Edit", "<<");
  8202. cache_delete(cache);
  8203. AdminNoteSelected[playerid] = AdminNoteSelect[playerid][listitem+1];
  8204. format(AdminNoteIssuer[playerid], 90, "%s", Issuer);
  8205. }
  8206. return 1;
  8207. }
  8208. case DIALOG_ANOTE_EDIT_YES2:
  8209. {
  8210. if(!response)
  8211. return ShowAdminPanel(playerid);
  8212. ShowPlayerDialog(playerid, DIALOG_ANOTE_EDIT_YES3, DIALOG_STYLE_INPUT, "Administration panel", "What would you like to edit this admin notes reason to?", "Select", "<<");
  8213. return 1;
  8214. }
  8215. case DIALOG_ANOTE_EDIT_YES3:
  8216. {
  8217. if(!response)
  8218. return ShowAdminPanel(playerid);
  8219. new Query[256], IssuerEdit[128];
  8220. if(strlen(inputtext) < 3)
  8221. return ShowPlayerDialog(playerid, DIALOG_ANOTE_EDIT_YES3, DIALOG_STYLE_INPUT, "Administration panel", "What would you like to edit this admin notes reason to?", "Select", "<<");
  8222. if(strcmp(AdminNoteIssuer[playerid], ReturnName(playerid), true))
  8223. {
  8224. format(IssuerEdit[playerid], 128, "%s+%s", AdminNoteIssuer[playerid], ReturnName(playerid));
  8225. }
  8226. else format(IssuerEdit[playerid], 128, "%s", AdminNoteIssuer[playerid]);
  8227. foreach(new i : Player)
  8228. {
  8229. for(new j = 1; j < MAX_ADMIN_NOTES; j++)
  8230. {
  8231. if(aNotesData[i][j][anote_SQLID] == AdminNoteSelected[playerid])
  8232. {
  8233. format(aNotesData[i][j][anote_reason], 128, "%s", inputtext);
  8234. format(aNotesData[i][j][anote_issuer], 60, "%s", IssuerEdit);
  8235. }
  8236. }
  8237. }
  8238. mysql_format(m_Handle, Query, sizeof(Query), "UPDATE player_anotes SET anote_reason = '%e', anote_issuer = '%e' WHERE id = %i", inputtext, IssuerEdit[playerid], AdminNoteSelected[playerid]);
  8239. mysql_tquery(m_Handle, Query);
  8240. format(IssuerEdit, sizeof(IssuerEdit), "You successfully edited an admin note on {A52A2A}%s.", AdminPanelName[playerid]);
  8241. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", IssuerEdit, "Okay!", "");
  8242. format(IssuerEdit, sizeof(IssuerEdit), "%s had an admin noted edited by %s", AdminPanelName[playerid], ReturnName(playerid));
  8243. adminWarn(2, IssuerEdit);
  8244. WriteLog("admin_logs/players/admin_note/edit_note.txt", "[%s] %s edited %s's Note (DBID %d) to %s", ReturnDate(), ReturnName(playerid, 1), AdminPanelName[playerid], AdminNoteSelected[playerid], inputtext);
  8245. return 1;
  8246. }
  8247. case DIALOG_ANOTE_ADD:
  8248. {
  8249. if(!response)
  8250. return ShowAdminPanel(playerid);
  8251. /*{
  8252. ShowAdminSys(playerid, 11, "The username you specified isn't possible.");
  8253. return 1;
  8254. }*/
  8255. if(!ReturnSQLFromName(inputtext))
  8256. {
  8257. ShowAdminSys(playerid, 11, "The username you specified doesn't exist in the database.");
  8258. return 1;
  8259. }
  8260. new bool:hasSlot = false;
  8261. new NotIG;
  8262. new string[128];
  8263. foreach(new i : Player)
  8264. {
  8265. if(!strcmp(ReturnName(i), inputtext, true))
  8266. {
  8267. if(ReturnANoteSlot(i) != -1)
  8268. {
  8269. hasSlot = true;
  8270. }
  8271. }
  8272. else
  8273. {
  8274. NotIG = true;
  8275. }
  8276. }
  8277. if(NotIG)
  8278. {
  8279. new Query[128];
  8280. mysql_format(m_Handle, Query, sizeof(Query), "SELECT id FROM player_anotes WHERE player_dbid = %i", ReturnSQLFromName(inputtext));
  8281. new Cache:cache = mysql_query(m_Handle, Query);
  8282. if(!cache_num_rows())
  8283. {
  8284. hasSlot = true;
  8285. cache_delete(cache);
  8286. }
  8287. else
  8288. {
  8289. if(cache_num_rows() > MAX_ADMIN_NOTES)
  8290. {
  8291. hasSlot = false;
  8292. }
  8293. }
  8294. }
  8295. if(!hasSlot)
  8296. {
  8297. format(string, sizeof(string), "The user \"{A52A2A}%s{ADC3E7}\" does not have any free admin note slots.", inputtext);
  8298. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  8299. return 1;
  8300. }
  8301. format(AdminPanelName[playerid], 60, "%s", inputtext);
  8302. format(string, sizeof(string), "Input the reason for \"{A52A2A}%s{ADC3E7}\"'s new admin note:", inputtext);
  8303. ShowPlayerDialog(playerid, DIALOG_ANOTE_ADD_REASON, DIALOG_STYLE_INPUT, "Administration panel", string, "Select", "<<");
  8304. return 1;
  8305. }
  8306. case DIALOG_ANOTE_ADD_REASON:
  8307. {
  8308. if(!response)
  8309. return ShowAdminPanel(playerid);
  8310. if(strlen(inputtext) < 3)
  8311. {
  8312. new string[128];
  8313. format(string, sizeof(string), "Input the reason for \"{A52A2A}%s{ADC3E7}\"'s new admin note:", AdminPanelName[playerid]);
  8314. ShowPlayerDialog(playerid, DIALOG_ANOTE_ADD_REASON, DIALOG_STYLE_INPUT, "Administration panel", string, "Select", "<<");
  8315. return 1;
  8316. }
  8317. new Insert[400];
  8318. mysql_format(m_Handle, Insert, sizeof(Insert), "INSERT INTO player_anotes (player_dbid, anote_reason, anote_issuer, anote_date) VALUES(%i, '%e', '%e', '%e')", ReturnSQLFromName(AdminPanelName[playerid]), inputtext, ReturnName(playerid), ReturnDateLog());
  8319. mysql_tquery(m_Handle, Insert, "OnAdminNoteAdd", "is", playerid, inputtext);
  8320. return 1;
  8321. }
  8322. case DIALOG_ANOTE_DELETE:
  8323. {
  8324. if(!response)
  8325. return ShowAdminPanel(playerid);
  8326. /*{
  8327. ShowAdminSys(playerid, 12, "The username you specified isn't possible.");
  8328. return 1;
  8329. }*/
  8330. if(!ReturnSQLFromName(inputtext))
  8331. {
  8332. ShowAdminSys(playerid, 12, "The username you specified doesn't exist in the database.");
  8333. return 1;
  8334. }
  8335. new Query[200], string[128];
  8336. mysql_format(m_Handle, Query, sizeof(Query), "SELECT * FROM player_anotes WHERE player_dbid = %i", ReturnSQLFromName(inputtext));
  8337. new Cache:cache = mysql_query(m_Handle, Query);
  8338. if(!cache_num_rows())
  8339. {
  8340. format(string, sizeof(string), "The user \"{A52A2A}%s{ADC3E7}\" does not have any admin notes.", inputtext);
  8341. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  8342. cache_delete(cache);
  8343. return 1;
  8344. }
  8345. else
  8346. {
  8347. new Reason[128];
  8348. new ID;
  8349. new FullList[400], ShowList[128];
  8350. for(new i = 0, j = 1; i < cache_num_rows(); i++)
  8351. {
  8352. cache_get_value_name(i, "anote_reason", Reason, 128);
  8353. cache_get_value_name_int(i, "id", ID);
  8354. AdminNoteSelect[playerid][j] = ID;
  8355. j++;
  8356. if(j > MAX_ADMIN_NOTES)
  8357. break;
  8358. format(ShowList, sizeof(ShowList), "[%i] %.35s...\n", i+1, Reason);
  8359. strcat(FullList, ShowList);
  8360. }
  8361. format(AdminPanelName[playerid], 60, "%s", inputtext);
  8362. ShowPlayerDialog(playerid, DIALOG_ANOTE_DELETE_SELECT, DIALOG_STYLE_LIST, "Administration panel", FullList, "Select", "<<");
  8363. }
  8364. return 1;
  8365. }
  8366. case DIALOG_ANOTE_DELETE_SELECT:
  8367. {
  8368. if(!response)
  8369. return ShowAdminPanel(playerid);
  8370. new Query[128];
  8371. mysql_format(m_Handle, Query, sizeof(Query), "SELECT * FROM player_anotes WHERE id = %i", AdminNoteSelect[playerid][listitem+1]);
  8372. new Cache:cache = mysql_query(m_Handle, Query);
  8373. if(!cache_num_rows())
  8374. {
  8375. cache_delete(cache);
  8376. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", "An error occurred with this admin note.", "Okay!", "");
  8377. return 1;
  8378. }
  8379. else
  8380. {
  8381. new PlayerDBID, Reason[128],
  8382. Issuer[60], Date[90];
  8383. cache_get_value_name_int(0, "player_dbid", PlayerDBID);
  8384. cache_get_value_name(0, "anote_issuer", Issuer, 60);
  8385. cache_get_value_name(0, "anote_reason", Reason, 128);
  8386. cache_get_value_name(0, "anote_date", Date, 90);
  8387. new Primary[500], Sub[128];
  8388. format(Sub, sizeof(Sub), "Player name: %s\n", ReturnSQLName(PlayerDBID));
  8389. strcat(Primary, Sub);
  8390. format(Sub, sizeof(Sub), "Issuer name: %s\n\n", Issuer);
  8391. strcat(Primary, Sub);
  8392. format(Sub, sizeof(Sub), "Date: %s\n", Date);
  8393. strcat(Primary, Sub);
  8394. format(Sub, sizeof(Sub), "Reason: %s\n\n", Reason);
  8395. strcat(Primary, Sub);
  8396. strcat(Primary, "{A52A2A}Select \"DELETE\" to delete this admin note.");
  8397. ShowPlayerDialog(playerid, DIALOG_ANOTE_DELETE_CONFIRM, DIALOG_STYLE_MSGBOX, "Administration panel", Primary, "Delete", "<<");
  8398. cache_delete(cache);
  8399. AdminNoteSelected[playerid] = AdminNoteSelect[playerid][listitem+1];
  8400. }
  8401. return 1;
  8402. }
  8403. case DIALOG_ANOTE_DELETE_CONFIRM:
  8404. {
  8405. if(!response)
  8406. return ShowAdminPanel(playerid);
  8407. new string[128];
  8408. format(string, sizeof(string), "Are you sure you want to delete \"{A52A2A}%s{ADC3E7}\"'s admin note?", AdminPanelName[playerid]);
  8409. ConfirmDialog(playerid, "Administration panel", string, "OnAdminNoteDelete", AdminNoteSelected[playerid]);
  8410. return 1;
  8411. }
  8412. case DIALOG_PASSWORD_CHANGE:
  8413. {
  8414. if(response)
  8415. {
  8416. if(strlen(inputtext) > 128 || strlen(inputtext) < 3)
  8417. {
  8418. new
  8419. largeString[800];
  8420. strcat(largeString, "{F81414}YOU'RE ABOUT TO CHANGE YOUR PASSWORD!\n");
  8421. strcat(largeString, "{FFFFFF}Here are a few tips to keep your account password safe and secure:\n\n");
  8422. strcat(largeString, "\tUse a mix of letters, numbers, and symbols in your password.\n");
  8423. strcat(largeString, "\tUse a unique password for each of your important accounts.\n");
  8424. strcat(largeString, "\tDon't use personal information or common words as a password.\n");
  8425. strcat(largeString, "\tDon't use the same password as your forum.baseroleplay.com forum account.\n");
  8426. strcat(largeString, "Remember that San Andreas '92 staff will NEVER ask you for your account information.\n\n");
  8427. strcat(largeString, "{F81414}~~ Your password has to be greater than 3 characters and less than 128.");
  8428. ShowPlayerDialog(playerid, DIALOG_PASSWORD_CHANGE, DIALOG_STYLE_PASSWORD, "Change Your Password", largeString, "Select", "Cancel");
  8429. return 1;
  8430. }
  8431. new LogQuery[300], Query[128];
  8432. mysql_format(m_Handle, Query, sizeof(Query), "SELECT Password FROM players WHERE id = %i", PlayerData[playerid][pSQLID]);
  8433. new Cache:cache = mysql_query(m_Handle, Query);
  8434. new Password[255];
  8435. cache_get_value_name(0, "Password", Password, 255);
  8436. cache_delete(cache);
  8437. mysql_format(m_Handle, LogQuery, sizeof(LogQuery), "UPDATE players SET Password = sha1('%e') WHERE id = %i", inputtext, PlayerData[playerid][pSQLID]);
  8438. mysql_tquery(m_Handle, LogQuery, "OnPasswordChange", "is", playerid, Password);
  8439. }
  8440. else return SendClientMessage(playerid, COLOR_ADM, "You cancelled your password change.");
  8441. return 1;
  8442. }
  8443. case DIALOG_PASSWORD_SECURITY_WORD:
  8444. {
  8445. if(!response)
  8446. {
  8447. new
  8448. string[128],
  8449. ipString[128];
  8450. if(PlayerData[playerid][pAdmin] < 3)
  8451. format(ipString, 128, "%s", ReturnIP(playerid));
  8452. else ipString = "Admin Account";
  8453. format(string, sizeof(string), "%s (IP: %s) cancelled their secret word during a password change.", ReturnName(playerid), ipString);
  8454. adminWarn(1, string);
  8455. printf("[WARNING] %s (IP: %s) cancelled their secret word during a password change.", ReturnName(playerid), ReturnIP(playerid));
  8456. return 1;
  8457. }
  8458. new Query[256];
  8459. mysql_format(m_Handle, Query, sizeof(Query), "SELECT id FROM players WHERE SecretWord = sha1('%e') AND id = %i", inputtext, PlayerData[playerid][pSQLID]);
  8460. mysql_tquery(m_Handle, Query, "ConfirmSecretWord", "i", playerid);
  8461. return 1;
  8462. }
  8463. case DIALOG_FACTIONMENU:
  8464. {
  8465. if(response)
  8466. {
  8467. ShowYourFactionMenuAlt(playerid, listitem);
  8468. }
  8469. return 1;
  8470. }
  8471. case DIALOG_FACTIONMENU_NAME:
  8472. {
  8473. if(!response)
  8474. return ShowYourFactionMenu(playerid);
  8475. if(strlen(inputtext) > 60 || strlen(inputtext) < 6)
  8476. return ShowYourFactionMenuAlt(playerid, 0);
  8477. Message(playerid, COLOR_GREY, "You changed your factions name to: \"%s\" successfully.", inputtext);
  8478. WriteLog("faction_logs/name_edit.txt", "[%s] %s edited Faction ID %i from %s to %s.", ReturnDateLog(), ReturnName(playerid), PlayerData[playerid][pFaction], FactionData[PlayerData[playerid][pFaction]][factionName], inputtext);
  8479. format(FactionData[PlayerData[playerid][pFaction]][factionName], 128, "%s", inputtext);
  8480. SaveFaction(PlayerData[playerid][pFaction]);
  8481. ShowYourFactionMenu(playerid);
  8482. return 1;
  8483. }
  8484. case DIALOG_FACTIONMENU_ABBREV:
  8485. {
  8486. if(!response)
  8487. return ShowYourFactionMenu(playerid);
  8488. if(strlen(inputtext) > 7 || strlen(inputtext) < 1)
  8489. return ShowYourFactionMenuAlt(playerid, 1);
  8490. Message(playerid, COLOR_GREY, "You changed your factions abbreviation to: \"%s\" successfully.", inputtext);
  8491. WriteLog("faction_logs/abbrev_edit.txt", "[%s] %s edited Faction ID %i from %s to %s.", ReturnDateLog(), ReturnName(playerid), PlayerData[playerid][pFaction], FactionData[PlayerData[playerid][pFaction]][factionAbbrev], inputtext);
  8492. format(FactionData[PlayerData[playerid][pFaction]][factionAbbrev], 128, "%s", inputtext);
  8493. SaveFaction(PlayerData[playerid][pFaction]);
  8494. ShowYourFactionMenu(playerid);
  8495. return 1;
  8496. }
  8497. case DIALOG_FACTIONMENU_ALTER:
  8498. {
  8499. if(!response)
  8500. return ShowYourFactionMenu(playerid);
  8501. if(!IsNumeric(inputtext))
  8502. return ShowYourFactionMenuAlt(playerid, 2);
  8503. new rank_id;
  8504. rank_id = strval(inputtext);
  8505. if(rank_id > MAX_FACTION_RANKS || rank_id < 1)
  8506. return ShowYourFactionMenuAlt(playerid, 2);
  8507. Message(playerid, COLOR_GREY, "You changed your factions alter rank to: \"%s\" [%i] successfully.", FactionRanks[PlayerData[playerid][pFaction]][rank_id], rank_id);
  8508. WriteLog("faction_logs/abbrev_edit.txt", "[%s] %s edited Faction ID %i from %d to %d.", ReturnDateLog(), ReturnName(playerid), PlayerData[playerid][pFaction], FactionData[PlayerData[playerid][pFaction]][factionEditrank], rank_id);
  8509. FactionData[PlayerData[playerid][pFaction]][factionEditrank] = rank_id;
  8510. SaveFaction(PlayerData[playerid][pFaction]);
  8511. ShowYourFactionMenu(playerid);
  8512. return 1;
  8513. }
  8514. case DIALOG_FACTIONMENU_TOW:
  8515. {
  8516. if(!response)
  8517. return ShowYourFactionMenu(playerid);
  8518. if(!IsNumeric(inputtext))
  8519. return ShowYourFactionMenuAlt(playerid, 3);
  8520. new rank_id;
  8521. rank_id = strval(inputtext);
  8522. if(rank_id > MAX_FACTION_RANKS || rank_id < 1)
  8523. return ShowYourFactionMenuAlt(playerid, 3);
  8524. Message(playerid, COLOR_GREY, "You changed your factions tow rank to: \"%s\" [%i] successfully.", FactionRanks[PlayerData[playerid][pFaction]][rank_id], rank_id);
  8525. FactionData[PlayerData[playerid][pFaction]][factionTowrank] = rank_id;
  8526. SaveFaction(PlayerData[playerid][pFaction]);
  8527. ShowYourFactionMenu(playerid);
  8528. return 1;
  8529. }
  8530. case DIALOG_FACTIONMENU_CHAT:
  8531. {
  8532. if(!response)
  8533. return ShowYourFactionMenu(playerid);
  8534. if(!IsNumeric(inputtext))
  8535. return ShowYourFactionMenuAlt(playerid, 4);
  8536. new rank_id;
  8537. rank_id = strval(inputtext);
  8538. if(rank_id > MAX_FACTION_RANKS || rank_id < 1)
  8539. return ShowYourFactionMenuAlt(playerid, 4);
  8540. Message(playerid, COLOR_GREY, "You changed your factions chat rank to: \"%s\" [%i] successfully.", FactionRanks[PlayerData[playerid][pFaction]][rank_id], rank_id);
  8541. FactionData[PlayerData[playerid][pFaction]][factionChatrank] = rank_id;
  8542. SaveFaction(PlayerData[playerid][pFaction]);
  8543. ShowYourFactionMenu(playerid);
  8544. return 1;
  8545. }
  8546. case DIALOG_FACTIONMENU_JOIN:
  8547. {
  8548. if(!response)
  8549. return ShowYourFactionMenu(playerid);
  8550. if(!IsNumeric(inputtext))
  8551. return ShowYourFactionMenuAlt(playerid, 5);
  8552. new rank_id;
  8553. rank_id = strval(inputtext);
  8554. if(rank_id > MAX_FACTION_RANKS || rank_id < 1)
  8555. return ShowYourFactionMenuAlt(playerid, 5);
  8556. Message(playerid, COLOR_GREY, "You changed your factions join rank to: \"%s\" [%i] successfully.", FactionRanks[PlayerData[playerid][pFaction]][rank_id], rank_id);
  8557. FactionData[PlayerData[playerid][pFaction]][factionMaxRanks] = rank_id;
  8558. SaveFaction(PlayerData[playerid][pFaction]);
  8559. ShowYourFactionMenu(playerid);
  8560. return 1;
  8561. }
  8562. case DIALOG_FACTIONMENU_EDIT:
  8563. {
  8564. if(!response)
  8565. return ShowYourFactionMenu(playerid);
  8566. SetPVarInt( playerid, "SelectedRank", listitem + 1 );
  8567. ShowYourFactionMenuAlt(playerid, 7);
  8568. return 1;
  8569. }
  8570. case DIALOG_FACTIONMENU_EDITALT:
  8571. {
  8572. if(!response)
  8573. {
  8574. DeletePVar(playerid, "SelectedRank");
  8575. return ShowYourFactionMenuAlt(playerid, 6);
  8576. }
  8577. if(strlen(inputtext) < 2 || strlen(inputtext) > 60)
  8578. {
  8579. return ShowYourFactionMenuAlt(playerid, 7);
  8580. }
  8581. new rank_id;
  8582. rank_id = GetPVarInt(playerid, "SelectedRank");
  8583. Message(playerid, COLOR_GREY, "You changed your factions #%i rank to: \"%s\" successfully.", rank_id, inputtext);
  8584. format(FactionRanks[PlayerData[playerid][pFaction]][rank_id], 60, "%s", inputtext);
  8585. SaveFactionRanks(PlayerData[playerid][pFaction]);
  8586. DeletePVar(playerid, "SelectedRank");
  8587. ShowYourFactionMenuAlt(playerid, 6);
  8588. printf("[FACTION CONFIG] %s edited faction ID %i's rank ID %i's name to: %s", ReturnName(playerid), PlayerData[playerid][pFaction], rank_id, inputtext);
  8589. return 1;
  8590. }
  8591. case DIALOG_FACTIONMEMBERS:
  8592. {
  8593. if(response)
  8594. {
  8595. new page = GetPVarInt(playerid, "MemberPage");
  8596. if(!strcmp(inputtext, "Previous Page <<"))
  8597. {
  8598. ShowFactionMembers(playerid, page-1);
  8599. return 1;
  8600. }
  8601. if(!strcmp(inputtext, "Next Page >>")) //if(listitem == MAX_PLAYER_PER_PAGE+1)
  8602. return ShowFactionMembers(playerid, page+1);
  8603. }
  8604. }
  8605. case REGISTER_GENDER:
  8606. {
  8607. if(response) {
  8608. SendClientMessage(playerid, COLOR_WHITE, "Your gender has been set to male.");
  8609. PlayerData[playerid][pGender] = 1;
  8610. PlayerData[playerid][pSkin] = 217;
  8611. SetPlayerSkin(playerid, PlayerData[playerid][pSkin]);
  8612. GiveMoney(playerid, 15000);
  8613. SavePlayer(playerid);
  8614. return 1;
  8615. }
  8616. else {
  8617. SendClientMessage(playerid, COLOR_WHITE, "Your gender has been set to female.");
  8618. PlayerData[playerid][pGender] = 2;
  8619. PlayerData[playerid][pSkin] = 211;
  8620. SetPlayerSkin(playerid, PlayerData[playerid][pSkin]);
  8621. GiveMoney(playerid, 15000);
  8622. SavePlayer(playerid);
  8623. return 1;
  8624. }
  8625. }
  8626. /*case REGISTER_SKIN:
  8627. {
  8628. if( !response )
  8629. {
  8630. SetPlayerSkin( playerid, 264 );
  8631. PlayerData[ playerid ][ pSkin ] = 264;
  8632. return 1;
  8633. }
  8634. new Skin;
  8635. Skin = strval(inputtext);
  8636. if( Skin < 0 || Skin == 74 || Skin > 311 )
  8637. {
  8638. ShowPlayerDialog( playerid, REGISTER_SKIN, DIALOG_STYLE_INPUT, "Enter Skin ID:", "Invalid value entered!\n\nHey, what skin ID do you want?\n\nEnter a numeric value below!", "Enter", "<<" );
  8639. return 1;
  8640. }
  8641. SetPlayerSkin( playerid, Skin );
  8642. PlayerData[ playerid ][ pSkin ] = Skin;
  8643. return 1;
  8644. }*/
  8645. case DIALOG_TRANSFER_DRUG:
  8646. {
  8647. if (response)
  8648. {
  8649. switch (listitem)
  8650. {
  8651. case 0:
  8652. {
  8653. if (CountPackages(playerid) == 10)
  8654. {
  8655. ShowPlayerDialog(playerid, DIALOG_TRANSFER_DRUG, DIALOG_STYLE_LIST, "Transfer Drug", "Transfer to a new package\nTransfer to an existing package", "Next", "Exit");
  8656. SendClientMessage(playerid, COLOR_YELLOW, "You can't have any more packages.");
  8657. return 1;
  8658. }
  8659. new string[128], id = PlayerData[playerid][pTransferDrug];
  8660. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8661. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8662. ShowPlayerDialog(playerid, DIALOG_NEW_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8663. }
  8664. case 1:
  8665. {
  8666. new string[128], id = PlayerData[playerid][pTransferDrug];
  8667. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8668. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8669. ShowPlayerDialog(playerid, DIALOG_EXISTING_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8670. }
  8671. }
  8672. }
  8673. }
  8674. case DIALOG_NEW_PACKAGE:
  8675. {
  8676. if (response)
  8677. {
  8678. new Float:quantity, id = PlayerData[playerid][pTransferDrug];
  8679. if (sscanf(inputtext, "f", quantity) || quantity < 0.1)
  8680. {
  8681. new string[128];
  8682. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8683. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8684. ShowPlayerDialog(playerid, DIALOG_NEW_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8685. return 1;
  8686. }
  8687. if (quantity > DrugData[playerid][id][drugQuantity])
  8688. {
  8689. new string[128];
  8690. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8691. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8692. SendClientMessage(playerid, COLOR_YELLOW, "You don't have that much.");
  8693. ShowPlayerDialog(playerid, DIALOG_NEW_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8694. return 1;
  8695. }
  8696. new dialog[650], string[64];
  8697. dialog = "#\tStorage Name\n";
  8698. PlayerData[playerid][pTransferQuantity] = quantity;
  8699. for (new i = 0; i <= 13; i++)
  8700. {
  8701. format(string, sizeof(string), "%d\t%s (Capacity: %.1f%s)\n", i, GetPackageType(i), GetPackageCapacity(i, DrugData[playerid][id][drugType]), (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"));
  8702. strcat(dialog, string);
  8703. }
  8704. ShowPlayerDialog(playerid, DIALOG_NEW_PACKAGE_TYPE, DIALOG_STYLE_TABLIST_HEADERS, "Transfer Drug", dialog, "Select", "Back");
  8705. }
  8706. else ShowPlayerDialog(playerid, DIALOG_TRANSFER_DRUG, DIALOG_STYLE_LIST, "Transfer Drug", "Transfer to a new package\nTransfer to an existing package", "Next", "Exit");
  8707. }
  8708. case DIALOG_NEW_PACKAGE_TYPE:
  8709. {
  8710. new string[128], id = PlayerData[playerid][pTransferDrug];
  8711. if (response)
  8712. {
  8713. if (PlayerData[playerid][pTransferQuantity] > GetPackageCapacity(listitem, DrugData[playerid][id][drugType]))
  8714. {
  8715. new dialog[512];
  8716. dialog = "#\tStorage Name\n";
  8717. for (new i = 0; i <= 13; i++)
  8718. {
  8719. format(string, sizeof(string), "%d\t%s (Capacity: %.1f%s)\n", i, GetPackageType(i), GetPackageCapacity(i, DrugData[playerid][id][drugType]), (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"));
  8720. strcat(dialog, string);
  8721. }
  8722. ShowPlayerDialog(playerid, DIALOG_NEW_PACKAGE_TYPE, DIALOG_STYLE_TABLIST_HEADERS, "Transfer Drug", dialog, "Select", "Back");
  8723. SendClientMessage(playerid, COLOR_YELLOW, "You can't fit that much into that package.");
  8724. return 1;
  8725. }
  8726. new strength;
  8727. switch (random(2))
  8728. {
  8729. case 0:
  8730. {
  8731. strength = DrugData[playerid][id][drugStrength] - random(5) + 1;
  8732. if (strength < 50) strength = 50;
  8733. }
  8734. case 1: strength = DrugData[playerid][id][drugStrength];
  8735. }
  8736. DrugData[playerid][id][drugQuantity] -= PlayerData[playerid][pTransferQuantity];
  8737. GiveDrugPackage(playerid, listitem, DrugData[playerid][id][drugType], PlayerData[playerid][pTransferQuantity], strength);
  8738. format(string, sizeof(string), "You've transferred %.1f%s of %s into a %s.", PlayerData[playerid][pTransferQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]), GetPackageType(listitem));
  8739. SendClientMessage(playerid, COLOR_YELLOW, string);
  8740. if (DrugData[playerid][id][drugQuantity] == 0) {
  8741. RemoveDrugPackage(playerid, id);
  8742. }
  8743. else
  8744. {
  8745. new query[100];
  8746. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_drugs SET quantity = %.1f WHERE playersqlid = %d AND slot = %d", DrugData[playerid][id][drugQuantity], PlayerData[playerid][pSQLID], id);
  8747. mysql_tquery(m_Handle, query);
  8748. }
  8749. }
  8750. else
  8751. {
  8752. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8753. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8754. ShowPlayerDialog(playerid, DIALOG_NEW_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8755. return 1;
  8756. }
  8757. }
  8758. case DIALOG_EXISTING_PACKAGE:
  8759. {
  8760. if (response)
  8761. {
  8762. new Float:quantity, id = PlayerData[playerid][pTransferDrug];
  8763. if (sscanf(inputtext, "f", quantity) || quantity < 0.1)
  8764. {
  8765. new string[128];
  8766. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8767. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8768. ShowPlayerDialog(playerid, DIALOG_EXISTING_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8769. return 1;
  8770. }
  8771. if (quantity > DrugData[playerid][id][drugQuantity])
  8772. {
  8773. new string[128];
  8774. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8775. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8776. SendClientMessage(playerid, COLOR_YELLOW, "You don't have that much.");
  8777. ShowPlayerDialog(playerid, DIALOG_EXISTING_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8778. return 1;
  8779. }
  8780. new dialog[512], string[100], count;
  8781. dialog = "#\tPackage Content\n";
  8782. PlayerData[playerid][pTransferQuantity] = quantity;
  8783. for (new i = 0; i < 10; i++)
  8784. PlayerData[playerid][pTransferList][i] = -1;
  8785. for (new i = 0; i < 10; i++) if (DrugData[playerid][i][drugQuantity] > 0)
  8786. {
  8787. if (i == id || DrugData[playerid][i][drugType] != DrugData[playerid][id][drugType] || DrugData[playerid][i][drugQuantity] >= GetPackageCapacity(DrugData[playerid][i][drugPackage], DrugData[playerid][i][drugType]) || DrugData[playerid][i][drugQuantity] + PlayerData[playerid][pTransferQuantity] > GetPackageCapacity(DrugData[playerid][i][drugPackage], DrugData[playerid][i][drugType]))
  8788. continue;
  8789. format(string, sizeof(string), "%d\t%s (%s: %.1f%s/%.1f%s) (Strength: %d)\n",
  8790. i, GetPackageType(DrugData[playerid][i][drugPackage]), ReturnDrugsName(DrugData[playerid][i][drugType]), DrugData[playerid][i][drugQuantity], (IsPill(DrugData[playerid][i][drugType]) == 1) ? (" Pills") : ("g"),
  8791. GetPackageCapacity(DrugData[playerid][i][drugPackage], DrugData[playerid][i][drugType]), (IsPill(DrugData[playerid][i][drugType]) == 1) ? (" Pills") : ("g"), DrugData[playerid][i][drugStrength]);
  8792. strcat(dialog, string);
  8793. PlayerData[playerid][pTransferList][count] = i;
  8794. count++;
  8795. }
  8796. ShowPlayerDialog(playerid, DIALOG_EXISTING_CHOOSE, DIALOG_STYLE_TABLIST_HEADERS, "Transfer Drug", dialog, "Select", "Back");
  8797. }
  8798. else ShowPlayerDialog(playerid, DIALOG_TRANSFER_DRUG, DIALOG_STYLE_LIST, "Transfer Drug", "Transfer to a new package\nTransfer to an existing package", "Next", "Exit");
  8799. }
  8800. case DIALOG_EXISTING_CHOOSE:
  8801. {
  8802. new string[128], id = PlayerData[playerid][pTransferDrug];
  8803. if (response)
  8804. {
  8805. if (PlayerData[playerid][pTransferList][0] == -1)
  8806. return ShowPlayerDialog(playerid, DIALOG_EXISTING_CHOOSE, DIALOG_STYLE_TABLIST_HEADERS, "Transfer Drug", "#\tPackage Content\n", "Select", "Back");
  8807. new to_id = PlayerData[playerid][pTransferList][listitem], query[100], strength;
  8808. if (PlayerData[playerid][pTransferQuantity] > DrugData[playerid][id][drugQuantity]) {
  8809. adminWarn(1, sprintf("%s has attempted to duplicate drug package ID %d.", ReturnName(playerid, 1), id));
  8810. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You do not have a sufficient amount of drugs in that slot to transfer.");
  8811. }
  8812. DrugData[playerid][to_id][drugQuantity] += PlayerData[playerid][pTransferQuantity];
  8813. DrugData[playerid][id][drugQuantity] -= PlayerData[playerid][pTransferQuantity];
  8814. strength = (DrugData[playerid][id][drugStrength] + DrugData[playerid][to_id][drugStrength]) / 2;
  8815. switch (random(2))
  8816. {
  8817. case 0:
  8818. {
  8819. strength -= random(5) + 1;
  8820. if (strength < 50) strength = 50;
  8821. }
  8822. }
  8823. format(string, sizeof(string), "You've transferred %.1f%s of %s into an existing %s.", PlayerData[playerid][pTransferQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]), GetPackageType(DrugData[playerid][to_id][drugPackage]));
  8824. SendClientMessage(playerid, COLOR_YELLOW, string);
  8825. DrugData[playerid][to_id][drugStrength] = strength;
  8826. if (DrugData[playerid][id][drugQuantity] == 0) {
  8827. RemoveDrugPackage(playerid, id);
  8828. }
  8829. else
  8830. {
  8831. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_drugs SET quantity = %.1f WHERE playersqlid = %d AND slot = %d", DrugData[playerid][id][drugQuantity], PlayerData[playerid][pSQLID], id);
  8832. mysql_tquery(m_Handle, query);
  8833. }
  8834. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_drugs SET quantity = %.1f, strength = %d WHERE playersqlid = %d AND slot = %d", DrugData[playerid][to_id][drugQuantity], strength, PlayerData[playerid][pSQLID], to_id);
  8835. mysql_tquery(m_Handle, query);
  8836. }
  8837. else
  8838. {
  8839. format(string, sizeof(string), "Your %s currently contains %.1f%s of %s.\n\nHow much do you wish to transfer?",
  8840. GetPackageType(DrugData[playerid][id][drugPackage]), DrugData[playerid][id][drugQuantity], (IsPill(DrugData[playerid][id][drugType]) == 1) ? (" Pills") : ("g"), ReturnDrugsName(DrugData[playerid][id][drugType]));
  8841. ShowPlayerDialog(playerid, DIALOG_EXISTING_PACKAGE, DIALOG_STYLE_INPUT, "Transfer Drug", string, "Next", "Back");
  8842. }
  8843. }
  8844. }
  8845. return false;
  8846. }
  8847. 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)
  8848. {
  8849. if (PlayerData[playerid][pBuyingClothing])
  8850. {
  8851. if (response)
  8852. {
  8853. new
  8854. id_save = FreeClothingSlot(playerid)
  8855. ;
  8856. if(id_save == -1)
  8857. {
  8858. SendClientMessage(playerid, COLOR_ADM, "An error occurred. You don't have a free slot.");
  8859. RemovePlayerAttachedObject(playerid, index);
  8860. ClearAnimations(playerid);
  8861. PlayerData[playerid][pBuyingClothing] = false;
  8862. return 1;
  8863. }
  8864. ClothingData[playerid][id_save][attachment_modelid] = modelid;
  8865. ClothingData[playerid][id_save][attachment_bone] = boneid;
  8866. ClothingData[playerid][id_save][attachment_playerDBID] = PlayerData[playerid][pSQLID];
  8867. ClothingData[playerid][id_save][attachment_Pos][0] = fOffsetX;
  8868. ClothingData[playerid][id_save][attachment_Pos][1] = fOffsetY;
  8869. ClothingData[playerid][id_save][attachment_Pos][2] = fOffsetZ;
  8870. ClothingData[playerid][id_save][attachment_Rot][0] = fRotX;
  8871. ClothingData[playerid][id_save][attachment_Rot][1] = fRotY;
  8872. ClothingData[playerid][id_save][attachment_Rot][2] = fRotZ;
  8873. ClothingData[playerid][id_save][attachment_Scale][0] = fScaleX;
  8874. ClothingData[playerid][id_save][attachment_Scale][1] = fScaleY;
  8875. ClothingData[playerid][id_save][attachment_Scale][2] = fScaleZ;
  8876. format(ClothingData[playerid][id_save][attachment_name], 90, "%s", PlayerData[playerid][pClothingName]);
  8877. clothing_index[playerid] = id_save;
  8878. new query[550], string[128];
  8879. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO player_clothing (`player_dbid`, `modelid`, `bone`, `PosX`, `PosY`, `PosZ`, `RotX`, `RotY`, `RotZ`, `ScaleX`, `ScaleY`, `ScaleZ`, `name`) VALUES (%i, %i, %i, %f, %f, %f, %f, %f, %f, %f, %f, %f, '%e')",
  8880. PlayerData[playerid][pSQLID], modelid, boneid, fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ, PlayerData[playerid][pClothingName]);
  8881. mysql_pquery(m_Handle, query, "SQL_AddPlayerAttachment", "i", playerid);
  8882. format(string, sizeof(string), "Enjoy your new %s!", PlayerData[playerid][pClothingName]);
  8883. SendClientMessage(playerid, COLOR_WHITE, string);
  8884. RemovePlayerAttachedObject(playerid, index);
  8885. ClearAnimations(playerid);
  8886. GiveMoney(playerid, -ClothingCost[playerid]);
  8887. ClothingCost[playerid] = 0;
  8888. PlayerData[playerid][pBuyingClothing] = false;
  8889. }
  8890. else
  8891. {
  8892. SendClientMessage(playerid, COLOR_DARKGREEN, "You cancelled your purchase!");
  8893. RemovePlayerAttachedObject(playerid, index);
  8894. ClearAnimations(playerid);
  8895. PlayerData[playerid][pBuyingClothing] = false;
  8896. }
  8897. }
  8898. if (PlayerData[playerid][pEditingClothing])
  8899. {
  8900. if (response)
  8901. {
  8902. new
  8903. indexx;
  8904. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  8905. {
  8906. if(ClothingData[playerid][i][attachment_SQLID] == ClothingHolder[playerid])
  8907. indexx = i;
  8908. }
  8909. ClothingData[playerid][indexx][attachment_Pos][0] = fOffsetX;
  8910. ClothingData[playerid][indexx][attachment_Pos][1] = fOffsetY;
  8911. ClothingData[playerid][indexx][attachment_Pos][2] = fOffsetZ;
  8912. ClothingData[playerid][indexx][attachment_Rot][0] = fRotX;
  8913. ClothingData[playerid][indexx][attachment_Rot][1] = fRotY;
  8914. ClothingData[playerid][indexx][attachment_Rot][2] = fRotZ;
  8915. ClothingData[playerid][indexx][attachment_Scale][0] = fScaleX;
  8916. ClothingData[playerid][indexx][attachment_Scale][1] = fScaleY;
  8917. ClothingData[playerid][indexx][attachment_Scale][2] = fScaleZ;
  8918. new query[400];
  8919. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_clothing SET PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f WHERE id = %i", fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, ClothingData[playerid][indexx][attachment_SQLID]);
  8920. mysql_pquery(m_Handle, query);
  8921. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_clothing SET ScaleX = %f, ScaleY = %f, ScaleZ = %f WHERE id = %i", fScaleX, fScaleY, fScaleZ, ClothingData[playerid][indexx][attachment_SQLID]);
  8922. mysql_pquery(m_Handle, query);
  8923. SendClientMessage(playerid, COLOR_DARKGREEN, "You edited your clothing item!");
  8924. ClearAnimations(playerid);
  8925. PlayerData[playerid][pEditingClothing] = false;
  8926. }
  8927. else
  8928. {
  8929. PlayerData[playerid][pEditingClothing] = false;
  8930. ClearAnimations(playerid);
  8931. RemovePlayerAttachedObject(playerid, index);
  8932. SendClientMessage(playerid, COLOR_DARKGREEN, "You stopped editing your clothing item.");
  8933. }
  8934. }
  8935. if (EditingDisplay[playerid])
  8936. {
  8937. new string[128], query[500], id = EditingDisplay[playerid];
  8938. if (response)
  8939. {
  8940. WeaponDisplay[playerid][id][weaponPos][0] = fOffsetX;
  8941. WeaponDisplay[playerid][id][weaponPos][1] = fOffsetY;
  8942. WeaponDisplay[playerid][id][weaponPos][2] = fOffsetZ;
  8943. WeaponDisplay[playerid][id][weaponRot][0] = fRotX;
  8944. WeaponDisplay[playerid][id][weaponRot][1] = fRotY;
  8945. WeaponDisplay[playerid][id][weaponRot][2] = fRotZ;
  8946. SetPlayerAttachedObject(playerid, index, ReturnWeaponsModel(id), WeaponDisplay[playerid][id][weaponBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ);
  8947. EditingDisplay[playerid] = false;
  8948. format (string, sizeof(string), "Your %s's position was changed.", ReturnWeaponName(id));
  8949. SendClientMessage(playerid, COLOR_ADM, string);
  8950. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO weapon_attachments(playerdbid, weaponid, boneid, PosX, PosY, PosZ, RotX, RotY, RotZ) VALUES(%i, %i, %i, %f, %f, %f, %f, %f, %f) ON DUPLICATE KEY UPDATE boneid = %i, PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f",
  8951. PlayerData[playerid][pSQLID], id, WeaponDisplay[playerid][id][weaponBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, WeaponDisplay[playerid][id][weaponBone], fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ);
  8952. mysql_pquery(m_Handle, query);
  8953. }
  8954. else
  8955. {
  8956. //SetPlayerAttachedObject(playerid, index, ReturnWeaponsModel(id), WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2],
  8957. //WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2]);
  8958. RemovePlayerAttachedObject(playerid, index);
  8959. EditingDisplay[playerid] = false;
  8960. }
  8961. }
  8962. return true;
  8963. }
  8964. Server:Float:GetDistanceBetweenPoints(Float:rx1,Float:ry1,Float:rz1,Float:rx2,Float:ry2,Float:rz2)
  8965. {
  8966. return floatadd(floatadd(floatsqroot(floatpower(floatsub(rx1,rx2),2)),floatsqroot(floatpower(floatsub(ry1,ry2),2))),floatsqroot(floatpower(floatsub(rz1,rz2),2)));
  8967. }
  8968. stock IsPointNearPoint(Float:aX, Float:aY, Float:aZ, Float:bX, Float:bY, Float:bZ, range = 50)
  8969. return GetDistanceBetweenPoints(aX, aY, aZ, bX, bY, bZ) <= range;
  8970. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  8971. {
  8972. if (PlayerData[playerid][pAddingFurniture])
  8973. {
  8974. if(response == EDIT_RESPONSE_FINAL) {
  8975. if(100 > PlayerData[playerid][pMoney])
  8976. {
  8977. DestroyDynamicObject(PlayerData[playerid][pFurnitureObject]);
  8978. PlayerData[playerid][pAddingFurniture] = false;
  8979. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  8980. return 1;
  8981. }
  8982. DestroyDynamicObject(PlayerData[playerid][pFurnitureObject]);
  8983. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You added new furniture to your home.");
  8984. AddFurniture(playerid, IsPlayerInProperty(playerid), PlayerData[playerid][pFurnitureName], PlayerData[playerid][pFurnitureModel], x, y, z, rx, ry, rz);
  8985. GiveMoney(playerid, -100);
  8986. PlayerData[playerid][pAddingFurniture] = false;
  8987. }
  8988. else if(response == EDIT_RESPONSE_CANCEL) {
  8989. DestroyDynamicObject(PlayerData[playerid][pFurnitureObject]);
  8990. PlayerData[playerid][pAddingFurniture] = false;
  8991. }
  8992. printf("pAddFurniture called for %s.", ReturnName(playerid));
  8993. }
  8994. else if (PlayerData[playerid][pAddingXMR]){
  8995. if(response == EDIT_RESPONSE_FINAL) {
  8996. GiveMoney(playerid, -100);
  8997. DestroyDynamicObject(PlayerData[playerid][pXMRObject]);
  8998. new id = IsPlayerInProperty(playerid);
  8999. PropertyData[id][propertyXMRObject] = CreateDynamicObject(2103, x, y, z, rx, ry, rz, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  9000. PropertyData[id][propertyHasXMR] = true;
  9001. PropertyData[id][propertyXMRPos][0] = x;
  9002. PropertyData[id][propertyXMRPos][1] = y;
  9003. PropertyData[id][propertyXMRPos][2] = z;
  9004. PropertyData[id][propertyXMRRot][0] = rx;
  9005. PropertyData[id][propertyXMRRot][1] = ry;
  9006. PropertyData[id][propertyXMRRot][2] = rz;
  9007. SaveProperty(id);
  9008. PlayerData[playerid][pAddingXMR] = false;
  9009. SendClientMessage(playerid, COLOR_GRAD2, "SERVER: Your Property now has a radio! /setstation");
  9010. }
  9011. else if(response == EDIT_RESPONSE_CANCEL) {
  9012. DestroyDynamicObject(PlayerData[playerid][pXMRObject]);
  9013. PlayerData[playerid][pAddingXMR] = false;
  9014. }
  9015. printf("pAddXMR called for %s.", ReturnName(playerid));
  9016. }
  9017. else if (PlayerData[playerid][pEditingDuplicate]){
  9018. if(response == EDIT_RESPONSE_FINAL) {
  9019. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You duplicated and saved a new furniture to your home.");
  9020. AddFurniture(playerid, IsPlayerInProperty(playerid), FurnitureData[FurnitureSelectHolderArr[playerid]][furnituresName], FurnitureData[FurnitureSelectHolderArr[playerid]][furnituresModel], x, y, z, rx, ry, rz);
  9021. DestroyDynamicObject(PlayerData[playerid][pFurnitureDuplicate]);
  9022. GiveMoney(playerid, -100);
  9023. PlayerData[playerid][pEditingFurniture] = false;
  9024. PlayerData[playerid][pEditingDuplicate] = false;
  9025. PlayerData[playerid][pFurnitureDuplicate] = INVALID_OBJECT_ID;
  9026. }
  9027. else if(response == EDIT_RESPONSE_CANCEL) {
  9028. DestroyDynamicObject(PlayerData[playerid][pFurnitureDuplicate]);
  9029. PlayerData[playerid][pEditingDuplicate] = false;
  9030. PlayerData[playerid][pEditingFurniture] = false;
  9031. PlayerData[playerid][pFurnitureDuplicate] = INVALID_OBJECT_ID;
  9032. }
  9033. printf("pEditingDuplicate called for %s.", ReturnName(playerid));
  9034. }
  9035. else if (PlayerData[playerid][pEditingFurniture]){
  9036. if(response == EDIT_RESPONSE_FINAL) {
  9037. new query[400], id = FurnitureSelectHolderArr[playerid];
  9038. FurnitureData[id][furniturePos][0] = x;
  9039. FurnitureData[id][furniturePos][1] = y;
  9040. FurnitureData[id][furniturePos][2] = z;
  9041. FurnitureData[id][furnitureRot][0] = rx;
  9042. FurnitureData[id][furnitureRot][1] = ry;
  9043. FurnitureData[id][furnitureRot][2] = rz;
  9044. SetDynamicObjectPos(FurnitureData[id][furnitureObject], x, y, z);
  9045. SetDynamicObjectRot(FurnitureData[id][furnitureObject], rx, ry, rz);
  9046. mysql_format(m_Handle, query, sizeof(query), "UPDATE furniture SET PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f WHERE id = %d",
  9047. x, y, z, rx, ry, rz, FurnitureData[FurnitureSelectHolderArr[playerid]][furnitureSQLID]);
  9048. mysql_pquery(m_Handle, query);
  9049. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} Your properties furniture was changed.");
  9050. PlayerData[playerid][pEditingFurniture] = false;
  9051. PlayerData[playerid][pEditingDuplicate] = false;
  9052. }
  9053. else if(response == EDIT_RESPONSE_CANCEL){
  9054. new i = FurnitureSelectHolderArr[playerid];
  9055. SetDynamicObjectPos(FurnitureData[i][furnitureObject], FurnitureData[i][furniturePos][0], FurnitureData[i][furniturePos][1], FurnitureData[i][furniturePos][2]);
  9056. SetDynamicObjectRot(FurnitureData[i][furnitureObject], FurnitureData[i][furnitureRot][0], FurnitureData[i][furnitureRot][1], FurnitureData[i][furnitureRot][2]);
  9057. PlayerData[playerid][pEditingFurniture] = false;
  9058. PlayerData[playerid][pEditingDuplicate] = false;
  9059. }
  9060. printf("pEditingFurniture called for %s.", ReturnName(playerid));
  9061. }
  9062. else if (PlayerData[playerid][pEditingXMR])
  9063. {
  9064. new id = IsPlayerInProperty(playerid);
  9065. if(response == EDIT_RESPONSE_FINAL) {
  9066. PropertyData[id][propertyXMRPos][0] = x;
  9067. PropertyData[id][propertyXMRPos][1] = y;
  9068. PropertyData[id][propertyXMRPos][2] = z;
  9069. PropertyData[id][propertyXMRRot][0] = rx;
  9070. PropertyData[id][propertyXMRRot][1] = ry;
  9071. PropertyData[id][propertyXMRRot][2] = rz;
  9072. SetDynamicObjectPos(PropertyData[id][propertyXMRObject], x, y, z);
  9073. SetDynamicObjectRot(PropertyData[id][propertyXMRObject], rx, ry, rz);
  9074. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} Your properties XMR was changed.");
  9075. PlayerData[playerid][pEditingXMR] = false;
  9076. }
  9077. else if(response == EDIT_RESPONSE_CANCEL) {
  9078. PlayerData[playerid][pEditingXMR] = false;
  9079. SetDynamicObjectPos(PropertyData[id][propertyXMRObject], PropertyData[id][propertyXMRPos][0], PropertyData[id][propertyXMRPos][1], PropertyData[id][propertyXMRPos][2]);
  9080. SetDynamicObjectRot(PropertyData[id][propertyXMRObject], PropertyData[id][propertyXMRRot][0], PropertyData[id][propertyXMRRot][1], PropertyData[id][propertyXMRRot][2]);
  9081. }
  9082. printf("pEditingXMR called for %s.", ReturnName(playerid));
  9083. }
  9084. else if (EditingBoombox[playerid])
  9085. {
  9086. new id = EditingBoombox[playerid];
  9087. if (response == EDIT_RESPONSE_FINAL)
  9088. {
  9089. SetDynamicObjectPos(BoomboxData[id][boomboxObject], x, y, z);
  9090. SetDynamicObjectRot(BoomboxData[id][boomboxObject], rx, ry, rz);
  9091. if(IsValidDynamicArea(BoomboxData[id][boomboxArea]))
  9092. DestroyDynamicArea(BoomboxData[id][boomboxArea]);
  9093. BoomboxData[id][boomboxArea] = CreateDynamicCircle(x, y, 30.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  9094. BoomboxData[id][boomboxPos][0] = x;
  9095. BoomboxData[id][boomboxPos][1] = y;
  9096. BoomboxData[id][boomboxPos][2] = z;
  9097. BoomboxData[id][boomboxRot][0] = rx;
  9098. BoomboxData[id][boomboxRot][1] = ry;
  9099. BoomboxData[id][boomboxRot][2] = rz;
  9100. SendClientMessage(playerid, COLOR_DARKGREEN, "/setstation to change your boombox's station!");
  9101. EditingBoombox[playerid] = false;
  9102. }
  9103. else if (response == EDIT_RESPONSE_CANCEL)
  9104. {
  9105. EditingBoombox[playerid] = false;
  9106. SetDynamicObjectPos(BoomboxData[id][boomboxObject], BoomboxData[id][boomboxPos][0], BoomboxData[id][boomboxPos][1], BoomboxData[id][boomboxPos][2]);
  9107. SetDynamicObjectRot(BoomboxData[id][boomboxObject], BoomboxData[id][boomboxRot][0], BoomboxData[id][boomboxRot][1], BoomboxData[id][boomboxRot][2]);
  9108. }
  9109. printf("pEditingBoombox called for %s.", ReturnName(playerid));
  9110. }
  9111. else if (PlayerData[playerid][pPlacingMeal])
  9112. {
  9113. if (response == EDIT_RESPONSE_CANCEL)
  9114. {
  9115. PlayerData[playerid][pPlacingMeal] = false;
  9116. PlayerData[playerid][pCarryingMeal] = false;
  9117. DestroyDynamicObject(MealMenu[playerid][mealObject]);
  9118. MealMenu[playerid][mealExists] = false;
  9119. MealMenu[playerid][mealPlaced] = false;
  9120. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s throws their meal away.", ReturnName(playerid, 0));
  9121. }
  9122. else if (response == EDIT_RESPONSE_FINAL)
  9123. {
  9124. MealMenu[playerid][mealPos][0] = x;
  9125. MealMenu[playerid][mealPos][1] = y;
  9126. MealMenu[playerid][mealPos][2] = z;
  9127. MealMenu[playerid][mealRot][0] = rx;
  9128. MealMenu[playerid][mealRot][1] = ry;
  9129. MealMenu[playerid][mealRot][2] = rz;
  9130. SetDynamicObjectPos(MealMenu[playerid][mealObject], x, y, z);
  9131. SetDynamicObjectRot(MealMenu[playerid][mealObject], rx, ry, rz);
  9132. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} Use /meal pickup to get your meal back!");
  9133. MealMenu[playerid][mealPlaced] = true;
  9134. }
  9135. printf("pPlacingMeal called for %s.", ReturnName(playerid));
  9136. }
  9137. else if(PlayerAddingObject[playerid])
  9138. {
  9139. if(response == EDIT_RESPONSE_CANCEL)
  9140. {
  9141. PlayerAddingObject[playerid] = 0;
  9142. DestroyDynamicObject(PlayerSpawnObject[playerid]);
  9143. SendClientMessage(playerid, COLOR_GOLD, "* You cancelled your mapping.");
  9144. printf("[DEBUG] Admin %s cancelled their Object (/map)", ReturnName(playerid));
  9145. }
  9146. else if(response == EDIT_RESPONSE_FINAL)
  9147. {
  9148. PlayerAddingObject[playerid] = 0;
  9149. DestroyDynamicObject(PlayerSpawnObject[playerid]);
  9150. new
  9151. query[356];
  9152. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO objects (model_id, PosX, PosY, PosZ, RotX, RotY, RotZ, Interior, World) VALUES(%i, %f, %f, %f, %f, %f, %f, %i, %i)",
  9153. PlayerAddingModel[playerid], x, y, z, rx, ry, rz, GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid));
  9154. mysql_tquery(m_Handle, query, "OnMappingAdded", "iffffff", playerid, x, y, z, rx, ry, rz);
  9155. }
  9156. printf("pAddingMap called for %s.", ReturnName(playerid));
  9157. }
  9158. else if(PlayerEditingObject[playerid])
  9159. {
  9160. new
  9161. id = PlayerEditingID[playerid];
  9162. if(response == EDIT_RESPONSE_CANCEL)
  9163. {
  9164. SetDynamicObjectPos(ObjectData[id][Object], ObjectData[id][Object_PosX], ObjectData[id][Object_PosY], ObjectData[id][Object_PosZ]);
  9165. SetDynamicObjectRot(ObjectData[id][Object], ObjectData[id][Object_RotX], ObjectData[id][Object_RotY], ObjectData[id][Object_RotZ]);
  9166. PlayerEditingObject[playerid] = 0;
  9167. PlayerEditingID[playerid] = 0;
  9168. SendClientMessage(playerid, COLOR_GOLD, "* You cancelled your editing.");
  9169. }
  9170. else if(response == EDIT_RESPONSE_FINAL)
  9171. {
  9172. SetDynamicObjectPos(ObjectData[id][Object], x, y, z);
  9173. SetDynamicObjectRot(ObjectData[id][Object], rx, ry, rz);
  9174. PlayerEditingObject[playerid] = 0;
  9175. PlayerEditingID[playerid] = 0;
  9176. new
  9177. query[256];
  9178. mysql_format(m_Handle, query, sizeof(query), "UPDATE objects SET PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f WHERE id = %i", x, y, z, rx, ry, rz, ObjectData[id][ObjectDBID]);
  9179. mysql_tquery(m_Handle, query, "OnMappingEdited", "iiffffff", playerid, id, x, y, z, rx, ry, rz);
  9180. }
  9181. printf("pEditingMap called for %s.", ReturnName(playerid));
  9182. }
  9183. else if(PlayerEditingOpen[playerid])
  9184. {
  9185. new
  9186. id = PlayerEditingID[playerid];
  9187. if(response == EDIT_RESPONSE_CANCEL)
  9188. {
  9189. SetDynamicObjectPos(ObjectData[id][Object], ObjectData[id][Object_PosX], ObjectData[id][Object_PosY], ObjectData[id][Object_PosZ]);
  9190. SetDynamicObjectRot(ObjectData[id][Object], ObjectData[id][Object_RotX], ObjectData[id][Object_RotY], ObjectData[id][Object_RotZ]);
  9191. PlayerEditingOpen[playerid] = 0;
  9192. PlayerEditingID[playerid] = 0;
  9193. SendClientMessage(playerid, COLOR_GOLD, "* You cancelled your editing.");
  9194. }
  9195. else if(response == EDIT_RESPONSE_FINAL)
  9196. {
  9197. new
  9198. query[256];
  9199. PlayerEditingOpen[playerid] = 0;
  9200. PlayerEditingID[playerid] = 0;
  9201. mysql_format(m_Handle, query, sizeof(query), "UPDATE objects SET OpenX = %f, OpenY = %f, OpenZ = %f, OpenRotX = %f, OpenRotY = %f, OpenRotZ = %f WHERE id = %i", x, y, z, rx, ry, rz, ObjectData[id][ObjectDBID]);
  9202. mysql_tquery(m_Handle, query, "OnMappingEditedEx", "iiffffff", playerid, id, x, y, z, rx, ry, rz);
  9203. }
  9204. printf("pEditingMapOpen called for %s.", ReturnName(playerid));
  9205. }
  9206. else if(PlayerData[playerid][pAddingRoadblock])
  9207. {
  9208. if(response == EDIT_RESPONSE_CANCEL)
  9209. {
  9210. DestroyDynamicObject(PlayerData[playerid][pRoadblockObject]);
  9211. PlayerData[playerid][pAddingRoadblock] = 0;
  9212. }
  9213. else if(response == EDIT_RESPONSE_FINAL)
  9214. {
  9215. new
  9216. id = -1,
  9217. str[128];
  9218. for(new i = 0; i < sizeof(Roadblocks); i++)
  9219. {
  9220. if(Roadblocks[i][RoadblockExists])
  9221. continue;
  9222. id = i;
  9223. break;
  9224. }
  9225. if(id == -1)
  9226. {
  9227. SendClientMessage(playerid, COLOR_WHITE, "SERVER: It looks like you can't spawn this anymore.");
  9228. DestroyDynamicObject(PlayerData[playerid][pRoadblockObject]);
  9229. PlayerData[playerid][pAddingRoadblock] = 0;
  9230. return 1;
  9231. }
  9232. DestroyDynamicObject(PlayerData[playerid][pRoadblockObject]);
  9233. format(str, sizeof(str), "** HQ: %s %s added a '%s' at %s! **", ReturnRank(playerid), ReturnName(playerid, 0), GetRoadblockNameFromModel(PlayerData[playerid][pRoadblockModel]), ReturnLocation(playerid));
  9234. SendLawMessage(COLOR_COP, str);
  9235. format(Roadblocks[id][RoadblockLocation], 40, "%s", ReturnLocation(playerid));
  9236. format(Roadblocks[id][RoadblockPlacedBy], 34, "%s", ReturnName(playerid));
  9237. Roadblocks[id][RoadblockExists] = true;
  9238. Roadblocks[id][RoadblocksModelID] = PlayerData[playerid][pRoadblockModel];
  9239. if(PlayerData[playerid][pRoadblockModel] == 2892 || PlayerData[playerid][pRoadblockModel] == 2899)
  9240. Roadblocks[id][RoadblockSpikes] = true;
  9241. Roadblocks[id][RoadblockPos][0] = x;
  9242. Roadblocks[id][RoadblockPos][1] = y;
  9243. Roadblocks[id][RoadblockPos][2] = z;
  9244. Roadblocks[id][RoadblockObject] = CreateDynamicObject(PlayerData[playerid][pRoadblockModel], x, y, z, rx, ry, rz, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  9245. Roadblocks[id][RoadblockWorld] = GetPlayerVirtualWorld(playerid);
  9246. Roadblocks[id][RoadblockInterior] = GetPlayerInterior(playerid);
  9247. PlayerData[playerid][pAddingRoadblock] = 0;
  9248. PlayerData[playerid][pRoadblockModel] = 0;
  9249. }
  9250. printf("pEditingRoadblock called for %s.", ReturnName(playerid));
  9251. }
  9252. else if(PlayerPlacingWeapon[playerid])
  9253. {
  9254. new
  9255. bool:CanPlace = true,
  9256. Float:VehiclePos[3];
  9257. if(response == EDIT_RESPONSE_UPDATE)
  9258. {
  9259. GetVehiclePos(PlayerPlacingInVehicle[playerid], VehiclePos[0], VehiclePos[1], VehiclePos[2]);
  9260. if(IsPointNearPoint(x, y, z, VehiclePos[0], VehiclePos[1], VehiclePos[2], 4))
  9261. {
  9262. CanPlace = true;
  9263. }
  9264. else
  9265. {
  9266. CanPlace = false;
  9267. SendClientMessage(playerid, COLOR_ADM, "INFO: Your object is out of bound from the vehicle!");
  9268. }
  9269. }
  9270. else if(response == EDIT_RESPONSE_CANCEL)
  9271. {
  9272. GivePlayerWeapon(playerid, PlayerPlacingWeaponID[playerid], PlayerPlacingWeaponAmmo[playerid]);
  9273. if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER && PlayerPlacingWeaponID[playerid] == 24)
  9274. SetPlayerArmedWeapon(playerid, 0);
  9275. DestroyDynamicObject(CarData[ PlayerPlacingInVehicle[playerid] ][carWeaponObject][ PlayerPlacingWeaponSlot[playerid] ]);
  9276. PlayerPlacingWeapon[playerid] = 0; PlayerPlacingWeaponID[playerid] = 0;
  9277. PlayerPlacingWeaponAmmo[playerid] = 0;
  9278. SlotBeingUsed[ PlayerPlacingInVehicle[playerid] ][ PlayerPlacingWeaponSlot[playerid] ] = 0;
  9279. PlayerPlacingWeaponSlot[playerid] = 0; PlayerPlacingInVehicle[playerid] = 0;
  9280. SendClientMessage(playerid, COLOR_ADM, "INFO: Your weapon has been returned.");
  9281. }
  9282. else if(response == EDIT_RESPONSE_FINAL)
  9283. {
  9284. new
  9285. Float:Offset[4],
  9286. Float:ofx, Float:ofy,
  9287. Float:ofz, Float:ofaz,
  9288. Float:finalx, Float:finaly,
  9289. Float:px, Float:py, Float:pz, Float:roz;
  9290. GetVehiclePos(PlayerPlacingInVehicle[playerid], VehiclePos[0], VehiclePos[1], VehiclePos[2]);
  9291. if(IsPointNearPoint(x, y, z, VehiclePos[0], VehiclePos[1], VehiclePos[2], 4))
  9292. CanPlace = true;
  9293. else
  9294. CanPlace = false;
  9295. if(!CanPlace)
  9296. {
  9297. SendClientMessage(playerid, COLOR_ADM, "INFO: Your weapon was out of bound and set to a default position.");
  9298. Offset[0] = 0.0;
  9299. Offset[1] = 0.0;
  9300. Offset[2] = 0.0;
  9301. Offset[3] = 0.0;
  9302. /*x = 0.0;
  9303. y = 0.0;
  9304. z = 0.0;*/
  9305. }
  9306. else
  9307. {
  9308. GetVehiclePos(PlayerPlacingInVehicle[playerid], px, py, pz);
  9309. GetVehicleZAngle(PlayerPlacingInVehicle[playerid], roz);
  9310. ofx = x-px;
  9311. ofy = y-py;
  9312. ofz = z-pz;
  9313. ofaz = rz-roz;
  9314. finalx = ofx*floatcos(roz, degrees)+ofy*floatsin(roz, degrees);
  9315. finaly = -ofx*floatsin(roz, degrees)+ofy*floatcos(roz, degrees);
  9316. Offset[0] = finalx;
  9317. Offset[1] = finaly;
  9318. Offset[2] = ofz;
  9319. Offset[3] = ofaz;
  9320. }
  9321. new
  9322. slot_id = PlayerPlacingWeaponSlot[playerid],
  9323. vehicleid = PlayerPlacingInVehicle[playerid],
  9324. insert_query[230],
  9325. string[128];
  9326. CarData[vehicleid][carWeapons][slot_id] = PlayerPlacingWeaponID[playerid];
  9327. CarData[vehicleid][carWeaponsAmmo][slot_id] = PlayerPlacingWeaponAmmo[playerid];
  9328. TakePlayerWeapon(playerid, PlayerPlacingWeaponID[playerid]);
  9329. DestroyDynamicObject(CarData[vehicleid][carWeaponObject][slot_id]);
  9330. CarData[vehicleid][carWeaponObject][slot_id] = CreateDynamicObject(ReturnWeaponsModel(PlayerPlacingWeaponID[playerid]), 0.0, 0.0, 0.0, rx, ry, Offset[3], GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  9331. AttachDynamicObjectToVehicle(CarData[vehicleid][carWeaponObject][slot_id], vehicleid, Offset[0], Offset[1], Offset[2], rx, ry, Offset[3]);
  9332. Message(playerid, COLOR_ADM, "You've placed a {FFFFFF}%s{FF6347} with {FFFFFF}%d Ammo{FF6347} in this %s.", ReturnWeaponName(PlayerPlacingWeaponID[playerid]), PlayerPlacingWeaponAmmo[playerid], ReturnVehicleName(vehicleid));
  9333. format(string, sizeof(string), "* %s stores a %s in the %s.", ReturnName(playerid, 0), ReturnWeaponName(PlayerPlacingWeaponID[playerid]), ReturnVehicleName(vehicleid));
  9334. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 2000);
  9335. format(string, sizeof(string), "%s put a %s[%d] (slot %d)", ReturnName(playerid), ReturnWeaponName(PlayerPlacingWeaponID[playerid]), PlayerPlacingWeaponAmmo[playerid], slot_id);
  9336. LogVehicleAction(vehicleid, string);
  9337. WriteLog("weapon_logs/vehicle_place.txt", "[%s] %s (DBID: %i) placed %s (Ammo: %i) in Vehicle DBID %i", ReturnDate(), ReturnName(playerid), PlayerData[playerid][pSQLID], ReturnWeaponName(PlayerPlacingWeaponID[playerid]), PlayerPlacingWeaponAmmo[playerid], CarData[vehicleid][carID]);
  9338. SaveCar(vehicleid);
  9339. switch(PlayerPlacingWeaponSlot[playerid])
  9340. {
  9341. case 1: mysql_format(m_Handle, insert_query, sizeof(insert_query), "UPDATE ownedcars SET Weapon1PosX = %f, Weapon1PosY = %f, Weapon1PosZ = %f, Weapon1RotX = %f, Weapon1RotY = %f, Weapon1RotZ = %f WHERE id = %i", Offset[0], Offset[1], Offset[2], rx, ry, Offset[3], CarData[vehicleid][carID]);
  9342. case 2: mysql_format(m_Handle, insert_query, sizeof(insert_query), "UPDATE ownedcars SET Weapon2PosX = %f, Weapon2PosY = %f, Weapon2PosZ = %f, Weapon2RotX = %f, Weapon2RotY = %f, Weapon2RotZ = %f WHERE id = %i", Offset[0], Offset[1], Offset[2], rx, ry, Offset[3], CarData[vehicleid][carID]);
  9343. case 3: mysql_format(m_Handle, insert_query, sizeof(insert_query), "UPDATE ownedcars SET Weapon3PosX = %f, Weapon3PosY = %f, Weapon3PosZ = %f, Weapon3RotX = %f, Weapon3RotY = %f, Weapon3RotZ = %f WHERE id = %i", Offset[0], Offset[1], Offset[2], rx, ry, Offset[3], CarData[vehicleid][carID]);
  9344. case 4: mysql_format(m_Handle, insert_query, sizeof(insert_query), "UPDATE ownedcars SET Weapon4PosX = %f, Weapon4PosY = %f, Weapon4PosZ = %f, Weapon4RotX = %f, Weapon4RotY = %f, Weapon4RotZ = %f WHERE id = %i", Offset[0], Offset[1], Offset[2], rx, ry, Offset[3], CarData[vehicleid][carID]);
  9345. }
  9346. mysql_tquery(m_Handle, insert_query);
  9347. PlayerPlacingWeapon[playerid] = 0; PlayerPlacingWeaponID[playerid] = 0;
  9348. PlayerPlacingWeaponAmmo[playerid] = 0;
  9349. SlotBeingUsed[vehicleid][slot_id] = 0;
  9350. PlayerPlacingWeaponSlot[playerid] = 0; PlayerPlacingInVehicle[playerid] = 0;
  9351. }
  9352. }
  9353. else if(GetPVarInt(playerid, "EditingCrateToVehicle") > 0)
  9354. {
  9355. new
  9356. bool:CanPlace = true,
  9357. Float:VehiclePos[3];
  9358. new crate;
  9359. crate = GetPVarInt(playerid, "EditingCrateID");
  9360. if(response == EDIT_RESPONSE_CANCEL)
  9361. {
  9362. DestroyDynamicObject(WeaponCrates[crate][CrateObject]);
  9363. PlayAnimation(playerid, "MISC", "pickup_box", 4.1, 0, 0, 0, 0, 0, 1);
  9364. new attach;
  9365. attach = FreeAttachmentSlot(playerid);
  9366. if(attach == -1)
  9367. {
  9368. SendClientMessage(playerid, COLOR_YELLOW, "You ran out of space to carry this.");
  9369. new Float:Pos[3];
  9370. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  9371. WeaponCrates[crate][CrateObject] = CreateDynamicObject(2912, Pos[0], Pos[1], Pos[2]-1, 0.0, 0.0, 0.0);
  9372. new label[60];
  9373. format(label, sizeof label, "%s", ReturnFactionName(WeaponCrates[crate][CrateFaction]));
  9374. WeaponCrates[crate][CrateLabel] = CreateDynamic3DTextLabel(label, COLOR_YELLOW, Pos[0], Pos[1], Pos[2]-1, 20.0);
  9375. WeaponCrates[crate][CrateAttachedTo] = -1;
  9376. WeaponCrates[crate][CrateVehicle] = -1;
  9377. return 1;
  9378. }
  9379. SetTimerEx("PickupBox", 1000, false, "ii", playerid, attach);
  9380. WeaponCrates[crate][CrateAttachedTo] = playerid;
  9381. DeletePVar(playerid, "EditingCrateID"); DeletePVar(playerid, "EditingCrateVehicleID");
  9382. DeletePVar(playerid, "EditingCrateToVehicle");
  9383. }
  9384. else if(response == EDIT_RESPONSE_UPDATE)
  9385. {
  9386. GetVehiclePos(GetPVarInt(playerid, "EditingCrateVehicleID"), VehiclePos[0], VehiclePos[1], VehiclePos[2]);
  9387. if(IsPointNearPoint(x, y, z, VehiclePos[0], VehiclePos[1], VehiclePos[2], 6))
  9388. {
  9389. CanPlace = true;
  9390. }
  9391. else
  9392. {
  9393. CanPlace = false;
  9394. SendClientMessage(playerid, COLOR_ADM, "INFO: Your object is out of bound from the vehicle!");
  9395. }
  9396. }
  9397. else if(response == EDIT_RESPONSE_FINAL)
  9398. {
  9399. new
  9400. Float:Offset[4],
  9401. Float:ofx, Float:ofy,
  9402. Float:ofz, Float:ofaz,
  9403. Float:finalx, Float:finaly,
  9404. Float:px, Float:py, Float:pz, Float:roz
  9405. ;
  9406. new vehicleid;
  9407. vehicleid = GetPVarInt(playerid, "EditingCrateVehicleID");
  9408. GetVehiclePos(vehicleid, VehiclePos[0], VehiclePos[1], VehiclePos[2]);
  9409. if(IsPointNearPoint(x, y, z, VehiclePos[0], VehiclePos[1], VehiclePos[2], 6))
  9410. CanPlace = true;
  9411. else
  9412. CanPlace = false;
  9413. if(!CanPlace)
  9414. {
  9415. SendClientMessage(playerid, COLOR_ADM, "INFO: Your object was out of bound and set to a default position.");
  9416. Offset[0] = 0.0;
  9417. Offset[1] = 0.0;
  9418. Offset[2] = 0.0;
  9419. Offset[3] = 0.0;
  9420. /*x = 0.0;
  9421. y = 0.0;
  9422. z = 0.0;*/
  9423. }
  9424. else
  9425. {
  9426. GetVehiclePos(vehicleid, px, py, pz);
  9427. GetVehicleZAngle(vehicleid, roz);
  9428. ofx = x-px;
  9429. ofy = y-py;
  9430. ofz = z-pz;
  9431. ofaz = rz-roz;
  9432. finalx = ofx*floatcos(roz, degrees)+ofy*floatsin(roz, degrees);
  9433. finaly = -ofx*floatsin(roz, degrees)+ofy*floatcos(roz, degrees);
  9434. Offset[0] = finalx;
  9435. Offset[1] = finaly;
  9436. Offset[2] = ofz;
  9437. Offset[3] = ofaz;
  9438. }
  9439. DestroyDynamicObject(WeaponCrates[crate][CrateObject]);
  9440. WeaponCrates[crate][CrateObject] = CreateDynamicObject(2912, 0.0, 0.0, 0.0, rx, ry, Offset[3]);
  9441. AttachDynamicObjectToVehicle(WeaponCrates[crate][CrateObject], vehicleid, Offset[0], Offset[1], Offset[2], rx, ry, Offset[3]);
  9442. cmd_me(playerid, "puts the crate into the vehicle.");
  9443. WeaponCrates[crate][CrateAttachedTo] = -1;
  9444. WeaponCrates[crate][CrateVehicle] = vehicleid;
  9445. SendClientMessage(playerid, COLOR_YELLOW, "You loaded the crate into your vehicle.");
  9446. SendClientMessage(playerid, COLOR_YELLOW, "Take it to a discrete location to unload the packages.");
  9447. DeletePVar(playerid, "EditingCrateID"); DeletePVar(playerid, "EditingCrateVehicleID");
  9448. DeletePVar(playerid, "EditingCrateToVehicle");
  9449. }
  9450. }
  9451. else if (PlayerData[playerid][pAdjustPackage] != -1)
  9452. {
  9453. if (response == EDIT_RESPONSE_FINAL || response == EDIT_RESPONSE_CANCEL)
  9454. {
  9455. new id = PlayerData[playerid][pAdjustPackage], house_id = IsPlayerInProperty(playerid);
  9456. if (response == EDIT_RESPONSE_FINAL)
  9457. {
  9458. new query[200];
  9459. HousePackages[house_id][id][packagePos][0] = x;
  9460. HousePackages[house_id][id][packagePos][1] = y;
  9461. HousePackages[house_id][id][packagePos][2] = z;
  9462. HousePackages[house_id][id][packagePos][3] = rx;
  9463. HousePackages[house_id][id][packagePos][4] = ry;
  9464. HousePackages[house_id][id][packagePos][5] = rz;
  9465. mysql_format(m_Handle, query, sizeof(query), "UPDATE house_packages SET posX = %.3f, posY = %.3f, posZ = %.3f, rotX = %.3f, rotY = %.3f, rotZ = %.3f WHERE housesqlid = %d AND id = %d", x, y, z, rx, ry, rz, PropertyData[house_id][propertyid], id);
  9466. mysql_tquery(m_Handle, query);
  9467. }
  9468. DestroyDynamicObject(HousePackages[house_id][id][packageObject]);
  9469. HousePackages[house_id][id][packageObject] = CreateDynamicObject(GetPackageModel(HousePackages[house_id][id][packageType]), HousePackages[house_id][id][packagePos][0], HousePackages[house_id][id][packagePos][1], HousePackages[house_id][id][packagePos][2],
  9470. HousePackages[house_id][id][packagePos][3], HousePackages[house_id][id][packagePos][4], HousePackages[house_id][id][packagePos][5], PropertyData[house_id][propertyInteriorWorld], PropertyData[house_id][propertyInteriorID]);
  9471. PlayerData[playerid][pAdjustPackage] = -1;
  9472. }
  9473. }
  9474. return true;
  9475. }
  9476. public OnPlayerDisconnect(playerid, reason)
  9477. {
  9478. printf("[CONNECTION] %s (DBID: %d) disconnected.", ReturnName(playerid, 1), PlayerData[playerid][pSQLID]);
  9479. new string[128];
  9480. if(PlayerTutorialStep[playerid] != 0)
  9481. KillTimer(PlayerTutorialTimer[playerid]);
  9482. if(pLoggedIn[playerid])
  9483. {
  9484. switch(reason)
  9485. {
  9486. case 0:
  9487. {
  9488. format(string, sizeof(string), "** %s (Connection lost)", ReturnName(playerid, 1));
  9489. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Crashed", 1);
  9490. PlayerData[playerid][pCrashed] = 1;
  9491. if(PlayerData[playerid][pLAWduty] || PlayerData[playerid][pSWATduty])
  9492. {
  9493. new
  9494. thr[128];
  9495. PlayerData[playerid][pSkin] = GetPlayerSkin(playerid);
  9496. mysql_format(m_Handle, thr, sizeof(thr), "UPDATE players SET Crashed = 1, pCrashTime = %i, pCopDuty = %i, pSWATDuty = %i WHERE id = %i",
  9497. gettime(), PlayerData[playerid][pLAWduty], PlayerData[playerid][pSWATduty], PlayerData[playerid][pSQLID]);
  9498. mysql_tquery(m_Handle, thr);
  9499. }
  9500. }
  9501. case 1: format(string, sizeof(string), "** %s (Quit)", ReturnName(playerid, 1));
  9502. case 2: format(string, sizeof(string), "** %s (Kicked)", ReturnName(playerid, 1));
  9503. }
  9504. SendNearbyMessage(playerid, 20.0, COLOR_WHITE, string);
  9505. if(reason == 1)
  9506. {
  9507. LogPlayerAction(playerid, "Disconnected by Quitting");
  9508. }
  9509. if(gOpeningCrate[playerid] != -1)
  9510. {
  9511. KillTimer(gOpeningCrateTimer[playerid]);
  9512. WeaponCrates[ gOpeningCrate[playerid] ][CrateBeingOpened] = 0;
  9513. for(new i; i < 3; i++) gOpeningCratePos[playerid][i] = 0.0;
  9514. gOpeningCrate[playerid] = -1;
  9515. }
  9516. if(PlayerData[playerid][pInsidePNS])
  9517. {
  9518. new PNSvehicleid = GetPVarInt(playerid, "InsidePNSVehicle");
  9519. new ppns = PlayerData[playerid][pInsidePNS];
  9520. SetVehiclePos(PNSvehicleid, PNSData[ppns][pnsEntrance][0], PNSData[ppns][pnsEntrance][1], PNSData[ppns][pnsEntrance][2]);
  9521. PNSData[ppns][pnsOccupied] = false;
  9522. }
  9523. if(gShowingTextDrawInfo[playerid])
  9524. KillTimer(gShowingTextDrawTimer[playerid]);
  9525. foreach(new i : Player)
  9526. {
  9527. if(PlayerData[i][pSpectator] == playerid)
  9528. {
  9529. format(string, sizeof(string), "SERVER: The player you were spectating (%s) disconnected from the server.", ReturnName(playerid, 1));
  9530. SendClientMessage(i, COLOR_YELLOW, string);
  9531. TogglePlayerSpectating(playerid, false);
  9532. ShowSpectatorTextdraw(playerid, true);
  9533. }
  9534. if(VehicleOfferBy[i] == playerid)
  9535. {
  9536. Message(i, COLOR_ACTION, "SERVER: The player (%s) who offered to sell you a vehicle disconnected.", ReturnName(playerid));
  9537. VehicleOfferBy[i] = INVALID_PLAYER_ID;
  9538. VehiclePrice[i] = 0;
  9539. VehicleDBIDOffered[i] = 0;
  9540. }
  9541. if(VehicleOfferedTo[i] == playerid)
  9542. {
  9543. Message(i, COLOR_ACTION, "SERVER: The player (%s) you offered a vehicle to disconnected.", ReturnName(playerid));
  9544. VehicleOfferedTo[i] = INVALID_PLAYER_ID;
  9545. VehiclePrice[i] = 0;
  9546. VehicleDBIDOffered[i] = 0;
  9547. }
  9548. }
  9549. if(PlayerRefilling[playerid])
  9550. {
  9551. KillTimer(RefillTimer[playerid]);
  9552. DestroyDynamic3DTextLabel(RefillTextdraw[playerid]);
  9553. }
  9554. if(IsValidDynamic3DTextLabel(vehicleTextdraw[playerid]))
  9555. {
  9556. DestroyDynamic3DTextLabel(vehicleTextdraw[playerid]);
  9557. }
  9558. if(IsValidDynamic3DTextLabel(BreakInTextDraw[playerid]))
  9559. {
  9560. DestroyDynamic3DTextLabel(BreakInTextDraw[playerid]);
  9561. KillTimer(BreakInTDTimer[playerid]);
  9562. }
  9563. if(g_aVehicleSpawned[playerid] != 0)
  9564. {
  9565. if(IsValidVehicle(g_aVehicleSpawned[playerid]) && !IsValidPlayerCar(g_aVehicleSpawned[playerid]) && !IsValidFactionCar(g_aVehicleSpawned[playerid])){
  9566. DestroyVehicle(g_aVehicleSpawned[playerid]);
  9567. }
  9568. }
  9569. if(PlayerData[playerid][pBrutallyWounded]){
  9570. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  9571. }
  9572. for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++){
  9573. if(IsPlayerAttachedObjectSlotUsed(playerid, i)){
  9574. RemovePlayerAttachedObject(playerid, i);
  9575. }
  9576. }
  9577. if(PlayerData[playerid][pLAWduty] || PlayerData[playerid][pSWATduty] && reason != 0)
  9578. SetPlayerArmour(playerid, 0.0);
  9579. if(InTaxiRide[playerid])
  9580. {
  9581. foreach(new i : Player) if(PlayerData[i][pSQLID] == TaxiDriver[playerid])
  9582. {
  9583. SendClientMessage(i, COLOR_YELLOW, "-> A person in your taxi disconnected. You were compensated regardless.");
  9584. }
  9585. EndTaxiFair(playerid);
  9586. }
  9587. if(PlayerData[playerid][pICJailed])
  9588. {
  9589. DestroyDynamic3DTextLabel(PlayerData[playerid][pICJail3D]);
  9590. TotalJailees--;
  9591. }
  9592. foreach (new i : Player)
  9593. {
  9594. if(CanPMAdmin[i][playerid] == 1)
  9595. {
  9596. CanPMAdmin[i][playerid] = 0;
  9597. }
  9598. if(WatchingDamages[i][playerid] == 1)
  9599. {
  9600. WatchingDamages[i][playerid] = 0;
  9601. Message(playerid, COLOR_ADM, "Player %s(%i) whos damages you were watching disconnected.", ReturnName(playerid), playerid);
  9602. }
  9603. }
  9604. if(PlayerData[playerid][pLegShot])
  9605. KillTimer(LegShotTimer[playerid]);
  9606. if(StartedTruckerMission[playerid])
  9607. {
  9608. EndTruckerMission(playerid);
  9609. }
  9610. KillTimer(DisplayTimer[playerid]);
  9611. KillTimer(graffitiTimer[playerid]);
  9612. KillTimer(graffitiTimerEx[playerid]);
  9613. KillTimer(MechanicCallTimer[playerid]);
  9614. KillTimer(TaxiCallTimer[playerid]);
  9615. KillTimer(TruckerJobExitTimer[playerid]);
  9616. KillTimer(TrailerTimer[playerid]);
  9617. KillTimer(TruckerJobDeliverTimer[playerid]);
  9618. KillTimer(TruckerJobTimer[playerid]);
  9619. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  9620. KillTimer(GraffitiExitTimer[playerid]);
  9621. if(PlayerData[playerid][pUnscrambling])
  9622. {
  9623. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  9624. }
  9625. if(OrderedWeapon[playerid] || WeaponOrderPrompt[playerid] > 0)
  9626. KillTimer(WeaponOrderTimer[playerid]);
  9627. if(PlayerPlacingWeapon[playerid])
  9628. {
  9629. PlayerPlacingWeapon[playerid] = 0; PlayerPlacingWeaponID[playerid] = 0;
  9630. PlayerPlacingWeaponAmmo[playerid] = 0;
  9631. SlotBeingUsed[ PlayerPlacingInVehicle[playerid] ][ PlayerPlacingWeaponSlot[playerid] ] = 0;
  9632. PlayerPlacingWeaponSlot[playerid] = 0; PlayerPlacingInVehicle[playerid] = 0;
  9633. DestroyDynamicObject(CarData[ PlayerPlacingInVehicle[playerid] ][carWeaponObject][ PlayerPlacingWeaponSlot[playerid] ]);
  9634. }
  9635. phone_OnPlayerDisconnect(playerid);
  9636. new playerTime = NetStats_GetConnectedTime(playerid);
  9637. new secondsConnection = ((playerTime % (1000*60*60)) % (1000*60)) / 1000;
  9638. format(PlayerData[playerid][pLastConnect], 60, "%s", ReturnDate());
  9639. PlayerData[playerid][pLastConnectTime] = secondsConnection;
  9640. SavePlayer(playerid);
  9641. DefaultPlayerValues(playerid);
  9642. }
  9643. return true;
  9644. }
  9645. public OnPlayerText(playerid, text[])
  9646. {
  9647. new string[128];
  9648. PlayerData[playerid][pLastChat] = gettime();
  9649. format(string, sizeof(string), "Said: %s", text);
  9650. LogPlayerChat(playerid, string);
  9651. if(!pLoggedIn[playerid])
  9652. {
  9653. SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You need to login first to type.");
  9654. return 0;
  9655. }
  9656. if(GetPlayerTeam(playerid) != STATE_ALIVE)
  9657. {
  9658. SendClientMessage(playerid, COLOR_ADM, "You can't type when you're dead.");
  9659. return 0;
  9660. }
  9661. if(PlayerData[playerid][pSpectator] != -1 || PlayerData[playerid][pSpecVehicle] != -1)
  9662. {
  9663. SendClientMessage(playerid, COLOR_ADM, "-> You can't type during spectator mode.");
  9664. return 0;
  9665. }
  9666. if(PlayerData[playerid][pPhoneline] != INVALID_PLAYER_ID && !PlayerData[playerid][pCalling])
  9667. {
  9668. if(PlayerData[playerid][pPhoneline] == 911)
  9669. {
  9670. if(strlen(text) > 90)
  9671. {
  9672. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  9673. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9674. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  9675. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9676. }
  9677. else
  9678. {
  9679. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  9680. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9681. }
  9682. switch(PlayerData[playerid][p911Steps])
  9683. {
  9684. case 0:
  9685. {
  9686. if(strfind(text, "Police", true) != -1 || strfind(text, "Cops", true) != -1 || strfind(text, "Law enforcement", true) != -1)
  9687. {
  9688. SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: You're being transferred to the police department. Please state your emergency.");
  9689. PlayerData[playerid][p911Steps] = 1;
  9690. }
  9691. else if(strfind(text, "Medics", true) != -1 || strfind(text, "Paramedics", true) != -1 || strfind(text, "Ambulance", true) != -1 || strfind(text, "Fire", true) != -1)
  9692. {
  9693. SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: You're being transferred over to medical units now. What's the emergency?");
  9694. PlayerData[playerid][p911Steps] = 2;
  9695. }
  9696. else SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: Sorry, I didn't hear that. Please repeat what service you require.");
  9697. }
  9698. case 1: // Police forward;
  9699. {
  9700. if(strlen(text) < 1)
  9701. return SendClientMessage(playerid, COLOR_ADM, "-> You need actual text to continue.");
  9702. format(PlayerData[playerid][p911Text], 128, "%s", text);
  9703. PlayerData[playerid][p911Steps] = 5;
  9704. SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: Can you tell me your location?");
  9705. }
  9706. case 2: // Medic forward;
  9707. {
  9708. if(strlen(text) < 1)
  9709. return SendClientMessage(playerid, COLOR_ADM, "-> You need actual text to continue.");
  9710. format(PlayerData[playerid][p911Text], 128, "%s", text);
  9711. PlayerData[playerid][p911Steps] = 10;
  9712. SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: Can you tell me your location?");
  9713. }
  9714. case 5: // Police;
  9715. {
  9716. if(strlen(text) < 1)
  9717. return SendClientMessage(playerid, COLOR_ADM, "-> You need actual text to continue.");
  9718. format(PlayerData[playerid][p911Location], 128, "%s", text);
  9719. SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: Police units have been notified.");
  9720. Send911Message(playerid, 1);
  9721. }
  9722. case 10: // Medics;
  9723. {
  9724. if(strlen(text) < 1)
  9725. return SendClientMessage(playerid, COLOR_ADM, "-> You need actual text to continue.");
  9726. format(PlayerData[playerid][p911Location], 128, "%s", text);
  9727. SendClientMessage(playerid, COLOR_YELLOW, "Dispatch says: Medical units have been notified.");
  9728. Send911Message(playerid, 2);
  9729. }
  9730. }
  9731. }
  9732. else if(PlayerData[playerid][pPhoneline] == 788 && PlayerStolenCarPrompt[playerid] != 0)
  9733. {
  9734. if(strlen(text) > 90)
  9735. {
  9736. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  9737. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9738. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  9739. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9740. }
  9741. else
  9742. {
  9743. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  9744. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9745. }
  9746. switch(PlayerStolenCarPrompt[playerid])
  9747. {
  9748. case 1:
  9749. {
  9750. if(strfind(text, "Yes", true) != -1 || strfind(text, "Affirmative", true) != -1 || strfind(text, "Mhm", true) != -1 || strfind(text, "Yeah", true) != -1)
  9751. {
  9752. PlayerStolenCarPrompt[playerid] = 2;
  9753. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Okay! Can you provide us with your vehicles license plate?");
  9754. }
  9755. else if(strfind(text, "No", true) != -1 || strfind(text, "Nope", true) != -1 || strfind(text, "Negative", true) != -1)
  9756. {
  9757. PlayerStolenCarPrompt[playerid] = 10;
  9758. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Alright then! Would you like to be transferred to law enforcement or end the call?");
  9759. }
  9760. else SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): I didn't understand that. Could you repeat it?");
  9761. }
  9762. case 2: //"Yes" answer to prompt 1;
  9763. {
  9764. if(strlen(text) > 7)
  9765. return SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): For now, please only provide your vehicles license plate.");
  9766. else if(strlen(text) < 7)
  9767. return SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Sorry, we need the entire plate for this to work.");
  9768. format(PlayerStolenCarPlate[playerid], 32, "%s", text);
  9769. PlayerStolenCarPrompt[playerid] = 99;
  9770. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Please standby while we confirm the vehicles plates.");
  9771. mysql_format(m_Handle, string, sizeof(string), "SELECT Plate, ModelID FROM ownedcars WHERE Plate = '%e'", text);
  9772. mysql_tquery(m_Handle, string, "OnStolenCarPrompt", "i", playerid);
  9773. }
  9774. case 3: //Bad plate, end or try again:
  9775. {
  9776. if(strfind(text, "try", true) != -1 || strfind(text, "again", true) != -1 || strfind(text, "yes", true) != -1)
  9777. {
  9778. PlayerStolenCarPrompt[playerid] = 2;
  9779. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Okay! Can you provide us with your vehicles license plate again?");
  9780. }
  9781. else if(strfind(text, "end", true) != -1 || strfind(text, "no", true) != -1 || strfind(text, "stop", true) != -1)
  9782. {
  9783. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Okay!");
  9784. PlayerStolenCarPrompt[playerid] = 0;
  9785. cmd_hangup(playerid, "");
  9786. }
  9787. else SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Could you repeat that? I didn't catch that.");
  9788. }
  9789. case 4:
  9790. {
  9791. if(strfind(text, "confirm", true) != -1 || strfind(text, "confirmed", true) != -1 || strfind(text, "yes", true) != -1 || strfind(text, "correct", true) != -1)
  9792. {
  9793. PlayerStolenCarPrompt[playerid] = 99;
  9794. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Thank you for confirming! Please standby.");
  9795. mysql_format(m_Handle, string, sizeof(string), "SELECT OwnerID FROM ownedcars WHERE Plate = '%e'", PlayerStolenCarPlate[playerid]);
  9796. mysql_tquery(m_Handle, string, "OnStolenCarOwnedCheck", "i", playerid);
  9797. }
  9798. else if(strfind(text, "no", true) != -1 || strfind(text, "incorrect", true) != -1 || strfind(text, "unconfirm", true) != -1 || strfind(text, "wrong", true) != -1)
  9799. {
  9800. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Okay! Please don't call back until your information is persist.");
  9801. PlayerStolenCarPrompt[playerid] = 0;
  9802. cmd_hangup(playerid, "");
  9803. }
  9804. else SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Sorry, I didn't get that. Can you confirm these details are correct?");
  9805. }
  9806. case 10: //"No" answer to prompt 1;
  9807. {
  9808. if(strfind(text, "Transfer", true) != -1 || strfind(text, "Transferred", true) != -1 || strfind(text, "law enforcement", true) != -1)
  9809. {
  9810. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Please standby while we transfer you to a 911 operator.");
  9811. PlayerStolenCarPrompt[playerid] = 0;
  9812. PlayerData[playerid][pPhoneline] = 999;
  9813. PlayerData[playerid][pCalling] = 2;
  9814. PlayerPlaySound(playerid, 3600, 0.0, 0.0, 0.0);
  9815. PlayerData[playerid][p911CallTimer][0] = SetTimerEx("CallingEmergencyServices", 2000, false, "i", playerid);
  9816. }
  9817. else if(strfind(text, "End the call", true) != -1 || strfind(text, "end", true) != -1 || strfind(text, "hangup", true) != -1)
  9818. {
  9819. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Okay! Please don't call unless you would like to report a stolen vehicle.");
  9820. PlayerStolenCarPrompt[playerid] = 0;
  9821. cmd_hangup(playerid, "");
  9822. }
  9823. else SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Would you like to hangup or be transferred? I didn't understand that.");
  9824. }
  9825. case 99: //Avoid spam for prompt 2;
  9826. {
  9827. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Please standby!");
  9828. }
  9829. }
  9830. }
  9831. else if(PlayerData[playerid][pPhoneline] == WEAPON_ORDER_NUMBER && !PlayerData[playerid][pCalling] && WeaponOrderPrompt[playerid] != 999)
  9832. {
  9833. if(strlen(text) > 90)
  9834. {
  9835. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  9836. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9837. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  9838. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9839. }
  9840. else
  9841. {
  9842. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  9843. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  9844. }
  9845. switch(WeaponOrderPrompt[playerid])
  9846. {
  9847. case 1:
  9848. {
  9849. if(strfind(text, "Calling for weapons", true) != -1 || strfind(text, "Calling about weapons", true) != -1 || strfind(text, "weapons", true) != -1 || strfind(text, "weapon", true) != -1 || strfind(text, "firearms", true) != -1 || strfind(text, "gun", true) != -1 || strfind(text, "guns", true) != -1)
  9850. {
  9851. WeaponOrderPrompt[playerid] = 66;
  9852. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 2000, false, "ii", playerid, 1);
  9853. }
  9854. else
  9855. {
  9856. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): You got the wrong number pal.");
  9857. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9858. cmd_hangup(playerid, "");
  9859. WeaponOrderPrompt[playerid] = 0;
  9860. }
  9861. }
  9862. case 2: //Choosing first weapon:
  9863. {
  9864. new
  9865. bool:confirm = true;
  9866. for(new i = 0; i < sizeof PossibleWeapons; i++)
  9867. {
  9868. if(strfind(text, PossibleWeapons[i][WeaponName], true) != -1)
  9869. {
  9870. WeaponOrdered[0][playerid] = PossibleWeapons[i][WeaponID];
  9871. format(WeaponOrderedName[0][playerid], 32, "%s", PossibleWeapons[i][WeaponName]);
  9872. confirm = true;
  9873. break;
  9874. }
  9875. else
  9876. {
  9877. confirm = false;
  9878. }
  9879. }
  9880. if(!confirm)
  9881. {
  9882. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Talk to me when you're ready kid. We don't got that.");
  9883. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9884. cmd_hangup(playerid, "");
  9885. WeaponOrderPrompt[playerid] = 0;
  9886. }
  9887. if(WeaponOrderPrompt[playerid] != 0)
  9888. {
  9889. WeaponOrderPrompt[playerid] = 66;
  9890. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 3000, false, "ii", playerid, 3);
  9891. }
  9892. }
  9893. case 3: //Confirming first weapon:
  9894. {
  9895. if(strfind(text, "yes", true) != -1 || strfind(text, "yeah", true) != -1 || strfind(text, "correct", true) != -1 || strfind(text, "affirm", true) != -1 || strfind(text, "yah", true) != -1)
  9896. {
  9897. WeaponOrderPrompt[playerid] = 4;
  9898. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): That it or another one?");
  9899. }
  9900. else
  9901. {
  9902. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Talk to me when you know what you want.");
  9903. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9904. cmd_hangup(playerid, "");
  9905. WeaponOrderPrompt[playerid] = 0;
  9906. }
  9907. }
  9908. case 4: //Finishing with first order or picking another one.
  9909. {
  9910. if(strfind(text, "another", true) != -1 || strfind(text, "one", true) != -1 || strfind(text, "another one", true) != -1 || strfind(text, "one more", true) != -1)
  9911. {
  9912. WeaponOrderPrompt[playerid] = 5;
  9913. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Name it.");
  9914. }
  9915. else if(strfind(text, "thats it", true) != -1 || strfind(text, "that's it", true) != -1 || strfind(text, "that's all", true) != -1 || strfind(text, "thats all", true) != -1 || strfind(text, "that it", true) != -1 || strfind(text, "done", true) != -1)
  9916. {
  9917. WeaponOrderPrompt[playerid] = 10;
  9918. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Hold on.");
  9919. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 6000, false, "ii", playerid, 6);
  9920. }
  9921. else
  9922. {
  9923. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Don't waste my time if you can't answer straight.");
  9924. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9925. cmd_hangup(playerid, "");
  9926. WeaponOrderPrompt[playerid] = 0;
  9927. }
  9928. }
  9929. case 5: //Second weapon:
  9930. {
  9931. new
  9932. bool:confirm = false;
  9933. for(new i = 0; i < sizeof PossibleWeapons; i++)
  9934. {
  9935. if(strfind(text, PossibleWeapons[i][WeaponName], true) != -1)
  9936. {
  9937. WeaponOrdered[1][playerid] = PossibleWeapons[i][WeaponID];
  9938. format(WeaponOrderedName[1][playerid], 32, "%s", PossibleWeapons[i][WeaponName]);
  9939. confirm = true;
  9940. break;
  9941. }
  9942. }
  9943. if(!confirm)
  9944. {
  9945. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Talk to me when you're ready kid. We don't got that.");
  9946. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9947. cmd_hangup(playerid, "");
  9948. WeaponOrderPrompt[playerid] = 0;
  9949. }
  9950. if(WeaponOrderPrompt[playerid] != 0)
  9951. {
  9952. WeaponOrderPrompt[playerid] = 66;
  9953. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 3000, false, "ii", playerid, 5);
  9954. }
  9955. }
  9956. case 6: //Answering to second weapon:
  9957. {
  9958. if(strfind(text, "yes", true) != -1 || strfind(text, "yeah", true) != -1 || strfind(text, "correct", true) != -1 || strfind(text, "affirm", true) != -1 || strfind(text, "yah", true) != -1)
  9959. {
  9960. WeaponOrderPrompt[playerid] = 10;
  9961. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): OK. Hold on.");
  9962. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 6000, false, "ii", playerid, 7);
  9963. }
  9964. else
  9965. {
  9966. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Talk to me when you know what you want.");
  9967. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9968. cmd_hangup(playerid, "");
  9969. WeaponOrderPrompt[playerid] = 0;
  9970. }
  9971. }
  9972. case 10:
  9973. {
  9974. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): I said hold on.");
  9975. WeaponOrderStop[playerid]++;
  9976. if(WeaponOrderStop[playerid] > 2)
  9977. {
  9978. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Fuck you too.");
  9979. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9980. cmd_hangup(playerid, "");
  9981. WeaponOrderPrompt[playerid] = 0;
  9982. }
  9983. }
  9984. case 11: //Confirmation;
  9985. {
  9986. if(strfind(text, "confirm", true) != -1 || strfind(text, "confirmed", true) != -1 || strfind(text, "correct", true) != -1 || strfind(text, "yes", true) != -1 || strfind(text, "yeah", true) != -1)
  9987. {
  9988. WeaponOrderPrompt[playerid] = 66;
  9989. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 5000, false, "ii", playerid, 10);
  9990. }
  9991. else
  9992. {
  9993. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Don't waste my time.");
  9994. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  9995. cmd_hangup(playerid, "");
  9996. WeaponOrderPrompt[playerid] = 0;
  9997. }
  9998. }
  9999. case 66:
  10000. {
  10001. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): *Static*");
  10002. }
  10003. }
  10004. }
  10005. else if(PlayerData[playerid][pPhoneline] == TAXI_NUMBER && !PlayerData[playerid][pCalling] && TaxiStage[playerid] > 0)
  10006. {
  10007. if(strlen(text) > 90)
  10008. {
  10009. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  10010. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10011. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  10012. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10013. }
  10014. else
  10015. {
  10016. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  10017. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10018. }
  10019. switch(TaxiStage[playerid])
  10020. {
  10021. case 1:
  10022. {
  10023. if(strlen(text) < 1)
  10024. return SendClientMessage(playerid, COLOR_ADM, "Enter some text first.");
  10025. format(TaxiText[playerid][0], 128, "%s", text);
  10026. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Okay! Where are you right now?");
  10027. TaxiStage[playerid] = 2;
  10028. }
  10029. case 2:
  10030. {
  10031. if(strlen(text) < 1)
  10032. return SendClientMessage(playerid, COLOR_ADM, "Enter some text first.");
  10033. format(TaxiText[playerid][1], 128, "%s", text);
  10034. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Our taxi drivers have been notified. A taxi will be with you shortly.");
  10035. foreach(new i : Player)
  10036. {
  10037. if(StartedTaxiJob[i])
  10038. {
  10039. SendClientMessage(i, COLOR_YELLOW, "|_______________TAXI CALL_______________|");
  10040. Message(i, COLOR_YELLOW, "Caller:%s, Phone:%d", ReturnName(playerid, 0), ReturnPhoneNumber(playerid));
  10041. Message(i, COLOR_YELLOW, "Destination: %s", TaxiText[playerid][0]);
  10042. Message(i, COLOR_YELLOW, "Location: %s", TaxiText[playerid][1]);
  10043. }
  10044. }
  10045. cmd_hangup(playerid, "");
  10046. TaxiStage[playerid] = 0;
  10047. for(new i = 0; i < 2; i++) format(TaxiText[playerid][i], 128, "");
  10048. }
  10049. }
  10050. }
  10051. else if(PlayerData[playerid][pPhoneline] == MECHANIC_NUMBER && !PlayerData[playerid][pCalling])
  10052. {
  10053. if(strlen(text) > 90)
  10054. {
  10055. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  10056. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10057. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  10058. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10059. }
  10060. else
  10061. {
  10062. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  10063. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10064. }
  10065. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Alright! We notified our best mechanic!");
  10066. foreach(new i : Player)
  10067. {
  10068. if(PlayerData[i][pJob] == MECHANIC_JOB || PlayerData[i][pSidejob] == MECHANIC_JOB)
  10069. {
  10070. Message(i, COLOR_ADM, "Mechanic Call from %s, Phone:%i", ReturnName(playerid, 0), ReturnPhoneNumber(playerid));
  10071. if(strlen(text) > 90)
  10072. {
  10073. Message(i, COLOR_ADM, "They said: {FFFFFF}%.90s...", text);
  10074. Message(i, COLOR_ADM, "...%s", text[90]);
  10075. }
  10076. else Message(i, COLOR_ADM, "They said: {FFFFFF}%s", text);
  10077. }
  10078. }
  10079. cmd_hangup(playerid, "");
  10080. }
  10081. else if(PlayerData[playerid][pPhoneline] == 991 && !PlayerData[playerid][pCalling] && GetPVarInt(playerid, "NonEmergencyCall") > 0)
  10082. {
  10083. if(strlen(text) > 90)
  10084. {
  10085. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  10086. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10087. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  10088. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10089. }
  10090. else
  10091. {
  10092. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  10093. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10094. }
  10095. SendClientMessage(playerid, COLOR_YELLOW, "991 Operator says (phone): Alright! We notified local law enforcement.");
  10096. cmd_hangup(playerid, "");
  10097. SendLawMessage(COLOR_NINER, "|____________Non-Emergency Call____________|");
  10098. new
  10099. emertext[128];
  10100. format(emertext, sizeof(string), "Caller: %s, Phone: %d", ReturnName(playerid, 0), ReturnPhoneNumber(playerid));
  10101. SendLawMessage(COLOR_NINER, emertext);
  10102. if(strlen(text) > 90)
  10103. {
  10104. format(emertext, 128, "Situation: %.90s", text);
  10105. SendLawMessage(COLOR_NINER, emertext);
  10106. format(emertext, 128, "Situation: ...%s", text);
  10107. SendLawMessage(COLOR_NINER, emertext);
  10108. }
  10109. else
  10110. {
  10111. format(emertext, 128, "Situation: %s", text);
  10112. SendLawMessage(COLOR_NINER, emertext);
  10113. }
  10114. }
  10115. else if(PlayerData[playerid][pPhoneline] == GUN_SHOP_NUMBER && !PlayerData[playerid][pCalling] && WarehouseCallStep[playerid] > 1)
  10116. {
  10117. if(strlen(text) > 90)
  10118. {
  10119. format(string, sizeof(string), "%s says (phone): %.90s", ReturnName(playerid, 0), text);
  10120. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10121. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text[90]);
  10122. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10123. }
  10124. else
  10125. {
  10126. format(string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  10127. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10128. }
  10129. switch(WarehouseCallStep[playerid])
  10130. {
  10131. case 2:
  10132. {
  10133. if(strfind(text, "blackmarket", true) != -1 || strfind(text, "black market", true) != -1)
  10134. {
  10135. SetPVarInt(playerid, "DestinationSelected", BLACK_MARKET_SELECTED);
  10136. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Understood.");
  10137. WarehouseCallStep[playerid] = 1;
  10138. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_3", 2000, false, "i", playerid);
  10139. }
  10140. else if(strfind(text, "warehouse", true) != -1)
  10141. {
  10142. SetPVarInt(playerid, "DestinationSelected", WAREHOUSE_SELECTED);
  10143. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Understood.");
  10144. WarehouseCallStep[playerid] = 1;
  10145. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_3", 2000, false, "i", playerid);
  10146. }
  10147. else SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Please repeat that.");
  10148. }
  10149. case 3:
  10150. {
  10151. if(strfind(text, "standard", true) != -1)
  10152. {
  10153. SetPVarInt(playerid, "WarehouseDeliveryType", 1);
  10154. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Understood. Please wait a couple seconds while we process your order.");
  10155. WarehouseCallStep[playerid] = 1;
  10156. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_4", 15000, false, "i", playerid);
  10157. }
  10158. else if(strfind(text, "deluxe", true) != -1)
  10159. {
  10160. SetPVarInt(playerid, "WarehouseDeliveryType", 2);
  10161. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Understood. Please wait a couple seconds while we process your order.");
  10162. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): For choosing our deluxe delivery, you'll be charged extra upon delivery.");
  10163. WarehouseCallStep[playerid] = 1;
  10164. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_4", 15000, false, "i", playerid);
  10165. }
  10166. else SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Please repeat that.");
  10167. }
  10168. }
  10169. }
  10170. else
  10171. {
  10172. new
  10173. playerb = PlayerData[playerid][pPhoneline];
  10174. if(strlen(text) > 99)
  10175. {
  10176. format (string, sizeof(string), "%s says (phone): %.99s...", ReturnName(playerid, 0), text);
  10177. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10178. if(!PlayerData[ playerb ][pLoudspeaker])
  10179. SendClientMessage(playerb, COLOR_YELLOW, string);
  10180. else LocalChat(playerb, 6.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10181. format (string, sizeof(string), "%s says (phone): ... %s", ReturnName(playerid, 0), text[99]);
  10182. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10183. if(!PlayerData[ playerb ][pLoudspeaker])
  10184. SendClientMessage(playerb, COLOR_YELLOW, string);
  10185. else LocalChat(playerb, 6.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10186. }
  10187. else
  10188. {
  10189. format (string, sizeof(string), "%s says (phone): %s", ReturnName(playerid, 0), text);
  10190. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10191. if(!PlayerData[ playerb ][pLoudspeaker])
  10192. SendClientMessage(playerb, COLOR_YELLOW, string);
  10193. else LocalChat(playerb, 6.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10194. }
  10195. }
  10196. }
  10197. else
  10198. {
  10199. if(PlayerData[playerid][pAutoLow])
  10200. {
  10201. if(strlen(text) > 99)
  10202. {
  10203. format(string, sizeof(string), "%s says [low]: %.99s...", ReturnName(playerid, 0), text);
  10204. LocalChat(playerid, 6.0, string, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5, COLOR_FADE5);
  10205. format(string, sizeof(string), "%s says [low]: ... %s", ReturnName(playerid, 0), text[99]);
  10206. LocalChat(playerid, 6.0, string, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5, COLOR_FADE5);
  10207. }
  10208. else
  10209. {
  10210. format(string, sizeof(string), "%s says [low]: %s", ReturnName(playerid, 0), text);
  10211. LocalChat(playerid, 8.0, string, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5, COLOR_FADE5);
  10212. }
  10213. }
  10214. else
  10215. {
  10216. if(strlen(text) > 99)
  10217. {
  10218. format (string, sizeof(string), "%s says: %.99s...", ReturnName(playerid, 0), text);
  10219. LocalChat(playerid, 25.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10220. format (string, sizeof(string), "%s says: ... %s", ReturnName(playerid, 0), text[99]);
  10221. LocalChat(playerid, 25.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10222. }
  10223. else
  10224. {
  10225. format (string, sizeof(string), "%s says: %s", ReturnName(playerid, 0), text);
  10226. LocalChat(playerid, 25.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  10227. }
  10228. }
  10229. ReturnChatAnimation(playerid, text);
  10230. }
  10231. return 0;
  10232. }
  10233. public OnPlayerDeath(playerid, killerid, reason)
  10234. {
  10235. printf("[WARNING] %s was spawned in after OnPlayerDeath was called.", ReturnName(playerid, 1));
  10236. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  10237. new
  10238. str[128];
  10239. if(killerid != INVALID_PLAYER_ID)
  10240. {
  10241. format(str, sizeof(str), "[DEATH] %s died. (%s from %s)", ReturnName(playerid, 1), ReturnWeaponName(reason), ReturnName(killerid, 1));
  10242. SendAdminMessage(COLOR_ADM, str);
  10243. }
  10244. else
  10245. {
  10246. format(str, sizeof(str), "[DEATH] %s died.", ReturnName(playerid));
  10247. SendAdminMessage(COLOR_ADM, str);
  10248. }
  10249. PlayerData[playerid][pLegShot] = false;
  10250. return true;
  10251. }
  10252. public OnVehicleDeath(vehicleid, killerid)
  10253. {
  10254. new Float:vehiclesHealth;
  10255. GetVehicleHealth(vehicleid, vehiclesHealth);
  10256. new
  10257. string[128];
  10258. printf("[DEBUG] %s was destroyed by %s. Health before destroy: %.0f", ReturnVehicleName(vehicleid), ReturnName(killerid, 1), vehiclesHealth);
  10259. if(DoesVehicleHaveCrate(vehicleid))
  10260. {
  10261. ClearActiveCrate(vehicleid);
  10262. }
  10263. foreach(new i : Player)
  10264. {
  10265. if(StartedTruckerMission[i])
  10266. {
  10267. if(TruckerMissionVehicle[i] == vehicleid)
  10268. {
  10269. SendClientMessage(i, COLOR_ADM, "Your trucker mission vehicle has been destroyed.");
  10270. if(IsTruckerVehicle(vehicleid))
  10271. {
  10272. SetVehicleToRespawn(vehicleid);
  10273. TruckerVehicleRentedBy[vehicleid] = 0;
  10274. CarEngine[vehicleid] = false;
  10275. ToggleVehicleEngine(vehicleid, false);
  10276. if(TruckerJobEarnings[i] != 0)
  10277. {
  10278. format(string, sizeof(string), "You received half of your $%s earnings for the damages. ($%s)", MoneyFormat(TruckerJobEarnings[i]), MoneyFormat(TruckerJobEarnings[i] / 2));
  10279. SendClientMessage(i, COLOR_ADM, string);
  10280. GiveMoney(i, TruckerJobEarnings[i] / 2);
  10281. }
  10282. else SendClientMessage(i, COLOR_ADM, "You didn't have any earnings.");
  10283. }
  10284. else
  10285. {
  10286. if(TruckerJobEarnings[i] != 0)
  10287. {
  10288. format(string, sizeof(string), "You received your earning of $%s.", MoneyFormat(TruckerJobEarnings[i]));
  10289. SendClientMessage(i, COLOR_ADM, string);
  10290. }
  10291. else SendClientMessage(i, COLOR_ADM, "You didn't have any earnings.");
  10292. }
  10293. EndTruckerMission(i);
  10294. }
  10295. }
  10296. if(RefillVehicle[i] == vehicleid)
  10297. {
  10298. EndPlayerRefill(i, 1);
  10299. }
  10300. }
  10301. if( IsValidPlayerCar(vehicleid) ) {
  10302. CarData[vehicleid][carEngine]-= 20.20;
  10303. CarData[vehicleid][carBattery]-= 10.00;
  10304. CarData[vehicleid][carTimeDestroyed]++;
  10305. CarData[vehicleid][carLastHealth] = 1000;
  10306. SaveCar(vehicleid);
  10307. foreach(new f : Player) if(PlayerBreakInVehicle[f] == vehicleid)
  10308. {
  10309. if(IsValidDynamic3DTextLabel(BreakInTextDraw[f]))
  10310. {
  10311. DestroyDynamic3DTextLabel(BreakInTextDraw[f]);
  10312. }
  10313. BreakInLevel[f] = 0;
  10314. KillTimer(BreakInTDTimer[f]);
  10315. //Clearing variables:
  10316. PlayerBreakInVehicle[f] = INVALID_VEHICLE_ID;
  10317. PlayerBreakingIn[f] = 0;
  10318. BreakInError[f] = 0;
  10319. BreakInLevel[f] = 0;
  10320. ActiveLockTD[f] = 0;
  10321. }
  10322. for(new i = 1; i < 5; i++)
  10323. {
  10324. if(CarData[vehicleid][carWeapons][i])
  10325. {
  10326. if(IsValidDynamicObject(CarData[vehicleid][carWeaponObject][i]))
  10327. DestroyDynamicObject(CarData[vehicleid][carWeaponObject][i]);
  10328. }
  10329. }
  10330. format(string, sizeof(string), "%s ( %d ) ownedby %s was destroyed by %s", ReturnVehicleName(vehicleid), vehicleid, ReturnSQLName(CarData[vehicleid][carOwnerID]), ReturnName(killerid, 1));
  10331. adminWarn(1, string);
  10332. foreach(new n : Player){
  10333. if(strfind(ReturnName(n, 1), ReturnSQLName(CarData[vehicleid][carOwnerID]), true) != -1){
  10334. format(string, sizeof(string), "Your %s has been destroyed.", ReturnVehicleName(vehicleid));
  10335. SendClientMessage(n, COLOR_ADM, string);
  10336. format(string, sizeof(string), "LIFESPAN: Engine Health reduced to {FFFFFF}%.2f. {FF6346}Battery Health reduced to {FFFFFF}%.2f{FF6346}.", CarData[vehicleid][carEngine], CarData[vehicleid][carBattery]);
  10337. SendClientMessage(n, COLOR_ADM, string);
  10338. _has_vehicle_spawned[n] = false;
  10339. }
  10340. }
  10341. DefaultVehicleValues(vehicleid);
  10342. DestroyVehicle(vehicleid);
  10343. }
  10344. else {
  10345. format(string, sizeof(string), "%s ( %d ) was destroyed by %s", ReturnVehicleName(vehicleid), vehicleid, ReturnName(killerid, 1));
  10346. adminWarn(1, string);
  10347. if(IsValidFactionCar(vehicleid))
  10348. {
  10349. if(FactionCar[vehicleid][carSirenOn])
  10350. {
  10351. FactionCar[vehicleid][carSirenOn] = false;
  10352. DestroyDynamicObject(FactionCar[vehicleid][carSirenObject]);
  10353. }
  10354. }
  10355. SetVehicleToRespawn(vehicleid);
  10356. }
  10357. for(new i = 0; i < sizeof TruckerVehicles; i++)
  10358. {
  10359. if(vehicleid == TruckerVehicles[vehicleid])
  10360. {
  10361. TruckerVehicleRentedBy[vehicleid] = 0;
  10362. }
  10363. }
  10364. if(RentalData[vehicleid][rentalcarRented])
  10365. {
  10366. RentalData[vehicleid][rentalcarRented] = false;
  10367. RentalData[vehicleid][rentalcarRentedBy] = 0;
  10368. }
  10369. return true;
  10370. }
  10371. stock PlayerHasWeaponEx(playerid, weapon_id)
  10372. {
  10373. new weaponid, ammo;
  10374. for(new i = 0; i < 13; i++)
  10375. {
  10376. GetPlayerWeaponData(playerid, i, weaponid, ammo);
  10377. if(weaponid == weapon_id && ammo > 0) return 1;
  10378. }
  10379. return 0;
  10380. }
  10381. public OnPlayerUpdate(playerid)
  10382. {
  10383. new
  10384. string[128];
  10385. if(GetPlayerDrunkLevel(playerid) == 0 && pLoggedIn[playerid] && !PlayerJustDied[playerid] && gettime() - PlayerLoginTick[playerid] >= 10)
  10386. {
  10387. if(!PlayerIsDesynced[playerid])
  10388. PlayerIsDesynced[playerid] = 1;
  10389. if(!PlayerDesyncNotify[playerid])
  10390. {
  10391. GameTextForPlayer(playerid, "~w~YOU'RE DESYNCED!~n~ AVOID MOVING AND RELOG!", 9000, 6);
  10392. PlayerDesyncNotify[playerid] = 30;
  10393. }
  10394. }
  10395. if(PlayerData[playerid][pAdminDuty])
  10396. SetPlayerHealth(playerid, 255);
  10397. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !NoEngineCar(GetPlayerVehicleID(playerid)))
  10398. {
  10399. if (PlayerData[playerid][pHUDToggled] == 0) UpdateHUDForPlayer(playerid);
  10400. }
  10401. PlayerData[playerid][pPauseCheck] = GetTickCount();
  10402. //if(pLoggedIn[playerid]) PlayerConnectionTick[playerid] = NetStats_GetConnectedTime(playerid);
  10403. if(PlayerData[playerid][pBrutallyWounded] == 1)
  10404. {
  10405. format(string, sizeof(string), "(( Has been injured %d times, /damages %d for more information. ))", totalDamages[playerid], playerid);
  10406. SetPlayerChatBubble(playerid, string, COLOR_ADM, 30.0, 2000);
  10407. }
  10408. if(PlayerData[playerid][pBrutallyWounded] == 2)
  10409. SetPlayerChatBubble(playerid, "(( THIS PLAYER IS DEAD ))", COLOR_ADM, 30.0, 2000);
  10410. if(PlayerData[playerid][pExecuteTime])
  10411. {
  10412. ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.1, 0, 1, 1, 1, 0, 1);
  10413. }
  10414. if(PlayerData[playerid][pSpectator] != -1)
  10415. {
  10416. UpdateSpectatorTextdraw(playerid);
  10417. }
  10418. if(PlayerData[playerid][pSpectator] != -1)
  10419. {
  10420. new Keys, ud, lr, update[60];
  10421. GetPlayerKeys(playerid, Keys, ud, lr);
  10422. if(lr == KEY_RIGHT && SpectatorWait[playerid] == 0)
  10423. {
  10424. for(new p = PlayerData[playerid][pSpectator] + 1; p < MAX_PLAYERS; p++)
  10425. {
  10426. if(playerid == p)
  10427. continue;
  10428. if(IsPlayerConnected(p))
  10429. {
  10430. PlayerData[playerid][pSpectator] = p;
  10431. format(update, 60, "%d", PlayerData[playerid][pSpectator]);
  10432. cmd_spectate(playerid, update);
  10433. SpectatorWait[playerid] = 2;
  10434. break;
  10435. }
  10436. else continue;
  10437. }
  10438. }
  10439. if(lr == KEY_LEFT && SpectatorWait[playerid] == 0)
  10440. {
  10441. for(new p = PlayerData[playerid][pSpectator] - 1; p >= 0; p--)
  10442. {
  10443. if(playerid == p)
  10444. continue;
  10445. if(IsPlayerConnected(p))
  10446. {
  10447. PlayerData[playerid][pSpectator] = p;
  10448. format(update, 60, "%d", PlayerData[playerid][pSpectator]);
  10449. cmd_spectate(playerid, update);
  10450. SpectatorWait[playerid] = 2;
  10451. break;
  10452. }
  10453. else continue;
  10454. }
  10455. }
  10456. }
  10457. if(NetStats_GetConnectedTime(playerid) - PlayerConnectionTick[playerid] >= 250)
  10458. {
  10459. new placeSlot, id;
  10460. for(new i = 0; i < 4; i++)
  10461. {
  10462. if(Weapon[playerid][i][eWeaponAmmo] > 0)
  10463. {
  10464. id = Weapon[playerid][i][eWeaponID];
  10465. placeSlot = ReturnWeaponsSlot(id);
  10466. if(IsWeaponShowable(id) && EditingDisplay[playerid] != id)
  10467. {
  10468. if (GetPlayerWeapon(playerid) != id && !WeaponDisplay[playerid][id][weaponHidden])
  10469. {
  10470. SetPlayerAttachedObject (playerid, placeSlot, ReturnWeaponsModel(id), WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2],
  10471. WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2]);
  10472. }
  10473. else
  10474. {
  10475. if (IsPlayerAttachedObjectSlotUsed(playerid, placeSlot))
  10476. RemovePlayerAttachedObject(playerid, placeSlot);
  10477. }
  10478. }
  10479. }
  10480. }
  10481. PlayerConnectionTick[playerid] = NetStats_GetConnectedTime(playerid);
  10482. }
  10483. return 1;
  10484. }
  10485. public OnVehicleSpawn(vehicleid)
  10486. {
  10487. switch(GetVehicleModel(vehicleid))
  10488. {
  10489. case 481, 509, 510: ToggleVehicleEngine(vehicleid, true);
  10490. }
  10491. switch(GetVehicleModel(vehicleid))
  10492. {
  10493. case 528, 601, 427: SetVehicleHealth(vehicleid, 10000);
  10494. default: SetVehicleHealth(vehicleid, 1000);
  10495. }
  10496. if(IsValidFactionCar(vehicleid))
  10497. {
  10498. LinkVehicleToInterior(vehicleid, FactionCar[vehicleid][carInterior]);
  10499. SetVehicleVirtualWorld(vehicleid, FactionCar[vehicleid][carWorld]);
  10500. if(FactionCar[vehicleid][carSirenOn])
  10501. {
  10502. DestroyDynamicObject(FactionCar[vehicleid][carSirenObject]);
  10503. FactionCar[vehicleid][carSirenOn] = false;
  10504. }
  10505. }
  10506. if(IsValidPlayerCar(vehicleid))
  10507. {
  10508. LinkVehicleToInterior(vehicleid, CarData[vehicleid][carInterior]);
  10509. SetVehicleVirtualWorld(vehicleid, CarData[vehicleid][carWorld]);
  10510. }
  10511. CarEngine[vehicleid] = false;
  10512. CarLights[vehicleid] = false;
  10513. for(new i = 0; i < sizeof TruckerVehicles; i++)
  10514. {
  10515. if(vehicleid == TruckerVehicles[i])
  10516. {
  10517. TruckerVehicleRentedBy[vehicleid] = 0;
  10518. }
  10519. }
  10520. SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF);
  10521. printf("[DEBUG] Vehicle ID %d ( %s ) was respawned (OnVehicleSpawn)", vehicleid, ReturnVehicleName(vehicleid));
  10522. return 1;
  10523. }
  10524. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  10525. {
  10526. if(PlayerData[playerid][pAdmin] < 1)
  10527. {
  10528. switch(GetVehicleModel(vehicleid)) // Check if the vehicle is a non rp vehicle or a vehicle with a gun.
  10529. {
  10530. case 406, 425, 432, 441, 447, 464, 465, 476, 486, 520, 528, 537, 538, 556, 557, 564, 594, 595, 601, 490:
  10531. {
  10532. adminWarn(1, sprintf("%s has just entered a %s.", ReturnName(playerid, 1), ReturnVehicleModelName(vehicleid)));
  10533. }
  10534. }
  10535. }
  10536. if(PlayerData[playerid][pBrutallyWounded])
  10537. {
  10538. SendClientMessage(playerid, COLOR_ADM, "SERVER: Trying to bug abuse into a vehicle while dead will lead to a ban.");
  10539. ClearAnimations(playerid);
  10540. return false;
  10541. }
  10542. if(IsValidFactionCar(vehicleid) && !ispassenger && FactionCar[vehicleid][carFaction] != PlayerData[playerid][pFaction] && !PlayerData[playerid][pAdminDuty])
  10543. {
  10544. if(!playerTextdraw[playerid])
  10545. {
  10546. vehicleTextdraw[playerid] = CreateDynamic3DTextLabel("You can't enter this. (Faction-vehicle)", COLOR_WHITE, 0.0, 0.0, 0.0, 10.0, .attachedvehicle = vehicleid, .playerid = playerid, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid));
  10547. SetTimerEx("OnVehicleTextdraw", 4000, false, "i", playerid);
  10548. playerTextdraw[playerid] = true;
  10549. }
  10550. return ClearAnimations(playerid);
  10551. }
  10552. if(PlayerData[playerid][pAdminDuty]) {
  10553. Message(playerid, COLOR_YELLOW, "VEHICLE ID: [%i] TYPE: [%s] USER ID: [%d]", vehicleid, GetVehicleTypeString(vehicleid), CarData[vehicleid][carOwnerID]);
  10554. if(IsValidFactionCar(vehicleid)) Message(playerid, COLOR_YELLOW, "FACTION: [%i] DBID: [%i]", FactionCar[vehicleid][carFaction], FactionCar[vehicleid][carID]);
  10555. if(IsValidPlayerCar(vehicleid)) Message(playerid, COLOR_YELLOW, "DBID: [%i]", CarData[vehicleid][carID]);
  10556. }
  10557. return true;
  10558. }
  10559. public OnPlayerExitVehicle(playerid, vehicleid)
  10560. {
  10561. if( _taking_license_test[playerid] )
  10562. {
  10563. QuitLicenseSession(playerid);
  10564. }
  10565. return true;
  10566. }
  10567. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  10568. {
  10569. if(HOLDING(KEY_HANDBRAKE) && PRESSED(KEY_WALK))
  10570. {
  10571. if(GetPVarInt(playerid, "MDCLayout"))
  10572. {
  10573. SelectTextDraw(playerid, COLOR_GREY);
  10574. }
  10575. }
  10576. if (PRESSED(KEY_SPRINT) && PlayerTutorial[playerid] == 1 && PlayerTutorialStep[playerid] < 11)
  10577. {
  10578. KillTimer(PlayerTutorialTimer[playerid]);
  10579. PlayerTutorialStep[playerid]++;
  10580. SetTutorial(playerid);
  10581. }
  10582. if(PRESSED(KEY_FIRE))
  10583. {
  10584. switch(GetPlayerWeapon(playerid))
  10585. {
  10586. case WEAPON_GRENADE:
  10587. {
  10588. if(PlayerHasWeapon(playerid, WEAPON_GRENADE))
  10589. UpdatePlayerWeapon(playerid, WEAPON_GRENADE);
  10590. }
  10591. case WEAPON_TEARGAS:
  10592. {
  10593. if(PlayerHasWeapon(playerid, WEAPON_TEARGAS))
  10594. UpdatePlayerWeapon(playerid, WEAPON_TEARGAS);
  10595. }
  10596. case WEAPON_MOLTOV:
  10597. {
  10598. if(PlayerHasWeapon(playerid, WEAPON_MOLTOV))
  10599. UpdatePlayerWeapon(playerid, WEAPON_MOLTOV);
  10600. }
  10601. }
  10602. }
  10603. if(PlayerBreakingIn[playerid] && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && RELEASED(KEY_FIRE))
  10604. {
  10605. new
  10606. level[60],
  10607. gun = GetPlayerWeapon(playerid),
  10608. vehicleid = GetNearestVehicle(playerid);
  10609. if(gun != 0 && !PlayerHasWeapon(playerid, gun))
  10610. return 0;
  10611. if(vehicleid != -1 && vehicleid == PlayerBreakInVehicle[playerid])
  10612. {
  10613. new Float:cX, Float:cY, Float:cZ;
  10614. new Float:dX, Float:dY, Float:dZ;
  10615. GetVehicleModelInfo(GetVehicleModel(vehicleid), VEHICLE_MODEL_INFO_FRONTSEAT, cX, cY, cZ);
  10616. GetVehicleRelativePos(vehicleid, dX, dY, dZ, -cX - 0.5, cY, cZ);
  10617. if(!IsPlayerInRangeOfPoint(playerid, 1.2, dX, dY, dZ))
  10618. return 1;
  10619. new Float:VehicleHealth;
  10620. GetVehicleHealth(vehicleid, VehicleHealth);
  10621. switch(gun)
  10622. {
  10623. case 0: SetVehicleHealth(vehicleid, (VehicleHealth - 5.0 <= 320.0) ? 320.0 : VehicleHealth - 3.0);
  10624. case 5: SetVehicleHealth(vehicleid, (VehicleHealth - 10.0 <= 320.0) ? 320.0 : VehicleHealth - 6.0);
  10625. case 4: SetVehicleHealth(vehicleid, (VehicleHealth - 12.0 <= 320.0) ? 320.0 : VehicleHealth - 7.0);
  10626. }
  10627. BreakInLevel[playerid]-= random(5);
  10628. format(level, 60, "%d", BreakInLevel[playerid]);
  10629. if(!IsValidDynamic3DTextLabel(BreakInTextDraw[playerid]))
  10630. BreakInTextDraw[playerid] = CreateDynamic3DTextLabel(level, COLOR_WHITE, cX, cY, cZ, 10.0, .attachedvehicle = vehicleid, .playerid = playerid, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid));
  10631. else UpdateDynamic3DTextLabelText(BreakInTextDraw[playerid], COLOR_WHITE, level);
  10632. if(BreakInLevel[playerid] <= 1)
  10633. {
  10634. BreakInLevel[playerid] = 0;
  10635. //Vehicle unlocked:
  10636. ToggleVehicleLock(vehicleid, false);
  10637. //Updating label to let player know it's unlocked:
  10638. UpdateDynamic3DTextLabelText(BreakInTextDraw[playerid], COLOR_DARKGREEN, "Unlocked");
  10639. Streamer_Update(playerid);
  10640. //Destroying the label with a timer:
  10641. BreakInTDTimer[playerid] = SetTimerEx("OnBreakSuccess", 2000, false, "i", playerid);
  10642. //Clearing variables:
  10643. PlayerBreakInVehicle[playerid] = INVALID_VEHICLE_ID;
  10644. PlayerBreakingIn[playerid] = 0;
  10645. BreakInError[playerid] = 0;
  10646. BreakInLevel[playerid] = 0;
  10647. ActiveLockTD[playerid] = 0;
  10648. }
  10649. new panels, doors, lights, tires;
  10650. GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  10651. switch(BreakInLevel[playerid])
  10652. {
  10653. case 0: UpdateVehicleDamageStatus(vehicleid, panels, encode_doors(0, 0, 4, 0, 0, 0), lights, tires);
  10654. case 1 .. 240: UpdateVehicleDamageStatus(vehicleid, panels, encode_doors(0, 0, 2, 0, 0, 0), lights, tires);
  10655. }
  10656. }
  10657. }
  10658. if(PRESSED(KEY_CROUCH) && WeaponOrderPrompt[playerid] == 20)
  10659. {
  10660. if(!IsPlayerInRangeOfPoint(playerid, 5.0, PossibleDropSpots[WeaponOrderSpot[playerid]][LocationX], PossibleDropSpots[WeaponOrderSpot[playerid]][LocationY], PossibleDropSpots[WeaponOrderSpot[playerid]][LocationZ]))
  10661. return SendClientMessage(playerid, COLOR_ADM, "* You can only drop the money at the checkpoint given.");
  10662. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s puts down money on the floor.", ReturnName(playerid, 0));
  10663. GiveMoney(playerid, -WeaponOrderPrice[playerid]);
  10664. ApplyAnimation(playerid, "CARRY", "putdwn", 4.1, 0, 1, 1, 0, 0, 1);
  10665. WeaponOrderPrompt[playerid] = 0;
  10666. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 4000, false, "ii", playerid, 15);
  10667. }
  10668. if(PRESSED(KEY_CROUCH) && WeaponOrderPrompt[playerid] == 21)
  10669. {
  10670. if(!IsPlayerInRangeOfPoint(playerid, 5.0, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]))
  10671. return SendClientMessage(playerid, COLOR_ADM, "* You need to be at the spot marked to pick up your package.");
  10672. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s picks up their package.", ReturnName(playerid, 0));
  10673. ApplyAnimation(playerid, "CARRY", "putdwn", 4.1, 0, 1, 1, 0, 0, 1);
  10674. DestroyDynamicObject(WeaponOrderObject[playerid]);
  10675. PlayerData[playerid][pWepOrderRestricted] = true;
  10676. OrderWeaponTime[playerid] = gettime();
  10677. new
  10678. idx[2],
  10679. str[128];
  10680. if(WeaponOrdered[0][playerid] && !WeaponOrdered[1][playerid])
  10681. format(str, sizeof(str), "* You picked up a %s package.", WeaponOrderedName[0][playerid]);
  10682. else
  10683. format(str, sizeof(str), "* You picked up a %s and %s package.", WeaponOrderedName[0][playerid], WeaponOrderedName[1][playerid]);
  10684. SendClientMessage(playerid, COLOR_GOLD, str);
  10685. if(WeaponOrdered[0][playerid])
  10686. {
  10687. idx[0] = ReturnFreePackage(playerid);
  10688. if(idx[0] == -1)
  10689. {
  10690. SendClientMessage(playerid, COLOR_ADM, "* You can't carry anymore packages on you... Goodbye.");
  10691. return ClearPlayerOrder(playerid);
  10692. }
  10693. PackageData[playerid][packageWeapon][idx[0]] = WeaponOrdered[0][playerid];
  10694. if(WeaponOrdered[0][playerid] == WEAPON_DEAGLE)
  10695. PackageData[playerid][packageAmmo][idx[0]] = 66;
  10696. else if(WeaponOrdered[0][playerid] == WEAPON_SHOTGUN)
  10697. PackageData[playerid][packageAmmo][idx[0]] = 50;
  10698. else if(WeaponOrdered[0][playerid] == WEAPON_TEC9)
  10699. PackageData[playerid][packageAmmo][idx[0]] = 110;
  10700. else if(WeaponOrdered[0][playerid] == WEAPON_COLT45)
  10701. PackageData[playerid][packageAmmo][idx[0]] = 75;
  10702. format(str, sizeof(str), "Received %s(%d) from Weapon Order", ReturnWeaponName(WeaponOrdered[0][playerid]), PackageData[playerid][packageAmmo][idx[0]]);
  10703. LogPlayerAction(playerid, str);
  10704. }
  10705. if(WeaponOrdered[1][playerid])
  10706. {
  10707. idx[1] = ReturnFreePackage(playerid);
  10708. if(idx[1] == -1)
  10709. {
  10710. SendClientMessage(playerid, COLOR_ADM, "* You don't have room for your second package. Goodbye.");
  10711. return ClearPlayerOrder(playerid);
  10712. }
  10713. PackageData[playerid][packageWeapon][idx[1]] = WeaponOrdered[1][playerid];
  10714. if(WeaponOrdered[1][playerid] == WEAPON_DEAGLE)
  10715. PackageData[playerid][packageAmmo][idx[1]] = 66;
  10716. else if(WeaponOrdered[1][playerid] == WEAPON_SHOTGUN)
  10717. PackageData[playerid][packageAmmo][idx[1]] = 50;
  10718. else if(WeaponOrdered[1][playerid] == WEAPON_TEC9)
  10719. PackageData[playerid][packageAmmo][idx[1]] = 110;
  10720. else if(WeaponOrdered[1][playerid] == WEAPON_COLT45)
  10721. PackageData[playerid][packageAmmo][idx[1]] = 75;
  10722. format(str, sizeof(str), "Received %s(%d) from Weapon Order", ReturnWeaponName(WeaponOrdered[1][playerid]), PackageData[playerid][packageAmmo][idx[1]]);
  10723. LogPlayerAction(playerid, str);
  10724. }
  10725. ClearPlayerOrder(playerid);
  10726. SavePlayer(playerid);
  10727. return 1;
  10728. }
  10729. if(newkeys & KEY_JUMP && !(oldkeys & KEY_JUMP) && PlayerData[playerid][pBrutallyWounded] && !PlayerData[playerid][pInsideAmbulance]){
  10730. ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.1, 0, 0, 0, 1, 0, 1);
  10731. }
  10732. if(newkeys & KEY_JUMP && !(oldkeys & KEY_JUMP) && PlayerData[playerid][pLegShot] && GetPlayerTeam(playerid) == STATE_ALIVE){
  10733. ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff", 4.1, 0, 1, 1, 0, 0, 1);
  10734. }
  10735. if(newkeys & KEY_JUMP && !(oldkeys & KEY_JUMP) && PlayerData[playerid][pHandcuff] && GetPlayerTeam(playerid) == STATE_ALIVE){
  10736. ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff", 4.1, 0, 1, 1, 0, 0, 1);
  10737. }
  10738. if(newkeys & KEY_SPRINT && !(oldkeys & KEY_SPRINT) && PlayerData[playerid][pLegShot] && GetPlayerTeam(playerid) == STATE_ALIVE){
  10739. ApplyAnimation(playerid, "ped", "FALL_collapse", 4.1, 0, 1, 1, 0, 0, 1);
  10740. }
  10741. if(newkeys & KEY_SPRINT && !(oldkeys & KEY_SPRINT) && GetPlayerTeam(playerid) == STATE_WOUNDED){
  10742. ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.1, 0, 1, 1, 1, 0, 1);
  10743. }
  10744. if (PRESSED(KEY_FIRE) && GetPlayerWeapon(playerid) == 41 && sprayPermission[playerid] == true && sprayingGraffiti[playerid] == false && strlen(graffitiText[playerid]) > 0)
  10745. {
  10746. if (PlayerData[playerid][pBrutallyWounded])
  10747. return false;
  10748. new bool:nearGraffiti = false;
  10749. for(new i = 0; i < sizeof(g_aGraffitiData); i++)
  10750. {
  10751. if(IsPlayerInRangeOfPoint(playerid, 4.0, g_aGraffitiData[i][graffitiPosX], g_aGraffitiData[i][graffitiPosY], g_aGraffitiData[i][graffitiPosZ]))
  10752. {
  10753. nearGraffiti = true;
  10754. sprayingGraffiti[playerid] = true;
  10755. graffitiID[playerid] = i;
  10756. }
  10757. }
  10758. if(nearGraffiti)
  10759. {
  10760. graffitiTimer[playerid] = SetTimerEx("TIMER_PlayerGraffiti", 1000, true, "i", playerid);
  10761. }
  10762. }
  10763. if (RELEASED(KEY_FIRE) && GetPlayerWeapon(playerid) == 41 && sprayingGraffiti[playerid] == true)
  10764. {
  10765. KillTimer(graffitiTimer[playerid]);
  10766. KillTimer(graffitiTimerEx[playerid]);
  10767. graffitiTimerEx_Confirm[playerid] = false;
  10768. sprayingGraffiti[playerid] = false;
  10769. sprayingGraffitiTime[playerid] = saveSprayingTime[playerid];
  10770. PlayerTextDrawSetString(playerid, GraffitiDisplay[playerid], "~r~GRAFFITI STOPPED!");
  10771. PlayerTextDrawShow(playerid, GraffitiDisplay[playerid]);
  10772. GraffitiExitTimer[playerid] = SetTimerEx("ClearGraffitiTD", 2000, false, "i", playerid);
  10773. ClearGraffitiVars(playerid);
  10774. }
  10775. if (PRESSED(KEY_YES) && paintjobOffered[playerid][0])
  10776. {
  10777. new string[128], offerid = paintjobOffered[playerid][1];
  10778. if(!IsPlayerInAnyVehicle(playerid))
  10779. {
  10780. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You're no longer in a vehicle. Your paintjob offer is voided.");
  10781. format (string, sizeof(string), "SERVER: %s is no longer in their vehicle. Your paintjob offer was cancelled.", ReturnName(playerid, 1));
  10782. SendClientMessage(offerid, COLOR_YELLOW, string);
  10783. paintjobOffered[playerid][0] = false;
  10784. paintjobOffered[playerid][1] = -1;
  10785. return true;
  10786. }
  10787. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You accepted the paintjob offer!");
  10788. format (string, sizeof(string), "SERVER: %s accepted your paintjob offer. Pull out your spraycan.", ReturnName(playerid, 1));
  10789. SendClientMessage(offerid, COLOR_YELLOW, string);
  10790. GivePlayerGun(offerid, 41, 9999, WEAPON_SERVER_GIVEN);
  10791. paintjobOffered[playerid][0] = false;
  10792. paintjobOffered[playerid][1] = -1;
  10793. startingPaintjob[offerid] = true;
  10794. paintjobVehicle[offerid] = GetPlayerVehicleID(playerid);
  10795. }
  10796. if (PRESSED(KEY_NO) && paintjobOffered[playerid][0])
  10797. {
  10798. new string[128], offerid = paintjobOffered[playerid][1];
  10799. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You declined the paintjob offer!");
  10800. format (string, sizeof(string), "SERVER: %s declined your paintjob offer.", ReturnName(playerid, 1));
  10801. SendClientMessage(offerid, COLOR_YELLOW, string);
  10802. paintjobOffered[playerid][0] = false;
  10803. paintjobOffered[playerid][1] = -1;
  10804. }
  10805. if (PRESSED(KEY_FIRE) && !IsPlayerInAnyVehicle(playerid) && startingPaintjob[playerid] == true)
  10806. {
  10807. new v = paintjobVehicle[playerid], Float: vehPos[3];
  10808. GetVehiclePos(v, vehPos[0], vehPos[1], vehPos[2]);
  10809. if (!IsPlayerInRangeOfPoint(playerid, 5.0, vehPos[0], vehPos[1], vehPos[2]))
  10810. {
  10811. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You aren't near your selected vehicle.");
  10812. startingPaintjob[playerid] = false;
  10813. paintjobVehicle[playerid] = INVALID_VEHICLE_ID;
  10814. return true;
  10815. }
  10816. paintjobTime[playerid] = 15;
  10817. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Start spraying to change the colors!");
  10818. paintjobTimer[playerid] = SetTimerEx("PaintjobTimer", 1000, true, "i", playerid);
  10819. paintjobCounter[playerid] = SetTimerEx("PaintjobCounter", 1000, true, "i", playerid);
  10820. }
  10821. if (RELEASED(KEY_FIRE) && !IsPlayerInAnyVehicle(playerid) && startingPaintjob[playerid] == true)
  10822. {
  10823. GameTextForPlayer(playerid, "~r~Spraying Stopped", 3000, 3);
  10824. KillTimer(paintjobTimer[playerid]);
  10825. KillTimer(paintjobCounter[playerid]);
  10826. startingPaintjob[playerid] = false;
  10827. }
  10828. return true;
  10829. }
  10830. Server:PaintjobTimer(playerid)
  10831. {
  10832. new string[128], vehicleid = paintjobVehicle[playerid], Float:vehPos[3];
  10833. GetVehiclePos(vehicleid, vehPos[0], vehPos[1], vehPos[2]);
  10834. if (!IsPlayerInRangeOfPoint(playerid, 5.0, vehPos[0], vehPos[1], vehPos[2]))
  10835. {
  10836. KillTimer(paintjobTimer[playerid]);
  10837. KillTimer(paintjobCounter[playerid]);
  10838. startingPaintjob[playerid] = false;
  10839. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your paintjob was cancelled. You're no longer near the vehicle.");
  10840. return true;
  10841. }
  10842. format (string, sizeof(string), "~r~Spraying~n~~w~%d]", paintjobTime[playerid]);
  10843. GameTextForPlayer(playerid, string, 3000, 3);
  10844. if(paintjobTime[playerid] <= 0)
  10845. {
  10846. KillTimer(paintjobTimer[playerid]);
  10847. KillTimer(paintjobCounter[playerid]);
  10848. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You've finished spraying!");
  10849. ChangeVehicleColor(vehicleid, paintjobColors[playerid][0], paintjobColors[playerid][1]);
  10850. startingPaintjob[playerid] = false;
  10851. return true;
  10852. }
  10853. return true;
  10854. }
  10855. Server:PaintjobCounter(playerid)
  10856. {
  10857. if (startingPaintjob[playerid] == false)
  10858. return KillTimer(paintjobCounter[playerid]);
  10859. paintjobTime[playerid]--;
  10860. return true;
  10861. }
  10862. public OnPlayerStateChange(playerid, newstate, oldstate)
  10863. {
  10864. if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT || oldstate == PLAYER_STATE_DRIVER){
  10865. new vehicleid = GetPlayerVehicleID(playerid), id, string[128];
  10866. id = FactionCar[vehicleid][carID];
  10867. if(id != -1 && FactionCar[vehicleid][carFaction] > 0 && FactionCar[vehicleid][carFaction] != PlayerData[playerid][pFaction] && !PlayerData[playerid][pAdminDuty]){
  10868. format(string, sizeof(string), "%s[%i] teleported into faction vehicleid %d", ReturnName(playerid, 1), playerid, vehicleid);
  10869. adminWarn(1, string);
  10870. RemovePlayerFromVehicle(playerid);
  10871. ClearAnimations(playerid);
  10872. }
  10873. }
  10874. if(newstate == PLAYER_STATE_DRIVER)
  10875. {
  10876. SetPlayerArmedWeapon(playerid, 0);
  10877. foreach(new i : Player)
  10878. {
  10879. if(PlayerData[i][pSpectator] == playerid)
  10880. {
  10881. new cmd[30];
  10882. format(cmd, 30, "%i", playerid);
  10883. cmd_awc(i, cmd);
  10884. }
  10885. }
  10886. if (!NoEngineCar(GetPlayerVehicleID(playerid)) && !PlayerData[playerid][pHUDToggled])
  10887. {
  10888. UpdateHUDForPlayer(playerid);
  10889. switch(PlayerData[playerid][pHUD])
  10890. {
  10891. case 0: {
  10892. PlayerTextDrawShow(playerid, VehicleHUD[playerid][0]);
  10893. PlayerTextDrawShow(playerid, VehicleHUD[playerid][1]);
  10894. }
  10895. case 1: {
  10896. PlayerTextDrawShow(playerid, VehicleHUD[playerid][2]);
  10897. }
  10898. case 2: {
  10899. PlayerTextDrawShow(playerid, VehicleHUD[playerid][3]);
  10900. }
  10901. case 3: {
  10902. PlayerTextDrawShow(playerid, VehicleHUD[playerid][4]);
  10903. PlayerTextDrawShow(playerid, VehicleHUD[playerid][5]);
  10904. }
  10905. }
  10906. }
  10907. }
  10908. if(oldstate == PLAYER_STATE_DRIVER)
  10909. {
  10910. if(PlayerData[playerid][pUnscrambling])
  10911. {
  10912. PlayerData[playerid][pUnscrambling] = false;
  10913. PlayerData[playerid][pUnscrambleID] = 0;
  10914. PlayerData[playerid][pUnscramblerTime] = 111;
  10915. PlayerData[playerid][pScrambleFailed] = 0;
  10916. PlayerData[playerid][pScrambleSuccess] = 0;
  10917. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  10918. ShowUnscrambleTextdraw(playerid, false);
  10919. }
  10920. /*if(!PlayerData[playerid][pHUDToggled])
  10921. HideHUDForPlayer(playerid); */
  10922. foreach(new i : Player)
  10923. {
  10924. if(PlayerData[i][pSpectator] == playerid)
  10925. {
  10926. new cmd[30];
  10927. format(cmd, 30, "%i", playerid);
  10928. cmd_spectate(i, cmd);
  10929. }
  10930. }
  10931. if (!PlayerData[playerid][pHUDToggled])
  10932. {
  10933. switch(PlayerData[playerid][pHUD])
  10934. {
  10935. case 0: {
  10936. PlayerTextDrawHide(playerid, VehicleHUD[playerid][0]);
  10937. PlayerTextDrawHide(playerid, VehicleHUD[playerid][1]);
  10938. }
  10939. case 1: {
  10940. PlayerTextDrawHide(playerid, VehicleHUD[playerid][2]);
  10941. }
  10942. case 2: {
  10943. PlayerTextDrawHide(playerid, VehicleHUD[playerid][3]);
  10944. }
  10945. case 3: {
  10946. PlayerTextDrawHide(playerid, VehicleHUD[playerid][4]);
  10947. PlayerTextDrawHide(playerid, VehicleHUD[playerid][5]);
  10948. }
  10949. }
  10950. }
  10951. }
  10952. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_DRIVER)
  10953. {
  10954. new id = GetPlayerVehicleID(playerid);
  10955. if(IsValidPlayerCar(id))
  10956. {
  10957. new string[128];
  10958. format(string, sizeof(string), "Player %s entered seat %d", ReturnName(playerid), GetPlayerVehicleSeat(playerid));
  10959. LogVehicleAction(id, string);
  10960. }
  10961. }
  10962. if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT || oldstate == PLAYER_STATE_DRIVER){
  10963. new vehicleid = GetPlayerVehicleID(playerid);
  10964. PlayerData[playerid][pEnterVehicle]++;
  10965. if(PlayerData[playerid][pEnterVehicle] > 2){
  10966. new string[128];
  10967. format(string, sizeof(string), "%s(%i) may be teleporting (into) vehicles", ReturnName(playerid, 1), playerid);
  10968. adminWarn(1, string);
  10969. }
  10970. if(IsValidPlayerCar(vehicleid)) {
  10971. CarData[vehicleid][carlastDriver] = PlayerData[playerid][pSQLID];
  10972. }
  10973. if(IsValidFactionCar(vehicleid)) {
  10974. FactionCar[vehicleid][carlastDriver] = PlayerData[playerid][pSQLID];
  10975. }
  10976. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid)) {
  10977. CarlastDriver[vehicleid] = PlayerData[playerid][pSQLID];
  10978. }
  10979. }
  10980. if(newstate == PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_ONFOOT || oldstate == PLAYER_STATE_DRIVER) {
  10981. new vehicleid = GetPlayerVehicleID(playerid);
  10982. if(IsValidPlayerCar(vehicleid)) {
  10983. CarData[vehicleid][carlastPassenger] = PlayerData[playerid][pSQLID];
  10984. }
  10985. if(IsValidFactionCar(vehicleid)) {
  10986. FactionCar[vehicleid][carlastPassenger] = PlayerData[playerid][pSQLID];
  10987. }
  10988. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid)) {
  10989. CarlastPassenger[vehicleid] = PlayerData[playerid][pSQLID];
  10990. }
  10991. if(GetPlayerWeapon(playerid) == WEAPON_DEAGLE || GetPlayerWeapon(playerid) == WEAPON_SNIPER)
  10992. SetPlayerArmedWeapon(playerid, 0);
  10993. }
  10994. if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
  10995. {
  10996. if(StartedTruckerMission[playerid])
  10997. {
  10998. for(new i = 0; i < 2; i++)
  10999. PlayerTextDrawShow(playerid, TruckerWarning_PTD[playerid][i]);
  11000. TruckerJobExitTimer[playerid] = SetTimerEx("OnExitTrucker", 1000, true, "i", playerid);
  11001. TruckerJobExitCount[playerid] = 60;
  11002. }
  11003. }
  11004. if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT){
  11005. new vehicleid = GetPlayerVehicleID(playerid), id, string[128];
  11006. id = CarData[vehicleid][carID];
  11007. if(StartedTruckerMission[playerid] && vehicleid == TruckerMissionVehicle[playerid])
  11008. {
  11009. for(new i = 0; i < 2; i++)
  11010. PlayerTextDrawHide(playerid, TruckerWarning_PTD[playerid][i]);
  11011. TruckerJobExitCount[playerid] = 60;
  11012. KillTimer(TruckerJobExitTimer[playerid]);
  11013. }
  11014. if(StartedTruckerMission[playerid] && TruckerMissionStep[playerid] == 3 && vehicleid == TruckerMissionVehicle[playerid])
  11015. {
  11016. RewardTruckerMission(playerid);
  11017. }
  11018. if (!PlayerData[playerid][pDriversLicense]) {
  11019. SendClientMessage(playerid, COLOR_ADM, "You don't have a driving license! Pass a driving test to get one.");
  11020. }
  11021. if(IsTruckerVehicle(vehicleid) && !StartedTruckerMission[playerid])
  11022. {
  11023. SendClientMessage(playerid, COLOR_WHITE, "INFO: You're in a trucker mission vehicle. Use /truckermission to start!");
  11024. SendClientMessage(playerid, COLOR_WHITE, "INFO: Use /renttruck to rent the vehicle if you haven't!");
  11025. }
  11026. if(IsTruckerVehicle(vehicleid) && StartedTruckerMission[playerid])
  11027. {
  11028. SendClientMessage(playerid, COLOR_WHITE, "INFO: You can use /endmission to stop and collect your earnings.");
  11029. }
  11030. if(IsPlayerInDMVCar(playerid)) {
  11031. SendClientMessage(playerid, COLOR_WHITE, "You have entered a license exam vehicle. To attempt to pass your license exam, type /licenseexam.");
  11032. }
  11033. if(!CarEngine[vehicleid] && !NoEngineCar(vehicleid)){
  11034. SendClientMessage(playerid, COLOR_DARKGREEN, "The engine is off. (/engine)");
  11035. }
  11036. if(id && CarData[vehicleid][carOwnerID] == PlayerData[playerid][pSQLID]){
  11037. format(string, sizeof(string), "Welcome to your %s.", ReturnVehicleName(vehicleid));
  11038. SendClientMessage(playerid, COLOR_WHITE, string);
  11039. if(CountVehicleFines(vehicleid) > 0)
  11040. {
  11041. format(string, sizeof(string), "[-] Your vehicle has fines accumulating up to $%s.", MoneyFormat(CountVehicleFinesTotal(vehicleid)));
  11042. SendClientMessage(playerid, COLOR_YELLOW, string);
  11043. SendClientMessage(playerid, COLOR_YELLOW, "[-] Use /v payfines at a dealership to take care of them.");
  11044. }
  11045. }
  11046. if(IsValidRentalCar(vehicleid)){
  11047. format(string, sizeof(string), "Vehicle Rental Service: Rent the %s for $2500. (/rentvehicle)", ReturnVehicleName(vehicleid));
  11048. SendClientMessage(playerid, COLOR_WHITE, string);
  11049. SendClientMessage(playerid, COLOR_DARKGREEN, "Renting this vehicle will make you able to /lock it.");
  11050. }
  11051. }
  11052. if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER){
  11053. if(g_aVehicleSpawned[playerid] != 0){
  11054. if(IsValidVehicle(g_aVehicleSpawned[playerid]) && !IsValidPlayerCar(g_aVehicleSpawned[playerid]) && !IsValidFactionCar(g_aVehicleSpawned[playerid])){
  11055. DestroyVehicle(g_aVehicleSpawned[playerid]);
  11056. }
  11057. }
  11058. StopAudioStreamForPlayer(playerid);
  11059. }
  11060. if(newstate == PLAYER_STATE_DRIVER || PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_ONFOOT){
  11061. new
  11062. vehicleid = GetPlayerVehicleID(playerid)
  11063. ;
  11064. if(IsValidPlayerCar(vehicleid))
  11065. {
  11066. if(CarData[vehicleid][carXMR] && CarData[vehicleid][carXMROn])
  11067. {
  11068. PlayAudioStreamForPlayer(playerid, CarData[vehicleid][carXMRUrl]);
  11069. }
  11070. }
  11071. if(IsValidFactionCar(vehicleid))
  11072. {
  11073. if(FactionCar[vehicleid][carsXMROn])
  11074. {
  11075. PlayAudioStreamForPlayer(playerid, FactionCar[vehicleid][carsXMRURL]);
  11076. }
  11077. }
  11078. }
  11079. if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER && newstate == PLAYER_STATE_ONFOOT)
  11080. {
  11081. StopAudioStreamForPlayer(playerid);
  11082. showMDCLayout(playerid, false);
  11083. }
  11084. return true;
  11085. }
  11086. public OnPlayerEnterCheckpoint(playerid)
  11087. {
  11088. if(!PlayerData[playerid][pCheckpoint]){
  11089. PlayerPlaySound(playerid, 1138, 0.0, 0.0, 0.0);
  11090. DisablePlayerCheckpoint(playerid);
  11091. }
  11092. if(StartedTruckerMission[playerid] && TruckerMissionStep[playerid] == 1)
  11093. {
  11094. if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
  11095. {
  11096. SendClientMessage(playerid, COLOR_ADM, "** You need to enter the checkpoint on foot.");
  11097. SetPlayerCheckpoint(playerid, BusinessData[TruckerMissionPoint[playerid]][businessExt][0], BusinessData[TruckerMissionPoint[playerid]][businessExt][1], BusinessData[TruckerMissionPoint[playerid]][businessExt][2], 1.0);
  11098. return 1;
  11099. }
  11100. if(!IsPlayerInRangeOfPoint(playerid, 4.0, BusinessData[TruckerMissionPoint[playerid]][businessExt][0], BusinessData[TruckerMissionPoint[playerid]][businessExt][1], BusinessData[TruckerMissionPoint[playerid]][businessExt][2]))
  11101. {
  11102. SendClientMessage(playerid, COLOR_ADM, "** Uh-Oh! You don't seem to be at your assigned objective.");
  11103. SetPlayerCheckpoint(playerid, BusinessData[TruckerMissionPoint[playerid]][businessExt][0], BusinessData[TruckerMissionPoint[playerid]][businessExt][1], BusinessData[TruckerMissionPoint[playerid]][businessExt][2], 1.0);
  11104. return 1;
  11105. }
  11106. for(new i = 0; i < 2; i++)
  11107. PlayerTextDrawHide(playerid, TruckerWarning_PTD[playerid][i]);
  11108. TruckerJobExitCount[playerid] = 60;
  11109. KillTimer(TruckerJobExitTimer[playerid]);
  11110. TruckerMissionStep[playerid] = 2;
  11111. TruckerJobDeliveryCount[playerid] = 0;
  11112. TogglePlayerControllable(playerid, 0);
  11113. TruckerJobDeliverTimer[playerid] = SetTimerEx("OnTruckerDelivery", 1000, true, "i", playerid);
  11114. }
  11115. if(PlayerData[playerid][pCheckpoint] == WEAPON_ORDER_NUMBER)
  11116. {
  11117. new
  11118. str[128];
  11119. DisablePlayerCheckpoint(playerid);
  11120. format(str, sizeof(str), "SMS: Put down $%s and wait., Sender: 434112", MoneyFormat(WeaponOrderPrice[playerid]));
  11121. SendClientMessage(playerid, COLOR_YELLOW, str);
  11122. WeaponOrderPrompt[playerid] = 20;
  11123. PlayerData[playerid][pCheckpoint] = 0;
  11124. SendClientMessage(playerid, COLOR_ADM, "TIP: Use your Crouch key (C) to put down money.");
  11125. return 1;
  11126. }
  11127. if(_taking_license_test[playerid]){
  11128. PlayerPlaySound(playerid, 1138, 0.0, 0.0, 0.0);
  11129. if(!IsPlayerInDMVCar(playerid))return QuitLicenseSession(playerid);
  11130. if(_taking_license_point[playerid] == 101){
  11131. SetPlayerCheckpoint(playerid, 1209.1361, -1569.4271, 13.2656, 5.0);
  11132. _taking_license_point[playerid] = 102;
  11133. }
  11134. else if(_taking_license_point[playerid] == 102){
  11135. SetPlayerCheckpoint(playerid, 929.7857, -1570.2813, 13.2577, 5.0);
  11136. _taking_license_point[playerid] = 103;
  11137. }
  11138. else if(_taking_license_point[playerid] == 103){
  11139. SetPlayerCheckpoint(playerid, 915.2255, -1659.8831, 13.2578, 5.0);
  11140. _taking_license_point[playerid] = 104;
  11141. }
  11142. else if(_taking_license_point[playerid] == 104){
  11143. SetPlayerCheckpoint(playerid, 915.0769, -1759.7145, 13.2548, 5.0);
  11144. _taking_license_point[playerid] = 105;
  11145. }
  11146. else if(_taking_license_point[playerid] == 105){
  11147. //1022.2615, -1800.2925, 13.7688
  11148. SetPlayerCheckpoint(playerid, 1019.9954,-1810.2715,13.9787, 5.0);
  11149. _taking_license_point[playerid] = 106;
  11150. }
  11151. else if(_taking_license_point[playerid] == 106){
  11152. // 1039.2104, -1671.6567, 13.2578 old coords
  11153. // 1019.9954,-1810.2715,13.9787
  11154. SetPlayerCheckpoint(playerid, 1039.2104, -1671.6567, 13.2578, 5.0);
  11155. _taking_license_point[playerid] = 107;
  11156. }
  11157. else if(_taking_license_point[playerid] == 107){
  11158. SetPlayerCheckpoint(playerid, 1039.4230, -1588.5918, 13.2577, 5.0);
  11159. _taking_license_point[playerid] = 108;
  11160. }
  11161. else if(_taking_license_point[playerid] == 108){
  11162. SetPlayerCheckpoint(playerid, 1140.6078, -1574.2045, 13.1487, 5.0);
  11163. _taking_license_point[playerid] = 109;
  11164. }
  11165. else if(_taking_license_point[playerid] == 109){
  11166. SetPlayerCheckpoint(playerid, 1240.2865, -1574.5254, 13.2583, 5.0);
  11167. _taking_license_point[playerid] = 110;
  11168. }
  11169. else if(_taking_license_point[playerid] == 110){
  11170. SetPlayerCheckpoint(playerid, 1282.2665, -1574.0415, 13.2578, 5.0);
  11171. _taking_license_point[playerid] = 111;
  11172. }
  11173. else if(_taking_license_point[playerid] == 111){
  11174. DisablePlayerCheckpoint(playerid);
  11175. SetVehicleToRespawn(_taking_license_vehicle[playerid]);
  11176. _taking_license_point[playerid] = 0;
  11177. _taking_license_test[playerid] = false;
  11178. _taking_license_vehicle[playerid] = 0;
  11179. _taking_license_time[playerid] = 0;
  11180. PlayerData[playerid][pDriversLicense] = true;
  11181. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "DriversLicense", PlayerData[playerid][pDriversLicense]);
  11182. GiveMoney(playerid, -1000);
  11183. GameTextForPlayer(playerid, "~w~Congratulations!~n~ Here is your license!", 5000, 1);
  11184. }
  11185. }
  11186. return true;
  11187. }
  11188. public OnPlayerStreamIn(playerid, forplayerid)
  11189. {
  11190. if (PlayerData[playerid][pMasked]){
  11191. if(!PlayerData[forplayerid][pAdminDuty]){
  11192. ShowPlayerNameTagForPlayer(forplayerid, playerid, 0);
  11193. }
  11194. }
  11195. return true;
  11196. }
  11197. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  11198. {
  11199. foreach(new i : Player)
  11200. {
  11201. if(PlayerData[i][pSpectator] == playerid)
  11202. {
  11203. new cmd[30];
  11204. format(cmd, 30, "%i", playerid);
  11205. cmd_spectate(i, cmd);
  11206. }
  11207. }
  11208. if(newinteriorid != 0)
  11209. {
  11210. Streamer_Update(playerid);
  11211. TogglePlayerControllable(playerid, false);
  11212. SetTimerEx("TIMER_LoadingInterior", 1000, false, "i", playerid);
  11213. }
  11214. else
  11215. {
  11216. ResetHouseVar(playerid);
  11217. }
  11218. return true;
  11219. }
  11220. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
  11221. {
  11222. for(new i = 0; i < MAX_BUSINESS; i++){
  11223. if(BusinessData[i][businessID] != 0 && BusinessData[i][businessType] == BIZ_BANK){
  11224. if(GetPlayerVirtualWorld(playerid) == BusinessData[i][businessBankPickupWorld]){
  11225. if(pickupid == BusinessData[i][businessBankPickup]){
  11226. if (!PlayerData[playerid][pPaycheck]){
  11227. return false;
  11228. }
  11229. else{
  11230. new string[128];
  11231. GiveMoney(playerid, PlayerData[playerid][pPaycheck]);
  11232. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  11233. format(string, sizeof(string), "~w~You have just received~n~your paycheck:~n~~g~$%d", PlayerData[playerid][pPaycheck]);
  11234. GameTextForPlayer(playerid, string, 4000, 4);
  11235. WriteLog("money_logs/getpaycheck_log.txt", "[%s] %s got their paycheck: $%d (Bank: $%d, Hand: $%d)", ReturnDate(), ReturnName(playerid, 1), PlayerData[playerid][pPaycheck], PlayerData[playerid][pBank],
  11236. PlayerData[playerid][pMoney]);
  11237. PlayerData[playerid][pPaycheck] = 0;
  11238. }
  11239. }
  11240. }
  11241. }
  11242. }
  11243. return true;
  11244. }
  11245. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  11246. {
  11247. phone_OnPlayerClickPlayerTD(playerid, playertextid);
  11248. ds_OnPlayerClickPlayerTD(playerid, playertextid);
  11249. if(GetPVarInt(playerid, "UsingMDC") == 1)
  11250. {
  11251. if(playertextid == MDC_UI[playerid][35])
  11252. {
  11253. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][36], -1431655681);
  11254. PlayerTextDrawHide(playerid, MDC_UI[playerid][36]);
  11255. PlayerTextDrawShow(playerid, MDC_UI[playerid][36]);
  11256. PlayerTextDrawHide(playerid, MDC_UI[playerid][35]);
  11257. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][35], 858993663);
  11258. PlayerTextDrawShow(playerid, MDC_UI[playerid][35]);
  11259. PlayerTextDrawHide(playerid, MDC_UI[playerid][39]);
  11260. PlayerTextDrawColor(playerid, MDC_UI[playerid][39], -1);
  11261. PlayerTextDrawShow(playerid, MDC_UI[playerid][39]);
  11262. PlayerTextDrawHide(playerid, MDC_UI[playerid][40]);
  11263. PlayerTextDrawColor(playerid, MDC_UI[playerid][40], 858993663);
  11264. PlayerTextDrawShow(playerid, MDC_UI[playerid][40]);
  11265. SetPVarInt(playerid, "Query_Mode", 0);
  11266. }
  11267. if(playertextid == MDC_UI[playerid][36])
  11268. {
  11269. PlayerTextDrawHide(playerid, MDC_UI[playerid][39]);
  11270. PlayerTextDrawColor(playerid, MDC_UI[playerid][39], 858993663);
  11271. PlayerTextDrawShow(playerid, MDC_UI[playerid][39]);
  11272. PlayerTextDrawHide(playerid, MDC_UI[playerid][40]);
  11273. PlayerTextDrawColor(playerid, MDC_UI[playerid][40], -1);
  11274. PlayerTextDrawShow(playerid, MDC_UI[playerid][40]);
  11275. PlayerTextDrawHide(playerid, MDC_UI[playerid][35]);
  11276. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][35], -1431655681);
  11277. PlayerTextDrawShow(playerid, MDC_UI[playerid][35]);
  11278. PlayerTextDrawHide(playerid, MDC_UI[playerid][36]);
  11279. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][36], 858993663);
  11280. PlayerTextDrawShow(playerid, MDC_UI[playerid][36]);
  11281. SetPVarInt(playerid, "Query_Mode", 1);
  11282. }
  11283. if(playertextid == MDC_UI[playerid][37])
  11284. {
  11285. if(!GetPVarInt(playerid, "Query_Mode"))
  11286. {
  11287. ShowPlayerDialog(playerid, DIALOG_MDC_NAME, DIALOG_STYLE_INPUT, "Name Search - MDC", "Enter the persons full name to search below:", "Search", "<<");
  11288. }
  11289. else
  11290. {
  11291. ShowPlayerDialog(playerid, DIALOG_MDC_PLATE, DIALOG_STYLE_INPUT, "Plate Search - MDC", "Enter the vehicles full or partial plate to search below:", "Search", "<<");
  11292. }
  11293. }
  11294. for(new i = 10; i < 16; i ++)
  11295. {
  11296. if(playertextid == MDC_UI[playerid][i])
  11297. {
  11298. if(GetPVarInt(playerid, "LastPage_ID") != -1)
  11299. {
  11300. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][GetPVarInt(playerid, "LastPage_ID")], -1431655681);
  11301. PlayerTextDrawHide(playerid, MDC_UI[playerid][GetPVarInt(playerid, "LastPage_ID")]);
  11302. PlayerTextDrawShow(playerid, MDC_UI[playerid][GetPVarInt(playerid, "LastPage_ID")]);
  11303. PlayerTextDrawColor(playerid, MDC_UI[playerid][GetPVarInt(playerid, "LastPage_ID")+6], 858993663);
  11304. PlayerTextDrawHide(playerid, MDC_UI[playerid][GetPVarInt(playerid, "LastPage_ID")+6]);
  11305. PlayerTextDrawShow(playerid, MDC_UI[playerid][GetPVarInt(playerid, "LastPage_ID")+6]);
  11306. }
  11307. PlayerTextDrawColor(playerid, MDC_UI[playerid][i+6], -1);
  11308. PlayerTextDrawHide(playerid, MDC_UI[playerid][i+6]);
  11309. PlayerTextDrawShow(playerid, MDC_UI[playerid][i+6]);
  11310. PlayerTextDrawHide(playerid, MDC_UI[playerid][i]);
  11311. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][i], 858993663);
  11312. PlayerTextDrawShow(playerid, MDC_UI[playerid][i]);
  11313. SetPVarInt(playerid, "LastPage_ID", i);
  11314. new messageEx[128];
  11315. format(messageEx, sizeof messageEx, "Page #%d", i-10);
  11316. SendClientMessage(playerid, -1, messageEx);
  11317. UpdateMDC(playerid, i-10);
  11318. }
  11319. }
  11320. if(playertextid == MDC_UI[playerid][3])
  11321. {
  11322. CancelSelectTextDraw(playerid);
  11323. ToggleMDC(playerid, false);
  11324. }
  11325. }
  11326. if(Text:playertextid != INVALID_TEXT_DRAW)
  11327. {
  11328. if(playertextid == Skinmenu_PTD[playerid][0])
  11329. {
  11330. if(PlayerData[playerid][pSkinMenu] == 305)
  11331. PlayerData[playerid][pSkinMenu] = 1;
  11332. else PlayerData[playerid][pSkinMenu]++;
  11333. PlayerTextDrawSetPreviewModel(playerid, Skinmenu_PTD[playerid][2], PlayerData[playerid][pSkinMenu]);
  11334. DisplayClothingMenu(playerid, false, false);
  11335. }
  11336. else if(playertextid == Skinmenu_PTD[playerid][1])
  11337. {
  11338. if(PlayerData[playerid][pSkinMenu] == 1)
  11339. PlayerData[playerid][pSkinMenu] = 305;
  11340. else PlayerData[playerid][pSkinMenu]--;
  11341. PlayerTextDrawSetPreviewModel(playerid, Skinmenu_PTD[playerid][2], PlayerData[playerid][pSkinMenu]);
  11342. DisplayClothingMenu(playerid, false, false);
  11343. }
  11344. else if(playertextid == Skinmenu_PTD[playerid][2])
  11345. {
  11346. new forbidSkin[35] =
  11347. {
  11348. 0, 71, 74, 264, 265, 266, 267, 274, 275, 276,
  11349. 277, 278, 279, 280, 281, 282, 283, 284, 285,
  11350. 286, 287, 288, 300, 301, 302, 306, 307, 308,
  11351. 309, 310, 311
  11352. };
  11353. for(new i = 0; i < sizeof forbidSkin; i++)
  11354. {
  11355. if(PlayerData[playerid][pSkinMenu] == forbidSkin[i])
  11356. {
  11357. return SendClientMessage(playerid, COLOR_ADM, "You can't select this skin.");
  11358. }
  11359. }
  11360. SendClientMessage(playerid, COLOR_ACTION, "Thank you for your purchase!");
  11361. SetPlayerSkin(playerid, PlayerData[playerid][pSkinMenu]);
  11362. PlayerData[playerid][pSkin] = PlayerData[playerid][pSkinMenu];
  11363. CancelSelectTextDraw(playerid);
  11364. DisplayClothingMenu(playerid, true);
  11365. GiveMoney(playerid, -50);
  11366. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 50;
  11367. }
  11368. if(GetPVarInt(playerid, "Viewing_OwnedCarList") == 1)
  11369. {
  11370. if(playertextid == Player_Vehicles_Arrow[playerid][2])
  11371. {
  11372. SetPVarInt(playerid, "Viewing_OwnedCarList", 2);
  11373. ShowPlayerVehicleList2(playerid);
  11374. }
  11375. for(new i = 0; i < 6; i++)
  11376. {
  11377. if(playertextid == Player_Vehicles[playerid][i])
  11378. {
  11379. if(_has_vehicle_spawned[playerid])
  11380. {
  11381. SendClientMessage(playerid, COLOR_ADM, "SERVER: You already have a vehicle spawned.");
  11382. HideVehicleUI(playerid, 1);
  11383. DeletePVar(playerid, "Viewing_OwnedCarList");
  11384. return 1;
  11385. }
  11386. LoadOwnedCars(playerid, i+1);
  11387. HideVehicleUI(playerid, 1);
  11388. }
  11389. }
  11390. }
  11391. if(GetPVarInt(playerid, "Viewing_OwnedCarList") == 2)
  11392. {
  11393. if(playertextid == Player_Static_Arrow[playerid])
  11394. {
  11395. ShowPlayerVehicleList(playerid);
  11396. SetPVarInt(playerid, "Viewing_OwnedCarList", 1);
  11397. }
  11398. new slot;
  11399. for(new i = 0; i < 6; i++)
  11400. {
  11401. if(playertextid == Player_Vehicles[playerid][i])
  11402. {
  11403. switch(i)
  11404. {
  11405. case 0: slot = 7;
  11406. case 1: slot = 8;
  11407. case 2: slot = 9;
  11408. case 3: slot = 10;
  11409. }
  11410. if(_has_vehicle_spawned[playerid])
  11411. {
  11412. SendClientMessage(playerid, COLOR_ADM, "SERVER: You already have a vehicle spawned.");
  11413. HideVehicleUI(playerid, 1);
  11414. DeletePVar(playerid, "Viewing_OwnedCarList");
  11415. return 1;
  11416. }
  11417. LoadOwnedCars(playerid, slot);
  11418. HideVehicleUI(playerid, 1);
  11419. }
  11420. }
  11421. }
  11422. }
  11423. else
  11424. {
  11425. DisplayClothingMenu(playerid, true);
  11426. if(PlayerData[playerid][pPhoneline] == GUN_SHOP_NUMBER) HideWarehouseMenu(playerid, 0);
  11427. else HideWarehouseMenu(playerid);
  11428. HideVehicleUI(playerid, 0);
  11429. DeletePVar(playerid, "Viewing_OwnedCarList");
  11430. }
  11431. return true;
  11432. }
  11433. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  11434. {
  11435. if(Text:clickedid != INVALID_TEXT_DRAW)
  11436. {
  11437. if(clickedid == Buymenu_TD[1])
  11438. {
  11439. for(new i = 0; i < 37; i++){
  11440. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11441. CancelSelectTextDraw(playerid);
  11442. }
  11443. }
  11444. if(clickedid == Buymenu_TD[3])
  11445. {
  11446. if(30 > PlayerData[playerid][pMoney])
  11447. {
  11448. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11449. return 1;
  11450. }
  11451. if(IsPlayerInBusiness(playerid))
  11452. {
  11453. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 30;
  11454. }
  11455. SendClientMessage(playerid, COLOR_YELLOW, "You purchased a gasoline can. Use /fill to refill your car.");
  11456. // Create function later to fuel vehicle.
  11457. GiveMoney(playerid, -30);
  11458. for(new i = 0; i < 37; i++)
  11459. {
  11460. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11461. CancelSelectTextDraw(playerid);
  11462. }
  11463. }
  11464. if(clickedid == Buymenu_TD[6])
  11465. {
  11466. if(150 > PlayerData[playerid][pMoney])
  11467. {
  11468. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11469. return 1;
  11470. }
  11471. if(IsPlayerInBusiness(playerid))
  11472. {
  11473. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 150;
  11474. }
  11475. SendClientMessage(playerid, COLOR_YELLOW, "You purchased a Boombox. Use /boombox!");
  11476. PlayerData[playerid][pHasBoombox] = true;
  11477. GiveMoney(playerid, -150);
  11478. for(new i = 0; i < 37; i++){
  11479. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11480. CancelSelectTextDraw(playerid);
  11481. }
  11482. }
  11483. if(clickedid == Buymenu_TD[11])
  11484. {
  11485. if(10 > PlayerData[playerid][pMoney])
  11486. {
  11487. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11488. return 1;
  11489. }
  11490. if(IsPlayerInBusiness(playerid))
  11491. {
  11492. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 10;
  11493. }
  11494. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Baseball Bat. ");
  11495. GiveMoney(playerid, -10);
  11496. GivePlayerGun(playerid, 5, 1, WEAPON_UNKNOWN_GIVEN);
  11497. for(new i = 0; i < 37; i++) {
  11498. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11499. CancelSelectTextDraw(playerid);
  11500. }
  11501. }
  11502. if(clickedid == Buymenu_TD[14])
  11503. {
  11504. if(3 > PlayerData[playerid][pMoney])
  11505. {
  11506. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11507. return 1;
  11508. }
  11509. if(IsPlayerInBusiness(playerid))
  11510. {
  11511. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 3;
  11512. }
  11513. SendClientMessage(playerid, COLOR_YELLOW, "You bought Flowers. ");
  11514. GiveMoney(playerid, -3);
  11515. GivePlayerGun(playerid, 14, 1, WEAPON_UNKNOWN_GIVEN);
  11516. for(new i = 0; i < 37; i++){
  11517. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11518. CancelSelectTextDraw(playerid);
  11519. }
  11520. }
  11521. if(clickedid == Buymenu_TD[17])
  11522. {
  11523. if(20 > PlayerData[playerid][pMoney])
  11524. {
  11525. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11526. return 1;
  11527. }
  11528. if(IsPlayerInBusiness(playerid))
  11529. {
  11530. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 20;
  11531. }
  11532. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Cane. ");
  11533. GiveMoney(playerid, -20);
  11534. GivePlayerGun(playerid, 15, 1, WEAPON_UNKNOWN_GIVEN);
  11535. for(new i = 0; i < 37; i++){
  11536. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11537. CancelSelectTextDraw(playerid);
  11538. }
  11539. }
  11540. if(clickedid == Buymenu_TD[20])
  11541. {
  11542. if(50 > PlayerData[playerid][pMoney])
  11543. {
  11544. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11545. return 1;
  11546. }
  11547. if(IsPlayerInBusiness(playerid))
  11548. {
  11549. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 50;
  11550. }
  11551. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Camera. ");
  11552. GiveMoney(playerid, -50);
  11553. GivePlayerGun(playerid, 43, 9999, WEAPON_UNKNOWN_GIVEN);
  11554. for(new i = 0; i < 37; i++){
  11555. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11556. CancelSelectTextDraw(playerid);
  11557. }
  11558. }
  11559. if(clickedid == Buymenu_TD[24])
  11560. {
  11561. if(200 > PlayerData[playerid][pMoney])
  11562. {
  11563. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11564. return 1;
  11565. }
  11566. if(IsPlayerInBusiness(playerid))
  11567. {
  11568. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 200;
  11569. }
  11570. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Mask. You may now /Mask. ");
  11571. GiveMoney(playerid, -200);
  11572. PlayerData[playerid][pMask] = true;
  11573. for(new i = 0; i < 37; i++){
  11574. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11575. CancelSelectTextDraw(playerid);
  11576. }
  11577. }
  11578. if(clickedid == Buymenu_TD[28])
  11579. {
  11580. if(3 > PlayerData[playerid][pMoney])
  11581. {
  11582. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11583. return 1;
  11584. }
  11585. if(IsPlayerInBusiness(playerid))
  11586. {
  11587. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 3;
  11588. }
  11589. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Drink! Use /usedrink, /givedrink!");
  11590. GiveMoney(playerid, -3);
  11591. PlayerData[playerid][pDrinks]++;
  11592. for(new i = 0; i < 37; i++){
  11593. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11594. CancelSelectTextDraw(playerid);
  11595. }
  11596. }
  11597. if(clickedid == Buymenu_TD[31])
  11598. {
  11599. if(30 > PlayerData[playerid][pMoney])
  11600. {
  11601. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11602. return 1;
  11603. }
  11604. if(IsPlayerInBusiness(playerid)) {
  11605. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 30;
  11606. }
  11607. SendClientMessage(playerid, COLOR_YELLOW, "You bought a 20 pack Cigarette! Use /smokecig, /givecig, /passcig!");
  11608. GiveMoney(playerid, -30);
  11609. PlayerData[playerid][pCigarettes] += 20;
  11610. for(new i = 0; i < 37; i++){
  11611. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11612. CancelSelectTextDraw(playerid);
  11613. }
  11614. }
  11615. if(clickedid == Buymenu_TD[34])
  11616. {
  11617. if(50 > PlayerData[playerid][pMoney])
  11618. {
  11619. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11620. return 1;
  11621. }
  11622. if(IsPlayerInBusiness(playerid))
  11623. {
  11624. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 50;
  11625. }
  11626. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Radio. Use /radio, /setchannel.");
  11627. GiveMoney(playerid, -50);
  11628. PlayerData[playerid][pHasRadio] = true;
  11629. for(new i = 0; i < 37; i++){
  11630. TextDrawHideForPlayer(playerid, Buymenu_TD[i]);
  11631. CancelSelectTextDraw(playerid);
  11632. }
  11633. }
  11634. if(clickedid == TD_mealMenu[4])
  11635. {
  11636. if(10 > PlayerData[playerid][pMoney])
  11637. {
  11638. SendClientMessage(playerid, COLOR_ADM, "You can't afford this.");
  11639. return 1;
  11640. }
  11641. if (MealMenu[playerid][mealExists] == true)
  11642. {
  11643. SendClientMessage(playerid, COLOR_ADM, "ERROR: You're already carrying a meal tray.");
  11644. ShowMealMenu(playerid, false); CancelSelectTextDraw(playerid);
  11645. return true;
  11646. }
  11647. if(IsPlayerInBusiness(playerid))
  11648. {
  11649. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= 10;
  11650. }
  11651. GiveMoney(playerid, -10);
  11652. ShowMealMenu(playerid, false); CancelSelectTextDraw(playerid);
  11653. PlayerData[playerid][pCarryingMeal] = true;
  11654. MealMenu[playerid][mealExists] = true;
  11655. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  11656. MealMenu[playerid][mealModel] = 2220;
  11657. SetPlayerAttachedObject(playerid, 9, 2220, 1, 0.027000, 0.426000, -0.268000, 127.699913, 119.700027, -66.799972);//MealMenu[playerid][mealPos][0], MealMenu[playerid][mealPos][1], MealMenu[playerid][mealPos][2]);
  11658. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  11659. SendClientMessage(playerid, COLOR_ADM, "You bought a meal! Use /meal to see what you can do.");
  11660. }
  11661. if(clickedid == TD_mealMenu[8] || clickedid == TD_mealMenu[12])
  11662. {
  11663. return SendClientMessage(playerid, COLOR_ADM, "We're out of this item!");
  11664. }
  11665. if(clickedid == TD_mealMenu[16])
  11666. {
  11667. ShowMealMenu(playerid, false);
  11668. CancelSelectTextDraw(playerid);
  11669. }
  11670. if(GetPVarInt(playerid, "ViewingWarehouseMenu") == 1)
  11671. {
  11672. for(new i; i < 36; i++)
  11673. {
  11674. if(clickedid == WarehouseMenu[i])
  11675. {
  11676. UpdateWarehouseMenu(playerid, i);
  11677. }
  11678. }
  11679. }
  11680. }
  11681. else if(Text:clickedid == INVALID_TEXT_DRAW){
  11682. for(new i = 0; i < 37; i++) { TextDrawHideForPlayer(playerid, Buymenu_TD[i]); }
  11683. if(PlayerData[playerid][pPhoneline] == GUN_SHOP_NUMBER) HideWarehouseMenu(playerid, 0);
  11684. else HideWarehouseMenu(playerid);
  11685. ShowMealMenu(playerid, false);
  11686. DisplayClothingMenu(playerid, true);
  11687. HideVehicleUI(playerid, 0);
  11688. DeletePVar(playerid, "Viewing_OwnedCarList");
  11689. }
  11690. return false;
  11691. }
  11692. public OnVehicleSirenStateChange(playerid, vehicleid, newstate)
  11693. {
  11694. if (PlayerData[playerid][pLAWduty])
  11695. {
  11696. if (IsValidFactionCar(vehicleid))
  11697. {
  11698. if(FactionCar[vehicleid][carSirens])
  11699. {
  11700. if(newstate && !FactionCar[vehicleid][carSirenOn])
  11701. {
  11702. new
  11703. model = GetVehicleModel(vehicleid),
  11704. preset = -1;
  11705. for(new i = 0; i < sizeof(g_SirenPresets); i++)
  11706. {
  11707. if(model == g_SirenPresets[i][SirenForModel])
  11708. {
  11709. preset = i;
  11710. }
  11711. }
  11712. if(preset != -1)
  11713. {
  11714. FactionCar[vehicleid][carSirenObject] = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 20.0);
  11715. AttachDynamicObjectToVehicle(FactionCar[vehicleid][carSirenObject], vehicleid, g_SirenPresets[preset][PosX], g_SirenPresets[preset][PosY], g_SirenPresets[preset][PosZ], 0.0, 0.0, 0.0);
  11716. FactionCar[vehicleid][carSirenOn] = true;
  11717. }
  11718. }
  11719. else
  11720. {
  11721. DestroyDynamicObject(FactionCar[vehicleid][carSirenObject]);
  11722. FactionCar[vehicleid][carSirenOn] = false;
  11723. }
  11724. }
  11725. }
  11726. }
  11727. return 1;
  11728. }
  11729. /*CMD:gendertest(playerid, params[])
  11730. {
  11731. if(PlayerData[playerid][pGender] == 1) return SendClientMessage(playerid, COLOR_WHITE, "MALE");
  11732. else if(PlayerData[playerid][pGender] == 2) return SendClientMessage(playerid, COLOR_WHITE, "FEMALE");
  11733. return 1;
  11734. }
  11735. CMD:skintest(playerid, params[])
  11736. {
  11737. if(PlayerData[playerid][pAdmin] < 1) return false;
  11738. SetPlayerSkin(playerid, 20000);
  11739. SendClientMessage(playerid, COLOR_WHITE, "[DEBUG] Skin set to 20000 (TESTING CUSTOM MODELS)");
  11740. return 1;
  11741. }*/
  11742. CMD:setadmin(playerid, params[])
  11743. {
  11744. if(!pLoggedIn[playerid]) return false;
  11745. if(PlayerData[playerid][pAdmin] < 5 && !IsPlayerAdmin(playerid)) return false;
  11746. new playerb, level;
  11747. if (sscanf(params, "ui", playerb, level))
  11748. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setadmin [playerid/PartofName] [level (0-5)]");
  11749. if (!IsPlayerConnected(playerb))
  11750. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  11751. if (!pLoggedIn[playerid])
  11752. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  11753. if (level < 0 || (level > 5 && level != 6))
  11754. return SendClientMessage(playerid, COLOR_ADM, "Invalid admin level.");
  11755. else if (level == 6)
  11756. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} This admin rank cannot be set ingame. Please contact a Developer.");
  11757. //format(str, sizeof(str), );
  11758. SendAdminMessage(COLOR_ORANGE, sprintf("AdmCmd: %s made %s a level %i admin.", ReturnName(playerid, 1), ReturnName(playerb, 1), level));
  11759. PlayerData[playerb][pAdmin] = level;
  11760. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "AdminLevel", PlayerData[playerid][pAdmin]);
  11761. WriteLog("admin_logs/samplogs/setadmin_log.txt", "[%s] %s has set %s's admin level to %d.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), level);
  11762. printf("Server: [%s] %s was made an admin by %s (level %i).", ReturnDate(), ReturnName(playerb, 1), ReturnName(playerid, 1), level);
  11763. return true;
  11764. }
  11765. CMD:adm(playerid, params[]) return cmd_aduty(playerid, params);
  11766. CMD:adminduty(playerid, params[]) return cmd_aduty(playerid, params);
  11767. CMD:aduty(playerid, params[])
  11768. {
  11769. if (!PlayerData[playerid][pAdmin])
  11770. return false;
  11771. new str[128];
  11772. if (PlayerData[playerid][pAdminDuty] == false)
  11773. {
  11774. PlayerData[playerid][pAdminDuty] = true;
  11775. format(str, sizeof(str), "AdmCmd: %s is now on admin duty.", ReturnName(playerid, 1));
  11776. SendAdminMessage(COLOR_YELLOW, str);
  11777. GetPlayerHealth(playerid, oldHealth[playerid]);
  11778. SetPlayerColor(playerid, COLOR_ADMIN);
  11779. foreach (new i : Player)
  11780. {
  11781. if (PlayerData[i][pMasked])
  11782. {
  11783. ShowPlayerNameTagForPlayer(playerid, i, 1);
  11784. }
  11785. }
  11786. Streamer_Update(playerid);
  11787. }
  11788. else
  11789. {
  11790. PlayerData[playerid][pAdminDuty] = false;
  11791. format(str, sizeof(str), "AdmCmd: %s is now off admin duty.", ReturnName(playerid, 1));
  11792. SendAdminMessage(COLOR_YELLOW, str);
  11793. if (PlayerData[playerid][pLAWduty])
  11794. SetPlayerColor(playerid, COLOR_COP);
  11795. else if (PlayerData[playerid][pHelperDuty])
  11796. SetPlayerColor(playerid, COLOR_HELPER);
  11797. else if (StartedTaxiJob[playerid])
  11798. SetPlayerColor(playerid, COLOR_YELLOW);
  11799. else
  11800. SetPlayerColor(playerid, COLOR_WHITE);
  11801. foreach (new i : Player)
  11802. {
  11803. if (PlayerData[i][pMasked])
  11804. {
  11805. ShowPlayerNameTagForPlayer(playerid, i, 0);
  11806. }
  11807. }
  11808. Streamer_Update(playerid);
  11809. SetPlayerHealth(playerid, oldHealth[playerid]);
  11810. }
  11811. return true;
  11812. }
  11813. CMD:a(playerid, params[]) return cmd_admin(playerid, params);
  11814. CMD:admin(playerid, params[])
  11815. {
  11816. if(!PlayerData[playerid][pAdmin])
  11817. return UnAuthMessage(playerid);
  11818. if(isnull(params))
  11819. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /admin [admin chat]");
  11820. new str[128];
  11821. if(strlen(params) > 84)
  11822. {
  11823. format(str, sizeof(str), "** %s(%s): %.84s", ReturnName(playerid, 1), PlayerData[playerid][pForumName], params);
  11824. SendAdminMessage(0x6CEFF0FF, str);
  11825. format(str, sizeof(str), "** %s(%s): ...%s", ReturnName(playerid, 1), PlayerData[playerid][pForumName], params[84]);
  11826. SendAdminMessage(0x6CEFF0FF, str);
  11827. }
  11828. else
  11829. {
  11830. format(str, sizeof(str), "** %s(%s): %s", ReturnName(playerid, 1), PlayerData[playerid][pForumName], params);
  11831. SendAdminMessage(0x6CEFF0FF, str);
  11832. }
  11833. WriteLog("admin_logs/adminchat_log.txt", "[%s] %s said: %s", ReturnDate(), ReturnName(playerid, 1), params);
  11834. return true;
  11835. }
  11836. CMD:la(playerid, params[])
  11837. {
  11838. if(PlayerData[playerid][pAdmin] < 4)
  11839. return false;
  11840. new string[128];
  11841. if(isnull(params))
  11842. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /la [lead admin text]");
  11843. foreach(new i : Player)
  11844. {
  11845. if(PlayerData[i][pAdmin] >= 4)
  11846. {
  11847. if(strlen(params) > 84) {
  11848. format(string, sizeof(string), "** %s: %.84s", ReturnName(playerid, 1), params);
  11849. SendClientMessage(i, COLOR_DARKGREEN, string);
  11850. format(string, sizeof(string), "** %s: ...%s", ReturnName(playerid, 1), params[84]);
  11851. SendClientMessage(i, COLOR_DARKGREEN, string);
  11852. }
  11853. else {
  11854. format(string, sizeof(string), "** %s: %.s", ReturnName(playerid, 1), params);
  11855. SendClientMessage(i, COLOR_DARKGREEN, string);
  11856. }
  11857. }
  11858. }
  11859. WriteLog("admin_logs/leadchat_log.txt", "[%s] %s said: %s", ReturnDate(), ReturnName(playerid), params);
  11860. return true;
  11861. }
  11862. // Level 1
  11863. CMD:goto(playerid, params[])
  11864. {
  11865. if(!pLoggedIn[playerid]) return true;
  11866. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  11867. new playerb, id, location[128], string[90], str[128], Float:pos[3];
  11868. if(sscanf(params, "u", playerb)) {
  11869. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto [playerid OR name]");
  11870. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} ls, lv, sf, prison, idlewood, property, business, door");
  11871. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} faction, pns, car, mark, tolls, spawn, furniture");
  11872. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} pgarage, graffiti, map, entrance");
  11873. return 1;
  11874. }
  11875. if(playerb == INVALID_PLAYER_ID)
  11876. {
  11877. if(sscanf(params, "s[128]S()[90]", location, string))
  11878. {
  11879. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto [playerid OR name]");
  11880. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} ls, lv, sf, idlewood, pd, property, business faction, car, interiors");
  11881. return true;
  11882. }
  11883. if(!strcmp(location, "ls", true)){
  11884. SendPlayer(playerid, 1514.1836, -1677.8027, 14.0469, 0, 0);
  11885. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  11886. }
  11887. else if(!strcmp(location, "lv", true)){
  11888. SendPlayer(playerid, 1721.1599, 1444.5464, 10.5450, 0, 0);
  11889. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported.");
  11890. }
  11891. else if(!strcmp(location, "sf", true)){
  11892. SendPlayer(playerid, -1751.6312, -607.6387, 16.2367, 0, 0);
  11893. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported.");
  11894. }
  11895. else if(!strcmp(location, "lv", true)){
  11896. SendPlayer(playerid, 2098.6453,-1760.2810, 13.5625, 0, 0);
  11897. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported.");
  11898. }
  11899. else if(!strcmp(location, "idlewood", true)){
  11900. SendPlayer(playerid, 2083.3252, -1758.8643, 13.5625, 0, 0);
  11901. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported.");
  11902. }
  11903. else if(!strcmp(location, "prison", true)){
  11904. SendPlayer(playerid, -351.7723, 1597.3220, 76.3849, 0, 0);
  11905. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported.");
  11906. }
  11907. else if(!strcmp(location, "spawn", true)){
  11908. SendPlayer(playerid, 1642.1362, -2332.5950, -2.6797, 0, 0);
  11909. return SendClientMessage(playerid, COLOR_GREY, "You have been teleported.");
  11910. }
  11911. else if(!strcmp(location, "property", true)){
  11912. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto property [propid]");
  11913. if(id < 1 || id > MAX_PROPERTY || !PropertyData[id][propertyid])
  11914. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid house ID.");
  11915. SendPlayer(playerid, PropertyData[id][propertyExterior][0], PropertyData[id][propertyExterior][1], PropertyData[id][propertyExterior][2], PropertyData[id][propertyExteriorID], PropertyData[id][propertyExteriorWorld]);
  11916. if(!PropertyData[id][propertyOwnerSQL])
  11917. format(str, sizeof(str), "SERVER: You teleported to property %d that's for sale.", id);
  11918. else
  11919. format(str, sizeof(str), "SERVER: You teleported to property %d owned by %s.", id, ReturnSQLName(PropertyData[id][propertyOwnerSQL]));
  11920. SendClientMessage(playerid, COLOR_YELLOW, str);
  11921. return true;
  11922. }
  11923. else if(!strcmp(location, "business", true)){
  11924. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto business [bizid]");
  11925. if(id < 1 || id > MAX_BUSINESS || !BusinessData[id][businessID])
  11926. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid business ID.");
  11927. SendPlayer(playerid, BusinessData[id][businessExt][0], BusinessData[id][businessExt][1], BusinessData[id][businessExt][2], 0, 0);
  11928. if (!BusinessData[id][businessOwnerSQL])
  11929. format(str, sizeof(str), "SERVER: You teleported to business %d that's for sale", id);
  11930. else
  11931. format(str, sizeof(str), "SERVER: You teleported to business %d owned by %s", id, ReturnSQLName(BusinessData[id][businessOwnerSQL]));
  11932. SendClientMessage(playerid, COLOR_YELLOW, str);
  11933. return true;
  11934. }
  11935. else if(!strcmp(location, "door", true)){
  11936. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto door [doorid]");
  11937. if(id > MAX_DOORS || !DoorData[id][doorID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid door ID.");
  11938. SendPlayer(playerid, DoorData[id][doorPos][0], DoorData[id][doorPos][1], DoorData[id][doorPos][2], DoorData[id][doorPosWorld], DoorData[id][doorPosIntID]);
  11939. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  11940. return true;
  11941. }
  11942. else if(!strcmp(location, "pgarage", true)){
  11943. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto pgarage [property garage id]");
  11944. if(id > MAX_PROPERTY_GARAGES || !GarageData[id][garageSQLID])
  11945. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid property garage.");
  11946. SendPlayer(playerid, GarageData[id][garagePos][0], GarageData[id][garagePos][1], GarageData[id][garagePos][2], 0, 0);
  11947. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  11948. return true;
  11949. }
  11950. else if(!strcmp(location, "furniture", true)){
  11951. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto furniture [ferid] ");
  11952. if(!FurnitureData[id][furnitureSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid door ID.");
  11953. SendPlayer(playerid, FurnitureData[id][furniturePos][0], FurnitureData[id][furniturePos][1], FurnitureData[id][furniturePos][2], PropertyData[FurnitureData[id][furniturePropertyID]][propertyInteriorID], PropertyData[FurnitureData[id][furniturePropertyID]][propertyInteriorWorld]);
  11954. return true;
  11955. }
  11956. else if(!strcmp(location, "faction", true)){
  11957. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto faction [factionid]");
  11958. if(id < 1 || id > MAX_FACTIONS || !FactionData[id][factionID])
  11959. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid faction ID.");
  11960. format(str, sizeof(str), "SERVER: You teleported to %s's faction spawn.", FactionData[id][factionName]);
  11961. SendClientMessage(playerid, COLOR_YELLOW, str);
  11962. SendPlayer(playerid, FactionData[id][factionSpawn][0], FactionData[id][factionSpawn][1], FactionData[id][factionSpawn][2], 0, 0);
  11963. return true;
  11964. }
  11965. else if(!strcmp(location, "pns", true)){
  11966. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto pns [pns id]");
  11967. if(id < 1 || id > MAX_PAYNSPRAY || !PNSData[id][pnsID])
  11968. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid Pay n Spray ID.");
  11969. format(str, sizeof(str), "SERVER: You teleported to Pay n' Spray %d", id);
  11970. SendClientMessage(playerid, COLOR_YELLOW, str);
  11971. SendPlayer(playerid, PNSData[id][pnsEntrance][0], PNSData[id][pnsEntrance][1], PNSData[id][pnsEntrance][2], 0, 0);
  11972. return true;
  11973. }
  11974. else if(!strcmp(location, "tolls", true)){
  11975. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto tolls [toll id]");
  11976. if(id < 1 || id > MAX_TOLLS || !TollsData[id][tollID])
  11977. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid toll booth ID.");
  11978. format(str, sizeof(str), "SERVER: You teleported to Toll Booth %d", id);
  11979. SendClientMessage(playerid, COLOR_YELLOW, str);
  11980. SendPlayer(playerid, TollsData[id][tollPointA][0], TollsData[id][tollPointA][1], TollsData[id][tollPointA][2], 0, 0);
  11981. return true;
  11982. }
  11983. else if(!strcmp(location, "car", true)){
  11984. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto car [vehicleid]");
  11985. if(id < 0 || id > MAX_VEHICLES || !IsValidVehicle(id))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid vehicle ID.");
  11986. new Float: Pos[3];
  11987. GetVehiclePos(id, Pos[0], Pos[1], Pos[2]);
  11988. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  11989. SendPlayer(playerid, Pos[0], Pos[1], Pos[2], GetVehicleInterior(id), GetVehicleVirtualWorld(id));
  11990. return true;
  11991. }
  11992. else if(!strcmp(location, "mark", true)){
  11993. SendPlayer(playerid, PlayerData[playerid][pMark][0], PlayerData[playerid][pMark][1], PlayerData[playerid][pMark][2], 0, 0);
  11994. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  11995. return true;
  11996. }
  11997. else if(!strcmp(location, "graffiti", true)){
  11998. if (sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /goto graffiti [id]");
  11999. if(id < 0 || id > MAX_GRAFFITI_SPOTS)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Graffiti's only exist between 0-30.");
  12000. SendPlayer(playerid, g_aGraffitiData[id][graffitiPosX], g_aGraffitiData[id][graffitiPosY], g_aGraffitiData[id][graffitiPosZ], 0, 0);
  12001. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  12002. return true;
  12003. }
  12004. else if(!strcmp(location, "map", true)){
  12005. if(sscanf(string, "d", id)) return SendClientMessage(playerid, COLOR_ADM, "USAGE: /goto map [id]");
  12006. if(id < 0 || id > MAX_SERVER_OBJECTS || !ObjectData[id][ObjectDBID]) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid ID.");
  12007. SendPlayer(playerid, ObjectData[id][Object_PosX], ObjectData[id][Object_PosY], ObjectData[id][Object_PosZ], ObjectData[id][Object_Interior], ObjectData[id][Object_World]);
  12008. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  12009. return 1;
  12010. }
  12011. else if(!strcmp(location, "entrance", true)){
  12012. if(sscanf(string, "d", id))return SendClientMessage(playerid, COLOR_ADM, "USAGE: /goto entrance [ID]");
  12013. if(id < 0 || id > 30 || !Entrances[id][InteriorDBID])
  12014. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid ID.");
  12015. SendPlayer(playerid, Entrances[id][Entrance][0], Entrances[id][Entrance][1], Entrances[id][Entrance][2], Entrances[id][EntranceInteriorID], Entrances[id][EntranceWorld]);
  12016. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  12017. return 1;
  12018. }
  12019. else return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12020. }
  12021. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12022. if(PlayerData[playerb][pSpectator] != -1)return SendClientMessage(playerid, COLOR_GREY, "Their spectating someone already.");
  12023. if (IsPlayerInBusiness(playerid)) PlayerData[playerid][pInsideBusiness] = 0;
  12024. GetPlayerPos(playerb, pos[0], pos[1], pos[2]);
  12025. SendPlayer(playerid, pos[0] + 1, pos[1], pos[2], GetPlayerInterior(playerb), GetPlayerVirtualWorld(playerb));
  12026. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  12027. return true;
  12028. }
  12029. CMD:gethere(playerid, params[])
  12030. {
  12031. if(!pLoggedIn[playerid])return true;
  12032. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12033. new playerb, Float:pos[3];
  12034. if(sscanf(params, "u", playerb))
  12035. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /gethere [playerid/PartofName]");
  12036. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12037. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12038. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  12039. SendPlayer(playerb, pos[0], pos[1], pos[2], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid));
  12040. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  12041. return true;
  12042. }
  12043. CMD:kick(playerid, params[])
  12044. {
  12045. if(!pLoggedIn[playerid])return true;
  12046. if(!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12047. new playerb, reason[128], query[400], str[128];
  12048. if(sscanf(params, "us[128]", playerb, reason))
  12049. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /kick [playerid/PartofName] [reason]");
  12050. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12051. if(PlayerData[playerb][pAdmin] > PlayerData[playerid][pAdmin])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't kick higher level admins.");
  12052. if(strlen(reason) > 55)
  12053. {
  12054. SendMessageToAll(COLOR_ADM, "AdmCmd: %s was kicked by %s, Reason: %.55s", ReturnName(playerb, 1), ReturnName(playerid, 1), reason);
  12055. SendMessageToAll(COLOR_ADM, "AdmCmd: ...%s", reason[55]);
  12056. }
  12057. else
  12058. {
  12059. SendMessageToAll(COLOR_ADM, "AdmCmd: %s was kicked by %s, Reason: %s", ReturnName(playerb, 1), ReturnName(playerid, 1), reason);
  12060. }
  12061. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  12062. {
  12063. if(aNotesData[playerb][i][anote_SQLID] != 0)
  12064. {
  12065. if(aNotesData[playerb][i][anote_active])
  12066. {
  12067. if(strlen(aNotesData[playerb][i][anote_reason]) > 45)
  12068. {
  12069. format(str, sizeof(str), "Player %s has %d active OnAdminAction notes on him, last is: %.45s", ReturnName(playerb, 1), CountAdminNotes(playerb), aNotesData[playerb][i][anote_reason]);
  12070. adminWarn(1, str);
  12071. format(str, sizeof(str), "...%s", aNotesData[playerb][i][anote_reason][45]);
  12072. adminWarn(1, str);
  12073. }
  12074. else
  12075. {
  12076. format(str, sizeof(str), "Player %s has %d active OnAdminAction notes on him, last is: %s", ReturnName(playerb, 1), CountAdminNotes(playerb), aNotesData[playerb][i][anote_reason]);
  12077. adminWarn(1, str);
  12078. }
  12079. }
  12080. }
  12081. }
  12082. printf("[DEBUG] AdmCmd: %s was kicked by %s, Reason: %s", ReturnName(playerb, 1), ReturnName(playerid, 1), reason);
  12083. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_kicks (`Name`, `Reason`, `KickedBy`, `Date`, `IP`) VALUES('%e', '%e', '%e', '%e', '%e')", ReturnName(playerb, 1), reason, ReturnName(playerid, 1), ReturnDateLog(), ReturnIP(playerb));
  12084. mysql_pquery(m_Handle, query);
  12085. WriteLog("admin_logs/punishments/kick_log.txt", "[%s] %s kicked %s, Reason: %s", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), reason);
  12086. KickEx(playerb);
  12087. return true;
  12088. }
  12089. CMD:offlineajail(playerid, params[])
  12090. {
  12091. if(!pLoggedIn[playerid])return true;
  12092. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12093. new playerb[30], minutes, reason[128], query[128];
  12094. if(sscanf(params, "s[30]ds[128]", playerb, minutes, reason))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /offlineajail [Firstname_Lastname] [time] [reason]");
  12095. if(minutes < 1)return SendClientMessage(playerid, COLOR_GREY, "You can't admin jail a player for under 1 minute.");
  12096. PlayerData[playerid][pSetTime] = minutes;
  12097. format(PlayerData[playerid][pSetReason], 128, "%s", reason);
  12098. mysql_format(m_Handle, query, sizeof(query), "SELECT Name, OfflineAjail, AjailTime, OfflineAjailReason FROM `players` WHERE Name = '%e'", playerb);
  12099. mysql_pquery(m_Handle, query, "SQL_OnOfflineJail", "i", playerid);
  12100. return true;
  12101. }
  12102. CMD:ajail(playerid, params[])
  12103. {
  12104. if(!pLoggedIn[playerid])return true;
  12105. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12106. new playerb, minutes, query[400], reason[128], str[128];
  12107. if(sscanf(params, "uds[128]", playerb, minutes, reason))
  12108. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ajail [playerid/PartofName] [minutes] [reason]");
  12109. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12110. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12111. if(minutes < 1)return SendClientMessage(playerid, COLOR_GREY, "You can't admin jail a player for under 1 minute.");
  12112. ClearAnimations(playerb);
  12113. SetPlayerPos(playerb, 2578.929931, 2658.771728, 10.820312);
  12114. SetPlayerVirtualWorld(playerb, playerb);
  12115. SetPlayerInterior(playerb, 0);
  12116. ResetHouseVar(playerid);
  12117. ClearPlayerWeapons(playerid, 0);
  12118. PlayerData[playerb][pAjailed] = true;
  12119. PlayerData[playerb][pAjailTime] = minutes * 60;
  12120. if(StartedTruckerMission[playerb])
  12121. {
  12122. EndTruckerMission(playerb);
  12123. }
  12124. if(InTaxiRide[playerb])
  12125. {
  12126. foreach(new i : Player) if(PlayerData[i][pSQLID] == TaxiDriver[playerb])
  12127. {
  12128. SendClientMessage(i, COLOR_YELLOW, "-> A person in your taxi was admin jailed. You were compensated regardless.");
  12129. }
  12130. EndTaxiFair(playerb);
  12131. }
  12132. if(StartedTaxiJob[playerb] && TaxiFairStarted[playerb])
  12133. {
  12134. foreach(new i : Player) if(TaxiDriver[i] == PlayerData[playerb][pSQLID])
  12135. {
  12136. SendClientMessage(i, COLOR_YELLOW, "-> Your taxi driver was admin jailed. The fair ended.");
  12137. EndTaxiFair(i);
  12138. }
  12139. EndTaxiFairDriver(playerb);
  12140. }
  12141. if(OrderedWeapon[playerb])
  12142. ClearPlayerOrder(playerid);
  12143. if(strlen(reason) > 45)
  12144. {
  12145. SendMessageToAll(COLOR_ADM, "AdmCmd: %s has been admin jailed by %s for %d minutes, Reason: %.45s", ReturnName(playerb, 1), ReturnName(playerid, 1), minutes, reason);
  12146. SendMessageToAll(COLOR_ADM, "AdmCmd: ...%s", reason[45]);
  12147. }
  12148. else
  12149. {
  12150. SendMessageToAll(COLOR_ADM, "AdmCmd: %s has been admin jailed by %s for %d minutes, Reason: %s", ReturnName(playerb, 1), ReturnName(playerid, 1), minutes, reason);
  12151. }
  12152. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  12153. {
  12154. if(aNotesData[playerb][i][anote_SQLID] != 0)
  12155. {
  12156. if(aNotesData[playerb][i][anote_active])
  12157. {
  12158. if(strlen(aNotesData[playerb][i][anote_reason]) > 45)
  12159. {
  12160. format(str, sizeof(str), "Player %s has %d active OnAdminAction notes on him, last is: %.45s", ReturnName(playerb, 1), CountAdminNotes(playerb), aNotesData[playerb][i][anote_reason]);
  12161. adminWarn(1, str);
  12162. format(str, sizeof(str), "...%s", aNotesData[playerb][i][anote_reason][45]);
  12163. adminWarn(1, str);
  12164. }
  12165. else
  12166. {
  12167. format(str, sizeof(str), "Player %s has %d active OnAdminAction notes on him, last is: %s", ReturnName(playerb, 1), CountAdminNotes(playerb), aNotesData[playerb][i][anote_reason]);
  12168. adminWarn(1, str);
  12169. }
  12170. }
  12171. }
  12172. }
  12173. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_ajail (`Name`, `Reason`, `JailedBy`, `Date`, `Time`, `IP`) VALUES('%e', '%e', '%e', '%e', %i, '%e')", ReturnName(playerb, 1), reason, ReturnName(playerid, 1), ReturnDateLog(), minutes, ReturnIP(playerb));
  12174. mysql_pquery(m_Handle, query);
  12175. WriteLog("admin_logs/punishments/ajail_log.txt", "[%s] %s has admin jailed %s for %d minutes, Reason: %s", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), minutes, reason);
  12176. return true;
  12177. }
  12178. CMD:release(playerid, params[])
  12179. {
  12180. if(!pLoggedIn[playerid])return true;
  12181. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12182. new playerb;
  12183. if(sscanf(params, "u", playerb))
  12184. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /release [playerid/PartofName]");
  12185. if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12186. if(!pLoggedIn[playerb]) return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12187. if(!PlayerData[playerb][pAjailed] && !PlayerData[playerb][pICJailed]) return SendClientMessage(playerid, COLOR_GREY, "That player isn't in admin jail or jail.");
  12188. if(PlayerData[playerb][pAjailed])
  12189. {
  12190. SendMessageToAll(COLOR_ADM, "AdmCmd: %s has been released from admin jail by %s.", ReturnName(playerb, 1), ReturnName(playerid, 1));
  12191. PlayerData[playerb][pAjailed] = false;
  12192. PlayerData[playerb][pAjailTime] = 0;
  12193. }
  12194. if(PlayerData[playerb][pICJailed])
  12195. {
  12196. SendMessageToAll(COLOR_ADM, "AdmCmd: %s has been released from prison/jail by %s.", ReturnName(playerb, 1), ReturnName(playerid, 1));
  12197. PlayerData[playerb][pICJailTime] = 0;
  12198. PlayerData[playerb][pICJailed] = 0;
  12199. PlayerData[playerb][pICJailNotify] = 0;
  12200. DestroyDynamic3DTextLabel(PlayerData[playerid][pICJail3D]);
  12201. TotalJailees--;
  12202. }
  12203. SendPlayer(playerb, 1553.0421, -1675.4706, 16.1953, 0, 0);
  12204. SendClientMessage(playerb, COLOR_GREY, "You have paid your debt to society.");
  12205. WriteLog("admin_logs/punishments/release_log.txt", "[%s] %s released %s from admin jail", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1));
  12206. if (IsValidDynamic3DTextLabel(PlayerData[playerb][pICJail3D])) {
  12207. DestroyDynamic3DTextLabel(PlayerData[playerb][pICJail3D]);
  12208. }
  12209. return true;
  12210. }
  12211. CMD:jetpack(playerid, params[])
  12212. {
  12213. if(!pLoggedIn[playerid])return true;
  12214. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12215. PlayerData[playerid][pJetpack] = 1;
  12216. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  12217. return true;
  12218. }
  12219. CMD:setskin(playerid, params[])
  12220. {
  12221. if(!pLoggedIn[playerid]) return true;
  12222. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  12223. new playerb, skinid, string[128];
  12224. if(sscanf(params, "ui", playerb, skinid))
  12225. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setskin [playerid/PartofName] [skinid]");
  12226. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12227. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12228. if((skinid <= 0 || skinid == 74 || skinid > 50000) && PlayerData[playerid][pAdmin] != 6) return SendClientMessage(playerid, COLOR_GREY, "You specified a skin ID that isn't valid.");
  12229. PlayerData[playerb][pSkin] = skinid;
  12230. SetPlayerSkin(playerb, skinid);
  12231. format(string, sizeof(string), "AdmCmd: %s set %s's skin to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), skinid);
  12232. SendClientMessage(playerid, COLOR_GREY, string);
  12233. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Skin", PlayerData[playerid][pSkin]);
  12234. WriteLog("admin_logs/setskin_log.txt", "[%s] %s has set %s's skin id to %d.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), skinid);
  12235. return true;
  12236. }
  12237. CMD:setint(playerid, params[])
  12238. {
  12239. if(!pLoggedIn[playerid])return true;
  12240. if(!PlayerData[playerid][pAdmin] && !PlayerData[playerid][pHelper])return UnAuthMessage(playerid);
  12241. new playerb, interior, string[128];
  12242. if(sscanf(params, "ui", playerb, interior))
  12243. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setint [playerid/PartofName] [interiorid]");
  12244. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12245. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12246. SetPlayerInterior(playerb, interior);
  12247. format(string, sizeof(string), "AdmCmd: %s set %s's interior to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), interior);
  12248. SendClientMessage(playerid, COLOR_GREY, string);
  12249. if(playerb != playerid){
  12250. format(string, sizeof(string), "AdmCmd: %s set %s's interior to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), interior);
  12251. SendClientMessage(playerb, COLOR_GREY, string);
  12252. }
  12253. return true;
  12254. }
  12255. CMD:setworld(playerid, params[])
  12256. {
  12257. if(!pLoggedIn[playerid]) return true;
  12258. if(!PlayerData[playerid][pAdmin] && !PlayerData[playerid][pHelper]) return UnAuthMessage(playerid);
  12259. new playerb, world, string[128];
  12260. if(sscanf(params, "ui", playerb, world))
  12261. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setworld [playerid/PartofName] [virtualworld]");
  12262. if(!IsPlayerConnected(playerb))
  12263. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12264. if(!pLoggedIn[playerb])
  12265. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12266. SetPlayerVirtualWorld(playerb, world);
  12267. format(string, sizeof(string), "AdmCmd: %s set %s's virtual world to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), world);
  12268. SendClientMessage(playerid, COLOR_GREY, string);
  12269. if(playerb != playerid){
  12270. format(string, sizeof(string), "AdmCmd: %s set %s's virtual world to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), world);
  12271. SendClientMessage(playerb, COLOR_GREY, string);
  12272. }
  12273. return true;
  12274. }
  12275. //
  12276. CMD:adminsys(playerid, params[])
  12277. {
  12278. if(!PlayerData[playerid][pAdmin])
  12279. return UnAuthMessage(playerid);
  12280. new
  12281. user[60], type[30], query[256];
  12282. if(sscanf(params, "s[60]s[30]", user, type))
  12283. return SendClientMessage(playerid, COLOR_RED, "SERVER: /adminsys [username] [details, listaccounts]");
  12284. if(!ReturnSQLFromName(user))
  12285. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The user you specified doesn't exist. ");
  12286. if(!strcmp(type, "details"))
  12287. {
  12288. Message(playerid, COLOR_GOLD, "* You're viewing %s's user data.", user);
  12289. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM players WHERE id = %i", ReturnSQLFromName(user));
  12290. new Cache:cache = mysql_query(m_Handle, query);
  12291. new RegisterIP[32];
  12292. new LastConnection[90];
  12293. new LastConnectLength;
  12294. new Money, Bank, Levelx, Exp, MaskID, MaskIDEx, Adminjailed, MaxHealth, Crashed;
  12295. new ActiveIP[32];
  12296. cache_get_value_name(0, "RegisterIP", RegisterIP);
  12297. cache_get_value_name_int(0, "Money", Money);
  12298. cache_get_value_name_int(0, "Bank", Bank);
  12299. cache_get_value_name_int(0, "Level", Levelx);
  12300. cache_get_value_name_int(0, "Exp", Exp);
  12301. cache_get_value_name(0, "IP", ActiveIP, 32);
  12302. cache_get_value_name_int(0, "MaskID", MaskID);
  12303. cache_get_value_name_int(0, "MaskIDEx", MaskIDEx);
  12304. cache_get_value_name_int(0, "Adminjailed", Adminjailed);
  12305. cache_get_value_name_int(0, "MaxHealth", MaxHealth);
  12306. cache_get_value_name_int(0, "Crashed", Crashed);
  12307. cache_get_value_name(0, "LastConnection", LastConnection, 90);
  12308. cache_get_value_name_int(0, "LastConnectLength", LastConnectLength);
  12309. new Float:LastHealth;
  12310. cache_get_value_name_float(0, "LastHealth", LastHealth);
  12311. new Float:LastArmor;
  12312. cache_get_value_name_float(0, "LastArmor", LastArmor);
  12313. new Phone;
  12314. cache_get_value_name_int(0, "Phone", Phone);
  12315. new BurnerPhone;
  12316. cache_get_value_name_int(0, "BurnerPhoneNumber", BurnerPhone);
  12317. new HWID[90];
  12318. cache_get_value_name(0, "HWID", HWID, 90);
  12319. cache_delete(cache);
  12320. Message(playerid, COLOR_GRAD2, "Registered IP Address:[%s] Last IP Address:[%s]", RegisterIP, ActiveIP);
  12321. Message(playerid, COLOR_GRAD1, "Money:[$%s] Bank:[$%s]", MoneyFormat(Money), MoneyFormat(Bank));
  12322. Message(playerid, COLOR_GRAD2, "Level:[%i] EXP: [%i] MaskID:[%d_%d] MaxHealth:[%i/150] Admin jailed:[%s]", Levelx, Exp, MaskID, MaskIDEx, MaxHealth, (Adminjailed != 1) ? ("No") : ("Yes"));
  12323. Message(playerid, COLOR_GRAD1, "LastArmor:[%.2f] LastHealth:[%.2f] Phone:[%i] BurnerPhone:[%i]", LastArmor, LastHealth, Phone, BurnerPhone);
  12324. Message(playerid, COLOR_GRAD2, "Crashed last connection:[%s] Last Connection:[%s]", (Crashed != 1) ? ("No") : ("Yes"), LastConnection);
  12325. Message(playerid, COLOR_GRAD1, "Last Connection length:[%i Minutes]", LastConnectLength);
  12326. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM bans WHERE Name = '%e'", user);
  12327. mysql_tquery(m_Handle, query, "CheckNameForBan", "is", playerid, user);
  12328. mysql_format(m_Handle, query, sizeof(query), "SELECT id, Name FROM `bans` WHERE `IP` = '%e' AND `HWID` = '%e' OR `HWID` = '%e' OR `IP` = '%e'", ActiveIP, HWID, HWID, ActiveIP);
  12329. mysql_tquery(m_Handle, query, "OnBanCheck", "is", playerid, user);
  12330. mysql_format(m_Handle, query, sizeof(query), "SELECT weapon_id, ammo FROM player_weapons WHERE player_dbid = %i", ReturnSQLFromName(user));
  12331. mysql_tquery(m_Handle, query, "OnWeaponsCheck", "i", playerid);
  12332. }
  12333. else if(!strcmp(type, "listaccounts"))
  12334. {
  12335. Message(playerid, COLOR_GOLD, "* You're viewing accounts associated with %s.", user);
  12336. mysql_format(m_Handle, query, sizeof(query), "SELECT IP FROM players WHERE id = %i", ReturnSQLFromName(user));
  12337. mysql_tquery(m_Handle, query, "OnListAccounts", "is", playerid, user);
  12338. }
  12339. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  12340. return 1;
  12341. }
  12342. CMD:adminp(playerid, params[])
  12343. {
  12344. if(!PlayerData[playerid][pAdmin])
  12345. return UnAuthMessage(playerid);
  12346. ShowAdminPanel(playerid);
  12347. return 1;
  12348. }
  12349. CMD:ipsys(playerid, params[])
  12350. {
  12351. if(!PlayerData[playerid][pAdmin])
  12352. return 0;
  12353. new
  12354. user[60], query[256];
  12355. if(sscanf(params, "s[60]", user))
  12356. return SendClientMessage(playerid, COLOR_RED, "SERVER: /ipsys [ip address]");
  12357. if(!DoesIPExist(user))
  12358. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That IP address isn't in our database.");
  12359. mysql_format(m_Handle, query, sizeof(query), "SELECT Name FROM players WHERE IP = '%e' AND RegisterIP = '%e' OR IP = '%e' OR RegisterIP = '%e'", user, user, user, user);
  12360. new Cache:cache = mysql_query(m_Handle, query);
  12361. Message(playerid, COLOR_GOLD, "* You're viewing IP Address (%s) associations.", user);
  12362. new
  12363. Name[34];
  12364. for(new i = 0; i < cache_num_rows(); i++)
  12365. {
  12366. cache_get_value_name(i, "Name", Name);
  12367. Message(playerid, COLOR_GOLD, "** %s", Name);
  12368. }
  12369. cache_delete(cache);
  12370. return 1;
  12371. }
  12372. CMD:bansys(playerid, params[])
  12373. {
  12374. new
  12375. query[128], id;
  12376. if(!PlayerData[playerid][pAdmin] && !PlayerData[playerid][pHelper])
  12377. return 0;
  12378. if(isnull(params))
  12379. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /bansys [ban ID or username]");
  12380. if(IsNumeric(params))
  12381. {
  12382. id = strval(params);
  12383. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM bans WHERE id = %i", id);
  12384. mysql_tquery(m_Handle, query, "OnBanSys", "i", playerid);
  12385. }
  12386. else
  12387. {
  12388. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM bans WHERE Name = '%e'", params);
  12389. mysql_tquery(m_Handle, query, "OnBanSys", "i", playerid);
  12390. }
  12391. return 1;
  12392. }
  12393. CMD:arecord(playerid, params[])
  12394. {
  12395. if(!PlayerData[playerid][pAdmin])
  12396. return 0;
  12397. new
  12398. str_a[30], b_str[90], query[128];
  12399. if(sscanf(params, "s[30]s[90]", str_a, b_str))
  12400. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /arecord [username] [bans, ajails, kicks]");
  12401. if(!ReturnSQLFromName(str_a))
  12402. return SendClientMessage(playerid, COLOR_ADM, "ERROR: The username you specified doesn't exist.");
  12403. if(!strcmp(b_str, "bans"))
  12404. {
  12405. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM log_bans WHERE Name = '%e' ORDER BY id DESC", str_a);
  12406. mysql_tquery(m_Handle, query, "OnBanLookup", "is", playerid, str_a);
  12407. }
  12408. else if(!strcmp(b_str, "ajails"))
  12409. {
  12410. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM log_ajail WHERE Name = '%e' ORDER BY id DESC", str_a);
  12411. mysql_tquery(m_Handle, query, "OnAjailLookup", "is", playerid, str_a);
  12412. }
  12413. else if(!strcmp(b_str, "kicks"))
  12414. {
  12415. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM log_kicks WHERE Name = '%e' ORDER BY id DESC", str_a);
  12416. mysql_tquery(m_Handle, query, "OnKickLookup", "is", playerid, str_a);
  12417. }
  12418. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  12419. return 1;
  12420. }
  12421. CMD:as(playerid, params[])
  12422. {
  12423. if(!PlayerData[playerid][pAdmin])
  12424. return 0;
  12425. new
  12426. playerb,
  12427. Float:Health,
  12428. Float:Armor
  12429. ;
  12430. if(sscanf(params, "u", playerb))
  12431. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /as [playerid/PartofName]");
  12432. if(!IsPlayerConnected(playerb))
  12433. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You specified an invalid player.");
  12434. if(!pLoggedIn[playerb])
  12435. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That player hasn't logged in yet.");
  12436. GetPlayerHealth(playerb, Health); GetPlayerArmour(playerb, Armor);
  12437. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________________________________");
  12438. Message(playerid, COLOR_ADM, "Players name: %s (Packetloss: %f)", ReturnName(playerb), NetStats_PacketLossPercent(playerb));
  12439. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[playerb][i][eWeaponID])
  12440. {
  12441. Message(playerid, COLOR_GREY, "Weapon: [%s(%i)] Ammo: [%i]", ReturnWeaponName(Weapon[playerb][i][eWeaponID]), Weapon[playerb][i][eWeaponID], Weapon[playerb][i][eWeaponAmmo]);
  12442. }
  12443. Message(playerid, COLOR_GREY, "Interior: [%i], World: [%i] Car ID: [%i], State: [%i], Health: [%f], Armor: [%f]", GetPlayerInterior(playerb), GetPlayerVirtualWorld(playerid), _has_spawned_vehicleid[playerb], GetPlayerState(playerb), Health, Armor);
  12444. Message(playerid, COLOR_GREY, "Money out: [$%s] - Should have: [$%s] - Ajail time: [%i] Ajail: [%i] ", MoneyFormat(GetPlayerMoney(playerb)), MoneyFormat(PlayerData[playerb][pMoney]), PlayerData[playerb][pAjailTime], PlayerData[playerb][pAjailed]);
  12445. Message(playerid, COLOR_GREY, "CH1: [%i] CH2: [%i] CH3: [%i] CH4: [%i] Crashed: [%s]", PlayerData[playerb][pRadio][0], PlayerData[playerb][pRadio][1], PlayerData[playerb][pRadio][2], PlayerData[playerb][pRadio][3], (PlayerData[playerb][pCrashed] != 1) ? ("No") : ("Yes"));
  12446. Message(playerid, COLOR_GREY, "AFK Time: [%i] UserID: [%i] Last ME/DO: [%i] Skin: [%i] Mask: [%i_%i]", PlayerData[playerb][pPauseTime], PlayerData[playerb][pSQLID], gettime() - PlayerData[playerb][pLastEmoteTime], GetPlayerSkin(playerb), PlayerData[playerb][pMaskID], PlayerData[playerb][pMaskIDEx]);
  12447. Message(playerid, COLOR_GREY, "Last CMD: [%i] Last Talk:[%i] Seconds on: [%i]", gettime() - PlayerData[playerb][pLastCMDTime], gettime() - PlayerData[playerb][pLastChat], NetStats_GetConnectedTime(playerb));
  12448. return 1;
  12449. }
  12450. CMD:checkmask(playerid, params[])
  12451. {
  12452. if(!PlayerData[playerid][pAdmin])
  12453. return UnAuthMessage(playerid);
  12454. new
  12455. str[128], query[128], primary, sub;
  12456. if(sscanf(params, "ii", primary, sub))
  12457. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /checkmask Value Value (i.e: /checkmask 40404 21)");
  12458. if(primary < 200000 || sub < 40)
  12459. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You specified an impossible Mask ID.");
  12460. mysql_format(m_Handle, query, sizeof(query), "SELECT Name FROM players WHERE MaskID = %i AND MaskIDEx = %i LIMIT 1", primary, sub);
  12461. new Cache:cache = mysql_query(m_Handle, query);
  12462. new Name[60];
  12463. if(!cache_num_rows())
  12464. {
  12465. cache_delete(cache);
  12466. format(str, sizeof(str), "[-] [Mask %d_%d] does not exist in the database.", primary, sub);
  12467. SendClientMessage(playerid, COLOR_ADM, str);
  12468. return 1;
  12469. }
  12470. cache_get_value_name(0, "Name", Name);
  12471. format(str, sizeof(str), "[-] [Mask %d_%d] is used by '%s'", primary, sub, Name);
  12472. SendClientMessage(playerid, COLOR_ADM, str);
  12473. cache_delete(cache);
  12474. return 1;
  12475. }
  12476. CMD:findweapon(playerid, params[])
  12477. {
  12478. if(!PlayerData[playerid][pAdmin])
  12479. return UnAuthMessage(playerid);
  12480. new
  12481. weapon_id, weapon, ammo;
  12482. if(sscanf(params, "i", weapon_id))
  12483. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /findweapon [weapon id]");
  12484. SendClientMessage(playerid, COLOR_ADM, "Players with that weapon:");
  12485. foreach(new i : Player)
  12486. {
  12487. for(new f = 0; f < 13; f++)
  12488. {
  12489. GetPlayerWeaponData(i, f, weapon, ammo);
  12490. if(weapon == weapon_id)
  12491. {
  12492. Message(playerid, COLOR_GREY, "%s(ID: %i) - %s [Ammo: %d]", ReturnName(i), i, ReturnWeaponName(weapon), ammo);
  12493. }
  12494. }
  12495. }
  12496. return 1;
  12497. }
  12498. CMD:checkvehdrugs(playerid, params[])
  12499. {
  12500. if(!PlayerData[playerid][pAdmin])
  12501. return UnAuthMessage(playerid);
  12502. new vehicleid, string[128];
  12503. if(sscanf(params, "i", vehicleid))
  12504. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /checkvehdrugs [vehicle id]");
  12505. if(!IsValidVehicle(vehicleid))
  12506. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid vehicle.");
  12507. if(!IsValidPlayerCar(vehicleid))
  12508. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a player car.");
  12509. Message(playerid, COLOR_ADM, "VEHICLE ID: [%i] DBID ID: [%i] USER ID:[%i]", vehicleid, CarData[vehicleid][carID], CarData[vehicleid][carOwnerID]);
  12510. for (new i = 0; i < 10; i++)
  12511. {
  12512. if (CarDrugData[vehicleid][i][drugQuantity] > 0)
  12513. {
  12514. format(string, sizeof(string), "[ {FFFFFF}%d. %s (%s: %.1f%s/%.1f%s) (Strength: %d) {FF6347}]",
  12515. i, GetPackageType(CarDrugData[vehicleid][i][drugPackage]), ReturnDrugsName(CarDrugData[vehicleid][i][drugType]), CarDrugData[vehicleid][i][drugQuantity], (IsPill(CarDrugData[vehicleid][i][drugType]) == 1) ? (" Pills") : ("g"),
  12516. GetPackageCapacity(CarDrugData[vehicleid][i][drugPackage], CarDrugData[vehicleid][i][drugType]), (IsPill(CarDrugData[vehicleid][i][drugType]) == 1) ? (" Pills") : ("g"), CarDrugData[vehicleid][i][drugStrength]);
  12517. SendClientMessage(playerid, COLOR_WHITE, string);
  12518. }
  12519. }
  12520. return 1;
  12521. }
  12522. CMD:checkvehpackages(playerid, params[])
  12523. {
  12524. if(!PlayerData[playerid][pAdmin])
  12525. return UnAuthMessage(playerid);
  12526. new vehicleid;
  12527. if(sscanf(params, "i", vehicleid))
  12528. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /checkvehpackages [vehicle id]");
  12529. if(!IsValidVehicle(vehicleid))
  12530. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid vehicle.");
  12531. if(!IsValidPlayerCar(vehicleid))
  12532. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a player car.");
  12533. Message(playerid, COLOR_ADM, "VEHICLE ID: [%i] DBID ID: [%i] USER ID:[%i]", vehicleid, CarData[vehicleid][carID], CarData[vehicleid][carOwnerID]);
  12534. DisplayVehiclePackages(playerid, vehicleid, 0);
  12535. return 1;
  12536. }
  12537. CMD:arealookup(playerid, params[])
  12538. {
  12539. if(!PlayerData[playerid][pAdmin])
  12540. return UnAuthMessage(playerid);
  12541. if(isnull(params))
  12542. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /arealookup [name] to lookup players in that area");
  12543. Message(playerid, COLOR_ADM, "Players in the '%s' area:", params);
  12544. foreach(new i : Player)
  12545. {
  12546. if(!pLoggedIn[i])
  12547. continue;
  12548. if(!strcmp(ReturnLocation(i), params, true))
  12549. {
  12550. Message(playerid, COLOR_GREY, "%s[ID: %i] was found", ReturnName(i), i);
  12551. }
  12552. }
  12553. return 1;
  12554. }
  12555. CMD:nearme(playerid, params[])
  12556. {
  12557. if(!PlayerData[playerid][pAdmin])
  12558. return UnAuthMessage(playerid);
  12559. new
  12560. Float:distance,
  12561. Float:x,
  12562. Float:y,
  12563. Float:z
  12564. ;
  12565. if(sscanf(params, "F(25.0)", distance))
  12566. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /nearme [distance] Default 25.0 Players near you");
  12567. Message(playerid, COLOR_ADM, "Players within %f radius of you:", distance);
  12568. GetPlayerPos(playerid, x, y, z);
  12569. foreach(new i : Player)
  12570. {
  12571. if(i == playerid)
  12572. continue;
  12573. if(IsPlayerInRangeOfPoint(i, distance, x, y, z))
  12574. {
  12575. Message(playerid, COLOR_GREY, "%s[ID: %i] Is Masked: %s Car ID: %i", ReturnName(i), i, (PlayerData[i][pMasked] != 1) ? ("No") : ("Yes"), GetPlayerVehicleID(i));
  12576. }
  12577. }
  12578. return 1;
  12579. }
  12580. CMD:watchdamages(playerid, params[])
  12581. {
  12582. if(!PlayerData[playerid][pAdmin])
  12583. return UnAuthMessage(playerid);
  12584. new playerb;
  12585. if(sscanf(params, "u", playerb))
  12586. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /watchdamages [playerid/PartofName]");
  12587. if(!IsPlayerConnected(playerb))
  12588. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Player isn't connected.");
  12589. if(!pLoggedIn[playerb])
  12590. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Player isn't logged in.");
  12591. if(!WatchingDamages[playerid][playerb])
  12592. {
  12593. Message(playerid, COLOR_ADM, "You're now watching the damages %s(%i) takes.", ReturnName(playerb), playerb);
  12594. WatchingDamages[playerid][playerb] = 1;
  12595. }
  12596. else
  12597. {
  12598. Message(playerid, COLOR_ADM, "You're no longer watching %s's damages.", ReturnName(playerb), playerb);
  12599. WatchingDamages[playerid][playerb] = 0;
  12600. }
  12601. return 1;
  12602. }
  12603. CMD:vlog(playerid, params[])
  12604. {
  12605. if(!PlayerData[playerid][pAdmin])
  12606. return UnAuthMessage(playerid);
  12607. new
  12608. vehicleid;
  12609. if(sscanf(params, "i", vehicleid))
  12610. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /vlog [vehicleid]");
  12611. if(!IsValidVehicle(vehicleid))
  12612. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid vehicle.");
  12613. if(!IsValidPlayerCar(vehicleid))
  12614. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a valid player vehicle.");
  12615. PlayerVlogVehicle[playerid] = vehicleid;
  12616. ShowVehicleLogs(playerid, vehicleid, 1);
  12617. return 1;
  12618. }
  12619. CMD:listvehicles(playerid, params[])
  12620. {
  12621. if(!PlayerData[playerid][pAdmin])
  12622. return UnAuthMessage(playerid);
  12623. new playerb;
  12624. if(sscanf(params, "u", playerb))
  12625. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /listvehicles [playerid/PartofName]");
  12626. if(!IsPlayerConnected(playerb))
  12627. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Player isn't connected.");
  12628. if(!pLoggedIn[playerb])
  12629. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Player isn't logged in.");
  12630. Message(playerid, COLOR_ADM, "Player %s[ID: %i] has vehicles:", ReturnName(playerb), playerb);
  12631. for(new i = 0; i < MAX_OWNED_CARS; i++) if(PlayerData[playerb][pOwnedCar][i])
  12632. Message(playerid, COLOR_GREY, "Vehicle DBID: [%i]", PlayerData[playerb][pOwnedCar][i]);
  12633. return 1;
  12634. }
  12635. CMD:log(playerid, params[])
  12636. {
  12637. if(!PlayerData[playerid][pAdmin])
  12638. return UnAuthMessage(playerid);
  12639. return SendClientMessage(playerid, COLOR_ADM, "Command disabled. Please contact a Developer or Hossenberg for logs.");
  12640. /*new playerb;
  12641. if(sscanf(params, "u", playerb))
  12642. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /log [playerid/PartofName]");
  12643. if(!IsPlayerConnected(playerb))
  12644. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  12645. if(!pLoggedIn[playerb])
  12646. return SendClientMessage(playerid, COLOR_ADM, "That player hasn't logged in yet.");
  12647. PlayerLogPlayer[playerid] = playerb;
  12648. ShowPlayerLogs(playerid, playerb, 1);*/
  12649. //return 1;
  12650. }
  12651. CMD:desync(playerid, params[])
  12652. {
  12653. if(!PlayerData[playerid][pAdmin])
  12654. return UnAuthMessage(playerid);
  12655. new
  12656. playerb;
  12657. if(sscanf(params, "u", playerb))
  12658. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /desync [playerid/PartofName]");
  12659. if(!IsPlayerConnected(playerb))
  12660. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  12661. if(!pLoggedIn[playerb])
  12662. return SendClientMessage(playerid, COLOR_ADM, "That player hasn't logged in yet.");
  12663. Message(playerid, COLOR_ADM, "[ ! ] %s is %s", ReturnName(playerb), (GetPlayerDrunkLevel(playerb) != 0) ? ("not desynced right now.") : ("DESYNCED!"));
  12664. return 1;
  12665. }
  12666. CMD:getincar(playerid, params[])
  12667. {
  12668. if(!PlayerData[playerid][pAdmin])
  12669. return UnAuthMessage(playerid);
  12670. new vehicleid, seat;
  12671. new string[128];
  12672. if(sscanf(params, "ii", vehicleid, seat))
  12673. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /getincar [vehicleid] [seat]");
  12674. if(seat < 0 || seat > 4)
  12675. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Invalid seat.");
  12676. if(!IsValidVehicle(vehicleid))
  12677. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid vehicle.");
  12678. if(!IsSeatAvailable(vehicleid, seat))
  12679. return SendClientMessage(playerid, COLOR_ADM, "There's a player in that seat.");
  12680. if(NoEngineCar(vehicleid) && seat > 0)
  12681. return SendClientMessage(playerid, COLOR_ADM, "That's a bike, use seat ID 0.");
  12682. new vworld;
  12683. vworld = GetVehicleVirtualWorld(vehicleid);
  12684. PutPlayerInVehicle(playerid, vehicleid, seat);
  12685. SetPlayerVirtualWorld(playerid, vworld);
  12686. if(PlayerData[playerid][pAdmin] < 3)
  12687. {
  12688. format(string, sizeof(string), "%s teleported into vehicle ID %i.", ReturnName(playerid), vehicleid);
  12689. adminWarn(3, string);
  12690. }
  12691. Message(playerid, COLOR_GREY, "You teleported into vehicle ID %i.", vehicleid);
  12692. return 1;
  12693. }
  12694. CMD:spec(playerid, params[]) return cmd_spectate(playerid, params);
  12695. CMD:spectate(playerid, params[])
  12696. {
  12697. new string[128], playerb;
  12698. if(!pLoggedIn[playerid])return true;
  12699. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12700. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /spectate [playerid/PartofName]");
  12701. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65534 is not an active player.");
  12702. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  12703. if(playerb == playerid) return SendClientMessage(playerid, COLOR_ADM, "Hazard's an idiot LOL!");
  12704. if(PlayerData[playerb][pSpectator] != -1 && PlayerData[playerb][pSpecVehicle] != -1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That players in spectator mode already.");
  12705. if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
  12706. {
  12707. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  12708. GetPlayerFacingAngle(playerid, PlayerData[playerid][pPos][3]);
  12709. PlayerData[playerid][pInterior] = GetPlayerInterior(playerid);
  12710. PlayerData[playerid][pWorld] = GetPlayerVirtualWorld(playerid);
  12711. }
  12712. SetPlayerInterior(playerid, GetPlayerInterior(playerb));
  12713. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerb));
  12714. TogglePlayerSpectating(playerid, true);
  12715. if(!IsPlayerInAnyVehicle(playerb))
  12716. PlayerSpectatePlayer(playerid, playerb);
  12717. else PlayerSpectateVehicle(playerid, GetPlayerVehicleID(playerb));
  12718. PlayerData[playerid][pSpectator] = playerb;
  12719. if(PlayerData[playerid][pSpecVehicle] != -1){
  12720. PlayerData[playerid][pSpecVehicle] = -1;
  12721. }
  12722. if(PlayerData[playerb][pSQLID] == 1)
  12723. Message(playerb, COLOR_GREY, "-> %s started spectating you...", ReturnName(playerid));
  12724. format(string, sizeof(string), "You're now spectating (%s). You can use /watchoff to stop.", ReturnName(playerb, 1));
  12725. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  12726. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[playerb][i][eWeaponID])
  12727. {
  12728. Message(playerid, COLOR_GREY, "Weapon: [%s(%i)] Ammo: [%i]", ReturnWeaponName(Weapon[playerb][i][eWeaponID]), Weapon[playerb][i][eWeaponID], Weapon[playerb][i][eWeaponAmmo]);
  12729. }
  12730. if(GetPlayerDrunkLevel(playerb) == 0)SendClientMessage(playerid, COLOR_RED, "WARNING: This player is desynced.");
  12731. return true;
  12732. }
  12733. CMD:awc(playerid, params[])
  12734. {
  12735. new string[128], vehicleid;
  12736. if(!pLoggedIn[playerid])return true;
  12737. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12738. if(sscanf(params, "d", vehicleid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /awc [vehicleid]");
  12739. if(!IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  12740. if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
  12741. {
  12742. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  12743. GetPlayerFacingAngle(playerid, PlayerData[playerid][pPos][3]);
  12744. PlayerData[playerid][pInterior] = GetPlayerInterior(playerid);
  12745. PlayerData[playerid][pWorld] = GetPlayerVirtualWorld(playerid);
  12746. }
  12747. SetPlayerVirtualWorld(playerid, GetVehicleVirtualWorld(vehicleid));
  12748. TogglePlayerSpectating(playerid, true);
  12749. PlayerSpectateVehicle(playerid, vehicleid);
  12750. PlayerData[playerid][pSpecVehicle] = vehicleid;
  12751. if(PlayerData[playerid][pSpectator] != -1){
  12752. PlayerData[playerid][pSpectator] = -1;
  12753. }
  12754. format(string, sizeof(string), "You're now spectating (vehicleid %d). You can use /specoff to stop.", vehicleid);
  12755. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  12756. return true;
  12757. }
  12758. CMD:specoff(playerid, params[]) return cmd_stopspec(playerid, params);
  12759. CMD:spectateoff(playerid, params[]) return cmd_stopspec(playerid, params);
  12760. CMD:watchoff(playerid, params[]) return cmd_stopspec(playerid, params);
  12761. CMD:stopspec(playerid, params[])
  12762. {
  12763. if(!pLoggedIn[playerid]) return true;
  12764. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  12765. if(PlayerData[playerid][pSpectator] == -1 && PlayerData[playerid][pSpecVehicle] == -1)
  12766. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't spectating anyone right now.");
  12767. PlayerSpectatePlayer(playerid, INVALID_PLAYER_ID);
  12768. PlayerSpectateVehicle(playerid, INVALID_VEHICLE_ID);
  12769. TogglePlayerSpectating(playerid, false);
  12770. return true;
  12771. }
  12772. CMD:masks(playerid, params[])
  12773. {
  12774. new string[400], playerb;
  12775. if(!pLoggedIn[playerid])return true;
  12776. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12777. if(!isnull(params) && !strcmp(params, "all", true)){
  12778. new count = 0;
  12779. foreach(new i : Player)
  12780. {
  12781. if(PlayerData[i][pMasked] ==1)
  12782. {
  12783. format(string, sizeof(string), "%sName: %s (%d) | Mask ID: %d_%d\n", string, ReturnName(i, 1), i, PlayerData[i][pMaskID], PlayerData[i][pMaskIDEx]);
  12784. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Masked:", string, ">>", "");
  12785. count++;
  12786. }
  12787. }
  12788. if(!count)return ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Masked:", "There are NO masked players.", ">>", "");
  12789. }
  12790. if(sscanf(params, "d", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /masks [playerid/PartofName] OR `all`");
  12791. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12792. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  12793. format(string, sizeof(string), "-> %s (%d) is Mask %d_%d.", ReturnName(playerb, 1), playerb, PlayerData[playerb][pMaskID], PlayerData[playerb][pMaskIDEx]);
  12794. SendClientMessage(playerid, COLOR_ADM, string);
  12795. return true;
  12796. }
  12797. CMD:respawn(playerid, params[])
  12798. {
  12799. new string[128], playerb;
  12800. if(!pLoggedIn[playerid])return true;
  12801. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12802. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /respawn [playerid/PartofName]");
  12803. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12804. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  12805. format(string, sizeof(string), "%s respawned %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  12806. adminWarn(1, string);
  12807. PlayerData[playerid][pInsideApartment] = 0;
  12808. PlayerData[playerid][pInsideBusiness] = 0;
  12809. PlayerData[playerid][pInsideComplex] = 0;
  12810. PlayerData[playerid][pInsideGarage] = 0;
  12811. PlayerData[playerid][pInsideHouse] = 0;
  12812. PlayerData[playerid][pLegShot] = 0;
  12813. SetPlayerHealth(playerb, PlayerData[playerb][pMaxHealth]);
  12814. SpawnPlayerIn(playerb);
  12815. return true;
  12816. }
  12817. CMD:freeze(playerid, params[])
  12818. {
  12819. new string[128], playerb;
  12820. if(!pLoggedIn[playerid])return true;
  12821. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12822. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /freeze [playerid/PartofName]");
  12823. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12824. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  12825. TogglePlayerControllable(playerb, false);
  12826. format(string, sizeof(string), "AdmCmd: %s freezed %s.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  12827. SendClientMessage(playerid, COLOR_GREY, string);
  12828. if(playerb != playerid) { SendClientMessage(playerb, COLOR_GREY, string); }
  12829. format(string, sizeof(string), "%s froze %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  12830. adminWarn(4, string);
  12831. return true;
  12832. }
  12833. CMD:thaw(playerid, params[])
  12834. {
  12835. new string[128], playerb;
  12836. if(!pLoggedIn[playerid]) return true;
  12837. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  12838. if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /thaw [playerid/PartofName]");
  12839. if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12840. if(!pLoggedIn[playerb]) return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  12841. TogglePlayerControllable(playerb, true);
  12842. format(string, sizeof(string), "AdmCmd: %s thawed %s.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  12843. SendClientMessage(playerid, COLOR_GREY, string);
  12844. if(playerb != playerid) { SendClientMessage(playerb, COLOR_GREY, string); }
  12845. format(string, sizeof(string), "%s thawed %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  12846. adminWarn(4, string);
  12847. return true;
  12848. }
  12849. CMD:ptp(playerid, params[])
  12850. {
  12851. new string[128], Float:posa[3], Float:posb[3], playera, playerb;
  12852. if(!pLoggedIn[playerid])return true;
  12853. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12854. if(sscanf(params, "uu", playera, playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ptp [sending playerid] [playerid]");
  12855. if(!IsPlayerConnected(playera))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12856. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12857. if(!pLoggedIn[playera] && !pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  12858. GetPlayerPos(playera, posa[0], posa[1], posa[2]);
  12859. GetPlayerPos(playerb, posb[0], posb[1], posb[2]);
  12860. SendPlayer(playera, posb[0], posb[1], posb[2], GetPlayerInterior(playerb), GetPlayerVirtualWorld(playerb));
  12861. SendClientMessage(playera, COLOR_GREY, "You have been teleported");
  12862. format(string, sizeof(string), "%s teleported ID %d to ID %d.", ReturnName(playerid, 1), playera, playerb);
  12863. adminWarn(1, string);
  12864. return true;
  12865. }
  12866. CMD:p2biz(playerid, params[])
  12867. {
  12868. if(!pLoggedIn[playerid])return true;
  12869. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12870. new playerb, bizid, string[128];
  12871. if(sscanf(params, "ud", playerb, bizid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /p2biz [playerid/PartofName] [businessid]");
  12872. if(bizid > MAX_BUSINESS || !BusinessData[bizid][businessID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid business ID.");
  12873. SendPlayer(playerb, BusinessData[bizid][businessExt][0], BusinessData[bizid][businessExt][1], BusinessData[bizid][businessExt][2], 0, 0);
  12874. if(playerid != playerb) { SendClientMessage(playerb, COLOR_GREY, "You have been teleported"); }
  12875. format(string, sizeof(string), "%s teleported %s to business %d", ReturnName(playerid, 1), ReturnName(playerb, 1), bizid);
  12876. adminWarn(1, string);
  12877. return true;
  12878. }
  12879. CMD:p2house(playerid, params[])
  12880. {
  12881. if(!pLoggedIn[playerid])return true;
  12882. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12883. new playerb, houseid, string[128];
  12884. if(sscanf(params, "ud", playerb, houseid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /p2house [playerid/PartofName] [propertyid]");
  12885. if(houseid > MAX_BUSINESS || !PropertyData[houseid][propertyid]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid property ID.");
  12886. SendPlayer(playerb, PropertyData[houseid][propertyExterior][0], PropertyData[houseid][propertyExterior][1], PropertyData[houseid][propertyExterior][2], PropertyData[houseid][propertyExteriorWorld], PropertyData[houseid][propertyExteriorID]);
  12887. if(playerid != playerb) { SendClientMessage(playerb, COLOR_GREY, "You have been teleported"); }
  12888. format(string, sizeof(string), "%s teleported %s to property %d", ReturnName(playerid, 1), ReturnName(playerb, 1), houseid);
  12889. adminWarn(1, string);
  12890. return true;
  12891. }
  12892. CMD:interiors(playerid, params[])
  12893. {
  12894. if(!PlayerData[playerid][pAdmin])
  12895. return UnAuthMessage(playerid);
  12896. new primary[2500], sub[128];
  12897. for(new i = 0; i < sizeof Interiors; i++)
  12898. {
  12899. format(sub, sizeof(sub), "%s\n", Interiors[i][IntName]);
  12900. strcat(primary, sub);
  12901. }
  12902. ShowPlayerDialog(playerid, DIALOG_INTERIORS, DIALOG_STYLE_LIST, "Interiors:", primary, "Teleport", "<<");
  12903. return 1;
  12904. }
  12905. CMD:slap(playerid, params[])
  12906. {
  12907. new playerb, string[128];
  12908. if(!pLoggedIn[playerid])return true;
  12909. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12910. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /slap [playerid/PartofName]");
  12911. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  12912. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  12913. new Float:x, Float:y, Float:z;
  12914. GetPlayerPos(playerb, x, y, z);
  12915. SetPlayerPos(playerb, x, y, z + 5);
  12916. PlayNearbySound(playerb, 1130);
  12917. format(string, sizeof(string), "AdmCmd: %s slapped %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  12918. SendClientMessage(playerid, COLOR_GREY, string);
  12919. if(playerb != playerid){ SendClientMessage(playerb, COLOR_GREY, string); }
  12920. return true;
  12921. }
  12922. CMD:slapcar(playerid, params[])
  12923. {
  12924. new vehicleid, string[128];
  12925. if(!pLoggedIn[playerid])return true;
  12926. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12927. if(sscanf(params, "d", vehicleid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /slapcar [vehicleid]");
  12928. if(!IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  12929. new Float: currPos[3];
  12930. GetVehiclePos(vehicleid, currPos[0], currPos[1], currPos[2]);
  12931. SetVehiclePos(vehicleid, currPos[0], currPos[1], currPos[2] + 5);
  12932. format(string, sizeof(string), "AdmCmd: %s slapped vehicleid %d", ReturnName(playerid, 1), vehicleid);
  12933. SendClientMessage(playerid, COLOR_GREY, string);
  12934. return true;
  12935. }
  12936. CMD:o(playerid, params[]) return cmd_ooc(playerid, params);
  12937. CMD:ooc(playerid, params[])
  12938. {
  12939. if(isnull(params))
  12940. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /o(oc) [text]");
  12941. if(PlayerData[playerid][pAdmin])
  12942. {
  12943. if(strlen(params) > 80)
  12944. {
  12945. SendMessageToAll(COLOR_SAMP, "[OOC] %s: %.80s...", ReturnName(playerid, 1), params);
  12946. SendMessageToAll(COLOR_SAMP, "[OOC] %s: ...%s", ReturnName(playerid, 1), params[80]);
  12947. }
  12948. else SendMessageToAll(COLOR_SAMP, "[OOC] %s: %s", ReturnName(playerid, 1), params);
  12949. WriteLog("chat_logs/oocchat_log.txt", "[%s] %s said: %s", ReturnDate(), ReturnName(playerid, 1), params);
  12950. }
  12951. else
  12952. {
  12953. if(OOC == 1)
  12954. {
  12955. if(strlen(params) > 80)
  12956. {
  12957. SendMessageToAll(COLOR_SAMP, "[OOC] %s: %.80s...", ReturnName(playerid, 1), params);
  12958. SendMessageToAll(COLOR_SAMP, "[OOC] %s: ...%s", ReturnName(playerid, 1), params[80]);
  12959. }
  12960. else SendMessageToAll(COLOR_SAMP, "[OOC] %s: %s", ReturnName(playerid, 1), params);
  12961. WriteLog("chat_logs/oocchat_log.txt", "[%s] %s said: %s", ReturnDate(), ReturnName(playerid, 1), params);
  12962. }
  12963. else return UnAuthMessage(playerid);
  12964. }
  12965. return true;
  12966. }
  12967. CMD:aooc(playerid, params[])
  12968. {
  12969. if(!pLoggedIn[playerid])return true;
  12970. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12971. if(isnull(params))
  12972. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /aooc [text]");
  12973. SendMessageToAll(COLOR_ORANGE, "[AOOC] Admin %s (%s): %s", ReturnName(playerid, 1), PlayerData[playerid][pForumName], params);
  12974. WriteLog("chat_logs/a_oocchat_log.txt", "[%s] (AOOC) %s (%s) said: %s", ReturnDate(), ReturnName(playerid, 1), PlayerData[playerid][pForumName], params);
  12975. return true;
  12976. }
  12977. CMD:togdeath(playerid, params[])
  12978. {
  12979. if(!pLoggedIn[playerid])return true;
  12980. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12981. if(PlayerData[playerid][pTogDeath]){
  12982. PlayerData[playerid][pTogDeath] = false;
  12983. SendClientMessage(playerid, COLOR_ADM, "AdmCmd: You will no longer see death messages.");
  12984. }
  12985. else {
  12986. PlayerData[playerid][pTogDeath] = true;
  12987. SendClientMessage(playerid, COLOR_ADM, "AdmCmd: You will now see death messages.");
  12988. }
  12989. return true;
  12990. }
  12991. CMD:togadmwarn(playerid, params[])
  12992. {
  12993. if(!pLoggedIn[playerid])return true;
  12994. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  12995. if(!AdmWarmToggle[playerid])
  12996. {
  12997. AdmWarmToggle[playerid] = 1;
  12998. SendClientMessage(playerid, COLOR_ADM, "AdmCmd: You will now see the admin warnings!");
  12999. }
  13000. else
  13001. {
  13002. AdmWarmToggle[playerid] = 0;
  13003. SendClientMessage(playerid, COLOR_ADM, "AdmCmd: You will no longer see admin warnings!");
  13004. }
  13005. return true;
  13006. }
  13007. CMD:togdoubleexp(playerid, params[]) {
  13008. if(!pLoggedIn[playerid])
  13009. return true;
  13010. if(PlayerData[playerid][pAdmin] < 5)
  13011. return UnAuthMessage(playerid);
  13012. if (DoubleEXP) {
  13013. DoubleEXP = false;
  13014. SendRconCommand("hostname [0.3.DL] San Andreas '92 Singleplayer Roleplay");
  13015. } else {
  13016. DoubleEXP = true;
  13017. SendRconCommand("hostname [0.3.DL] San Andreas '92 Singleplayer Roleplay [2x EXP]");
  13018. }
  13019. return SendClientMessage(playerid, COLOR_ADM, sprintf("SUCCESS: You have toggled Double EXP %s!", (DoubleEXP ? "on" : "off")));
  13020. }
  13021. CMD:mute(playerid, params[])
  13022. {
  13023. new playerb;
  13024. if(!pLoggedIn[playerid])return true;
  13025. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13026. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /mute [playerid/PartofName]");
  13027. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13028. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  13029. if(!PlayerData[playerb][pMuted]){
  13030. SendMessageToAll(COLOR_ADM, "%s muted %s.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  13031. PlayerData[playerb][pMuted] = true;
  13032. }
  13033. else{
  13034. SendMessageToAll(COLOR_ADM, "%s unmuted %s.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  13035. PlayerData[playerb][pMuted] = false;
  13036. }
  13037. return true;
  13038. }
  13039. CMD:sethealth(playerid, params[])
  13040. {
  13041. if(!pLoggedIn[playerid])return true;
  13042. new string[128], playerb, health;
  13043. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13044. if(sscanf(params, "uI(-1)", playerb, health)){
  13045. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sethealth [playerid/PartofName] [health]");
  13046. SendClientMessage(playerid, COLOR_ADM, "Warning: Leaving health blank will default set to players max health.");
  13047. return true;
  13048. }
  13049. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13050. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  13051. if(health == -1){
  13052. SetPlayerHealth(playerb, PlayerData[playerb][pMaxHealth]);
  13053. format(string, sizeof(string), "%s gave %d health to %s", ReturnName(playerid, 1), PlayerData[playerb][pMaxHealth], ReturnName(playerb, 1));
  13054. adminWarn(1, string);
  13055. WriteLog("admin_logs/players/sethealth_log.txt", "[%s] %s set %s's health to %d.0", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerid, 1), PlayerData[playerb][pMaxHealth]);
  13056. return true;
  13057. }
  13058. SetPlayerHealth(playerb, health);
  13059. format(string, sizeof(string), "%s gave %d health to %s", ReturnName(playerid, 1), health, ReturnName(playerb, 1));
  13060. adminWarn(1, string);
  13061. WriteLog("admin_logs/players/sethealth_log.txt", "[%s] %s set %s's health to %d.0", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerid, 1), health);
  13062. return true;
  13063. }
  13064. CMD:setarmor(playerid, params[]) return cmd_setarmour(playerid, params);
  13065. CMD:setarmour(playerid, params[])
  13066. {
  13067. if(!pLoggedIn[playerid])return true;
  13068. new string[128], playerb, armor;
  13069. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13070. if(sscanf(params, "ui", playerb, armor))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setarmour [playerid/PartofName] [armor]");
  13071. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13072. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  13073. SetPlayerArmour(playerb, armor);
  13074. ArmorGiven[playerb] = 1;
  13075. format(string, sizeof(string), "%s gave %d armor to %s", ReturnName(playerid, 1), armor, ReturnName(playerb, 1));
  13076. adminWarn(1, string);
  13077. WriteLog("admin_logs/players/setarmor_log.txt", "[%s] %s set %s's armor to %d.0", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerid, 1), armor);
  13078. return true;
  13079. }
  13080. CMD:afks(playerid, params[])
  13081. {
  13082. if(!PlayerData[playerid][pAdmin])
  13083. return UnAuthMessage(playerid);
  13084. foreach(new i : Player)
  13085. {
  13086. if(GetTickCount() > (PlayerData[i][pPauseCheck]+2000))
  13087. Message(playerid, COLOR_GREY, "[AFK] %s - Time: %i Seconds", ReturnName(i), PlayerData[i][pPauseTime]);
  13088. }
  13089. return 1;
  13090. }
  13091. CMD:reports(playerid, params[])
  13092. {
  13093. if(!PlayerData[playerid][pAdmin])
  13094. return UnAuthMessage(playerid);
  13095. SendClientMessage(playerid, COLOR_YELLOW, "No reports if no box!");
  13096. new
  13097. primary_str[900], sub_str[128];
  13098. for(new i = 1; i < sizeof ReportData; i++) if(ReportData[i][reportExists])
  13099. {
  13100. format(sub_str, sizeof(sub_str), "RID: %i | %s: %.20s...\n", i, ReturnSQLName(ReportData[i][reportBy]), ReportData[i][reportReason]);
  13101. strcat(primary_str, sub_str);
  13102. }
  13103. ShowPlayerDialog(playerid, DIALOG_REPORTS, DIALOG_STYLE_LIST, "Reports:", primary_str, "Select", "<<");
  13104. new ncRequests;
  13105. foreach(new i : Player) if(GetPVarInt(i, "RequestedNC") == 2)
  13106. ncRequests++;
  13107. if(ncRequests)
  13108. SendClientMessage(playerid, COLOR_DARKGREEN, "_______________________________________");
  13109. foreach(new i : Player) if(GetPVarInt(i, "RequestedNC") == 2)
  13110. {
  13111. new requestedName[MAX_PLAYER_NAME + 1];
  13112. GetPVarString(i, "RequestedNCName", requestedName, MAX_PLAYER_NAME + 1);
  13113. Message(playerid, COLOR_ADM, "%s [ID: %i] is requesting a NC to: %s", ReturnName(i), i, requestedName);
  13114. }
  13115. return 1;
  13116. }
  13117. CMD:reportsx(playerid, params[])
  13118. {
  13119. if(!PlayerData[playerid][pAdmin])
  13120. return UnAuthMessage(playerid);
  13121. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________REPORTS____________________");
  13122. for(new i = 1; i < sizeof ReportData; i++) if(ReportData[i][reportExists])
  13123. {
  13124. if(strlen(ReportData[i][reportReason]) > 70)
  13125. {
  13126. Message(playerid, COLOR_REPORT, "%s | RID: %i | Pending: %i Minutes | Report: %.70s", ReturnSQLName(ReportData[i][reportBy]), i, SecondsToMinute(gettime() - ReportData[i][reportTime]), ReportData[i][reportReason]);
  13127. Message(playerid, COLOR_REPORT, "...%s", ReportData[i][reportReason][70]);
  13128. }
  13129. else Message(playerid, COLOR_REPORT, "%s | RID: %i | Pending: %i Minutes | Report: %s", ReturnSQLName(ReportData[i][reportBy]), i, SecondsToMinute(gettime() - ReportData[i][reportTime]), ReportData[i][reportReason]);
  13130. }
  13131. return 1;
  13132. }
  13133. CMD:ar(playerid, params[])return cmd_acceptreport(playerid, params);
  13134. CMD:acceptreport(playerid, params[])
  13135. {
  13136. if(!PlayerData[playerid][pAdmin])
  13137. return UnAuthMessage(playerid);
  13138. new
  13139. reportid, str[128];
  13140. if(sscanf(params, "d", reportid))return SendClientMessage(playerid, COLOR_ADM, "USAGE: /acceptreport [report id]");
  13141. if(reportid > MAX_REPORTS || !ReportData[reportid][reportExists]) return SendClientMessage(playerid, COLOR_ADM, "ERROR: That report doesn't exist.");
  13142. format(str, sizeof(str), "[REPORT]{FF9900} %s accepted report %d by %s", ReturnName(playerid, 1), reportid, ReturnSQLName(ReportData[reportid][reportBy]));
  13143. SendAdminMessage(COLOR_HELPER, str);
  13144. ClearReport(reportid);
  13145. return 1;
  13146. }
  13147. CMD:dr(playerid, params[])return cmd_disregardreport(playerid, params);
  13148. CMD:disregardreport(playerid, params[])
  13149. {
  13150. if(!PlayerData[playerid][pAdmin])
  13151. return UnAuthMessage(playerid);
  13152. new
  13153. reportid, str[128];
  13154. if(sscanf(params, "d", reportid))return SendClientMessage(playerid, COLOR_ADM, "USAGE: /disregardreport [report id]");
  13155. if(reportid > MAX_REPORTS || !ReportData[reportid][reportExists]) return SendClientMessage(playerid, COLOR_ADM, "ERROR: That report doesn't exist.");
  13156. format(str, sizeof(str), "[REPORT]{FF9900} %s disregarded report %d by %s", ReturnName(playerid, 1), reportid, ReturnSQLName(ReportData[reportid][reportBy]));
  13157. SendAdminMessage(COLOR_HELPER, str);
  13158. ClearReport(reportid);
  13159. return 1;
  13160. }
  13161. CMD:revive(playerid, params[])
  13162. {
  13163. if(!pLoggedIn[playerid]) return true;
  13164. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  13165. new playerb, string[128];
  13166. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /revive [playerid/PartofName]");
  13167. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13168. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  13169. if(!PlayerData[playerb][pBrutallyWounded])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't brutally wounded.");
  13170. PlayerData[playerb][pBrutallyWounded] = false;
  13171. PlayerData[playerb][pLegShot] = false;
  13172. PlayerData[playerb][pExecuteTime] = 0;
  13173. SetPlayerHealth(playerb, PlayerData[playerb][pMaxHealth]);
  13174. TogglePlayerControllable(playerb, true);
  13175. GameTextForPlayer(playerb, "~b~You were revived", 3000, 4);
  13176. SetPlayerChatBubble(playerb, "Respawned", COLOR_WHITE, 20.0, 2000);
  13177. ClearDamages(playerb);
  13178. SetPlayerTeam(playerb, STATE_ALIVE);
  13179. format(string, sizeof(string), "%s revived %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  13180. adminWarn(1, string);
  13181. return true;
  13182. }
  13183. CMD:clearinjuries(playerid, params[]) {
  13184. if (!pLoggedIn[playerid])
  13185. return true;
  13186. if (!PlayerData[playerid][pAdmin])
  13187. return UnAuthMessage(playerid);
  13188. new playerb;
  13189. if (sscanf(params, "u", playerb))
  13190. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /clearinjuries [playerid/PartofName]");
  13191. if (!IsPlayerConnected(playerb))
  13192. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13193. if (!pLoggedIn[playerb])
  13194. return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  13195. if (!PlayerData[playerb][pLegShot])
  13196. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't injured.");
  13197. PlayerData[playerb][pLegShot] = false;
  13198. adminWarn(1, sprintf("%s cleared %s's injuries.", ReturnName(playerid, 1), ReturnName(playerb, 1)));
  13199. return 1;
  13200. }
  13201. CMD:mark(playerid, params[])
  13202. {
  13203. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13204. GetPlayerPos(playerid, PlayerData[playerid][pMark][0], PlayerData[playerid][pMark][1], PlayerData[playerid][pMark][2]);
  13205. SendClientMessage(playerid, COLOR_ADM, "Marked. Use /goto mark next");
  13206. return true;
  13207. }
  13208. CMD:gotop(playerid, params[])
  13209. {
  13210. new spots;
  13211. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13212. if(sscanf(params, "n", spots))
  13213. {
  13214. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /gotop [number of location]");
  13215. SendClientMessage(playerid, COLOR_GREY, "|1. Los Santos |2. Las Venturas |3. San Fierro |4. Market Ammunation |5. Market DMV |6. LSLV Highway |7. Montgomery");
  13216. SendClientMessage(playerid, COLOR_GREY, "|8. Palomino |9. Dillimore |10. Fort Carson |11. Breach Center |12. Idlewood |13. El Corona |14. Idlegas |15. Ganton");
  13217. SendClientMessage(playerid, COLOR_GREY, "|16. Grove Circle |17. Willowfield |18. Seville |19. Los Flores |20. East Los |21. Jefferson |22. Glen Park");
  13218. SendClientMessage(playerid, COLOR_GREY, "|23. Downtown |24. Market |25. LS Runway |26. LV Runway |27. SF Runway |28. Mall |29. Trucker Trailers");
  13219. }
  13220. else
  13221. {
  13222. switch(spots)
  13223. {
  13224. case 1:
  13225. {
  13226. SendPlayer(playerid, 1514.1836, -1677.8027, 14.0469, 0, 0);
  13227. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13228. }
  13229. case 2:
  13230. {
  13231. SendPlayer(playerid, 1721.1599, 1444.5464, 10.5450, 0, 0);
  13232. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13233. }
  13234. case 3:
  13235. {
  13236. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13237. SendPlayer(playerid, -1751.6312, -607.6387, 16.2367, 0, 0);
  13238. }
  13239. case 4:
  13240. {
  13241. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13242. SendPlayer(playerid, 1364.0856, -1276.8530, 13.5469, 0, 0);
  13243. }
  13244. case 5:
  13245. {
  13246. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13247. SendPlayer(playerid, 1286.8722, -1540.2163, 13.4944, 0, 0);
  13248. }
  13249. case 6:
  13250. {
  13251. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13252. SendPlayer(playerid, 1622.8391,158.6248,34.8305, 0, 0);
  13253. }
  13254. case 7:
  13255. {
  13256. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13257. SendPlayer(playerid, 1348.9205,231.8964,19.2818, 0, 0);
  13258. }
  13259. case 8:
  13260. {
  13261. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13262. SendPlayer(playerid, 2284.1912, 26.9898, 26.2115, 0, 0);
  13263. }
  13264. case 9:
  13265. {
  13266. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13267. SendPlayer(playerid, 656.5389, -586.2031, 16.0592, 0, 0);
  13268. }
  13269. case 10:
  13270. {
  13271. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13272. SendPlayer(playerid, -58.4578,1168.8517,19.3818, 0, 0);
  13273. }
  13274. case 11:
  13275. {
  13276. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13277. SendPlayer(playerid, 2776.4807, 2416.5981, 11.0702, 0, 0);
  13278. }
  13279. case 12:
  13280. {
  13281. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13282. SendPlayer(playerid, 2098.6453,-1760.2810,13.5625, 0, 0);
  13283. }
  13284. case 13:
  13285. {
  13286. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13287. SendPlayer(playerid, 1882.9041,-2016.5022, 13.5469, 0, 0);
  13288. }
  13289. case 14:
  13290. {
  13291. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13292. SendPlayer(playerid, 1949.9351, -1769.6365, 13.5469, 0, 0);
  13293. }
  13294. case 15:
  13295. {
  13296. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13297. SendPlayer(playerid, 2225.5811, -1742.8641, 13.5634, 0, 0);
  13298. }
  13299. case 16:
  13300. {
  13301. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13302. SendPlayer(playerid, 2499.9521,-1686.2581,13.4776, 0, 0);
  13303. }
  13304. case 17:
  13305. {
  13306. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13307. SendPlayer(playerid, 2489.4878,-1941.6466,12.9567, 0, 0);
  13308. }
  13309. case 18:
  13310. {
  13311. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13312. SendPlayer(playerid, 2767.3303, -1944.2482, 12.8437, 0, 0);
  13313. }
  13314. case 19:
  13315. {
  13316. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13317. SendPlayer(playerid, 2628.9937, -1250.3225, 49.2440, 0, 0);
  13318. }
  13319. case 20:
  13320. {
  13321. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13322. SendPlayer(playerid, 2363.8564, -1290.3566, 23.4254, 0, 0);
  13323. }
  13324. case 21:
  13325. {
  13326. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13327. SendPlayer(playerid, 2188.8093,-1294.6794,23.4828, 0, 0);
  13328. }
  13329. case 22:
  13330. {
  13331. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13332. SendPlayer(playerid, 2002.3489,-1277.4027,23.3324, 0, 0);
  13333. }
  13334. case 23:
  13335. {
  13336. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13337. SendPlayer(playerid, 1567.7167, -1311.5303, 16.7319, 0, 0);
  13338. }
  13339. case 24:
  13340. {
  13341. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13342. SendPlayer(playerid, 1102.7339, -1387.4949, 13.2131, 0, 0);
  13343. }
  13344. case 25:
  13345. {
  13346. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13347. SendPlayer(playerid, 1974.6187, -2459.8467, 13.5469, 0, 0);
  13348. }
  13349. case 26:
  13350. {
  13351. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13352. SendPlayer(playerid, 1512.8564, 1487.1121, 10.8273, 0, 0);
  13353. }
  13354. case 27:
  13355. {
  13356. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13357. SendPlayer(playerid, -1453.3241, -46.0731, 14.5469, 0, 0);
  13358. }
  13359. case 28:
  13360. {
  13361. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13362. SendPlayer(playerid, 1121.2642, -1412.9189, 13.5747, 0, 0);
  13363. }
  13364. case 29:
  13365. {
  13366. SendPlayer(playerid, 104.6114, -272.4609, 1.5781, 0, 0);
  13367. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13368. }
  13369. }
  13370. }
  13371. return 1;
  13372. }
  13373. CMD:ban(playerid, params[])
  13374. {
  13375. if(!pLoggedIn[playerid]) return true;
  13376. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  13377. new playerb, reason[128], query[400], str[128];
  13378. if(sscanf(params, "us[128]", playerb, reason)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ban [playerid/PartofName] [reason]");
  13379. if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13380. if(PlayerData[playerb][pAdmin] >= PlayerData[playerid][pAdmin])
  13381. return SendClientMessage(playerid, COLOR_ADM, "You can't do this to these type of players.");
  13382. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO bans (`Name`, `Reason`, `BannedBy`, `Date`, `IP`, `HWID`) VALUES('%e', '%e', '%e', '%e', '%e', '%e')", ReturnName(playerb, 1), reason, ReturnName(playerid, 1), ReturnDate(), ReturnIP(playerb), ReturnGPCI(playerb));
  13383. mysql_pquery(m_Handle, query);
  13384. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_bans (Name, Reason, BannedBy, Date, IP) VALUES('%e', '%e', '%e', '%e', '%e')", ReturnName(playerb, 1), reason, ReturnName(playerid), ReturnDateLog(), ReturnIP(playerb));
  13385. mysql_pquery(m_Handle, query);
  13386. SendMessageToAll(COLOR_ADM, "AdmCmd: %s was banned by %s, reason: %s", ReturnName(playerb, 1), ReturnName(playerid, 1), reason);
  13387. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  13388. {
  13389. if(aNotesData[playerb][i][anote_SQLID] != 0)
  13390. {
  13391. if(aNotesData[playerb][i][anote_active])
  13392. {
  13393. if(strlen(aNotesData[playerb][i][anote_reason]) > 45)
  13394. {
  13395. format(str, sizeof(str), "Player %s has %d active OnAdminAction notes on him, last is: %.45s", ReturnName(playerb, 1), CountAdminNotes(playerb), aNotesData[playerb][i][anote_reason]);
  13396. adminWarn(1, str);
  13397. format(str, sizeof(str), "...%s", aNotesData[playerb][i][anote_reason][45]);
  13398. adminWarn(1, str);
  13399. }
  13400. else
  13401. {
  13402. format(str, sizeof(str), "Player %s has %d active OnAdminAction notes on him, last is: %s", ReturnName(playerb, 1), CountAdminNotes(playerb), aNotesData[playerb][i][anote_reason]);
  13403. adminWarn(1, str);
  13404. }
  13405. }
  13406. }
  13407. }
  13408. KickEx(playerb);
  13409. printf("[DEBUG] AdmCmd: %s was banned by %s, reason: %s", ReturnName(playerb, 1), ReturnName(playerid, 1), reason);
  13410. WriteLog("admin_logs/punishments/ban_log.txt", "[%s] %s was banned by %s, reason: %s", ReturnDate(), ReturnName(playerb, 1), ReturnName(playerid, 1), reason);
  13411. return true;
  13412. }
  13413. CMD:offlineban(playerid, params[])
  13414. {
  13415. if(!pLoggedIn[playerid])
  13416. return true;
  13417. if(!PlayerData[playerid][pAdmin])
  13418. return UnAuthMessage(playerid);
  13419. new playerb[30], reason[128], query[90 + MAX_PLAYER_NAME];
  13420. if(sscanf(params, "s[30]s[128]", playerb, reason))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /offlineban [Firstname_Lastname] [reason]");
  13421. format(PlayerData[playerid][pSetReason], 128, "%s", reason);
  13422. mysql_format(m_Handle, query, sizeof(query), "SELECT Name, AdminLevel, IP, HWID FROM players WHERE Name = '%e'", playerb);
  13423. mysql_pquery(m_Handle, query, "SQL_CheckAccountBan", "i", playerid);
  13424. return true;
  13425. }
  13426. CMD:checkguns(playerid, params[])
  13427. {
  13428. if(!PlayerData[playerid][pAdmin])
  13429. return UnAuthMessage(playerid);
  13430. new
  13431. playerb,
  13432. bool:hasWeapons = false,
  13433. bool:hasWeaponsEx = false,
  13434. weapon_id[2][13]
  13435. ;
  13436. if(sscanf(params, "u", playerb))
  13437. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /checkguns [playerid/PartofName]");
  13438. if(!IsPlayerConnected(playerb))
  13439. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13440. Message(playerid, COLOR_ADM, ">> %s has the following server-sided weapons:", ReturnName(playerb));
  13441. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++)
  13442. {
  13443. if(Weapon[playerb][i][eWeaponAmmo] > 0)
  13444. {
  13445. hasWeapons = true;
  13446. Message(playerid, COLOR_ADM, ">{FFFFFF} [%i] %s - Ammo: %i [Receive code: %s]", Weapon[playerb][i][eWeaponID], ReturnWeaponName(Weapon[playerb][i][eWeaponID]), Weapon[playerb][i][eWeaponAmmo], ReturnWeaponReceiveString(playerid, Weapon[playerb][i][eWeaponID]));
  13447. }
  13448. }
  13449. if(!hasWeapons)
  13450. SendClientMessage(playerid, COLOR_ADM, ">{FFFFFF} This player has no weapons.");
  13451. Message(playerid, COLOR_ADM, ">> %s has these weapons overall:", ReturnName(playerb));
  13452. for(new i = 0; i < 13; i++)
  13453. {
  13454. GetPlayerWeaponData(playerb, i, weapon_id[0][i], weapon_id[1][i]);
  13455. if(weapon_id[0][i] != 0)
  13456. {
  13457. if(weapon_id[0][i] == WEAPON_SILENCED && PlayerData[playerb][pTaser])
  13458. continue;
  13459. hasWeaponsEx = true;
  13460. Message(playerid, COLOR_ADM, ">{FFFFFF} [%i] %s - Ammo: %i", weapon_id[0][i], ReturnWeaponName(weapon_id[0][i]), weapon_id[1][i]);
  13461. }
  13462. }
  13463. if(!hasWeaponsEx)
  13464. SendClientMessage(playerid, COLOR_ADM, ">{FFFFFF} This player has no weapons.");
  13465. else SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} If a weapon doesn't match their server-sided weapons, they're spawning weapons.");
  13466. return 1;
  13467. }
  13468. CMD:checkhp(playerid, params[])
  13469. {
  13470. if(!pLoggedIn[playerid])return true;
  13471. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13472. new playerb, string[128];
  13473. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /checkhp [playerid/PartofName]");
  13474. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13475. new Float:health, Float:armour;
  13476. GetPlayerHealth(playerb, health);
  13477. GetPlayerArmour(playerb, armour);
  13478. format(string, sizeof(string), "SERVER: %s's health is %.1f (Max health: %d.0), armor is %.1f.", ReturnName(playerb, 1), health, PlayerData[playerid][pMaxHealth], armour);
  13479. SendClientMessage(playerid, COLOR_ADM, string);
  13480. return true;
  13481. }
  13482. CMD:dropinfo(playerid, params[])
  13483. {
  13484. if(!PlayerData[playerid][pAdmin])
  13485. return UnAuthMessage(playerid);
  13486. new
  13487. idx;
  13488. if( (idx = IsPlayerNearDroppedWeapon(playerid)) != -1 )
  13489. {
  13490. Message(playerid, COLOR_YELLOW, "[%i] This is a %s with %d Ammo dropped by %s.", idx, ReturnWeaponName(DropData[idx][eDropWeaponID]), DropData[idx][eDropWeaponAmmo], ReturnSQLName(DropData[idx][eWeaponDroppedBy]));
  13491. }
  13492. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a dropped weapon.");
  13493. return true;
  13494. }
  13495. CMD:sendplayer(playerid, params[])
  13496. {
  13497. new spots, playerb, string[128];
  13498. if(!PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  13499. if(sscanf(params, "un", playerb, spots))
  13500. {
  13501. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sendplayer [playerid/PartofName] [location]");
  13502. SendClientMessage(playerid, COLOR_GREY, "|1. Los Santos |2. Las Venturas |3. San Fierro |4. Market Ammunation |5. Market DMV |6. LSLV Highway |7. Montgomery");
  13503. SendClientMessage(playerid, COLOR_GREY, "|8. Palomino |9. Dillimore |10. Fort Carson |11. Breach Center |12. Idlewood |13. El Corona |14. Idlegas |15. Ganton");
  13504. SendClientMessage(playerid, COLOR_GREY, "|16. Grove Circle |17. Willowfield |18. Seville |19. Los Flores |20. East Los |21. Jefferson |22. Glen Park");
  13505. SendClientMessage(playerid, COLOR_GREY, "|23. Downtown |24. Market |25. LS Runway |26. LV Runway |27. SF Runway |28. Mall |29. Trucker Trailers");
  13506. return 1;
  13507. }
  13508. else
  13509. {
  13510. switch(spots)
  13511. {
  13512. case 1:
  13513. {
  13514. SendPlayer(playerb, 1514.1836, -1677.8027, 14.0469, 0, 0);
  13515. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13516. }
  13517. case 2:
  13518. {
  13519. SendPlayer(playerb, 1721.1599, 1444.5464, 10.5450, 0, 0);
  13520. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13521. }
  13522. case 3:
  13523. {
  13524. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13525. SendPlayer(playerb, -1751.6312, -607.6387, 16.2367, 0, 0);
  13526. }
  13527. case 4:
  13528. {
  13529. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13530. SendPlayer(playerb, 1364.0856, -1276.8530, 13.5469, 0, 0);
  13531. }
  13532. case 5:
  13533. {
  13534. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13535. SendPlayer(playerb, 1286.8722, -1540.2163, 13.4944, 0, 0);
  13536. }
  13537. case 6:
  13538. {
  13539. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13540. SendPlayer(playerb, 1622.8391,158.6248,34.8305, 0, 0);
  13541. }
  13542. case 7:
  13543. {
  13544. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13545. SendPlayer(playerb, 1348.9205,231.8964,19.2818, 0, 0);
  13546. }
  13547. case 8:
  13548. {
  13549. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13550. SendPlayer(playerb, 2284.1912, 26.9898, 26.2115, 0, 0);
  13551. }
  13552. case 9:
  13553. {
  13554. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13555. SendPlayer(playerb, 656.5389, -586.2031, 16.0592, 0, 0);
  13556. }
  13557. case 10:
  13558. {
  13559. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13560. SendPlayer(playerb, -58.4578,1168.8517,19.3818, 0, 0);
  13561. }
  13562. case 11:
  13563. {
  13564. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13565. SendPlayer(playerb, 2776.4807, 2416.5981, 11.0702, 0, 0);
  13566. }
  13567. case 12:
  13568. {
  13569. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13570. SendPlayer(playerb, 2098.6453,-1760.2810,13.5625, 0, 0);
  13571. }
  13572. case 13:
  13573. {
  13574. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13575. SendPlayer(playerb, 1882.9041,-2016.5022, 13.5469, 0, 0);
  13576. }
  13577. case 14:
  13578. {
  13579. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13580. SendPlayer(playerb, 1949.9351, -1769.6365, 13.5469, 0, 0);
  13581. }
  13582. case 15:
  13583. {
  13584. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13585. SendPlayer(playerb, 2225.5811, -1742.8641, 13.5634, 0, 0);
  13586. }
  13587. case 16:
  13588. {
  13589. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13590. SendPlayer(playerb, 2499.9521,-1686.2581,13.4776, 0, 0);
  13591. }
  13592. case 17:
  13593. {
  13594. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13595. SendPlayer(playerb, 2489.4878,-1941.6466,12.9567, 0, 0);
  13596. }
  13597. case 18:
  13598. {
  13599. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13600. SendPlayer(playerb, 2767.3303, -1944.2482, 12.8437, 0, 0);
  13601. }
  13602. case 19:
  13603. {
  13604. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13605. SendPlayer(playerb, 2628.9937, -1250.3225, 49.2440, 0, 0);
  13606. }
  13607. case 20:
  13608. {
  13609. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13610. SendPlayer(playerb, 2363.8564, -1290.3566, 23.4254, 0, 0);
  13611. }
  13612. case 21:
  13613. {
  13614. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13615. SendPlayer(playerb, 2188.8093,-1294.6794,23.4828, 0, 0);
  13616. }
  13617. case 22:
  13618. {
  13619. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13620. SendPlayer(playerb, 2002.3489,-1277.4027,23.3324, 0, 0);
  13621. }
  13622. case 23:
  13623. {
  13624. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13625. SendPlayer(playerb, 1567.7167, -1311.5303, 16.7319, 0, 0);
  13626. }
  13627. case 24:
  13628. {
  13629. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13630. SendPlayer(playerb, 1102.7339, -1387.4949, 13.2131, 0, 0);
  13631. }
  13632. case 25:
  13633. {
  13634. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13635. SendPlayer(playerb, 1974.6187, -2459.8467, 13.5469, 0, 0);
  13636. }
  13637. case 26:
  13638. {
  13639. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13640. SendPlayer(playerb, 1512.8564, 1487.1121, 10.8273, 0, 0);
  13641. }
  13642. case 27:
  13643. {
  13644. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13645. SendPlayer(playerb, -1453.3241, -46.0731, 14.5469, 0, 0);
  13646. }
  13647. case 28:
  13648. {
  13649. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13650. SendPlayer(playerb, 1121.2642, -1412.9189, 13.5747, 0, 0);
  13651. }
  13652. case 29:
  13653. {
  13654. SendPlayer(playerb, 104.6114, -272.4609, 1.5781, 0, 0);
  13655. SendClientMessage(playerb, COLOR_GREY, "You have been teleported");
  13656. }
  13657. }
  13658. format(string, sizeof(string), "%s teleported %s to a location", ReturnName(playerid, 1), ReturnName(playerb, 1));
  13659. adminWarn(3, string);
  13660. }
  13661. return 1;
  13662. }
  13663. CMD:sendtospawn(playerid, params[]) {
  13664. if (!pLoggedIn[playerid])
  13665. return 1;
  13666. if (!PlayerData[playerid][pHelper] || !PlayerData[playerid][pAdmin])
  13667. return UnAuthMessage(playerid);
  13668. new playerb;
  13669. if (sscanf(params, "u", playerb))
  13670. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /sendtospawn [playerid/partOfName]");
  13671. SendPlayer(playerb, 1642.2314, -2333.6973, 13.5469, 0, 0);
  13672. SendClientMessage(playerid, COLOR_GREY, sprintf("You've sent %s to spawn.", ReturnName(playerb, 1)));
  13673. adminWarn(1, sprintf("%s has sent %s to spawn", ReturnName(playerid, 1), ReturnName(playerb, 1)));
  13674. return 1;
  13675. }
  13676. CMD:respawncar(playerid, params[])
  13677. {
  13678. new string[128], vehicleid;
  13679. if(PlayerData[playerid][pAdminDuty]) {
  13680. if(sscanf(params, "d", vehicleid)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /respawncar [vehicle ID]");
  13681. if(vehicleid < 0 || !IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  13682. format(string, sizeof(string), "%s respawned vehicle ID %d", ReturnName(playerid, 1), vehicleid);
  13683. adminWarn(1, string);
  13684. SetVehicleToRespawn(vehicleid);
  13685. }
  13686. else{
  13687. if(IsPlayerInAnyVehicle(playerid)){
  13688. new car = GetPlayerVehicleID(playerid);
  13689. if(!IsValidFactionCar(car))
  13690. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a faction vehicle.");
  13691. if(IsPlayerInRangeOfPoint(playerid, 7.0, FactionCar[car][carPos][0], FactionCar[car][carPos][1], FactionCar[car][carPos][2])){
  13692. if(FactionCar[car][carFaction] == PlayerData[playerid][pFaction]){
  13693. SetVehicleToRespawn(car);
  13694. format(string, sizeof(string), "%s respawned their faction vehicle ID %d", ReturnName(playerid, 1), car);
  13695. adminWarn(1, string);
  13696. }
  13697. else{
  13698. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This vehicle doesn't belong to your faction.");
  13699. }
  13700. }
  13701. else{
  13702. SetPlayerCheckpoint(playerid, FactionCar[car][carPos][0], FactionCar[car][carPos][1], FactionCar[car][carPos][2], 3.0);
  13703. SendClientMessage(playerid, COLOR_ADM, "You aren't at your vehicles park spot.");
  13704. SendClientMessage(playerid, COLOR_PINK, "Hint: Follow the red marker to the park spot.");
  13705. }
  13706. }
  13707. else{
  13708. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a vehicle.");
  13709. }
  13710. }
  13711. return true;
  13712. }
  13713. CMD:respawncars(playerid, params[])
  13714. {
  13715. if(!pLoggedIn[playerid])return true;
  13716. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13717. new string[128], count = 0;
  13718. for(new i = 0; i < MAX_VEHICLES; i++)
  13719. {
  13720. new Float: currPos[3];
  13721. GetVehiclePos(i, currPos[0], currPos[1], currPos[2]);
  13722. if(IsPlayerInRangeOfPoint(playerid, 25.0, currPos[0], currPos[1], currPos[2])) {
  13723. if(!IsVehicleOccupied(i)) {
  13724. SetVehicleToRespawn(i);
  13725. count++;
  13726. }
  13727. }
  13728. }
  13729. if(count) {
  13730. format(string, sizeof(string), "AdmCmd: %s respawned nearby vehicles.", ReturnName(playerid, 1));
  13731. SendClientMessage(playerid, COLOR_GREY, string);
  13732. }
  13733. else return SendClientMessage(playerid, COLOR_GREY, "There are no nearby vehicles to respawn (25.0f radius). ");
  13734. return true;
  13735. }
  13736. CMD:checktime(playerid, params[])
  13737. {
  13738. if(!pLoggedIn[playerid])return true;
  13739. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  13740. new string[128], playerb, checkString[60];
  13741. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /checktime [playerid/PartofName]");
  13742. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13743. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  13744. if(!PlayerData[playerb][pAjailed]){
  13745. format(string, sizeof(string), "SERVER: %s is not admin jailed.", ReturnName(playerb, 1));
  13746. SendClientMessage(playerid, COLOR_YELLOW, string);
  13747. return true;
  13748. }
  13749. if(PlayerData[playerb][pAjailed] == 1)format(checkString, sizeof(checkString), "true");
  13750. if(PlayerData[playerb][pAjailed] == 0)format(checkString, sizeof(checkString), "false");
  13751. format(string, sizeof(string), "SERVER: %s has %s seconds left ( %d minutes ). Admin jail variable is %s.", ReturnName(playerb, 1), MoneyFormat(PlayerData[playerb][pAjailTime]), PlayerData[playerb][pAjailTime] / 60, checkString);
  13752. SendClientMessage(playerid, COLOR_YELLOW, string);
  13753. return true;
  13754. }
  13755. CMD:fly(playerid, params[])
  13756. {
  13757. if(!PlayerData[playerid][pAdmin])
  13758. return false;
  13759. new Float:px, Float:py, Float:pz, Float:pa;
  13760. GetPlayerFacingAngle(playerid, pa);
  13761. if(pa >= 0.0 && pa <= 22.5)
  13762. {
  13763. GetPlayerPos(playerid, px, py, pz);
  13764. if(GetPlayerState(playerid) == 2)
  13765. {
  13766. new tmpcar = GetPlayerVehicleID(playerid);
  13767. SetVehiclePos(tmpcar, px, py+30, pz+5);
  13768. }
  13769. else
  13770. {
  13771. SetPlayerPos(playerid, px, py+30, pz+5);
  13772. }
  13773. }
  13774. if(pa >= 332.5 && pa < 0.0)
  13775. {
  13776. GetPlayerPos(playerid, px, py, pz);
  13777. if(GetPlayerState(playerid) == 2)
  13778. {
  13779. new tmpcar = GetPlayerVehicleID(playerid);
  13780. SetVehiclePos(tmpcar, px, py+30, pz+5);
  13781. }
  13782. else
  13783. {
  13784. SetPlayerPos(playerid, px, py+30, pz+5);
  13785. }
  13786. }
  13787. if(pa >= 22.5 && pa <= 67.5)
  13788. {
  13789. GetPlayerPos(playerid, px, py, pz);
  13790. if (GetPlayerState(playerid) == 2)
  13791. {
  13792. new tmpcar = GetPlayerVehicleID(playerid);
  13793. SetVehiclePos(tmpcar, px-15, py+15, pz+5);
  13794. }
  13795. else
  13796. {
  13797. SetPlayerPos(playerid, px-15, py+15, pz+5);
  13798. }
  13799. }
  13800. if(pa >= 67.5 && pa <= 112.5)
  13801. {
  13802. GetPlayerPos(playerid, px, py, pz);
  13803. if (GetPlayerState(playerid) == 2)
  13804. {
  13805. new tmpcar = GetPlayerVehicleID(playerid);
  13806. SetVehiclePos(tmpcar, px-30, py, pz+5);
  13807. }
  13808. else
  13809. {
  13810. SetPlayerPos(playerid, px-30, py, pz+5);
  13811. }
  13812. }
  13813. if(pa >= 112.5 && pa <= 157.5)
  13814. {
  13815. GetPlayerPos(playerid, px, py, pz);
  13816. if(GetPlayerState(playerid) == 2)
  13817. {
  13818. new tmpcar = GetPlayerVehicleID(playerid);
  13819. SetVehiclePos(tmpcar, px-15, py-15, pz+5);
  13820. }
  13821. else
  13822. {
  13823. SetPlayerPos(playerid, px-15, py-15, pz+5);
  13824. }
  13825. }
  13826. if(pa >= 157.5 && pa <= 202.5)
  13827. {
  13828. GetPlayerPos(playerid, px, py, pz);
  13829. if (GetPlayerState(playerid) == 2)
  13830. {
  13831. new tmpcar = GetPlayerVehicleID(playerid);
  13832. SetVehiclePos(tmpcar, px, py-30, pz+5);
  13833. }
  13834. else
  13835. {
  13836. SetPlayerPos(playerid, px, py-30, pz+5);
  13837. }
  13838. }
  13839. if(pa >= 202.5 && pa <= 247.5)
  13840. {
  13841. GetPlayerPos(playerid, px, py, pz);
  13842. if(GetPlayerState(playerid) == 2)
  13843. {
  13844. new tmpcar = GetPlayerVehicleID(playerid);
  13845. SetVehiclePos(tmpcar, px+15, py-15, pz+5);
  13846. }
  13847. else
  13848. {
  13849. SetPlayerPos(playerid, px+15, py-15, pz+5);
  13850. }
  13851. }
  13852. if(pa >= 247.5 && pa <= 292.5)
  13853. {
  13854. GetPlayerPos(playerid, px, py, pz);
  13855. if (GetPlayerState(playerid) == 2)
  13856. {
  13857. new tmpcar = GetPlayerVehicleID(playerid);
  13858. SetVehiclePos(tmpcar, px+30, py, pz+5);
  13859. }
  13860. else
  13861. {
  13862. SetPlayerPos(playerid, px+30, py, pz+5);
  13863. }
  13864. }
  13865. if(pa >= 292.5 && pa <= 332.5)
  13866. {
  13867. GetPlayerPos(playerid, px, py, pz);
  13868. if(GetPlayerState(playerid) == 2)
  13869. {
  13870. new tmpcar = GetPlayerVehicleID(playerid);
  13871. SetVehiclePos(tmpcar, px+15, py+15, pz+5);
  13872. }
  13873. else
  13874. {
  13875. SetPlayerPos(playerid, px+15, py+15, pz+5);
  13876. }
  13877. }
  13878. return true;
  13879. }
  13880. CMD:ninjamove(playerid, params[])
  13881. {
  13882. if(!pLoggedIn[playerid])return true;
  13883. if(!PlayerData[playerid][pAdmin])return false;
  13884. new Float:currPos[3], playerb;
  13885. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ninjamove [playerid/PartofName]");
  13886. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65534 is not an active player.");
  13887. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  13888. GetPlayerPos(playerb, currPos[0], currPos[1], currPos[2]);
  13889. SetPlayerPos(playerid, currPos[0], currPos[1], currPos[2] + 15);
  13890. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  13891. return true;
  13892. }
  13893. CMD:forumname(playerid, params[])
  13894. {
  13895. if(!PlayerData[playerid][pAdmin] && !PlayerData[playerid][pHelper])
  13896. return UnAuthMessage(playerid);
  13897. if(isnull(params))
  13898. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /forumname [name]");
  13899. if(strlen(params) > 60)
  13900. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Make your forum name below 60 characters.");
  13901. if(!strcmp(params, "Kane", true) && PlayerData[playerid][pSQLID] != 1)
  13902. return SendClientMessage(playerid, COLOR_ADM, "You aren't Kane!!!!!!!!!!!!!!!!!!");
  13903. format(PlayerData[playerid][pForumName], 60, "%s", params);
  13904. Message(playerid, COLOR_ADM, "[ ! ] Your forum name is now: \"%s\". ", params);
  13905. new updateName[128];
  13906. mysql_format(m_Handle, updateName, sizeof(updateName), "UPDATE players SET ForumName = '%e' WHERE id = %i", params, PlayerData[playerid][pSQLID]);
  13907. mysql_tquery(m_Handle, updateName);
  13908. return 1;
  13909. }
  13910. CMD:toggleconnects(playerid, params[])
  13911. {
  13912. if(!PlayerData[playerid][pAdmin])
  13913. return 0;
  13914. if(PlayerData[playerid][pToggleConnects])
  13915. {
  13916. PlayerData[playerid][pToggleConnects] = 0;
  13917. SendClientMessage(playerid, COLOR_ADM, "[ ! ] You will no longer see connections.");
  13918. }
  13919. else
  13920. {
  13921. PlayerData[playerid][pToggleConnects] = 1;
  13922. SendClientMessage(playerid, COLOR_ADM, "[ ! ] You will now see connections.");
  13923. }
  13924. return 1;
  13925. }
  13926. CMD:clearmychat(playerid, params[])
  13927. {
  13928. if(!PlayerData[playerid][pAdmin])
  13929. return UnAuthMessage(playerid);
  13930. for(new i; i < 25; i++)
  13931. SendClientMessage(playerid, -1, " ");
  13932. return 1;
  13933. }
  13934. CMD:lastincar(playerid, params[])
  13935. {
  13936. new vehicleid, string[128];
  13937. if (!PlayerData[playerid][pAdmin])
  13938. return UnAuthMessage(playerid);
  13939. if (sscanf(params, "d", vehicleid))
  13940. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /lastincar [vehicle id]");
  13941. if (!IsValidVehicle(vehicleid))
  13942. return SendClientMessage(playerid, COLOR_ADM , "ERROR:{FFFFFF} You have specified an invalid vehicle. ");
  13943. if (IsValidFactionCar(vehicleid)) {
  13944. format (string, sizeof(string), "(Faction) Last in %s dbid#%d was %s. Last driver was %s.", ReturnVehicleName(vehicleid), FactionCar[vehicleid][carID], ReturnSQLName(FactionCar[vehicleid][carlastPassenger]),
  13945. ReturnSQLName(FactionCar[vehicleid][carlastDriver]));
  13946. SendClientMessage(playerid, COLOR_ADM, string);
  13947. }
  13948. if (IsValidPlayerCar(vehicleid)) {
  13949. format (string, sizeof(string), "(Private) Last in %s dbid#%d was %s. Last driver was %s.", ReturnVehicleName(vehicleid), CarData[vehicleid][carID], ReturnSQLName(CarData[vehicleid][carlastPassenger]),
  13950. ReturnSQLName(CarData[vehicleid][carlastDriver]));
  13951. SendClientMessage(playerid, COLOR_ADM, string);
  13952. }
  13953. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid)) {
  13954. if(IsValidRentalCar(vehicleid)) {
  13955. format (string, sizeof(string), "(Rental) Last in %s dbid#%d was %s. Last driver was %s.", ReturnVehicleName(vehicleid), RentalData[vehicleid][rentalcarSQLID], ReturnSQLName(CarlastPassenger[vehicleid]),
  13956. ReturnSQLName(CarlastDriver[vehicleid]));
  13957. SendClientMessage(playerid, COLOR_ADM, string);
  13958. }
  13959. else {
  13960. format (string, sizeof(string), "(Public) Last in %s veh#%d was %s. Last driver was %s.", ReturnVehicleName(vehicleid), vehicleid, ReturnSQLName(CarlastPassenger[vehicleid]), ReturnSQLName(CarlastDriver[vehicleid]));
  13961. SendClientMessage(playerid, COLOR_ADM, string);
  13962. }
  13963. }
  13964. return true;
  13965. }
  13966. CMD:clearguns(playerid, params[])
  13967. {
  13968. if(!PlayerData[playerid][pAdmin])
  13969. return 0;
  13970. new
  13971. playerb, type, str[128];
  13972. if(sscanf(params, "ui", playerb, type))
  13973. {
  13974. SendClientMessage(playerid, COLOR_ADM, "USAGE: /clearguns [playerid/PartofName] [type]");
  13975. SendClientMessage(playerid, COLOR_GRAD2, "Type was introduced with the changes to the weapons system.");
  13976. SendClientMessage(playerid, COLOR_GRAD2, "Type (0) is ALL the weapons the player has. (1) is weapons that can't be saved. (i.e: /duty guns)");
  13977. SendClientMessage(playerid, COLOR_GRAD2, "Type (2): Every. This clears client and server sided. Use 0 to determine weapon cheats.");
  13978. return 1;
  13979. }
  13980. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  13981. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a player that isn't logged in.");
  13982. if(type > 2 || type < 0)
  13983. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Bad Type.");
  13984. ClearPlayerWeapons(playerb, type);
  13985. format(str, sizeof(str), "%s cleared %s's (%s) weapons.", ReturnName(playerid), ReturnName(playerb), (type != 1) ? ("ALL") : ("Unsavable"));
  13986. adminWarn(1, str);
  13987. WriteLog("weapon_logs/admin_logs/clearguns.txt", "[%s] %s cleared %s's weapons.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1));
  13988. return 1;
  13989. }
  13990. CMD:adminnote(playerid, params[])
  13991. {
  13992. new playerb, query[128], a_string[128], b_string[128], string[128];
  13993. if(!PlayerData[playerid][pAdmin])
  13994. return UnAuthMessage(playerid);
  13995. if(sscanf(params, "us[128]S()[128]", playerb, a_string, b_string))
  13996. {
  13997. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /adminnote [playerid OR name] [action]");
  13998. SendClientMessage(playerid, COLOR_ADM, "[Action] add, alter, delete, display");
  13999. return true;
  14000. }
  14001. if (!IsPlayerConnected(playerb))
  14002. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  14003. if (!pLoggedIn[playerb])
  14004. return SendClientMessage(playerid, COLOR_ADM, "You specified a player that isn't logged in.");
  14005. if(!strcmp(a_string, "add"))
  14006. {
  14007. new reasons[128], slot_check = ReturnANoteSlot(playerb);
  14008. if(sscanf(b_string, "s[128]", reasons))
  14009. {
  14010. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /adminnote [playerid] add [reasons] ");
  14011. }
  14012. if (slot_check == -1)
  14013. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This player already has 5 admin notes on them.");
  14014. format(string, sizeof(string), "SERVER: An admin note was added to %s", ReturnName(playerb, 1));
  14015. SendClientMessage(playerid, COLOR_YELLOW, string);
  14016. format(string, sizeof(string), "%s added a admin note to %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  14017. adminWarn(3, string);
  14018. AddAdminNote(playerid, playerb, reasons);
  14019. }
  14020. else if(!strcmp(a_string, "alter"))
  14021. {
  14022. new reasons[128], id;
  14023. if(sscanf(b_string, "ds[128]", id, reasons))
  14024. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /adminnote [playerid] alter [noteid] [reasons]");
  14025. if(id < 1 || id > MAX_ADMIN_NOTES)
  14026. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid admin note ID.");
  14027. if(!aNotesData[playerb][id][anote_SQLID])
  14028. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player doesn't have a note in that ID.");
  14029. format(string, sizeof(string), "SERVER: %s's Note %d edited to : %s", ReturnName(playerb, 1), id, reasons);
  14030. SendClientMessage(playerid, COLOR_YELLOW, string);
  14031. format(aNotesData[playerb][id][anote_reason], 128, "%s", reasons);
  14032. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_anotes SET anote_reason = '%e' WHERE id = %i", reasons, aNotesData[playerb][id][anote_SQLID]);
  14033. mysql_pquery(m_Handle, query);
  14034. WriteLog("admin_logs/players/admin_note/edit_note.txt", "[%s] %s edited %s's Note (%d) to %s", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), id, reasons);
  14035. }
  14036. else if(!strcmp(a_string, "delete"))
  14037. {
  14038. new id;
  14039. if(sscanf(b_string, "d", id))
  14040. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /adminnote [playerid] delete [noteid]");
  14041. if(id < 1 || id > MAX_ADMIN_NOTES)
  14042. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid admin note ID.");
  14043. if(!aNotesData[playerb][id][anote_SQLID])
  14044. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player doesn't have a note in that ID.");
  14045. format(string, sizeof(string), "SERVER: %s's Note %d was deleted", ReturnName(playerb, 1), id);
  14046. SendClientMessage(playerid, COLOR_YELLOW, string);
  14047. if(aNotesData[playerb][id][anote_active])
  14048. {
  14049. aNotesData[playerb][id-1][anote_active] = true; // Sets the note before deleted active.
  14050. }
  14051. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM player_anotes WHERE id = %i", aNotesData[playerb][id][anote_SQLID]);
  14052. mysql_pquery(m_Handle, query);
  14053. aNotesData[playerb][id][anote_SQLID] = 0;
  14054. aNotesData[playerb][id][anote_active] = false;
  14055. WriteLog("admin_logs/players/admin_note/delete_note.txt", "[%s] %s deleted %s's Note ID %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), id);
  14056. }
  14057. else if(!strcmp(a_string, "display"))
  14058. {
  14059. new id;
  14060. if (CountAdminNotes(playerb) == 0)
  14061. {
  14062. format(string, sizeof(string), "SERVER: %s has no OnAdminAction notes to display.", ReturnName(playerb, 1));
  14063. SendClientMessage(playerid, COLOR_ADM, string);
  14064. return true;
  14065. }
  14066. if(sscanf(b_string, "d", id))
  14067. {
  14068. format(string, sizeof(string), "___________%s's Admin Notes___________", ReturnName(playerb, 1));
  14069. SendClientMessage(playerid, COLOR_ACTION, string);
  14070. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  14071. {
  14072. if(aNotesData[playerb][i][anote_SQLID])
  14073. {
  14074. format(string, sizeof(string), "Note %d: %s", i, aNotesData[playerb][i][anote_reason]);
  14075. SendClientMessage(playerid, COLOR_ACTION, string);
  14076. }
  14077. }
  14078. SendClientMessage(playerid, COLOR_ACTION, "______________________________________");
  14079. SendClientMessage(playerid, COLOR_ADM, "USAGE: /adminnote [playerid] display [noteid] for more information.");
  14080. return true;
  14081. }
  14082. if(id < 1 || id > MAX_ADMIN_NOTES)
  14083. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid admin note ID.");
  14084. if(!aNotesData[playerb][id][anote_SQLID])
  14085. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player doesn't have a note in that ID.");
  14086. format(string, sizeof(string), "___________%s's Note___________", ReturnName(playerb, 1));
  14087. SendClientMessage(playerid, COLOR_ACTION, string);
  14088. format(string, sizeof(string), "Note ID : %d", id);
  14089. SendClientMessage(playerid, COLOR_ACTION, string);
  14090. format(string, sizeof(string), "Reason : %s", aNotesData[playerb][id][anote_reason]);
  14091. SendClientMessage(playerid, COLOR_ACTION, string);
  14092. format(string, sizeof(string), "Issuer : %s", aNotesData[playerb][id][anote_issuer]);
  14093. SendClientMessage(playerid, COLOR_ACTION, string);
  14094. format(string, sizeof(string), "Date : %s", aNotesData[playerb][id][anote_date]);
  14095. SendClientMessage(playerid, COLOR_ACTION, string);
  14096. SendClientMessage(playerid, COLOR_ACTION, "_______________________________");
  14097. }
  14098. return true;
  14099. }
  14100. CMD:adminmsg(playerid, params[])
  14101. {
  14102. if (!PlayerData[playerid][pAdmin])
  14103. return false;
  14104. new playerb[32], string[128], query[200], n_reason[128];
  14105. if (sscanf(params, "s[60]s[128]", playerb, n_reason))
  14106. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /adminmsg [character name] [message]");
  14107. foreach(new i : Player) {
  14108. if(strfind(ReturnName(i, 1), playerb, true) != -1) {
  14109. format(string, sizeof(string), "SERVER: %s is logged in right now. (ID: %d)", playerb, i);
  14110. SendClientMessage(playerid, COLOR_YELLOW, string);
  14111. return true;
  14112. }
  14113. }
  14114. format(PlayerData[playerid][pAdminMsg], 128, "%s", n_reason);
  14115. mysql_format(m_Handle, query, sizeof(query), "SELECT Name, AdminMessage, AdminMessageBy, AdmMessageConfirm FROM `players` WHERE Name = '%e'", playerb);
  14116. mysql_pquery(m_Handle, query, "SQL_AddAdminMessage", "i", playerid);
  14117. return true;
  14118. }
  14119. CMD:logc(playerid, params[])
  14120. {
  14121. if(!PlayerData[playerid][pAdmin])
  14122. return UnAuthMessage(playerid);
  14123. new
  14124. playerb, specifier[20];
  14125. if(sscanf(params, "us[20]", playerb, specifier))
  14126. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /logc [playerid OR name] [chat / command]");
  14127. if(!IsPlayerConnected(playerb))
  14128. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid player.");
  14129. if(!pLoggedIn[playerb])
  14130. return SendClientMessage(playerid, COLOR_ADM, "That player hasn't logged in yet.");
  14131. if(PlayerData[playerb][pSQLID] == 1)
  14132. return SendClientMessage(playerid, COLOR_ADM, "Ahhh Oh My Gosh Wow!");
  14133. new
  14134. log_viewer[1350], stringit[128],
  14135. caption[60];
  14136. if(!strcmp(specifier, "chat", true))
  14137. {
  14138. Message(playerid, COLOR_ADM, "%s's chat logs. If no box, they haven't said anything.", ReturnName(playerb));
  14139. for(new i = 0; i < 30; i++)
  14140. {
  14141. if(isnull(PlayerChatLogs[playerid][i]))
  14142. continue;
  14143. format(stringit, 128, "%s\n", PlayerChatLogs[playerb][i]);
  14144. strcat(log_viewer, stringit);
  14145. }
  14146. format(caption, 60, "%s", ReturnName(playerb));
  14147. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, caption, log_viewer, "Okay!", "");
  14148. }
  14149. else if(!strcmp(specifier, "command", true))
  14150. {
  14151. Message(playerid, COLOR_ADM, "%s's command logs. If no box, they haven't done anything.", ReturnName(playerb));
  14152. for(new i = 0; i < 30; i++)
  14153. {
  14154. if(isnull(PlayerCommandLogs[playerid][i]))
  14155. continue;
  14156. format(stringit, 128, "%s\n", PlayerCommandLogs[playerb][i]);
  14157. strcat(log_viewer, stringit);
  14158. }
  14159. format(caption, 60, "%s", ReturnName(playerb));
  14160. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, caption, log_viewer, "Okay!", "");
  14161. }
  14162. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14163. return 1;
  14164. }
  14165. CMD:apark(playerid, params[])
  14166. {
  14167. if (!PlayerData[playerid][pAdmin])
  14168. return UnAuthMessage(playerid);
  14169. new vehicleid, string[128], query[110];
  14170. if (sscanf(params, "i", vehicleid))
  14171. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /apark [vehicleid] ");
  14172. if (!IsValidVehicle(vehicleid))
  14173. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14174. if (!IsValidPlayerCar(vehicleid))
  14175. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You may only park private player vehicles.");
  14176. new ownerid = CarData[vehicleid][carOwnerID];
  14177. foreach (new i : Player)
  14178. {
  14179. if(strfind(ReturnName(i, 1), ReturnSQLName(ownerid), true) != -1)
  14180. {
  14181. format(string, sizeof(string), "SERVER: Your %s was parked by Admin %s.", ReturnVehicleName(vehicleid), ReturnName(playerid, 1));
  14182. SendClientMessage(i, COLOR_ADM, string);
  14183. _has_vehicle_spawned[i] = false;
  14184. _has_spawned_vehicleid[i] = INVALID_VEHICLE_ID;
  14185. if(StartedTruckerMission[i] && TruckerMissionVehicle[i] == vehicleid)
  14186. {
  14187. SendClientMessage(i, COLOR_ADM, "Your trucker mission ended due to your vehicle being parked...");
  14188. if(TruckerJobEarnings[i] != 0)
  14189. format(string, sizeof(string), "You were given your earning of $%s.", MoneyFormat(TruckerJobEarnings[i]));
  14190. else string = "You didn't have any earnings to give back.";
  14191. SendClientMessage(i, COLOR_ADM, string);
  14192. EndTruckerMission(i);
  14193. }
  14194. }
  14195. else
  14196. {
  14197. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET HasCarSpawned = 0 WHERE id = %i", ownerid);
  14198. mysql_pquery(m_Handle, query);
  14199. }
  14200. }
  14201. foreach(new i : Player)
  14202. {
  14203. if(GetPVarInt(i, "DuplicateKey") == CarData[vehicleid][carID])
  14204. {
  14205. DeletePVar(i, "DuplicateKey");
  14206. Message(i, COLOR_WHITE, "Your duplicate key to %s's vehicle expired.", ReturnSQLName(CarData[vehicleid][carOwnerID]));
  14207. }
  14208. }
  14209. format (string, sizeof(string), "Parked by %s", ReturnName(playerid));
  14210. LogVehicleAction(vehicleid, string);
  14211. format (string, sizeof(string), "%s parked %s's %s.", ReturnName(playerid, 1), ReturnSQLName(ownerid), ReturnVehicleName(vehicleid));
  14212. adminWarn(1, string);
  14213. CarData[vehicleid][carExists] = false;
  14214. SaveCar(vehicleid);
  14215. SetVehicleHealth(vehicleid, 300);
  14216. DefaultVehicleValues(vehicleid);
  14217. DestroyVehicle(vehicleid);
  14218. return true;
  14219. }
  14220. CMD:unban(playerid, params[])
  14221. {
  14222. if(!PlayerData[playerid][pAdmin])
  14223. return 0;
  14224. if(isnull(params))
  14225. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /unban [username]");
  14226. if(!ReturnSQLFromName(params))
  14227. return SendClientMessage(playerid, COLOR_ADM, "ERROR: The username you specified doesn't exist.");
  14228. new thread[190];
  14229. mysql_format(m_Handle, thread, sizeof(thread), "SELECT id FROM bans WHERE Name = '%e'", params);
  14230. mysql_tquery(m_Handle, thread, "CheckPlayerBanned", "is", playerid, params);
  14231. return 1;
  14232. }
  14233. CMD:setfuel(playerid, params[])
  14234. {
  14235. if(!PlayerData[playerid][pAdmin])
  14236. return UnAuthMessage(playerid);
  14237. new vehicleid, Float:fuel;
  14238. if(sscanf(params, "if", vehicleid, fuel))
  14239. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setfuel [vehicleid] [fuel]");
  14240. if(!IsValidVehicle(vehicleid))
  14241. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid vehicle!");
  14242. if(!IsValidPlayerCar(vehicleid))
  14243. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can only set fuel on player cars.");
  14244. if(fuel < 0 || fuel > 100)
  14245. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Fuel has to be between 1-100.");
  14246. new str[128];
  14247. format(str, sizeof(str), "%s set vehicle ID %i's fuel to %.2f", ReturnName(playerid), vehicleid, fuel);
  14248. adminWarn(1, str);
  14249. CarData[vehicleid][carFuel] = fuel;
  14250. return 1;
  14251. }
  14252. CMD:spawnedtrailers(playerid, params[])
  14253. {
  14254. if(!PlayerData[playerid][pAdmin])
  14255. return 0;
  14256. foreach(new i : Player) if(SpawnedTrailer[i])
  14257. {
  14258. Message(playerid, COLOR_ADM, "Trailer ID %i by %s", TrailerID[i], ReturnName(i));
  14259. }
  14260. return 1;
  14261. }
  14262. CMD:aunrentrental(playerid, params[])
  14263. {
  14264. if(!PlayerData[playerid][pAdmin])
  14265. return UnAuthMessage(playerid);
  14266. new
  14267. vehicleid,
  14268. str[128];
  14269. if(sscanf(params, "i", vehicleid))
  14270. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /aunrentrental [vehicle id]");
  14271. if(!IsValidVehicle(vehicleid))
  14272. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid vehicle.");
  14273. if(!RentalData[vehicleid][rentalcarSQLID])
  14274. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a rental vehicle.");
  14275. if(!RentalData[vehicleid][rentalcarRented])
  14276. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This isn't rented by anyone.");
  14277. Message(playerid, COLOR_ADM, "Vehicle %i was being rented by: %s. It's been unrented.", vehicleid, ReturnSQLName(RentalData[vehicleid][rentalcarRentedBy]));
  14278. RentalData[vehicleid][rentalcarRented] = false;
  14279. RentalData[vehicleid][rentalcarRentedBy] = 0;
  14280. format(str, sizeof(str), "%s unrented rental vehicle ID %i", ReturnName(playerid), vehicleid);
  14281. adminWarn(1, str);
  14282. return 1;
  14283. }
  14284. CMD:aunrenttrucker(playerid, params[])
  14285. {
  14286. if(!PlayerData[playerid][pAdmin])
  14287. return UnAuthMessage(playerid);
  14288. new
  14289. vehicleid,
  14290. str[128],
  14291. isTrucker = 0;
  14292. if(sscanf(params, "i", vehicleid))
  14293. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /aunrenttrucker [vehicle id]");
  14294. for(new i = 0; i < sizeof TruckerVehicles; i++)
  14295. {
  14296. if(vehicleid == TruckerVehicles[i])
  14297. {
  14298. isTrucker = 1;
  14299. }
  14300. }
  14301. if(!isTrucker) return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a trucker vehicle.");
  14302. SendClientMessage(playerid, COLOR_GREY, "Vehicle unrented.");
  14303. format(str, sizeof(str), "%s unrented trucker vehicle ID: %i", ReturnName(playerid), vehicleid);
  14304. adminWarn(1, str);
  14305. TruckerVehicleRentedBy[vehicleid] = 0;
  14306. return 1;
  14307. }
  14308. CMD:checkpackages(playerid, params[])
  14309. {
  14310. if(!PlayerData[playerid][pAdmin])
  14311. return UnAuthMessage(playerid);
  14312. new playerb, string[128];
  14313. if(sscanf(params, "u", playerb))
  14314. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /checkpackages [playerid/PartofName]");
  14315. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  14316. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  14317. format(string, sizeof(string), "You're viewing %s's weapon packages.", ReturnName(playerb, 1));
  14318. SendClientMessage(playerid, COLOR_ADM, string);
  14319. DisplayWeaponPackages(playerb, playerid);
  14320. return 1;
  14321. }
  14322. CMD:showdrugs(playerid, params[])
  14323. {
  14324. if(!PlayerData[playerid][pAdmin])
  14325. return UnAuthMessage(playerid);
  14326. new playerb, string[100];
  14327. if(sscanf(params, "u", playerb))
  14328. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /showdrugs [playerid/PartofName]");
  14329. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  14330. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  14331. format(string, sizeof(string), "%s's Drugs:", ReturnName(playerb, 0));
  14332. SendClientMessage(playerid, COLOR_ADM, string);
  14333. for (new i = 0; i < 10; i++) if (DrugData[playerb][i][drugQuantity] > 0)
  14334. {
  14335. format(string, sizeof(string), "[{FFFFFF} %d. %s (%s: %.1f%s/%.1f%s) (Strength: %d) {FF6347}]",
  14336. i, GetPackageType(DrugData[playerb][i][drugPackage]), ReturnDrugsName(DrugData[playerb][i][drugType]), DrugData[playerb][i][drugQuantity], (IsPill(DrugData[playerb][i][drugType]) == 1) ? (" Pills") : ("g"),
  14337. GetPackageCapacity(DrugData[playerb][i][drugPackage], DrugData[playerb][i][drugType]), (IsPill(DrugData[playerb][i][drugType]) == 1) ? (" Pills") : ("g"), DrugData[playerb][i][drugStrength]);
  14338. SendClientMessage(playerid, COLOR_ADM, string);
  14339. }
  14340. return 1;
  14341. }
  14342. // Level 2
  14343. CMD:car(playerid, params[])
  14344. {
  14345. if(!pLoggedIn[playerid])return true;
  14346. if(PlayerData[playerid][pAdmin] < 2)return UnAuthMessage(playerid);
  14347. new string[128], model[32], color[2], siren, Float:pos[4], vehicleid;
  14348. if(sscanf(params, "s[32]I(-1)I(-1)I(0)", model, color[0], color[1], siren)){
  14349. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /car [modelid OR name] [color1] [color2] [siren]");
  14350. SendClientMessage(playerid, COLOR_ADM, "Tip: You can leave color1, color2 and siren blank and it'll set to random.");
  14351. return true;
  14352. }
  14353. if ((model[0] = GetVehicleModelByName(model)) == 0)
  14354. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You selected an invalid model ID.");
  14355. if(color[0] == -1) {
  14356. color[0] = random(255);
  14357. }
  14358. if(color[1] == -1) {
  14359. color[1] = random(255);
  14360. }
  14361. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  14362. GetPlayerFacingAngle(playerid, pos[3]);
  14363. vehicleid = CreateVehicle(model[0], pos[0], pos[1], pos[2], pos[3], color[0], color[1], 300, siren);
  14364. SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
  14365. PutPlayerInVehicle(playerid, vehicleid, 0);
  14366. switch(GetVehicleModel(vehicleid)) {
  14367. case 481, 509, 510: ToggleVehicleEngine(vehicleid, true);
  14368. }
  14369. AdminCar[vehicleid] = true;
  14370. AdminCarColor1[vehicleid] = color[0];
  14371. AdminCarColor2[vehicleid] = color[1];
  14372. CarData[vehicleid][carID] = 0;
  14373. FactionCar[vehicleid][carID] = 0;
  14374. RentalData[vehicleid][rentalcarSQLID] = 0;
  14375. CarEngine[vehicleid] = false;
  14376. CarLights[vehicleid] = false;
  14377. format(string, sizeof(string), "Warning: You spawned a %s. It will respawn when unoccupied every 300 seconds until you despawn it.", ReturnVehicleModelName(model[0]));
  14378. SendClientMessage(playerid, COLOR_ADM, string);
  14379. format(string, sizeof(string), "%s spawned a temporary %s. ", ReturnName(playerid, 1), ReturnVehicleModelName(model[0]));
  14380. adminWarn(4, string);
  14381. WriteLog("admin_logs/car_spawn.txt", "[%s] %s spawned a %s.", ReturnDate(), ReturnName(playerid, 1), ReturnVehicleModelName(model[0]));
  14382. return true;
  14383. }
  14384. CMD:setcarparams(playerid, params[])
  14385. {
  14386. new vehicleid, option[90], value, string[128];
  14387. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  14388. if(sscanf(params, "ds[90]I(-1)", vehicleid, option, value)) {
  14389. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcarparams [vehicleid] [options]");
  14390. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} engine, lights, lock, health");
  14391. return true;
  14392. }
  14393. if(vehicleid < 1 || !IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14394. if(strmatch(option, "engine")) {
  14395. if(CarEngine[vehicleid]) {
  14396. CarEngine[vehicleid] = false;
  14397. ToggleVehicleEngine(vehicleid, false);
  14398. format(string, sizeof(string), "%s turned vehicleid %d's (%s) engine OFF.", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid));
  14399. adminWarn(1, string);
  14400. }
  14401. else {
  14402. CarEngine[vehicleid] = true;
  14403. ToggleVehicleEngine(vehicleid, true);
  14404. format(string, sizeof(string), "%s turned vehicleid %d's (%s) engine ON.", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid));
  14405. adminWarn(1, string);
  14406. }
  14407. }
  14408. else if(strmatch(option, "lights")) {
  14409. if(CarLights[vehicleid]){
  14410. CarLights[vehicleid] = false;
  14411. ToggleVehicleLights(vehicleid, false);
  14412. format(string, sizeof(string), "%s turned vehicleid %d's (%s) lights OFF.", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid));
  14413. adminWarn(1, string);
  14414. }
  14415. else {
  14416. CarLights[vehicleid] = true;
  14417. ToggleVehicleLights(vehicleid, true);
  14418. format(string, sizeof(string), "%s turned vehicleid %d's (%s) lights ON.", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid));
  14419. adminWarn(1, string);
  14420. }
  14421. }
  14422. else if(strmatch(option, "lock")) {
  14423. if(CarData[vehicleid][carLocked]){
  14424. CarData[vehicleid][carLocked] = false;
  14425. ToggleVehicleLock(vehicleid, false);
  14426. format(string, sizeof(string), "%s unlocked vehicleid %d (%s).", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid));
  14427. adminWarn(1, string);
  14428. }
  14429. else {
  14430. CarData[vehicleid][carLocked] = true;
  14431. ToggleVehicleLock(vehicleid, true);
  14432. format(string, sizeof(string), "%s locked vehicleid %d (%s).", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid));
  14433. adminWarn(1, string);
  14434. }
  14435. }
  14436. else if(strmatch(option, "health")){
  14437. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcarparams [vehicleid] health [health]");
  14438. SetVehicleHealth(vehicleid, value);
  14439. format(string, sizeof(string), "%s set vehicleid %d's (%s) health to %d", ReturnName(playerid, 1), vehicleid, ReturnVehicleName(vehicleid), value);
  14440. adminWarn(1, string);
  14441. WriteLog("admin_logs/vehicles/sethealth_log.txt", "[%s] %s set vehicle ID %d's Health to %i (Player car: %s)", ReturnDate(), ReturnName(playerid), vehicleid, value, (IsValidFactionCar(vehicleid) != 1) ? ("Yes") : ("No"));
  14442. }
  14443. return true;
  14444. }
  14445. CMD:set(playerid, params[])
  14446. {
  14447. new string[128], type[90], id;
  14448. if(PlayerData[playerid][pAdmin] < 2) return UnAuthMessage(playerid);
  14449. if(sscanf(params, "s[90]I(-1)", type, id)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /set [weather OR time] [id]");
  14450. if(strmatch(type, "weather")) {
  14451. if(id == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /set weather [weather id]");
  14452. if(id < 1 || id > 50)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid weather id.");
  14453. GlobalWeather = id;
  14454. SetWeather(id);
  14455. format(string, sizeof(string), "%s set the weather to %d", ReturnName(playerid, 1), id);
  14456. adminWarn(1, string);
  14457. }
  14458. else if(strmatch(type, "time")) {
  14459. if(id == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /set time [time id]");
  14460. if(id < 0 || id > 23)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified a invalid time.");
  14461. format(string, sizeof(string), "%s set the time to %d", ReturnName(playerid, 1), id);
  14462. adminWarn(1, string);
  14463. SetWorldTime(id);
  14464. }
  14465. return true;
  14466. }
  14467. CMD:getcar(playerid, params[])
  14468. {
  14469. if(!pLoggedIn[playerid])return true;
  14470. if(PlayerData[playerid][pAdmin] < 2)return UnAuthMessage(playerid);
  14471. new vehicleid, Float:Pos[3], string[128];
  14472. if(sscanf(params, "d", vehicleid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /getcar [vehicle ID]");
  14473. if(vehicleid < 1 || !IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14474. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  14475. SetVehiclePos(vehicleid, Pos[0]+1, Pos[1], Pos[2]);
  14476. format(string, sizeof(string), "%s teleported vehicle ID %d", ReturnName(playerid, 1), vehicleid);
  14477. adminWarn(2, string);
  14478. return 1;
  14479. }
  14480. CMD:putplayerincar(playerid, params[])
  14481. {
  14482. if(PlayerData[playerid][pAdmin] < 2)
  14483. return UnAuthMessage(playerid);
  14484. new vehicleid, playerb, seat;
  14485. new string[128];
  14486. if(sscanf(params, "uii", playerb, vehicleid, seat))
  14487. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /putplayerincar [playerid/PartofName] [vehicleid] [seat]");
  14488. if(seat < 0 || seat > 4)
  14489. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Invalid seat.");
  14490. if(!IsPlayerConnected(playerb) || !pLoggedIn[playerb])
  14491. return SendClientMessage(playerid, COLOR_ADM, "Player is either not connected or logged in.");
  14492. if(!IsValidVehicle(vehicleid))
  14493. return SendClientMessage(playerid, COLOR_ADM, "Invalid vehicle specified.");
  14494. if(!IsSeatAvailable(vehicleid, seat))
  14495. return SendClientMessage(playerid, COLOR_ADM, "That seat is occupied.");
  14496. PutPlayerInVehicle(playerb, vehicleid, seat);
  14497. format(string, sizeof(string), "%s put player %s in vehicle ID %i.", ReturnName(playerid), ReturnName(playerb), seat);
  14498. adminWarn(1, string);
  14499. return 1;
  14500. }
  14501. CMD:backup(playerid, params[])
  14502. {
  14503. if(!pLoggedIn[playerid])return true;
  14504. if(PlayerData[playerid][pAdmin] < 2)return false;
  14505. new a_string[60], b_string[128], string[128];
  14506. if(sscanf(params, "s[60]S()[128]", a_string, b_string))
  14507. {
  14508. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /backup [action]");
  14509. SendClientMessage(playerid, COLOR_ADM, "[Action] players, playerid, properties, property_id, factions");
  14510. SendClientMessage(playerid, COLOR_ADM, "[Action] businesses, garages, garage_id, ALL");
  14511. return true;
  14512. }
  14513. if(!strcmp(a_string, "players"))
  14514. {
  14515. foreach(new i : Player)
  14516. {
  14517. if(pLoggedIn[i])
  14518. {
  14519. SavePlayer(i);
  14520. }
  14521. }
  14522. format(string, sizeof(string), "%s backed up all player data.", ReturnName(playerid, 1));
  14523. adminWarn(1, string);
  14524. }
  14525. else if(!strcmp(a_string, "playerid"))
  14526. {
  14527. new playerb;
  14528. if(sscanf(b_string, "u", playerb)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /backup playerid [playerid OR name]");
  14529. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65534 is not an active player.");
  14530. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  14531. SavePlayer(playerb);
  14532. format(string, sizeof(string), "%s backed up player %s", ReturnName(playerid, 1), ReturnName(playerb, 1));
  14533. adminWarn(2, string);
  14534. }
  14535. else if(!strcmp(a_string, "properties"))
  14536. {
  14537. new confirm[60];
  14538. if(sscanf(b_string, "s[60]", confirm))
  14539. {
  14540. format(string, sizeof(string), "You're about to backup %i properties that are loaded.", TotalPropertyMade);
  14541. SendClientMessage(playerid, COLOR_ADM, string);
  14542. SendClientMessage(playerid, COLOR_ADM, "This could lag the server for a few seconds. Type /backup properties confirm to continue.");
  14543. return true;
  14544. }
  14545. if(!strcmp(b_string, "confirm"))
  14546. {
  14547. for(new i = 0; i < TotalPropertyMade; i++){
  14548. SaveProperty(i);
  14549. }
  14550. format(string, sizeof(string), "%s backed up %i properties.", ReturnName(playerid, 1), TotalPropertyMade);
  14551. adminWarn(1, string);
  14552. }
  14553. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14554. }
  14555. else if(!strcmp(a_string, "property_id"))
  14556. {
  14557. new p_id;
  14558. if(sscanf(b_string, "d", p_id)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /backup property_id [property id]");
  14559. if(p_id > MAX_PROPERTY || !PropertyData[p_id][propertyid])return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid property.");
  14560. SaveProperty(p_id);
  14561. format(string, sizeof(string), "%s backed up property ID %d", ReturnName(playerid, 1), p_id);
  14562. adminWarn(2, string);
  14563. }
  14564. else if(!strcmp(a_string, "factions"))
  14565. {
  14566. new confirm[60];
  14567. if(sscanf(b_string, "s[60]", confirm))
  14568. {
  14569. format(string, sizeof(string), "You're about to backup %i factions that are loaded.", TotalFactionsLoaded);
  14570. SendClientMessage(playerid, COLOR_ADM, string);
  14571. SendClientMessage(playerid, COLOR_ADM, "Type /backup factions confirm to continue.");
  14572. return true;
  14573. }
  14574. if(!strcmp(b_string, "confirm"))
  14575. {
  14576. for(new i = 0; i < TotalFactionsLoaded; i++)
  14577. {
  14578. SaveFaction(i);
  14579. }
  14580. format(string, sizeof(string), "%s backed up %i factions.", TotalFactionsLoaded);
  14581. adminWarn(2, string);
  14582. }
  14583. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14584. }
  14585. else if(!strcmp(a_string, "businesses"))
  14586. {
  14587. new confirm[60];
  14588. if(sscanf(b_string, "s[60]", confirm))
  14589. {
  14590. format(string, sizeof(string), "You're about to backup %i businesses that are loaded.", TotalBusinessesLoaded);
  14591. SendClientMessage(playerid, COLOR_ADM, string);
  14592. SendClientMessage(playerid, COLOR_ADM, "Type /backup businesses confirm to continue.");
  14593. return true;
  14594. }
  14595. if(!strcmp(b_string, "confirm"))
  14596. {
  14597. for(new i = 0; i < TotalBusinessesLoaded; i++)
  14598. {
  14599. SaveBusiness(i);
  14600. }
  14601. format(string, sizeof(string), "%s backed up %i businesses.", TotalBusinessesLoaded);
  14602. adminWarn(2, string);
  14603. }
  14604. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14605. }
  14606. else if(!strcmp(a_string, "garages"))
  14607. {
  14608. new confirm[60];
  14609. if(sscanf(b_string, "s[60]", confirm))
  14610. {
  14611. format(string, sizeof(string), "You're about to backup %i property garages that are loaded.", TotalPropertyGaragesMade);
  14612. SendClientMessage(playerid, COLOR_ADM, string);
  14613. SendClientMessage(playerid, COLOR_ADM, "Type /backup garages confirm to continue.");
  14614. return true;
  14615. }
  14616. if(!strcmp(b_string, "confirm"))
  14617. {
  14618. for(new i = 0; i < TotalPropertyGaragesMade; i++)
  14619. {
  14620. SavePropertyGarage(i);
  14621. }
  14622. format(string, sizeof(string), "%s backed up %i property garages.", ReturnName(playerid, 1), TotalPropertyGaragesMade);
  14623. adminWarn(2, string);
  14624. }
  14625. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14626. }
  14627. else if(!strcmp(a_string, "garage_id"))
  14628. {
  14629. new g_id;
  14630. if(sscanf(b_string, "d", g_id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /backup garage_id [garage id]");
  14631. if(g_id > MAX_PROPERTY_GARAGES || !GarageData[g_id][garageSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid garage.");
  14632. SavePropertyGarage(g_id);
  14633. format(string, sizeof(string), "%s backed up property garage %i.", ReturnName(playerid, 1), g_id);
  14634. adminWarn(2, string);
  14635. }
  14636. else if(!strcmp(a_string, "all"))
  14637. {
  14638. new confirm[60];
  14639. if(sscanf(b_string, "s[60]", confirm))
  14640. {
  14641. SendClientMessage(playerid, COLOR_ADM, "You're about to backup all server data. This could lag the server for a few seconds.");
  14642. SendClientMessage(playerid, COLOR_ADM, "Type /backup ALL confirm to continue.");
  14643. return true;
  14644. }
  14645. if(!strcmp(b_string, "confirm"))
  14646. {
  14647. foreach(new i : Player){
  14648. if(pLoggedIn[i]){
  14649. SavePlayer(i);
  14650. }
  14651. }
  14652. SaveProperties();
  14653. SaveFactions();
  14654. SaveBusinesses();
  14655. SaveTolls();
  14656. SavePaynSprays();
  14657. SaveDoors();
  14658. SavePropertyGarages();
  14659. format(string, sizeof(string), "%s backed up the server data.", ReturnName(playerid, 1));
  14660. SendClientMessageToAll(COLOR_ADM, string);
  14661. }
  14662. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14663. }
  14664. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  14665. return true;
  14666. }
  14667. CMD:despawncar(playerid, params[])
  14668. {
  14669. if(!pLoggedIn[playerid])return true;
  14670. if(PlayerData[playerid][pAdmin] < 2)return UnAuthMessage(playerid);
  14671. new string[128], vehicleid = GetPlayerVehicleID(playerid);
  14672. if(IsPlayerInAnyVehicle(playerid))
  14673. {
  14674. if(AdminCar[vehicleid]){
  14675. AdminCar[vehicleid] = false;
  14676. DestroyVehicle(vehicleid);
  14677. format(string, sizeof(string), "%s destroyed vehicle ID %d", ReturnName(playerid, 1), vehicleid);
  14678. adminWarn(1, string);
  14679. }
  14680. else {
  14681. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in an admin vehicle.");
  14682. }
  14683. }
  14684. else {
  14685. new carid;
  14686. if(sscanf(params, "d", carid))
  14687. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /despawncar [vehicleid]");
  14688. if(!IsValidVehicle(carid))
  14689. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14690. if(!AdminCar[carid])
  14691. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't despawn that vehicle.");
  14692. AdminCar[carid] = false;
  14693. DestroyVehicle(carid);
  14694. format(string, sizeof(string), "%s destroyed vehicle ID %d", ReturnName(playerid, 1), carid);
  14695. adminWarn(1, string);
  14696. }
  14697. return true;
  14698. }
  14699. CMD:noooc(playerid, params[])
  14700. {
  14701. if(!pLoggedIn[playerid])return true;
  14702. if (PlayerData[playerid][pAdmin] < 2)return UnAuthMessage(playerid);
  14703. new string[128];
  14704. if (!OOC){
  14705. OOC = true;
  14706. SendMessageToAll(COLOR_GREY, "OOC chat was enabled by an admin.");
  14707. format(string, sizeof(string), "%s enabled /o(oc) chat", ReturnName(playerid, 1));
  14708. adminWarn(1, string);
  14709. }
  14710. else{
  14711. OOC = false;
  14712. SendMessageToAll(COLOR_GREY, "OOC chat was disabled by an admin.");
  14713. format(string, sizeof(string), "%s disabled /o(oc) chat", ReturnName(playerid, 1));
  14714. adminWarn(1, string);
  14715. }
  14716. return true;
  14717. }
  14718. CMD:clearpackages(playerid, params[])
  14719. {
  14720. new playerb, string[128];
  14721. if (PlayerData[playerid][pAdmin] < 2)
  14722. return UnAuthMessage(playerid);
  14723. if (sscanf(params, "u", playerb))
  14724. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /clearpackages [playerid/PartofName]");
  14725. if (!IsPlayerConnected(playerb))
  14726. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  14727. if (!pLoggedIn[playerb])
  14728. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  14729. WriteLog("weapon_logs/admin_logs/clearpackage.txt", "[%s] %s cleared %s's weapon packages. They had %d.",
  14730. ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), CountPlayerPackages(playerb));
  14731. for (new i = 1; i < MAX_WEAPON_PACKAGES; i++) {
  14732. PackageData[playerb][packageWeapon][i] = 0;
  14733. PackageData[playerb][packageAmmo][i] = 0;
  14734. }
  14735. format (string, sizeof(string), "%s cleared %s's weapon packages.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  14736. adminWarn(2, string);
  14737. return true;
  14738. }
  14739. CMD:clearvehpackages(playerid, params[])
  14740. {
  14741. new vehicleid, string[128];
  14742. if (PlayerData[playerid][pAdmin] < 2)
  14743. return UnAuthMessage(playerid);
  14744. if (sscanf(params, "d", vehicleid))
  14745. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /clearvehpackages [vehicleid]");
  14746. if (!IsValidVehicle(vehicleid))
  14747. return SendClientMessage(playerid, COLOR_GREY, "65534 is not an active vehicle.");
  14748. if (!IsValidPlayerCar(vehicleid))
  14749. return SendClientMessage(playerid, COLOR_ADM, "The vehicle you specified can't hold weapon packages.");
  14750. WriteLog("weapon_logs/admin_logs/clearvpackage.txt", "[%s] %s cleared vehicle DBID %d weapon packages. Owner DBID : %d",
  14751. ReturnDate(), ReturnName(playerid, 1), CarData[vehicleid][carID], CarData[vehicleid][carOwnerID]);
  14752. for (new i = 1; i < 21; i++)
  14753. {
  14754. CarData[vehicleid][carPackages][i] = 0;
  14755. CarData[vehicleid][carPackagesAmmo][i] = 0;
  14756. }
  14757. format (string, sizeof(string), "%s cleared vehicleid %d's weapon packages. DBID %d", ReturnName(playerid, 1), vehicleid, CarData[vehicleid][carID]);
  14758. adminWarn(2, string);
  14759. return true;
  14760. }
  14761. CMD:cleardrugs(playerid, params[])
  14762. {
  14763. new playerb, string[128];
  14764. if (PlayerData[playerid][pAdmin] < 2)
  14765. return UnAuthMessage(playerid);
  14766. if (sscanf(params, "u", playerb))
  14767. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /cleardrugs [playerid/PartofName]");
  14768. if (!IsPlayerConnected(playerb))
  14769. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  14770. if (!pLoggedIn[playerb])
  14771. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  14772. WriteLog("PlayerDrugs/admin_cleardrugs.txt", "[%s] %s cleared %s's drug packages.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1));
  14773. format (string, sizeof(string), "%s cleared %s's drug packages.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  14774. adminWarn(2, string);
  14775. for(new i = 0; i < 10; i++){
  14776. RemoveDrugPackage(playerb, i);
  14777. }
  14778. return true;
  14779. }
  14780. CMD:checkfreq(playerid, params[])
  14781. {
  14782. new channel;
  14783. if(PlayerData[playerid][pAdmin] < 2)
  14784. return UnAuthMessage(playerid);
  14785. if(sscanf(params, "i", channel))
  14786. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /checkfreq [frequency]");
  14787. if(channel < 1 || channel > 1000000)return SendClientMessage(playerid, COLOR_ADM, "ERROR: Only channels 1 - 1000000 are supported.");
  14788. Message(playerid, COLOR_ADM, "Players in frequency %d:", channel);
  14789. foreach(new i : Player)
  14790. {
  14791. for(new x = 0; x < 5; x++) if(PlayerData[i][pRadio][x] == channel)
  14792. {
  14793. Message(playerid, COLOR_GREY, "- %s [ID: %i]", ReturnName(i), i);
  14794. }
  14795. }
  14796. return 1;
  14797. }
  14798. // Level 3
  14799. CMD:setcar(playerid, params[])
  14800. {
  14801. if(!pLoggedIn[playerid])return true;
  14802. if(PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  14803. new vehicleid, option[90], value, string[128];
  14804. if(sscanf(params, "ds[90]I(-1)", vehicleid, option, value)){
  14805. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] [options]");
  14806. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} fuel, color1, color2, paintjob, xmr, timesdestroyed");
  14807. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} lock, alarm, immob, insurance");
  14808. return true;
  14809. }
  14810. new id = CarData[vehicleid][carID];
  14811. if(vehicleid < 0 || !IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14812. if(!id)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That vehicle doesn't exist in the database.");
  14813. if(strmatch(option, "fuel")){
  14814. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] fuel [fuel 0-100]");
  14815. if(value < 0 || value > 100)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Fuel must be 0-100.");
  14816. CarData[vehicleid][carFuel] = value;
  14817. format(string, sizeof(string), "%s set vehicleid %d's fuel to %d", ReturnName(playerid, 1), vehicleid, value);
  14818. adminWarn(3, string);
  14819. SaveCar(vehicleid);
  14820. WriteLog("admin_logs/vehicles/setfuel_log.txt", "[%s] %s set Vehicle (DBID) %d's fuel to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14821. }
  14822. else if(strmatch(option, "color1")){
  14823. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] color1 [colorid]");
  14824. if(value < 0 || value > 255)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid color id.");
  14825. CarData[vehicleid][carColor1] = value;
  14826. format(string, sizeof(string), "%s set vehicleid %d's color1 to %d", ReturnName(playerid, 1), vehicleid, value);
  14827. adminWarn(3, string);
  14828. SendClientMessage(playerid, COLOR_ADM, "Warning: They must respawn their vehicle for the color to take effect.");
  14829. SaveCar(vehicleid);
  14830. WriteLog("admin_logs/vehicles/setcolor.txt", "[%s] %s set Vehicle (DBID) %d's color1 to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14831. }
  14832. else if(strmatch(option, "color2")){
  14833. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] color2 [colorid]");
  14834. if(value < 0 || value > 255)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid color id.");
  14835. CarData[vehicleid][carColor2] = value;
  14836. format(string, sizeof(string), "%s set vehicleid %d's color2 to %d", ReturnName(playerid, 1), vehicleid, value);
  14837. adminWarn(3, string);
  14838. SendClientMessage(playerid, COLOR_ADM, "Warning: They must respawn their vehicle for the color to take effect.");
  14839. SaveCar(vehicleid);
  14840. WriteLog("admin_logs/vehicles/setcolor.txt", "[%s] %s set Vehicle (DBID) %d's color2 to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14841. }
  14842. else if(strmatch(option, "paintjob")){
  14843. if(value == -1){
  14844. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] paintjob [paintjob]");
  14845. SendClientMessage(playerid, COLOR_ADM, "Warning: Valid paintjob IDs are 0-2. Use 3 to remove the paintjob.");
  14846. return true;
  14847. }
  14848. if(value > 3 || value < 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid paintjob id.");
  14849. CarData[vehicleid][carPaintjob] = value;
  14850. format(string, sizeof(string), "%s set vehicleid %d's paintjob to %d", ReturnName(playerid, 1), vehicleid, value);
  14851. adminWarn(3, string);
  14852. SendClientMessage(playerid, COLOR_ADM, "Warning: They must respawn their vehicle for the paintjob to take effect.");
  14853. SaveCar(vehicleid);
  14854. WriteLog("admin_logs/vehicles/setcolor.txt", "[%s] %s set Vehicle (DBID) %d's paintjob to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14855. }
  14856. else if(strmatch(option, "xmr")){
  14857. if(CarData[vehicleid][carXMR]){
  14858. CarData[vehicleid][carXMR] = false;
  14859. format(string, sizeof(string), "%s removed vehicleid %d's XMR.", ReturnName(playerid, 1), vehicleid);
  14860. adminWarn(3, string);
  14861. SaveCar(id);
  14862. WriteLog("admin_logs/vehicles/setxmr_log.txt", "[%s] %s removed Vehicle (DBID) %d's XMR", ReturnDate(), ReturnName(playerid, 1), id);
  14863. }
  14864. else{
  14865. CarData[vehicleid][carXMR] = true;
  14866. format(string, sizeof(string), "%s set vehicleid %d's XMR.", ReturnName(playerid, 1), vehicleid);
  14867. adminWarn(3, string);
  14868. SaveCar(vehicleid);
  14869. WriteLog("admin_logs/vehicles/setxmr_log.txt", "[%s] %s added XMR to Vehicle (DBID) %d", ReturnDate(), ReturnName(playerid, 1), id);
  14870. }
  14871. }
  14872. else if(strmatch(option, "timesdestroyed")){
  14873. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] timesdestroyed [value]");
  14874. format(string, sizeof(string), "%s set vehicleid %d's times destroyed to %d from %d", ReturnName(playerid, 1), vehicleid, value, CarData[vehicleid][carTimeDestroyed]);
  14875. adminWarn(3, string);
  14876. CarData[vehicleid][carTimeDestroyed] = value;
  14877. SaveCar(vehicleid);
  14878. WriteLog("admin_logs/vehicles/setdestroy_log.txt", "[%s] %s set Vehicle (DBID) %d's times destroyed to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14879. }
  14880. else if(strmatch(option, "lock")){
  14881. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] lock [value]");
  14882. if(value > 3 || value < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Locks have to be 1-3.");
  14883. format(string, sizeof(string), "%s set vehicleid %d's lock status to %d", ReturnName(playerid, 1), vehicleid, value);
  14884. adminWarn(3, string);
  14885. CarData[vehicleid][carLock] = value;
  14886. SaveCar(vehicleid);
  14887. WriteLog("admin_logs/vehicles/setlock_log.txt", "[%s] %s set Vehicle (DBID) %d's lock to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14888. }
  14889. else if(strmatch(option, "alarm")){
  14890. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] alarm [value]");
  14891. if(value > 3 || value < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Alarms have to be 1-3.");
  14892. format(string, sizeof(string), "%s set vehicleid %d's alarm status to %d", ReturnName(playerid, 1), vehicleid, value);
  14893. adminWarn(3, string);
  14894. CarData[vehicleid][carAlarm] = value;
  14895. SaveCar(vehicleid);
  14896. WriteLog("admin_logs/vehicles/setalarm_log.txt", "[%s] %s set Vehicle (DBID) %d's alarm to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14897. }
  14898. else if(strmatch(option, "immob")){
  14899. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] immob [value]");
  14900. if(value > 3 || value < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Immoblizer has to be 1-3.");
  14901. format(string, sizeof(string), "%s set vehicleid %d's Immoblizer status to %d", ReturnName(playerid, 1), vehicleid, value);
  14902. adminWarn(3, string);
  14903. CarData[vehicleid][carImmob] = value;
  14904. SaveCar(vehicleid);
  14905. WriteLog("admin_logs/vehicles/setimmob_log.txt", "[%s] %s set Vehicle (DBID) %d's immoblizer to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14906. }
  14907. else if(strmatch(option, "insurance")){
  14908. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcar [vehicleid] insurance [value]");
  14909. if(value > 3 || value < 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Insurance have to be 1-3.");
  14910. format(string, sizeof(string), "%s set vehicleid %d's insurance to %d", ReturnName(playerid, 1), vehicleid, value);
  14911. adminWarn(3, string);
  14912. CarData[vehicleid][carInsurance] = value;
  14913. SaveCar(vehicleid);
  14914. WriteLog("admin_logs/vehicles/setinsurance_log.txt", "[%s] %s set Vehicle (DBID) %d's insurance to %d", ReturnDate(), ReturnName(playerid, 1), id, value);
  14915. }
  14916. return true;
  14917. }
  14918. CMD:setcarlife(playerid, params[])
  14919. {
  14920. if(!pLoggedIn[playerid])return true;
  14921. if(PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  14922. new string[128], option[90], vehicleid, Float:life;
  14923. if(sscanf(params, "ds[90]F(-1)", vehicleid, option, life))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcarlife [vehicleid] [engine OR battery] [life]");
  14924. new id = CarData[vehicleid][carID];
  14925. if(vehicleid < 0 || !IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14926. if(!id)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That vehicle doesn't exist in the database.");
  14927. if(strmatch(option, "engine")){
  14928. if(life == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcarlife [vehicleid] engine [life...]");
  14929. format(string, sizeof(string), "%s set vehicleid %d's engine to %.2f from %.2f", ReturnName(playerid, 1), vehicleid, life, CarData[vehicleid][carEngine]);
  14930. adminWarn(3, string);
  14931. CarData[vehicleid][carEngine] = life;
  14932. SaveCar(vehicleid);
  14933. WriteLog("admin_logs/vehicles/setengine_log.txt", "[%s] %s set Vehicle (DBID) %d's Engine Life to %d", ReturnDate(), ReturnName(playerid, 1), id, life);
  14934. }
  14935. else if(strmatch(option, "battery")) {
  14936. if(life == -1) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setcarlife [vehicleid] battery [life...]");
  14937. format(string, sizeof(string), "%s set vehicleid %d's battery to %.2f from %.2f", ReturnName(playerid, 1), vehicleid, life, CarData[vehicleid][carBattery]);
  14938. adminWarn(3, string);
  14939. CarData[vehicleid][carBattery] = life;
  14940. SaveCar(vehicleid);
  14941. WriteLog("admin_logs/vehicles/setbattery_log.txt", "[%s] %s set Vehicle (DBID) %d's Battery Life to %d", ReturnDate(), ReturnName(playerid, 1), id, life);
  14942. }
  14943. return true;
  14944. }
  14945. CMD:setplate(playerid, params[])
  14946. {
  14947. if(!pLoggedIn[playerid])return true;
  14948. new string[128], plate[32], vehicleid;
  14949. if(PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  14950. if(sscanf(params, "ds[32]", vehicleid, plate))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setplate [vehicleid] [car plates]");
  14951. //new id = CarData[vehicleid][carID];
  14952. if(vehicleid < 0 || !IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  14953. if(!CarData[vehicleid][carID]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That vehicle doesn't exist in the database.");
  14954. format(CarData[vehicleid][carPlates], 32, "%s", plate);
  14955. format(string, sizeof(string), "%s set vehicleid %d's plates to `%s`", ReturnName(playerid, 1), vehicleid, plate);
  14956. adminWarn(3, string);
  14957. SendClientMessage(playerid, COLOR_ADM, "Warning: They must respawn their vehicle for it to take effect.");
  14958. SaveCar(vehicleid);
  14959. WriteLog("admin_logs/vehicles/setplate_log.txt", "[%s] %s set Vehicle (DBID) %d's plates to %s", ReturnDate(), ReturnName(playerid, 1), CarData[vehicleid][carID], plate);
  14960. return true;
  14961. }
  14962. CMD:setfaction(playerid, params[])
  14963. {
  14964. if(!pLoggedIn[playerid])return true;
  14965. if(PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  14966. new string[128], playerb, factionid, leader;
  14967. if(sscanf(params, "uiI(-1)", playerb, factionid, leader))
  14968. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfaction [playerid/PartofName] [factionid] [leader]");
  14969. if(factionid < 1 || factionid > MAX_FACTIONS)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Faction IDs must be greater than 1 and less then 11.");
  14970. if(!FactionData[factionid][factionID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That faction doesn't exist.");
  14971. format(string, sizeof(string), "%s set %s's faction to the %s.", ReturnName(playerid, 1), ReturnName(playerb, 1), FactionData[factionid][factionName]);
  14972. adminWarn(3, string);
  14973. PlayerData[playerb][pFaction] = factionid;
  14974. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Faction", PlayerData[playerid][pFaction]);
  14975. if(leader == -1 || leader == 0){
  14976. PlayerData[playerb][pFactionRank] = 20;
  14977. }
  14978. else{
  14979. PlayerData[playerb][pFactionRank] = 1;
  14980. }
  14981. SaveSQLInt(PlayerData[playerid][pFaction], "players", "FactionRank", PlayerData[playerid][pFactionRank]);
  14982. WriteLog("admin_logs/factions/setfaction_log.txt", "[%s] %s set %s to faction ID %d (leader = %d)", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), factionid, leader);
  14983. if(leader == -1 || leader == 0){
  14984. format(string, sizeof(string), "[ ! ]{FFFFFF} %s added you to %s.", ReturnName(playerid, 1), FactionData[factionid][factionName]);
  14985. }
  14986. else{
  14987. format(string, sizeof(string), "[ ! ]{FFFFFF} %s made you leader of %s.", ReturnName(playerid, 1), FactionData[factionid][factionName]);
  14988. }
  14989. SendClientMessage(playerb, COLOR_ADM, string);
  14990. return true;
  14991. }
  14992. CMD:custommsg(playerid, params[])
  14993. {
  14994. if(PlayerData[playerid][pAdmin] < 3)
  14995. return UnAuthMessage(playerid);
  14996. new playerb, text[128];
  14997. if(sscanf(params, "us[128]", playerb, text))
  14998. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /custommsg [playerid/PartofName] [text]");
  14999. if(!IsPlayerConnected(playerb))
  15000. return SendClientMessage(playerid, COLOR_ADM, "Player isn't connected.");
  15001. printf("[Debug] %s sent a custom TD message to %s: %s", ReturnName(playerid), ReturnName(playerb), text);
  15002. ShowTextdrawInfo(playerb, text);
  15003. if(playerb != playerid) SendClientMessage(playerid, COLOR_GREY, "Message was sent to the specified player.");
  15004. return 1;
  15005. }
  15006. CMD:fixtruckers(playerid, params[])
  15007. {
  15008. if(PlayerData[playerid][pAdmin] < 4)
  15009. return UnAuthMessage(playerid);
  15010. if(isnull(params))
  15011. return SendClientMessage(playerid, COLOR_ADM, "WARNING: This stops all trucker job related timers and stops their missions. /fixtruckers go");
  15012. if(!isnull(params) && !strcmp(params, "go"))
  15013. {
  15014. foreach(new i : Player)
  15015. {
  15016. KillTimer(TruckerJobExitTimer[i]);
  15017. KillTimer(TrailerTimer[i]);
  15018. KillTimer(TruckerJobDeliverTimer[i]);
  15019. KillTimer(TruckerJobTimer[i]);
  15020. if(StartedTruckerMission[i])
  15021. {
  15022. SendClientMessage(i, COLOR_ADM, "Your trucking was reset by an admin due to an error. Contact a developer if you see this.");
  15023. EndTruckerMission(i);
  15024. }
  15025. }
  15026. }
  15027. return 1;
  15028. }
  15029. //
  15030. CMD:listorders(playerid, params[])
  15031. {
  15032. if( PlayerData[playerid][pAdmin] < 4 )
  15033. return UnAuthMessage(playerid);
  15034. SendClientMessage(playerid, COLOR_GREY, "Factions with active warehouse orders:");
  15035. for(new i = 1; i < MAX_FACTIONS; i++) if(FactionData[i][factionHasWeaponOrder])
  15036. {
  15037. Message(playerid, COLOR_WHITE, "%s [%i] - Order time: %s", ReturnFactionName(i), i, TimeConvert(FactionData[i][factionOrderTime]));
  15038. }
  15039. return 1;
  15040. }
  15041. CMD:listcrates(playerid, params[])
  15042. {
  15043. if( PlayerData[playerid][pAdmin] < 4 )
  15044. return UnAuthMessage(playerid);
  15045. SendClientMessage(playerid, COLOR_GREY, "Active crates in the server:");
  15046. for(new i; i < MAX_WEAPON_CRATES; i++) if(WeaponCrates[i][CrateExists])
  15047. {
  15048. Message(playerid, COLOR_WHITE, "Crate ID: %i - Faction: %s - Crate by: %s", i, ReturnFactionName(WeaponCrates[i][CrateFaction]), ReturnSQLName(WeaponCrates[i][CrateBy]));
  15049. }
  15050. return 1;
  15051. }
  15052. CMD:editordertime(playerid, params[])
  15053. {
  15054. if( PlayerData[playerid][pAdmin] < 4 )
  15055. return UnAuthMessage(playerid);
  15056. new faction_id, time;
  15057. new string[128];
  15058. if(sscanf(params, "ii", faction_id, time))
  15059. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /editordertime [faction id] [time in seconds] This should only be used incase of a bug.");
  15060. if(faction_id < 1 || faction_id > MAX_FACTIONS || !FactionData[faction_id][factionID])
  15061. return SendClientMessage(playerid, COLOR_GREY, "Invalid faction specified.");
  15062. if(time < 1)
  15063. return SendClientMessage(playerid, COLOR_GREY, "Invalid seconds specified.");
  15064. if(!FactionData[faction_id][factionHasWeaponOrder])
  15065. return SendClientMessage(playerid, COLOR_GREY, "This faction doesn't have an active weapon order.");
  15066. format(string, sizeof string, "%s set faction ID %i's order time to: %i from %i", ReturnName(playerid), faction_id, time, FactionData[faction_id][factionOrderTime]);
  15067. adminWarn(4, string);
  15068. WriteLog("faction_logs/warehouse_logs/editordertime.txt", "[%s] Admin %s ordered Faction ID %i's order from %i to %i", ReturnDateLog(), ReturnName(playerid), faction_id, FactionData[faction_id][factionOrderTime], time);
  15069. FactionData[faction_id][factionOrderTime] = time;
  15070. return 1;
  15071. }
  15072. CMD:editproducts(playerid, params[])
  15073. {
  15074. if( PlayerData[playerid][pAdmin] < 4 )
  15075. return UnAuthMessage(playerid);
  15076. new faction_id, products;
  15077. new string[128];
  15078. if(sscanf(params, "ii", faction_id, products))
  15079. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /editproducts [faction id] [products]");
  15080. if(faction_id < 1 || faction_id > MAX_FACTIONS || !FactionData[faction_id][factionID])
  15081. return SendClientMessage(playerid, COLOR_GREY, "Invalid faction specified.");
  15082. if(products < 1)
  15083. return SendClientMessage(playerid, COLOR_GREY, "Invalid products.");
  15084. format(string, sizeof(string), "%s set faction ID %i's products to %i from %i.", ReturnName(playerid), faction_id, products, FactionData[faction_id][factionProducts]);
  15085. adminWarn(4, string);
  15086. WriteLog("faction_logs/warehouse_logs/editproducts.txt", "%s set faction ID %i's products to %i from %i.", ReturnName(playerid), faction_id, products, FactionData[faction_id][factionProducts]);
  15087. FactionData[faction_id][factionProducts] = products;
  15088. return 1;
  15089. }
  15090. CMD:destroycrate(playerid, params[])
  15091. {
  15092. if( PlayerData[playerid][pAdmin] < 4 )
  15093. return UnAuthMessage(playerid);
  15094. new crateid;
  15095. if(sscanf(params, "i", crateid))
  15096. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /destroycrate [crate id]");
  15097. if(crateid < 0 || crateid > MAX_WEAPON_CRATES || !WeaponCrates[crateid][CrateExists])
  15098. return SendClientMessage(playerid, COLOR_GREY, "Specified an invalid crate ID.");
  15099. new string[128];
  15100. format(string, sizeof(string), "%s destroyed weapon crate ID %i.", ReturnName(playerid), crateid);
  15101. adminWarn(4, string);
  15102. printf("[Debug] %s cleared active crate ID %i", ReturnName(playerid), crateid);
  15103. ClearActiveCrate(crateid);
  15104. return 1;
  15105. }
  15106. CMD:gotocrate(playerid, params[])
  15107. {
  15108. if( PlayerData[playerid][pAdmin] < 4 )
  15109. return UnAuthMessage(playerid);
  15110. new crateid;
  15111. if(sscanf(params, "i", crateid))
  15112. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /destroycrate [crate id]");
  15113. if(crateid < 0 || crateid > MAX_WEAPON_CRATES || !WeaponCrates[crateid][CrateExists])
  15114. return SendClientMessage(playerid, COLOR_GREY, "Specified an invalid crate ID.");
  15115. new Float:Pos[3];
  15116. new string[128];
  15117. format(string, sizeof string, "%s teleported to Crate ID %i.", ReturnName(playerid), crateid);
  15118. adminWarn(4, string);
  15119. GetDynamicObjectPos(WeaponCrates[crateid][CrateObject], Pos[0], Pos[1], Pos[2]);
  15120. SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  15121. return 1;
  15122. }
  15123. //
  15124. CMD:gotopoint(playerid, params[])
  15125. {
  15126. new Float:Point[3], interior;
  15127. if(!pLoggedIn[playerid])return true;
  15128. if(PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  15129. if(sscanf(params, "dfff", interior, Point[0], Point[1], Point[2]))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /gotopoint [interior] [x axis] [y axis] [z axis]");
  15130. SendPlayer(playerid, Point[0], Point[1], Point[2], interior, GetPlayerVirtualWorld(playerid));
  15131. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  15132. return 1;
  15133. }
  15134. CMD:getname(playerid, params[])
  15135. {
  15136. if(!pLoggedIn[playerid])return true;
  15137. if(PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  15138. new dbid, string[128];
  15139. if(sscanf(params, "d", dbid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /getname [player dbid]");
  15140. if(dbid < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't go below one.");
  15141. format(string, sizeof(string), "DBID %d is Player %s.", dbid, ReturnSQLName(dbid));
  15142. SendClientMessage(playerid, COLOR_ADM, string);
  15143. return true;
  15144. }
  15145. CMD:x(playerid, params[])
  15146. {
  15147. new Float:playerPos[3], Float:coord;
  15148. if(PlayerData[playerid][pAdmin] < 3)
  15149. return UnAuthMessage(playerid);
  15150. if(sscanf(params, "f", coord))
  15151. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /x [coordinate]");
  15152. GetPlayerPos(playerid, playerPos[0], playerPos[1], playerPos[2]);
  15153. SetPlayerPos(playerid, playerPos[0] + coord, playerPos[1], playerPos[2]);
  15154. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  15155. return true;
  15156. }
  15157. CMD:y(playerid, params[])
  15158. {
  15159. new Float:playerPos[3], Float:coord;
  15160. if(PlayerData[playerid][pAdmin] < 3)
  15161. return UnAuthMessage(playerid);
  15162. if(sscanf(params, "f", coord))
  15163. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /y [coordinate]");
  15164. GetPlayerPos(playerid, playerPos[0], playerPos[1], playerPos[2]);
  15165. SetPlayerPos(playerid, playerPos[0], playerPos[1] + coord, playerPos[2]);
  15166. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  15167. return true;
  15168. }
  15169. CMD:z(playerid, params[])
  15170. {
  15171. new Float:playerPos[3], Float:coord;
  15172. if(PlayerData[playerid][pAdmin] < 3)
  15173. return UnAuthMessage(playerid);
  15174. if(sscanf(params, "f", coord))
  15175. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /z [coordinate]");
  15176. GetPlayerPos(playerid, playerPos[0], playerPos[1], playerPos[2]);
  15177. SetPlayerPos(playerid, playerPos[0], playerPos[1], playerPos[2] + coord);
  15178. SendClientMessage(playerid, COLOR_GREY, "You have been teleported");
  15179. return true;
  15180. }
  15181. CMD:propertyinfo(playerid, params[])
  15182. {
  15183. new pid, name[40], string[128];
  15184. if (!pLoggedIn[playerid])return true;
  15185. if (PlayerData[playerid][pAdmin] < 3)return UnAuthMessage(playerid);
  15186. if (sscanf(params, "d", pid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /propertyinfo [propertyid]");
  15187. if (pid < 1 || pid > MAX_PROPERTY || !PropertyData[pid][propertyid])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid property ID.");
  15188. if(!PropertyData[pid][propertyOwnerSQL])
  15189. name = "None";
  15190. else format(name, 40, "%s", ReturnSQLName(PropertyData[pid][propertyOwnerSQL]));
  15191. new garage_id;
  15192. for(new i = 1; i < MAX_PROPERTY_GARAGES; i++) if(GarageData[i][garagePropertyID] == pid)
  15193. garage_id = i;
  15194. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________________________________");
  15195. format(string, sizeof(string), "Owner:[%s] Level:[%d] MarketPrice:[%d] Type:[%d] Locked:[%d] ID:[%d]", name, PropertyData[pid][propertyLevel], PropertyData[pid][propertyMarketPrice], PropertyData[pid][propertyType], PropertyData[pid][propertyLocked], PropertyData[pid][propertyid]);
  15196. SendClientMessage(playerid, COLOR_WHITE, string);
  15197. format(string, sizeof(string), "Interior:[%d] InteriorWorld:[%d] (Apartment)Exterior:[%d] ExteriorWorld:[%d] ComplexLink:[%d]", PropertyData[pid][propertyInteriorID], PropertyData[pid][propertyInteriorWorld], PropertyData[pid][propertyExteriorID], PropertyData[pid][propertyExteriorWorld], PropertyData[pid][propertyComplexLink]);
  15198. SendClientMessage(playerid, COLOR_WHITE, string);
  15199. format(string, sizeof(string), "Cashbox:[%d] Weapons:[%d], Faction:[%d], Linked Garage:[%d]", PropertyData[pid][propertyMoney], CountHouseWeapons(pid), PropertyData[pid][propertyFaction], garage_id);
  15200. SendClientMessage(playerid, COLOR_WHITE, string);
  15201. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________________________________");
  15202. return true;
  15203. }
  15204. CMD:fixveh(playerid, params[]) return cmd_repair(playerid, params);
  15205. CMD:repair(playerid, params[])
  15206. {
  15207. if(!pLoggedIn[playerid])return true;
  15208. if(!PlayerData[playerid][pAdmin])return UnAuthMessage(playerid);
  15209. new
  15210. string[128],
  15211. Float: angle
  15212. ;
  15213. if(IsPlayerInAnyVehicle(playerid)){
  15214. RepairVehicle(GetPlayerVehicleID(playerid));
  15215. switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
  15216. {
  15217. case 528, 601, 427: SetVehicleHealth(GetPlayerVehicleID(playerid), 10000);
  15218. default: SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
  15219. }
  15220. GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
  15221. SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
  15222. format(string, sizeof(string), "%s repaired vehicle ID %d", ReturnName(playerid, 1), GetPlayerVehicleID(playerid));
  15223. adminWarn(3, string);
  15224. }
  15225. else{
  15226. new vehicleid;
  15227. if(sscanf(params, "d", vehicleid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /repair [vehicleid]");
  15228. if(!IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  15229. RepairVehicle(vehicleid);
  15230. SetVehicleHealth(vehicleid, 1000);
  15231. switch(GetVehicleModel(vehicleid))
  15232. {
  15233. case 528, 601, 427: SetVehicleHealth(vehicleid, 10000);
  15234. default: SetVehicleHealth(vehicleid, 1000);
  15235. }
  15236. GetVehicleZAngle(vehicleid, angle);
  15237. SetVehicleZAngle(vehicleid, angle);
  15238. format(string, sizeof(string), "%s repaired vehicle ID %d", ReturnName(playerid, 1), vehicleid);
  15239. adminWarn(3, string);
  15240. }
  15241. return true;
  15242. }
  15243. CMD:setjob(playerid, params[])
  15244. {
  15245. if (PlayerData[playerid][pAdmin] < 3)
  15246. return false;
  15247. new playerb, job_id, string[128];
  15248. if (sscanf(params, "ud", playerb, job_id))
  15249. {
  15250. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setjob [playerid/PartofName] [job_id] ");
  15251. SendClientMessage(playerid, COLOR_WHITE, "| 1. Mechanic Job, 2. Fisherman Job (WIP), 3. Taxi Driver, 4. Trucker. |");
  15252. return true;
  15253. }
  15254. if (!IsPlayerConnected(playerb))
  15255. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  15256. if(!pLoggedIn[playerb])
  15257. return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  15258. if (job_id > 4 || job_id < 1)
  15259. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid job.");
  15260. if(PlayerData[playerb][pSidejob] == job_id)
  15261. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That job is the players sidejob.");
  15262. PlayerData[playerb][pJob] = job_id;
  15263. format(string, sizeof(string), "%s set %s's job to %s. ", ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnJobName(job_id));
  15264. adminWarn(3, string);
  15265. WriteLog("admin_logs/players/setjob_log.txt", "[%s] %s set %s's Job to %s.", ReturnDate(), ReturnName(playerid), ReturnName(playerb), ReturnJobName(job_id));
  15266. return true;
  15267. }
  15268. CMD:setsidejob(playerid, params[])
  15269. {
  15270. if (PlayerData[playerid][pAdmin] < 3)
  15271. return 0;
  15272. new playerb, job_id, string[128];
  15273. if (sscanf(params, "ud", playerb, job_id))
  15274. {
  15275. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setsidejob [playerid/PartofName] [job_id] ");
  15276. SendClientMessage(playerid, COLOR_WHITE, "| 1. Mechanic Job, 2. State Agent, 3. Taxi Job, 4. Weapon Dealer, 5. Trucker Job |");
  15277. return true;
  15278. }
  15279. if (!IsPlayerConnected(playerb))
  15280. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  15281. if(!pLoggedIn[playerb])
  15282. return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  15283. if (job_id > 5 || job_id < 1)
  15284. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid job.");
  15285. if(PlayerData[playerb][pJob] == job_id)
  15286. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That job is the players primary.");
  15287. PlayerData[playerb][pSidejob] = job_id;
  15288. format(string, sizeof(string), "%s set %s's sidejob to %s. ", ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnJobName(job_id));
  15289. adminWarn(3, string);
  15290. WriteLog("admin_logs/players/setjob_log.txt", "[%s] %s set %s's SideJob to %s.", ReturnDate(), ReturnName(playerid), ReturnName(playerb), ReturnJobName(job_id));
  15291. return true;
  15292. }
  15293. CMD:near(playerid, params[])
  15294. {
  15295. if (PlayerData[playerid][pAdmin] < 3)
  15296. return 0;
  15297. new id;
  15298. if( (id = IsPlayerNearProperty(playerid)) != 0)
  15299. Message(playerid, COLOR_YELLOW, "[ ! ] You're near Property ID %i", id);
  15300. if( (id = IsPlayerInProperty(playerid)) != 0)
  15301. Message(playerid, COLOR_YELLOW, "[ ! ] You're inside Property ID %i", id);
  15302. if( (id = IsPlayerNearBusiness(playerid)) != 0)
  15303. Message(playerid, COLOR_YELLOW, "[ ! ] You're near Business ID %i", id);
  15304. if( (id = IsPlayerInBusiness(playerid)) != 0)
  15305. Message(playerid, COLOR_YELLOW, "[ ! ] You're inside Business ID %i", id);
  15306. if( (id = GetNearestVehicle(playerid)) != INVALID_VEHICLE_ID)
  15307. Message(playerid, COLOR_YELLOW, "[ ! ] You're near vehicle ID %i", id);
  15308. for(new i = 0; i < sizeof ObjectData; i++) if(IsPlayerInRangeOfPoint(playerid, 5.0, ObjectData[i][Object_PosX], ObjectData[i][Object_PosY], ObjectData[i][Object_PosZ]) && GetPlayerVirtualWorld(playerid) == ObjectData[i][Object_World])
  15309. Message(playerid, COLOR_YELLOW, "[ ! ] You're near Object ID %i (DBID: %i)", i, ObjectData[i][ObjectDBID]);
  15310. if( (id = IsPlayerNearEntrance(playerid)) != -1)
  15311. Message(playerid, COLOR_YELLOW, "[ ! ] You're near Entrance ID %i", id);
  15312. return 1;
  15313. }
  15314. CMD:setfightstyle(playerid, params[])
  15315. {
  15316. if(PlayerData[playerid][pAdmin] < 3)
  15317. return UnAuthMessage(playerid);
  15318. new
  15319. playerb, style,
  15320. str[128];
  15321. if(sscanf(params, "ui", playerb, style))
  15322. {
  15323. SendClientMessage(playerid, COLOR_WHITE, "Styles: 0 1 2 3 4 5");
  15324. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setfightstyle [playerid/PartofName] <style>");
  15325. }
  15326. if(style < 0 || style > 5)
  15327. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid style.");
  15328. if(!IsPlayerConnected(playerb) && pLoggedIn[playerb])
  15329. return SendClientMessage(playerid, COLOR_ADM, "Player isn't connected or logged in.");
  15330. switch(style)
  15331. {
  15332. case 0: style = 15;
  15333. case 1: style = 4;
  15334. case 2: style = 5;
  15335. case 3: style = 6;
  15336. case 4: style = 7;
  15337. case 5: style = 16;
  15338. }
  15339. PlayerData[playerb][pFightstyle] = style;
  15340. SetPlayerFightingStyle(playerb, style);
  15341. format(str, sizeof(str), "%s set %s's fight style to %s", ReturnName(playerid), ReturnName(playerb), GetFightstyleName(style));
  15342. adminWarn(3, str);
  15343. if(playerb != playerid) Message(playerb, COLOR_ADM, "Your fightstyle was changed by %s.", ReturnName(playerid));
  15344. return 1;
  15345. }
  15346. // Level 4
  15347. CMD:givegun(playerid, params[])
  15348. {
  15349. if(!pLoggedIn[playerid])return true;
  15350. new string[128], playerb, weaponid, ammo;
  15351. if(PlayerData[playerid][pAdmin] < 4)return UnAuthMessage(playerid);
  15352. if(sscanf(params, "uii", playerb, weaponid, ammo))
  15353. {
  15354. SendClientMessage(playerid, COLOR_ADM, "USAGE: /givegun [playerid/PartofName] [weaponid] [ammo]");
  15355. return true;
  15356. }
  15357. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  15358. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  15359. GivePlayerGun(playerb, weaponid, ammo, PlayerData[playerid][pSQLID]);
  15360. format(string, sizeof(string), "%s gave %s an %s with %d ammo.", ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnWeaponName(weaponid), ammo);
  15361. adminWarn(1, string);
  15362. WriteLog("weapon_logs/admin_logs/givegun.txt", "[%s] %s gave %s a %s with %d ammo", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerid, 1), ReturnWeaponName(weaponid), ammo);
  15363. return true;
  15364. }
  15365. CMD:makeproperty(playerid, params[])
  15366. {
  15367. if (PlayerData[playerid][pAdmin] < 4)return UnAuthMessage(playerid);
  15368. new option[90], interval;
  15369. if(sscanf(params, "s[90]I(-1)", option, interval)) {
  15370. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makeproperty [parameters]");
  15371. SendClientMessage(playerid, COLOR_ADM, "-> parameters:");
  15372. SendClientMessage(playerid, COLOR_ADM, "--> exterior - Set the exterior at your position. {F81414}USE EXTERIOR FOR APARTMENTS.");
  15373. SendClientMessage(playerid, COLOR_ADM, "--> interior - Set the interior at your position.");
  15374. SendClientMessage(playerid, COLOR_ADM, "--> type - Set the properties type. {F81414}Required to select other params.");
  15375. SendClientMessage(playerid, COLOR_DARKGREEN, "---> 1:[Complex] 2:[Apartment] 3:[House]");
  15376. SendClientMessage(playerid, COLOR_ADM, "--> cost - Set the properties market price.");
  15377. SendClientMessage(playerid, COLOR_ADM, "--> level - Set the required level to buy the property.");
  15378. SendClientMessage(playerid, COLOR_ADM, "--> complexlink - If an apartment, what complex is it linked too.");
  15379. SendClientMessage(playerid, COLOR_ADM, "--> create - Finishes and makes your property.");
  15380. SendClientMessage(playerid, COLOR_ORANGE, " !! WARNING !! When making an apartment, use /propertyinfo [complex id] to get the exterior WORLD.");
  15381. SendClientMessage(playerid, COLOR_ORANGE, " !! WARNING !! Set the apartments world to that exterior world using /editproperty OR IT WILL BUG.");
  15382. return true;
  15383. }
  15384. if (strmatch(option, "type")) {
  15385. if(interval == -1){
  15386. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makeproperty type [typeid]");
  15387. SendClientMessage(playerid, COLOR_WHITE, "Types : 1 Complex, 2 Apartment, 3 House");
  15388. SendClientMessage(playerid, COLOR_ADM, "Warning: Only make apartments for rooms inside a complex OR you will bug it.");
  15389. return true;
  15390. }
  15391. if(interval < 1 || interval > 3) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid typeid.");
  15392. if(interval == 2){
  15393. SendClientMessage(playerid, COLOR_ADM, " !! WARNING !! When making an apartment, use /propertyinfo [complex id] to get the exterior WORLD.");
  15394. SendClientMessage(playerid, COLOR_ADM, " !! WARNING !! Set the apartments world to that exterior world using /editproperty OR IT WILL BUG.");
  15395. }
  15396. Resources[playerid][Type] = interval;
  15397. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your properties type was set. You may now continue. ");
  15398. }
  15399. if (strmatch(option, "exterior")) {
  15400. if (!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties type first.");
  15401. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  15402. if(Resources[playerid][Type] == 2){
  15403. Resources[playerid][extInteriorID] = GetPlayerInterior(playerid);
  15404. Resources[playerid][extWorld] = 50000+random(9999);
  15405. }
  15406. else{
  15407. Resources[playerid][extInteriorID] = 0;
  15408. Resources[playerid][extWorld] = 0;
  15409. }
  15410. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your properties exterior has been selected.");
  15411. }
  15412. else if (strmatch(option, "interior")) {
  15413. if (!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties type first.");
  15414. GetPlayerPos(playerid, Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  15415. GetPlayerFacingAngle(playerid, Resources[playerid][Interior][3]);
  15416. Resources[playerid][intInteriorID] = GetPlayerInterior(playerid);
  15417. Resources[playerid][intWorld] = 50000+random(9999);
  15418. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your properties interior has been selected.");
  15419. }
  15420. else if (strmatch(option, "cost")) {
  15421. if (!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties type first.");
  15422. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makeproperty cost [price]");
  15423. Resources[playerid][Cost] = interval;
  15424. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your properties market price has been selected.");
  15425. }
  15426. else if (strmatch(option, "level")) {
  15427. if (!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties type first.");
  15428. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makeproperty level [level]");
  15429. Resources[playerid][Level] = interval;
  15430. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your properties level has been selected.");
  15431. }
  15432. else if (strmatch(option, "complexlink")) {
  15433. if (Resources[playerid][Type] != 2)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This is only for type 2 properties.");
  15434. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makeproperty complexlink [complexid]");
  15435. if (interval < 1 || interval > MAX_PROPERTY || !PropertyData[interval][propertyid])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid complex ID.");
  15436. if (PropertyData[interval][propertyType] != 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That property isn't a complex.");
  15437. Resources[playerid][ComplexLink] = interval;
  15438. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Your properties complex link has been selected.");
  15439. }
  15440. else if (strmatch(option, "create")) {
  15441. if (!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties type first.");
  15442. if (!Resources[playerid][Exterior])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties exterior first.");
  15443. if (!Resources[playerid][Interior])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties interior first.");
  15444. if (!Resources[playerid][Cost])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties market price first.");
  15445. if (!Resources[playerid][Level])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Set your properties level first.");
  15446. if (Resources[playerid][Type] == 2 && !Resources[playerid][ComplexLink])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're making an apartment without a complex link.");
  15447. if(Resources[playerid][Type] == 2) {
  15448. Resources[playerid][extInteriorID] = PropertyData[Resources[playerid][ComplexLink]][propertyInteriorID];
  15449. Resources[playerid][extWorld] = PropertyData[Resources[playerid][ComplexLink]][propertyInteriorWorld];
  15450. }
  15451. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Creating your property, calling local function...");
  15452. CallPropertyCreate(playerid);
  15453. }
  15454. return true;
  15455. }
  15456. CMD:makefaction(playerid, params[])
  15457. {
  15458. if(!pLoggedIn[playerid])return true;
  15459. if(PlayerData[playerid][pAdmin] < 4)return UnAuthMessage(playerid);
  15460. new string[128], section[90], name[128], faction = TotalFactionsLoaded+1;
  15461. if(sscanf(params, "s[90]S('None')[128]", section, name))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makefaction [ 'name', 'abbrev', 'complete' ]");
  15462. if(faction > MAX_FACTIONS)return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} The server has maximum faction slots available.");
  15463. if(strmatch(section, "name")) {
  15464. if(strmatch(name, "None"))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makefaction name [factions name]");
  15465. format(FactionName, 128, "%s", name);
  15466. format(string, sizeof(string), "[ ! ]{FFFFFF} The factions name was set to {FF6346}%s{FFFFFF}. Set the abbreviation next.", name);
  15467. SendClientMessage(playerid, COLOR_ADM, string);
  15468. }
  15469. else if(strmatch(section, "abbrev")) {
  15470. if(strmatch(name, "None"))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makefaction abbreviation [factions abbrev]");
  15471. if(strmatch(FactionName, "None"))return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You need to set the {FF6346}factions name{FFFFFF} before doing this.");
  15472. format(FactionAbbrev, 128, "%s", name);
  15473. format(string, sizeof(string), "[ ! ]{FFFFFF} The factions abbreviation was set to {FF6346}%s{FFFFFF}. Use /makefaction complete now.", name);
  15474. SendClientMessage(playerid, COLOR_ADM, string);
  15475. }
  15476. else if(strmatch(section, "complete")) {
  15477. if(strmatch(FactionName, "None"))return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You need to set the {FF6346}factions name{FFFFFF} before doing this.");
  15478. if(strmatch(FactionAbbrev, "None"))return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You need to set the {FF6346}factions abbreviation{FFFFFF} before doing this.");
  15479. SaveFactionToDatabase(playerid);
  15480. }
  15481. return true;
  15482. }
  15483. CMD:editfaction(playerid, params[])
  15484. {
  15485. if(!pLoggedIn[playerid])return true;
  15486. if(PlayerData[playerid][pAdmin] < 4)return UnAuthMessage(playerid);
  15487. new string[128], factionid, opt[90], value;
  15488. if(sscanf(params, "ds[90]I(-1)", factionid, opt, value)) {
  15489. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editfaction [factionid] [params]");
  15490. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} copperms, medperms, newsperms, warehouseperms.");
  15491. SendClientMessage(playerid, COLOR_ADM, "Warning: Factions can't have two permissions. It'll be reset to default.");
  15492. return true;
  15493. }
  15494. if(factionid < 1 || factionid > MAX_FACTIONS || !FactionData[factionid][factionID])
  15495. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction ID.");
  15496. if(strmatch(opt, "copperms"))
  15497. {
  15498. if(value == -1) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editfaction [factionid] copperms [0-1] ");
  15499. FactionData[factionid][factionCopPerms] = value;
  15500. SaveSQLInt(FactionData[factionid][factionID], "factions", "CopPerms", FactionData[factionid][factionCopPerms]);
  15501. if (FactionData[factionid][factionMedPerms] == 1) {
  15502. FactionData[factionid][factionMedPerms] = 0;
  15503. SaveSQLInt(FactionData[factionid][factionID], "factions", "MedPerms", FactionData[factionid][factionMedPerms]);
  15504. }
  15505. if (FactionData[factionid][factionNewsPerms] == 1) {
  15506. FactionData[factionid][factionNewsPerms] = 0;
  15507. SaveSQLInt(FactionData[factionid][factionID], "factions", "NewsPerms", FactionData[factionid][factionNewsPerms]);
  15508. }
  15509. if(value == 1)
  15510. format(string, sizeof(string), "[ ! ]{FFFFFF} You gave the {FF6346}%s{FFFFFF} faction cop permissions.", FactionData[factionid][factionName]);
  15511. else
  15512. format(string, sizeof(string), "[ ! ]{FFFFFF} You removed the {FF6346}%s{FFFFFF} faction cop permissions.", FactionData[factionid][factionName]);
  15513. SendClientMessage(playerid, COLOR_ADM, string);
  15514. WriteLog("admin_logs/factions/editfaction_log.txt", "[%s] %s set factionid %d's cop permissions to %d", ReturnDate(), ReturnName(playerid, 1), factionid, value);
  15515. }
  15516. else if(strmatch(opt, "medperms"))
  15517. {
  15518. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editfaction [factionid] medperms [0-1] ");
  15519. FactionData[factionid][factionMedPerms] = value;
  15520. SaveSQLInt(FactionData[factionid][factionID], "factions", "MedPerms", FactionData[factionid][factionMedPerms]);
  15521. if(FactionData[factionid][factionCopPerms] == 1){
  15522. FactionData[factionid][factionCopPerms] = 0;
  15523. SaveSQLInt(FactionData[factionid][factionID], "factions", "CopPerms", FactionData[factionid][factionCopPerms]);
  15524. }
  15525. if (FactionData[factionid][factionNewsPerms] == 1) {
  15526. FactionData[factionid][factionNewsPerms] = 0;
  15527. SaveSQLInt(FactionData[factionid][factionID], "factions", "NewsPerms", FactionData[factionid][factionNewsPerms]);
  15528. }
  15529. if(value == 1)
  15530. format(string, sizeof(string), "[ ! ]{FFFFFF} You gave the {FF6346}%s{FFFFFF} faction medic permissions.", FactionData[factionid][factionName]);
  15531. else
  15532. format(string, sizeof(string), "[ ! ]{FFFFFF} You removed the {FF6346}%s{FFFFFF} faction medic permissions.", FactionData[factionid][factionName]);
  15533. SendClientMessage(playerid, COLOR_ADM, string);
  15534. WriteLog("admin_logs/factions/editfaction_log.txt", "[%s] %s set factionid %d's medic permissions to %d", ReturnDate(), ReturnName(playerid, 1), factionid, value);
  15535. }
  15536. else if(strmatch(opt, "newsperms"))
  15537. {
  15538. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editfaction [factionid] newsperms [0-1] ");
  15539. FactionData[factionid][factionNewsPerms] = value;
  15540. SaveSQLInt(FactionData[factionid][factionID], "factions", "NewsPerms", FactionData[factionid][factionNewsPerms]);
  15541. if(FactionData[factionid][factionCopPerms] == 1){
  15542. FactionData[factionid][factionCopPerms] = 0;
  15543. SaveSQLInt(FactionData[factionid][factionID], "factions", "CopPerms", FactionData[factionid][factionCopPerms]);
  15544. }
  15545. if (FactionData[factionid][factionMedPerms] == 1) {
  15546. FactionData[factionid][factionMedPerms] = 0;
  15547. SaveSQLInt(FactionData[factionid][factionID], "factions", "MedPerms", FactionData[factionid][factionMedPerms]);
  15548. }
  15549. if(value == 1)
  15550. format(string, sizeof(string), "[ ! ]{FFFFFF} You gave the {FF6346}%s{FFFFFF} faction news permissions.", FactionData[factionid][factionName]);
  15551. else
  15552. format(string, sizeof(string), "[ ! ]{FFFFFF} You removed the {FF6346}%s{FFFFFF} faction news permissions.", FactionData[factionid][factionName]);
  15553. SendClientMessage(playerid, COLOR_ADM, string);
  15554. WriteLog("admin_logs/factions/editfaction_log.txt", "[%s] %s set factionid %d's news permissions to %d", ReturnDate(), ReturnName(playerid, 1), factionid, value);
  15555. }
  15556. else return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That isn't an option here.");
  15557. return true;
  15558. }
  15559. CMD:setstats(playerid, params[])
  15560. {
  15561. if(!pLoggedIn[playerid]) return true;
  15562. if(PlayerData[playerid][pAdmin] < 4) return UnAuthMessage(playerid);
  15563. new playerb, opt[90], value, string[128], saveid = PlayerData[playerb][pSQLID];
  15564. if(sscanf(params, "us[90]I(-1)", playerb, opt, value)) {
  15565. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid/PartofName] [stats name]");
  15566. SendClientMessage(playerid, COLOR_GRAD2, "|level, exp, bank, paycheck, radio, bmx, timeplayed, driverlicense, weaponslicense|");
  15567. SendClientMessage(playerid, COLOR_GRAD1, "|phone, burnerphone, carspawned, carspawnedid|");
  15568. return true;
  15569. }
  15570. if(strmatch(opt, "level")) {
  15571. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] level [value]");
  15572. PlayerData[playerb][pLevel] = value;
  15573. SaveSQLInt(saveid, "players", "Level", PlayerData[playerb][pLevel]);
  15574. SetPlayerScore(playerb, value);
  15575. format(string, sizeof(string), "SERVER: You set %s's level to %d", ReturnName(playerb, 1), value);
  15576. SendClientMessage(playerid, COLOR_ADM, string);
  15577. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's LEVEL to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15578. }
  15579. else if(strmatch(opt, "exp")) {
  15580. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] exp [value]");
  15581. PlayerData[playerb][pExp] = value;
  15582. SaveSQLInt(saveid, "players", "Exp", PlayerData[playerb][pExp]);
  15583. format(string, sizeof(string), "SERVER: You set %s's experience points to %d", ReturnName(playerb, 1), value);
  15584. SendClientMessage(playerid, COLOR_YELLOW, string);
  15585. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's EXP to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15586. }
  15587. else if(strmatch(opt, "bank")) {
  15588. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] bank [value]");
  15589. PlayerData[playerb][pBank] = value;
  15590. SaveSQLInt(saveid, "players", "Bank", PlayerData[playerb][pBank]);
  15591. format(string, sizeof(string), "SERVER: You set %s's bank to $%s", ReturnName(playerb, 1), MoneyFormat(value));
  15592. SendClientMessage(playerid, COLOR_YELLOW, string);
  15593. format(string, sizeof(string), "%s set %s's bank money to $%s", ReturnName(playerid, 1), ReturnName(playerb, 1), MoneyFormat(value));
  15594. adminWarn(4, string);
  15595. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's BANK to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15596. }
  15597. else if(strmatch(opt, "savings")) {
  15598. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] savings [value]");
  15599. PlayerData[playerb][pSavings] = value;
  15600. SaveSQLInt(saveid, "players", "Savings", PlayerData[playerb][pSavings]);
  15601. format(string, sizeof(string), "SERVER: You set %s's savings to $%s", ReturnName(playerb, 1), MoneyFormat(value));
  15602. SendClientMessage(playerid, COLOR_YELLOW, string);
  15603. format(string, sizeof(string), "%s set %s's savings money to $%s", ReturnName(playerid, 1), ReturnName(playerb, 1), MoneyFormat(value));
  15604. adminWarn(4, string);
  15605. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's SAVINGS to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15606. }
  15607. else if(strmatch(opt, "paycheck")) {
  15608. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] paycheck [value]");
  15609. PlayerData[playerb][pPaycheck] = value;
  15610. SaveSQLInt(saveid, "players", "Paycheck", PlayerData[playerb][pPaycheck]);
  15611. format(string, sizeof(string), "SERVER: You set %s's paycheck to $%s", ReturnName(playerb, 1), MoneyFormat(value));
  15612. SendClientMessage(playerid, COLOR_YELLOW, string);
  15613. format(string, sizeof(string), "%s set %s's paycheck money to $%s", ReturnName(playerid, 1), ReturnName(playerb, 1), MoneyFormat(value));
  15614. adminWarn(4, string);
  15615. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's PAYCHECK to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15616. }
  15617. else if(strmatch(opt, "radio")) {
  15618. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] radio [value]");
  15619. PlayerData[playerb][pHasRadio] = value;
  15620. SaveSQLInt(saveid, "players", "HasRadio", PlayerData[playerb][pHasRadio]);
  15621. if(value == 0){
  15622. format(string, sizeof(string), "SERVER: You took %s's radio.", ReturnName(playerid, 1));
  15623. SendClientMessage(playerid, COLOR_YELLOW, string);
  15624. }
  15625. else{
  15626. format(string, sizeof(string), "SERVER: You gave %s a radio.", ReturnName(playerb, 1));
  15627. SendClientMessage(playerid, COLOR_YELLOW, string);
  15628. }
  15629. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's Radio to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15630. }
  15631. else if(strmatch(opt, "timeplayed")) {
  15632. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] timeplayed [value]");
  15633. PlayerData[playerb][pHoursPlayed] = value;
  15634. SaveSQLInt(saveid, "players", "HoursPlayed", PlayerData[playerid][pHoursPlayed]);
  15635. format(string, sizeof(string), "SERVER: You set %s's time played to %d", ReturnName(playerb, 1), value);
  15636. SendClientMessage(playerid, COLOR_YELLOW, string);
  15637. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's Time Played to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15638. }
  15639. else if(strmatch(opt, "driverlicense")){
  15640. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] driverlicense [value]");
  15641. PlayerData[playerb][pDriversLicense] = value;
  15642. SaveSQLInt(saveid, "players", "DriversLicense", PlayerData[playerid][pDriversLicense]);
  15643. if(value >= 1)
  15644. format(string, sizeof(string), "SERVER: You gave %s a driver's license", ReturnName(playerb, 1));
  15645. else
  15646. format(string, sizeof(string), "SERVER: You took %s's driver's license", ReturnName(playerb, 1));
  15647. SendClientMessage(playerid, COLOR_YELLOW, string);
  15648. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's DriversLicense to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15649. }
  15650. else if(strmatch(opt, "weaponslicense")) {
  15651. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstats [playerid OR name] weaponslicense [value]");
  15652. PlayerData[playerb][pWeaponsLicense] = value;
  15653. SaveSQLInt(saveid, "players", "WeaponsLicense", PlayerData[playerid][pWeaponsLicense]);
  15654. if(value >= 1)
  15655. format(string, sizeof(string), "SERVER: You gave %s a weapon's license", ReturnName(playerb, 1));
  15656. else
  15657. format(string, sizeof(string), "SERVER: You took %s's weapon's license", ReturnName(playerb, 1));
  15658. SendClientMessage(playerid, COLOR_YELLOW, string);
  15659. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's WeaponsLicense to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), value);
  15660. }
  15661. else if(strmatch(opt, "phone")) {
  15662. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setstats [playerid/PartofName] phone [new phone]");
  15663. if(value == 911 || value == WEAPON_ORDER_NUMBER || value == MECHANIC_NUMBER || value == TAXI_NUMBER)
  15664. return SendClientMessage(playerid, COLOR_ADM, "Not allowed.");
  15665. new query[128];
  15666. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM players WHERE Phone = %i", value);
  15667. mysql_tquery(m_Handle, query, "IfPhoneExists", "iii", playerid, playerb, value);
  15668. }
  15669. else if(strmatch(opt, "burnerphone")) {
  15670. if(value == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setstats [playerid/PartofName] burnerphone [new phone]");
  15671. if(value == 911 || value == WEAPON_ORDER_NUMBER || value == MECHANIC_NUMBER || value == TAXI_NUMBER)
  15672. return SendClientMessage(playerid, COLOR_ADM, "Not allowed.");
  15673. new query[128];
  15674. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM players WHERE BurnerPhoneNumber = %i", value);
  15675. mysql_tquery(m_Handle, query, "IfBPhoneExists", "iii", playerid, playerb, value);
  15676. }
  15677. else if(strmatch(opt, "carspawned")) {
  15678. if(value == -1)
  15679. {
  15680. SendClientMessage(playerid, COLOR_ADM, "USAGE: /setstats [playerid/PartofName] hascarspawned [0/1]");
  15681. Message(playerid, COLOR_ADM, "%s %s", ReturnName(playerb), (_has_vehicle_spawned[playerb] != 1) ? ("does not have a vehicle spawned.") : ("has a vehicle spawned right now."));
  15682. return 1;
  15683. }
  15684. if(value < 0 || value > 1)return SendClientMessage(playerid, COLOR_ADM, "Value has to be 0-1. 1 is true, 0 is false");
  15685. _has_vehicle_spawned[playerb] = value;
  15686. format(string, sizeof(string), "%s set %s's HasVehicleSpawned var to %s", ReturnName(playerid), ReturnName(playerb), (value != 1) ? ("false") : ("true"));
  15687. adminWarn(4, string);
  15688. }
  15689. else if(strmatch(opt, "carspawnedid")) {
  15690. if(value == -1)
  15691. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setstats [playerid/PartofName] carspawnedid [vehicleid]");
  15692. if(!IsValidVehicle(value))
  15693. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a valid vehicle.");
  15694. _has_spawned_vehicleid[playerb] = value;
  15695. format(string, sizeof(string), "%s set %s's VehicleSpawnedID var to %d", ReturnName(playerid), ReturnName(playerb), value);
  15696. adminWarn(4, string);
  15697. }
  15698. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  15699. return true;
  15700. }
  15701. CMD:despawnacars(playerid, params[])
  15702. {
  15703. if(!pLoggedIn[playerid])return true;
  15704. if(PlayerData[playerid][pAdmin] < 4)return UnAuthMessage(playerid);
  15705. new string[128];
  15706. for(new i = 1, j = GetVehiclePoolSize(); i <= j; i++)
  15707. {
  15708. if(AdminCar[i])
  15709. {
  15710. AdminCar[i] = false;
  15711. DestroyVehicle(AdminCar[i]);
  15712. }
  15713. }
  15714. format(string, sizeof(string), "%s destroyed admin vehicles.", ReturnName(playerid, 1));
  15715. adminWarn(1, string);
  15716. return true;
  15717. }
  15718. CMD:editproperty(playerid, params[])
  15719. {
  15720. if (!pLoggedIn[playerid])return true;
  15721. if (PlayerData[playerid][pAdmin] < 4)return UnAuthMessage(playerid);
  15722. new option[90], interval, pid;
  15723. if (sscanf(params, "ds[90]I(-1)", pid, option, interval)){
  15724. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty [propertyid] [params]");
  15725. SendClientMessage(playerid, COLOR_ADM, "-> params:");
  15726. SendClientMessage(playerid, COLOR_ADM, "--> interior - Change the properties interior.");
  15727. SendClientMessage(playerid, COLOR_ADM, "--> intworld - Change the properties INTERIOR virtual world.");
  15728. SendClientMessage(playerid, COLOR_ADM, "--> extexterior - Change the properties exterior.");
  15729. SendClientMessage(playerid, COLOR_ADM, "--> extinterior - Change the properties exterior ID (APARTMENTS ONLY).");
  15730. SendClientMessage(playerid, COLOR_ADM, "--> extworld - Change the properties EXTERIOR virtual world (APARTMENTS ONLY).");
  15731. SendClientMessage(playerid, COLOR_ADM, "--> complexlink - Change the complex ID for an apartment.");
  15732. SendClientMessage(playerid, COLOR_ADM, "--> level - Change the property level.");
  15733. SendClientMessage(playerid, COLOR_ADM, "--> price - Change the market price.");
  15734. SendClientMessage(playerid, COLOR_ADM, "--> faction - Set faction. Cops can /duty or /heal armor, etc.");
  15735. return true;
  15736. }
  15737. if(pid < 1 || pid > MAX_PROPERTY || !PropertyData[pid][propertyid])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid property ID.");
  15738. if(strmatch(option, "interior")){
  15739. GetPlayerPos(playerid, Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  15740. GetPlayerFacingAngle(playerid, Resources[playerid][Interior][3]);
  15741. Resources[playerid][intInteriorID] = GetPlayerInterior(playerid);
  15742. PropertyData[pid][propertyInterior][0] = Resources[playerid][Interior][0];
  15743. PropertyData[pid][propertyInterior][1] = Resources[playerid][Interior][1];
  15744. PropertyData[pid][propertyInterior][2] = Resources[playerid][Interior][2];
  15745. PropertyData[pid][propertyInterior][3] = Resources[playerid][Interior][3];
  15746. PropertyData[pid][propertyInteriorID] = Resources[playerid][intInteriorID];
  15747. SaveProperty(pid);
  15748. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties interior position.");
  15749. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's interior location", ReturnDate(), ReturnName(playerid, 1), pid);
  15750. }
  15751. else if(strmatch(option, "intworld")){
  15752. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid intworld [world]");
  15753. PropertyData[pid][propertyInteriorWorld] = interval;
  15754. SaveProperty(pid);
  15755. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties interior world.");
  15756. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's interior world", ReturnDate(), ReturnName(playerid, 1), pid);
  15757. }
  15758. else if(strmatch(option, "exterior")){
  15759. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  15760. PropertyData[pid][propertyExterior][0] = Resources[playerid][Exterior][0];
  15761. PropertyData[pid][propertyExterior][1] = Resources[playerid][Exterior][1];
  15762. PropertyData[pid][propertyExterior][2] = Resources[playerid][Exterior][2];
  15763. if(PropertyData[pid][propertyType] == 1)
  15764. {
  15765. DestroyDynamicPickup(PropertyData[pid][propertyPickup]);
  15766. PropertyData[pid][propertyPickup] = CreateDynamicPickup(1314, 14, PropertyData[pid][propertyExterior][0], PropertyData[pid][propertyExterior][1], PropertyData[pid][propertyExterior][2], -1);
  15767. }
  15768. SaveProperty(pid);
  15769. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties exterior position.");
  15770. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's exterior world", ReturnDate(), ReturnName(playerid, 1), pid);
  15771. }
  15772. else if(strmatch(option, "extinterior")){
  15773. if(PropertyData[pid][propertyType] != 2)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This is for apartments only.");
  15774. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid extinterior [intid]");
  15775. PropertyData[pid][propertyExteriorID] = interval;
  15776. SaveProperty(pid);
  15777. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties exterior ID.");
  15778. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's exterior ID", ReturnDate(), ReturnName(playerid, 1), pid);
  15779. }
  15780. else if(strmatch(option, "extworld")){
  15781. if(PropertyData[pid][propertyType] != 2)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This is for apartments only.");
  15782. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid extworld [world]");
  15783. PropertyData[pid][propertyExteriorWorld] = interval;
  15784. SaveProperty(pid);
  15785. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties exterior world.");
  15786. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's exterior world", ReturnDate(), ReturnName(playerid, 1), pid);
  15787. }
  15788. else if(strmatch(option, "complexlink")){
  15789. if(PropertyData[pid][propertyType] != 2)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This is for apartments only.");
  15790. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid complexlink [complex id]");
  15791. PropertyData[pid][propertyComplexLink] = interval;
  15792. SaveProperty(pid);
  15793. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties complex link.");
  15794. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's complex link to %d", ReturnDate(), ReturnName(playerid, 1), pid, interval);
  15795. }
  15796. else if(strmatch(option, "level")){
  15797. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid level [level]");
  15798. PropertyData[pid][propertyLevel] = interval;
  15799. SaveProperty(pid);
  15800. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties level.");
  15801. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's level", ReturnDate(), ReturnName(playerid, 1), pid);
  15802. }
  15803. else if(strmatch(option, "price")){
  15804. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid price [price]");
  15805. PropertyData[pid][propertyMarketPrice] = interval;
  15806. SaveProperty(pid);
  15807. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties market price.");
  15808. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's level to %d", ReturnDate(), ReturnName(playerid, 1), pid, interval);
  15809. }
  15810. else if(strmatch(option, "faction")){
  15811. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editproperty pid faction [faction id]");
  15812. if(!FactionData[interval][factionID] && interval != 0)
  15813. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction.");
  15814. PropertyData[pid][propertyFaction] = interval;
  15815. SaveProperty(pid);
  15816. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed this properties faction.");
  15817. WriteLog("admin_logs/properties/editproperty_log.txt", "[%s] %s edited PID %d's faction to %d", ReturnDate(), ReturnName(playerid, 1), pid, interval);
  15818. }
  15819. return true;
  15820. }
  15821. CMD:makebusiness(playerid, params[])
  15822. {
  15823. if(!pLoggedIn[playerid])return true;
  15824. if(PlayerData[playerid][pAdmin] < 4)return false;
  15825. new options[90], interval;
  15826. if (sscanf(params, "s[90]I(-1)", options, interval)){
  15827. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makebusiness [params]");
  15828. SendClientMessage(playerid, COLOR_ADM, "options -->[exterior][interior][type][level][price][create]");
  15829. return true;
  15830. }
  15831. if(strmatch(options, "exterior")){
  15832. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  15833. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The business exterior has been selected.");
  15834. }
  15835. else if(strmatch(options, "interior")){
  15836. GetPlayerPos(playerid, Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  15837. GetPlayerFacingAngle(playerid, Resources[playerid][Interior][3]);
  15838. Resources[playerid][intInteriorID] = GetPlayerInterior(playerid);
  15839. Resources[playerid][intWorld] = 20000+random(9999);
  15840. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The business interior has been selected.");
  15841. }
  15842. else if(strmatch(options, "type")){
  15843. if(interval == -1){
  15844. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makebusiness type [type_id]");
  15845. SendClientMessage(playerid, COLOR_WHITE, "Type : 1:[Pawnshop] 2:[Restaurant] 3:[Ammunation]");
  15846. SendClientMessage(playerid, COLOR_WHITE, "4:[Club] 5:[Store] 6:[General] 7:[Bank] 8:[Standalone]");
  15847. SendClientMessage(playerid, COLOR_WHITE, "9:[Car Dealership] 10:[Clothing Store] 11:[Black Market]");
  15848. return true;
  15849. }
  15850. if(interval < 1 || interval > 10)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid type ID.");
  15851. Resources[playerid][Type] = interval;
  15852. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The business type has been selected.");
  15853. }
  15854. else if(strmatch(options, "level")){
  15855. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makebusiness level [level]");
  15856. if(interval < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} The level must be at least 1.");
  15857. Resources[playerid][Level] = interval;
  15858. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The business level has been selected.");
  15859. }
  15860. else if(strmatch(options, "price")){
  15861. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makebusiness price [cost]");
  15862. if(interval < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} The price must be greater than 0.");
  15863. Resources[playerid][Cost] = interval;
  15864. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The business price has been selected.");
  15865. }
  15866. else if(strmatch(options, "create")){
  15867. if (!Resources[playerid][Exterior])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED: Please specify the businesses' exterior first.");
  15868. if (!Resources[playerid][Interior])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED: Please specify the businesses' interior first.");
  15869. if (!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED: Please specify the businesses' type first.");
  15870. if (!Resources[playerid][Cost])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED: Please specify the businesses' price first.");
  15871. if (!Resources[playerid][Level])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED: Please specify the businesses' level first.");
  15872. CallBusinessCreate(playerid);
  15873. }
  15874. return true;
  15875. }
  15876. CMD:editbusiness(playerid, params[])
  15877. {
  15878. if(!pLoggedIn[playerid])return true;
  15879. if(PlayerData[playerid][pAdmin] < 4)return false;
  15880. new edit[90], interval, bizid;
  15881. if(sscanf(params, "ds[90]I(-1)", bizid, edit, interval)){
  15882. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editbusiness [bizid] [params]");
  15883. SendClientMessage(playerid, COLOR_ADM, "params-> [exterior][interior][type][price][level][bankpickup]");
  15884. return true;
  15885. }
  15886. if(bizid < 1 || bizid > MAX_BUSINESS || !BusinessData[bizid][businessID])
  15887. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid business ID.");
  15888. if(strmatch(edit, "exterior")){
  15889. GetPlayerPos(playerid, BusinessData[bizid][businessExt][0], BusinessData[bizid][businessExt][1], BusinessData[bizid][businessExt][2]);
  15890. DestroyDynamicPickup(BusinessData[bizid][businessPickup]);
  15891. if(BusinessData[bizid][businessType] == BIZ_RESTAURANT){
  15892. if (!BusinessData[bizid][businessOwnerSQL]){
  15893. BusinessData[bizid][businessPickup] = CreateDynamicPickup(1272, 14, BusinessData[bizid][businessExt][0], BusinessData[bizid][businessExt][1], BusinessData[bizid][businessExt][2], 0);
  15894. }
  15895. else{
  15896. BusinessData[bizid][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[bizid][businessExt][0], BusinessData[bizid][businessExt][1], BusinessData[bizid][businessExt][2], 0);
  15897. }
  15898. }
  15899. else{
  15900. BusinessData[bizid][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[bizid][businessExt][0], BusinessData[bizid][businessExt][1], BusinessData[bizid][businessExt][2], 0);
  15901. }
  15902. SaveBusiness(bizid);
  15903. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You moved this businesses' exterior. The pickup was reset.");
  15904. WriteLog("admin_logs/businesses/editbusiness_log.txt", "[%s] %s altered Business ID %d's Exterior position", ReturnDate(), ReturnName(playerid, 1), bizid);
  15905. }
  15906. else if(strmatch(edit, "interior")){
  15907. GetPlayerPos(playerid, BusinessData[bizid][businessInt][0], BusinessData[bizid][businessInt][1], BusinessData[bizid][businessInt][2]);
  15908. GetPlayerFacingAngle(playerid, BusinessData[bizid][businessInt][3]);
  15909. BusinessData[bizid][businessIntID] = GetPlayerInterior(playerid);
  15910. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You moved this businesses' interior. Players inside have been adjusted.");
  15911. if(BusinessData[bizid][businessType] == BIZ_BANK){
  15912. DestroyDynamicPickup(BusinessData[bizid][businessBankPickup]);
  15913. for(new i = 0; i < 3; i++) { BusinessData[bizid][businessBankPickupLoc][i] = 0.0; }
  15914. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: This businesses' bank pickup was removed due to an interior change.");
  15915. }
  15916. foreach(new i : Player){
  15917. if(PlayerData[i][pInsideBusiness] == bizid){
  15918. SendPlayer(i, BusinessData[bizid][businessInt][0], BusinessData[bizid][businessInt][1], BusinessData[bizid][businessInt][2], BusinessData[bizid][businessIntID], BusinessData[bizid][businessWorld]);
  15919. SetPlayerFacingAngle(i, BusinessData[bizid][businessInt][3]);
  15920. SendClientMessage(playerid, COLOR_YELLOW, "-> This interior has been refreshed. ");
  15921. }
  15922. }
  15923. SaveBusiness(bizid);
  15924. WriteLog("admin_logs/businesses/editbusiness_log.txt", "[%s] %s altered Business ID %d's Interior position", ReturnDate(), ReturnName(playerid, 1), bizid);
  15925. }
  15926. else if(strmatch(edit, "type")){
  15927. if(interval == -1){
  15928. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editbusiness [bizid] type [type_id]");
  15929. SendClientMessage(playerid, COLOR_WHITE, "Type : 1:[Pawnshop] 2:[Restaurant] 3:[Ammunation]");
  15930. SendClientMessage(playerid, COLOR_WHITE, "4:[Club] 5:[Store] 6:[General] 7:[Bank] 8:[Standalone]");
  15931. SendClientMessage(playerid, COLOR_WHITE, "9:[Car Dealership] 10:[Clothing Store] 11:[Black Market]");
  15932. return true;
  15933. }
  15934. if(interval > 10 || interval < 1) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That isn't a business type.");
  15935. BusinessData[bizid][businessType] = interval;
  15936. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: This businesses' type was changed. ");
  15937. SaveBusiness(bizid);
  15938. WriteLog("admin_logs/businesses/editbusiness_log.txt", "[%s] %s altered Business ID %d's Type", ReturnDate(), ReturnName(playerid, 1), bizid);
  15939. }
  15940. else if(strmatch(edit, "price")){
  15941. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editbusiness [bizid] price [cost]");
  15942. BusinessData[bizid][businessMarketPrice] = interval;
  15943. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: This businesses' price was changed.");
  15944. SaveBusiness(bizid);
  15945. WriteLog("admin_logs/businesses/editbusiness_log.txt", "[%s] %s altered Business ID %d's Market Price", ReturnDate(), ReturnName(playerid, 1), bizid);
  15946. }
  15947. else if(strmatch(edit, "level")){
  15948. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editbusiness [bizid] level [lvl]");
  15949. if(interval < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} The level must be at least 1.");
  15950. BusinessData[bizid][businessLevel] = interval;
  15951. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: This businesses' price was changed.");
  15952. SaveBusiness(bizid);
  15953. WriteLog("admin_logs/businesses/editbusiness_log.txt", "[%s] %s altered Business ID %d's Level", ReturnDate(), ReturnName(playerid, 1), bizid);
  15954. }
  15955. else if(strmatch(edit, "bankpickup")){
  15956. if (BusinessData[bizid][businessType] != BIZ_BANK)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That business isn't a bank.");
  15957. GetPlayerPos(playerid, BusinessData[bizid][businessBankPickupLoc][0], BusinessData[bizid][businessBankPickupLoc][1], BusinessData[bizid][businessBankPickupLoc][2]);
  15958. BusinessData[bizid][businessBankPickupWorld] = GetPlayerVirtualWorld(playerid);
  15959. DestroyDynamicPickup(BusinessData[bizid][businessBankPickup]);
  15960. BusinessData[bizid][businessBankPickup] = CreateDynamicPickup(1274, 2, BusinessData[bizid][businessBankPickupLoc][0], BusinessData[bizid][businessBankPickupLoc][1], BusinessData[bizid][businessBankPickupLoc][2], BusinessData[bizid][businessBankPickupWorld]);
  15961. SaveBusiness(bizid);
  15962. WriteLog("admin_logs/businesses/editbusiness_log.txt", "[%s] %s altered Business ID %d's Bank Pickup location", ReturnDate(), ReturnName(playerid, 1), bizid);
  15963. }
  15964. return true;
  15965. }
  15966. CMD:businessname(playerid, params[])
  15967. {
  15968. if(!pLoggedIn[playerid])return true;
  15969. if(PlayerData[playerid][pAdmin] < 4)return false;
  15970. new bizid, name[128];
  15971. if(sscanf(params, "ds[128]", bizid, name))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /businessname [bizid] [business name]");
  15972. if(bizid < 1 || bizid > MAX_BUSINESS || !BusinessData[bizid][businessID])
  15973. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid business ID.");
  15974. format(BusinessData[bizid][businessName], 128, "%s", name);
  15975. SaveBusiness(bizid);
  15976. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed the businesses name.");
  15977. WriteLog("admin_logs/businesses/businessname_log.txt", "[%s] %s edited Business ID %d's name to %s", ReturnDate(), ReturnName(playerid, 1), bizid, name);
  15978. return true;
  15979. }
  15980. CMD:makepns(playerid, params[])
  15981. {
  15982. if(!pLoggedIn[playerid])return true;
  15983. if(PlayerData[playerid][pAdmin] < 4)return false;
  15984. new option[90], interval, string[128];
  15985. if(sscanf(params, "s[90]I(-1)", option, interval)){
  15986. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makepns [params]");
  15987. SendClientMessage(playerid, COLOR_ADM, "-> params [entrance][repairloc][price][create]");
  15988. return true;
  15989. }
  15990. if(TotalPaynSpraysLoaded >= MAX_PAYNSPRAY)return SendClientMessage(playerid, COLOR_ADM, "SERVER: The server has total amount of Pay n' Sprays.");
  15991. if(strmatch(option, "entrance")){
  15992. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  15993. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You set the Pay n' Sprays entrance.");
  15994. }
  15995. else if(strmatch(option, "repairloc")){
  15996. GetPlayerPos(playerid, Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  15997. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You set the Pay n' Sprays repair spot.");
  15998. }
  15999. else if(strmatch(option, "price")){
  16000. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makepns price [amount] -{FF6346} This is the /enter price.");
  16001. if(interval < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} The price must be greater than 1.");
  16002. Resources[playerid][Cost] = interval;
  16003. format(string, sizeof(string), "SERVER: You set the Pay n' Spray price to $%s", MoneyFormat(interval));
  16004. SendClientMessage(playerid, COLOR_YELLOW, string);
  16005. }
  16006. else if(strmatch(option, "create")){
  16007. if (!Resources[playerid][Exterior])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Set the Pay n' Sprays entrance first.");
  16008. if (!Resources[playerid][Interior])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Set the Pay n' Sprays repair location first.");
  16009. CallPNSCreate(playerid);
  16010. }
  16011. return true;
  16012. }
  16013. CMD:editpns(playerid, params[])
  16014. {
  16015. if(!pLoggedIn[playerid])return true;
  16016. if(PlayerData[playerid][pAdmin] < 4)return false;
  16017. new id, option[90], interval, string[128];
  16018. if(sscanf(params, "ds[90]I(-1)", id, option, interval)){
  16019. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editpns [pns id] [params]");
  16020. SendClientMessage(playerid, COLOR_ADM, "-> params [entrance][repairloc][price]");
  16021. return true;
  16022. }
  16023. if(strmatch(option, "entrance")){
  16024. GetPlayerPos(playerid, PNSData[id][pnsEntrance][0], PNSData[id][pnsEntrance][1], PNSData[id][pnsEntrance][2]);
  16025. DestroyDynamicPickup(PNSData[id][pnsPickup]);
  16026. CreateDynamicPickup(1239, 14, PNSData[id][pnsEntrance][0], PNSData[id][pnsEntrance][1], PNSData[id][pnsEntrance][2], 0);
  16027. format(string, sizeof(string), "SERVER: You changed Pay n' Spray %d's entrance.", id);
  16028. SendClientMessage(playerid, COLOR_YELLOW, string);
  16029. WriteLog("admin_logs/paynspray/editpns_log.txt", "[%s] %s edited PNS %d's entrance.", ReturnDate(), ReturnName(playerid, 1), id);
  16030. SavePaynSpray(id);
  16031. }
  16032. else if(strmatch(option, "repairloc")){
  16033. GetPlayerPos(playerid, PNSData[id][pnsRepairSpot][0], PNSData[id][pnsRepairSpot][1], PNSData[id][pnsRepairSpot][2]);
  16034. format(string, sizeof(string), "SERVER: You changed Pay n' Spray %d's entrance.", id);
  16035. SendClientMessage(playerid, COLOR_YELLOW, string);
  16036. WriteLog("admin_logs/paynspray/editpns_log.txt", "[%s] %s edited PNS %d's repair location.", ReturnDate(), ReturnName(playerid, 1), id);
  16037. SavePaynSpray(id);
  16038. }
  16039. else if(strmatch(option, "price")){
  16040. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editpns [pns id] price [amount]");
  16041. if(interval < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Price must at least $1.");
  16042. PNSData[id][pnsPrice] = interval;
  16043. format(string, sizeof(string), "SERVER: You changed Pay n' Spray %d's cost to $%d", id, interval);
  16044. SendClientMessage(playerid, COLOR_YELLOW, string);
  16045. WriteLog("admin_logs/paynspray/editpns_log.txt", "[%s] %s edited PNS %d's price to $%d", ReturnDate(), ReturnName(playerid, 1), id, interval);
  16046. SavePaynSpray(id);
  16047. }
  16048. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  16049. return true;
  16050. }
  16051. CMD:pnsname(playerid, params[])
  16052. {
  16053. if(!pLoggedIn[playerid])return true;
  16054. if(PlayerData[playerid][pAdmin] < 4)return false;
  16055. new Name[128], id, string[128];
  16056. if(sscanf(params, "ds[128]", id, Name))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /pnsname [pns ID] [Name]");
  16057. format(string, sizeof(string), "SERVER: You renamed Pay n' Spray %d from '%s' to '%s'", id, PNSData[id][pnsName], Name);
  16058. SendClientMessage(playerid, COLOR_YELLOW, string);
  16059. format(PNSData[id][pnsName], 128, "%s", Name);
  16060. SavePaynSpray(id);
  16061. WriteLog("admin_logs/paynspray/pnsname_log.txt", "[%s] %s edited PNS %d's name to %s", ReturnDate(), ReturnName(playerid, 1), id, Name);
  16062. return true;
  16063. }
  16064. CMD:maketolls(playerid, params[])
  16065. {
  16066. if(!pLoggedIn[playerid])return true;
  16067. if(PlayerData[playerid][pAdmin] < 4)return false;
  16068. new option[90];
  16069. if(sscanf(params, "s[90]", option))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /maketolls [pointa, pointb, create]");
  16070. if(strmatch(option, "pointa")){
  16071. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  16072. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Toll booth Point A has been assigned.");
  16073. }
  16074. else if(strmatch(option, "pointb")){
  16075. GetPlayerPos(playerid, Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  16076. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Toll booth Point B has been assigned.");
  16077. }
  16078. else if(strmatch(option, "create")){
  16079. if (!Resources[playerid][Exterior]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to set Point A of the booth first.");
  16080. if (!Resources[playerid][Interior]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to set Point B of the booth first.");
  16081. CallTollCreate(playerid);
  16082. }
  16083. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  16084. return true;
  16085. }
  16086. CMD:edittolls(playerid, params[])
  16087. {
  16088. if(PlayerData[playerid][pAdmin] < 4)
  16089. return 0;
  16090. new
  16091. nearestID = -1;
  16092. for(new i = 0; i < sizeof(TollsData); i++)
  16093. {
  16094. if(IsPlayerInRangeOfPoint(playerid, 30.0, TollsData[i][tollPointA][0], TollsData[i][tollPointA][1], TollsData[i][tollPointA][2]))
  16095. nearestID = i;
  16096. }
  16097. if(nearestID == -1)
  16098. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near toll booths.");
  16099. new point;
  16100. if(sscanf(params, "i", point))
  16101. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /edittolls [1/2] 1 = Point A, 2 = Point B");
  16102. switch(point)
  16103. {
  16104. case 1: GetPlayerPos(playerid, TollsData[nearestID][tollPointA][0], TollsData[nearestID][tollPointA][1], TollsData[nearestID][tollPointA][2]);
  16105. case 2: GetPlayerPos(playerid, TollsData[nearestID][tollPointB][0], TollsData[nearestID][tollPointB][1], TollsData[nearestID][tollPointB][2]);
  16106. default: return SendClientMessage(playerid, COLOR_ADM, "Points are between 1-2.");
  16107. }
  16108. SendClientMessage(playerid, COLOR_ADM, "SERVER: Toll booth was updated.");
  16109. SaveToll(nearestID);
  16110. return 1;
  16111. }
  16112. CMD:makerental(playerid, params[])
  16113. {
  16114. if(!pLoggedIn[playerid])return true;
  16115. if(PlayerData[playerid][pAdmin] < 4)return false;
  16116. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  16117. new vehicleid = GetPlayerVehicleID(playerid), string[128], query[156];
  16118. if(!AdminCar[vehicleid])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't make this vehicle a rental.");
  16119. new Float: currPos[4];
  16120. GetPlayerPos(playerid, currPos[0], currPos[1], currPos[2]);
  16121. GetVehicleZAngle(vehicleid, currPos[3]);
  16122. new color1 = AdminCarColor1[vehicleid];
  16123. new color2 = AdminCarColor2[vehicleid];
  16124. Resources[playerid][v_Model] = GetVehicleModel(vehicleid);
  16125. Resources[playerid][v_Color1] = color1;
  16126. Resources[playerid][v_Color2] = color2;
  16127. Resources[playerid][v_Pos][0] = currPos[0];
  16128. Resources[playerid][v_Pos][1] = currPos[1];
  16129. Resources[playerid][v_Pos][2] = currPos[2];
  16130. Resources[playerid][v_Pos][3] = currPos[3];
  16131. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO `rentals` (`model`, `color1`, `color2`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES(%i, %i, %i, %f, %f, %f, %f)",
  16132. GetVehicleModel(vehicleid), color1, color2, currPos[0], currPos[1], currPos[2], currPos[3]);
  16133. mysql_pquery(m_Handle, query, "SQL_AddRentalVehicle", "i", playerid);
  16134. format(string, sizeof(string), "%s created a new rental vehicle.", ReturnName(playerid, 1));
  16135. adminWarn(1, string);
  16136. return true;
  16137. }
  16138. CMD:setfactioncar(playerid, params[])
  16139. {
  16140. if(!pLoggedIn[playerid])return true;
  16141. if(PlayerData[playerid][pAdmin] < 4)return false;
  16142. new vehicleid, field[90], interval, string[128];
  16143. if(sscanf(params, "ds[90]I(-1)", vehicleid, field, interval)){
  16144. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] [params]");
  16145. SendClientMessage(playerid, COLOR_ADM, "-> sirens, gunrack, color1, color2, model, faction");
  16146. SendClientMessage(playerid, COLOR_ADM, "-> parkworld, parkinterior");
  16147. return true;
  16148. }
  16149. if(!IsValidVehicle(vehicleid) && !IsValidFactionCar(vehicleid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid vehicle ID.");
  16150. if(strmatch(field, "sirens")){
  16151. if(interval == -1){
  16152. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] sirens [0/1]");
  16153. SendClientMessage(playerid, COLOR_ADM, "This gives, e.g: unmarked vehicle option to toggle sirens + object via horn.");
  16154. return true;
  16155. }
  16156. FactionCar[vehicleid][carSirens] = interval;
  16157. SaveFactionCar(vehicleid);
  16158. RefreshFactionCar(vehicleid);
  16159. format(string, sizeof(string), "%s edited faction vehicle %d's siren to %d", ReturnName(playerid, 1), vehicleid, interval);
  16160. adminWarn(4, string);
  16161. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's Siren to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16162. }
  16163. else if(strmatch(field, "gunrack")){
  16164. if(interval == -1){
  16165. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] gunrack [0/1]");
  16166. SendClientMessage(playerid, COLOR_ADM, "This gives vehicles the ability to /check and /takegun scripted weapons.");
  16167. return true;
  16168. }
  16169. FactionCar[vehicleid][carGunRack] = interval;
  16170. SaveFactionCar(vehicleid);
  16171. //RefreshFactionCar(vehicleid);
  16172. format(string, sizeof(string), "%s edited faction vehicle %d's gunrack to %d", ReturnName(playerid, 1), vehicleid, interval);
  16173. adminWarn(4, string);
  16174. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's gunrack to %d", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16175. }
  16176. else if(strmatch(field, "color1")){
  16177. if(interval == -1){
  16178. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] color1 [color_id]");
  16179. SendClientMessage(playerid, COLOR_ADM, "This will respawn the vehicle to take affect.");
  16180. return true;
  16181. }
  16182. if(interval < 0 || interval > 255)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That's an invalid color ID.");
  16183. FactionCar[vehicleid][carColor1] = interval;
  16184. SaveFactionCar(vehicleid);
  16185. RefreshFactionCar(vehicleid);
  16186. format(string, sizeof(string), "%s edited faction vehicle %d's color1 to %d", ReturnName(playerid, 1), vehicleid, interval);
  16187. adminWarn(4, string);
  16188. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's Color1 to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16189. }
  16190. else if(strmatch(field, "color2")){
  16191. if(interval == -1){
  16192. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] color2 [color_id]");
  16193. SendClientMessage(playerid, COLOR_ADM, "This will respawn the vehicle to take affect.");
  16194. return true;
  16195. }
  16196. if(interval < 0 || interval > 255)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That's an invalid color ID.");
  16197. FactionCar[vehicleid][carColor2] = interval;
  16198. SaveFactionCar(vehicleid);
  16199. RefreshFactionCar(vehicleid);
  16200. format(string, sizeof(string), "%s edited faction vehicle %d's color2 to %d", ReturnName(playerid, 1), vehicleid, interval);
  16201. adminWarn(4, string);
  16202. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's Color2 to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16203. }
  16204. else if(strmatch(field, "model")){
  16205. if(interval == -1){
  16206. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] model [model_id]");
  16207. SendClientMessage(playerid, COLOR_ADM, "This will respawn the vehicle to take affect.");
  16208. return true;
  16209. }
  16210. if(interval < 400 || interval > 611)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid model ID.");
  16211. FactionCar[vehicleid][carModel] = interval;
  16212. SaveFactionCar(vehicleid);
  16213. RefreshFactionCar(vehicleid);
  16214. format(string, sizeof(string), "%s edited faction vehicle %d's model to %d", ReturnName(playerid, 1), vehicleid, interval);
  16215. adminWarn(4, string);
  16216. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's Model to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16217. }
  16218. else if(strmatch(field, "faction")){
  16219. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setfactioncar [vehicleid] faction [factionid]");
  16220. if(interval > MAX_FACTIONS || !FactionData[interval][factionID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction ID.");
  16221. FactionCar[vehicleid][carFaction] = interval;
  16222. SaveFactionCar(vehicleid);
  16223. format(string, sizeof(string), "%s edited faction vehicle %d's faction to %d", ReturnName(playerid, 1), vehicleid, interval);
  16224. adminWarn(4, string);
  16225. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's Faction to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16226. }
  16227. else if(strmatch(field, "parkworld"))
  16228. {
  16229. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setfactioncar [vehicleid] parkworld [world]");
  16230. FactionCar[vehicleid][carWorld] = interval;
  16231. SaveFactionCar(vehicleid);
  16232. format(string, sizeof(string), "%s edited faction vehicle %d's world to %i.", ReturnName(playerid), vehicleid, interval);
  16233. adminWarn(4, string);
  16234. SendClientMessage(playerid, COLOR_ADM, "[ ! ] Vehicle may need to be /refreshcar'd.");
  16235. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's World to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16236. }
  16237. else if(strmatch(field, "parkinterior"))
  16238. {
  16239. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setfactioncar [vehicleid] parkinterior [interior]");
  16240. FactionCar[vehicleid][carInterior] = interval;
  16241. SaveFactionCar(vehicleid);
  16242. format(string, sizeof(string), "%s edited faction vehicle %d's interior to %i.", ReturnName(playerid), vehicleid, interval);
  16243. adminWarn(4, string);
  16244. SendClientMessage(playerid, COLOR_ADM, "[ ! ] Vehicle may need to be /refreshcar'd.");
  16245. WriteLog("admin_logs/vehicles/setfactioncar_log.txt", "[%s] %s edited faction vehicle %d's Interior to %d.", ReturnDate(), ReturnName(playerid, 1), vehicleid, interval);
  16246. }
  16247. return true;
  16248. }
  16249. CMD:vehicleinfo(playerid, params[])
  16250. {
  16251. new vehicleid, string[128];
  16252. new sirenString[90], gunrackString[90], xmrString[90], impoundedString[90], lockedString[90], rentedString[90];
  16253. if(!pLoggedIn[playerid])return true;
  16254. if(PlayerData[playerid][pAdmin] < 4)return false;
  16255. if(sscanf(params, "d", vehicleid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /vehicleinfo [vehicleid]");
  16256. if(!IsValidVehicle(vehicleid))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active vehicle.");
  16257. if(FactionCar[vehicleid][carSirens])
  16258. format(sirenString, sizeof(sirenString), "Yes");
  16259. else
  16260. format(sirenString, sizeof(sirenString), "No");
  16261. if(FactionCar[vehicleid][carGunRack])
  16262. format(gunrackString, sizeof(gunrackString), "Yes");
  16263. else
  16264. format(gunrackString, sizeof(gunrackString), "No");
  16265. if(CarData[vehicleid][carXMR])
  16266. format(xmrString, sizeof(xmrString), "Yes");
  16267. else
  16268. format(xmrString, sizeof(xmrString), "No");
  16269. if(CarData[vehicleid][carImpounded])
  16270. format(impoundedString, sizeof(impoundedString), "Yes");
  16271. else
  16272. format(impoundedString, sizeof(impoundedString), "No");
  16273. if(CarData[vehicleid][carLocked])
  16274. format(lockedString, sizeof(lockedString), "Yes");
  16275. else
  16276. format(lockedString, sizeof(lockedString), "No");
  16277. if(RentalData[vehicleid][rentalcarLocked])
  16278. format(lockedString, sizeof(lockedString), "Yes");
  16279. else
  16280. format(lockedString, sizeof(lockedString), "No");
  16281. if(RentalData[vehicleid][rentalcarRented])
  16282. format(rentedString, sizeof(rentedString), "Yes");
  16283. else
  16284. format(rentedString, sizeof(rentedString), "No");
  16285. SendClientMessage(playerid, COLOR_DARKGREEN, "__________________________________________");
  16286. if(IsValidFactionCar(vehicleid)){
  16287. format(string, sizeof(string), "Type:[Faction] DBID:[%d] Faction:[%d] ModelID:[%d] Park Interior:[%d] Park World:[%d]", FactionCar[vehicleid][carID], FactionCar[vehicleid][carFaction], FactionCar[vehicleid][carModel],
  16288. FactionCar[vehicleid][carInterior], FactionCar[vehicleid][carWorld]);
  16289. SendClientMessage(playerid, COLOR_WHITE, string);
  16290. format(string, sizeof(string), "Color1:[{%06x}%d{CCE6E6}] Color2:[{%06x}%d{CCE6E6}] Sirens:[%s] Gunrack:[%s]", VehicleColoursTableRGBA[FactionCar[vehicleid][carColor1]] >>> 8, FactionCar[vehicleid][carColor1],
  16291. VehicleColoursTableRGBA[FactionCar[vehicleid][carColor2]] >>> 8, FactionCar[vehicleid][carColor2], sirenString, gunrackString);
  16292. SendClientMessage(playerid, COLOR_GRAD1, string);
  16293. }
  16294. else if(IsValidPlayerCar(vehicleid)){
  16295. format(string, sizeof(string), "Type:[Private] DBID:[%d] ModelID:[%d] Color1:[{%06x}%d{FFFFFF}] Color2:[{%06x}%d{FFFFFF}] Paintjob:[%d]", CarData[vehicleid][carID], CarData[vehicleid][carModel], VehicleColoursTableRGBA[CarData[vehicleid][carColor1]] >>> 8, CarData[vehicleid][carColor1],
  16296. VehicleColoursTableRGBA[CarData[vehicleid][carColor2]] >>> 8, CarData[vehicleid][carColor2], CarData[vehicleid][carPaintjob]);
  16297. SendClientMessage(playerid, COLOR_WHITE, string);
  16298. format(string, sizeof(string), "XMR:[%s] Impounded:[%s] EngineLife:[%.2f] BatteryLife:[%.2f] LockLevel:[%d] AlarmLevel:[%d]", xmrString, impoundedString, CarData[vehicleid][carEngine], CarData[vehicleid][carBattery],
  16299. CarData[vehicleid][carLock], CarData[vehicleid][carAlarm]);
  16300. SendClientMessage(playerid, COLOR_GRAD1, string);
  16301. format(string, sizeof(string), "ImmobLevel:[%d] Insurance:[%d] TimesDestroyed:[%d] Plate:[%s] Locked:[%s] Fuel:[%f]", CarData[vehicleid][carImmob], CarData[vehicleid][carInsurance], CarData[vehicleid][carTimeDestroyed],
  16302. CarData[vehicleid][carPlates], lockedString, CarData[vehicleid][carFuel]);
  16303. SendClientMessage(playerid, COLOR_WHITE, string);
  16304. format(string, sizeof(string), "Weapon1:[%d] Ammo:[%d] Weapon2:[%d] Ammo:[%d] Weapon3:[%d] Ammo:[%d] Weapon4:[%d] Ammo:[%d]", CarData[vehicleid][carWeapons][1], CarData[vehicleid][carWeaponsAmmo][1],
  16305. CarData[vehicleid][carWeapons][2], CarData[vehicleid][carWeaponsAmmo][2], CarData[vehicleid][carWeapons][3], CarData[vehicleid][carWeaponsAmmo][3], CarData[vehicleid][carWeapons][4],
  16306. CarData[vehicleid][carWeaponsAmmo][4]);
  16307. SendClientMessage(playerid, COLOR_GRAD1, string);
  16308. }
  16309. else if(IsValidRentalCar(vehicleid)){
  16310. format(string, sizeof(string), "Type:[Rental] DBID:[%d] ModelID:[%d] Color1:[{%06x}%d{FFFFFF}] Color2:[{%06x}%d{FFFFFF}] Rented:[%s] Rentedby:[%d DBID]",
  16311. RentalData[vehicleid][rentalcarSQLID], RentalData[vehicleid][rentalcarModel], VehicleColoursTableRGBA[RentalData[vehicleid][rentalcarColor1]] >>> 8, RentalData[vehicleid][rentalcarColor1],
  16312. VehicleColoursTableRGBA[RentalData[vehicleid][rentalcarColor2]] >>> 8, RentalData[vehicleid][rentalcarColor2], rentedString, RentalData[vehicleid][rentalcarRentedBy]);
  16313. SendClientMessage(playerid, COLOR_WHITE, string);
  16314. }
  16315. else {
  16316. format(string, sizeof(string), "Type:[Public] ModelID:[%d] ", GetVehicleModel(vehicleid));
  16317. SendClientMessage(playerid, COLOR_WHITE, string);
  16318. }
  16319. SendClientMessage(playerid, COLOR_DARKGREEN, "__________________________________________");
  16320. return true;
  16321. }
  16322. CMD:refreshcar(playerid, params[])
  16323. {
  16324. if(PlayerData[playerid][pAdmin] < 4)
  16325. return 0;
  16326. new
  16327. vehicleid,
  16328. str[128];
  16329. if(sscanf(params, "i", vehicleid))
  16330. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /refreshcar [vehicleid]");
  16331. if(!IsValidVehicle(vehicleid))
  16332. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You specified an invalid vehicle ID.");
  16333. if(!IsValidFactionCar(vehicleid))
  16334. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can only refresh faction vehicles.");
  16335. format(str, sizeof(str), "%s refreshed faction vehicle ID %i", ReturnName(playerid), vehicleid);
  16336. adminWarn(4, str);
  16337. RefreshFactionCar(vehicleid);
  16338. return 1;
  16339. }
  16340. CMD:makedoor(playerid, params[])
  16341. {
  16342. if(!pLoggedIn[playerid])return false;
  16343. if(PlayerData[playerid][pAdmin] < 4)return false;
  16344. new field[90], interval;
  16345. if(sscanf(params, "s[90]I(-1)", field, interval)){
  16346. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makedoor [params] ");
  16347. SendClientMessage(playerid, COLOR_ADM, "-> exterior, interior, faction, create");
  16348. return true;
  16349. }
  16350. if(strmatch(field, "exterior")){
  16351. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  16352. Resources[playerid][extInteriorID] = GetPlayerInterior(playerid);
  16353. Resources[playerid][extWorld] = GetPlayerVirtualWorld(playerid);
  16354. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You selected the door exterior.");
  16355. }
  16356. else if(strmatch(field, "interior")){
  16357. GetPlayerPos(playerid, Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  16358. GetPlayerFacingAngle(playerid, Resources[playerid][Interior][3]);
  16359. Resources[playerid][intInteriorID] = GetPlayerInterior(playerid);
  16360. Resources[playerid][intWorld] = GetPlayerVirtualWorld(playerid);
  16361. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You selected the doors interior.");
  16362. }
  16363. else if(strmatch(field, "faction")){
  16364. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makedoor faction [factionid]");
  16365. if(!FactionData[interval][factionID] && interval != 0) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction ID.");
  16366. Resources[playerid][v_Faction] = interval;
  16367. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You selected the doors faction.");
  16368. }
  16369. else if(strmatch(field, "create")){
  16370. if(!Resources[playerid][Interior])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to select the doors interior first.");
  16371. if(!Resources[playerid][Exterior])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to select the doors exterior first.");
  16372. SaveDoorToDatabase(playerid);
  16373. }
  16374. return true;
  16375. }
  16376. CMD:doorname(playerid, params[])
  16377. {
  16378. new doorid, newname[128], string[128];
  16379. if(PlayerData[playerid][pAdmin] < 4)return false;
  16380. if(sscanf(params, "ds[128]", doorid, newname))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /doorname [doorid] [door name]");
  16381. if(doorid > MAX_DOORS || !DoorData[doorid][doorID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid door ID.");
  16382. format(DoorData[doorid][doorName], 128, "%s", newname);
  16383. SaveDoor(doorid);
  16384. format(string, sizeof(string), "SERVER: You edited door %d's name to %s", doorid, newname);
  16385. SendClientMessage(playerid, COLOR_YELLOW, string);
  16386. WriteLog("admin_logs/doors/doorname_log.txt", "[%s] %s edited door %d's name to %s", ReturnDate(), ReturnName(playerid, 1), doorid, newname);
  16387. return true;
  16388. }
  16389. CMD:editdoor(playerid, params[])
  16390. {
  16391. new doorid, field[90], interval, string[128];
  16392. if(PlayerData[playerid][pAdmin] < 4)return false;
  16393. if(sscanf(params, "ds[90]I(-1)", doorid, field, interval)){
  16394. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editdoor [doorid] [params]");
  16395. SendClientMessage(playerid, COLOR_ADM, "-> faction");
  16396. return true;
  16397. }
  16398. if(doorid > MAX_DOORS || !DoorData[doorid][doorID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid door ID.");
  16399. if(strmatch(field, "faction")){
  16400. if(interval == -1)return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editdoor [doorid] faction [factionid]");
  16401. if(!FactionData[interval][factionID] && interval != 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction ID.");
  16402. DoorData[interval][doorFaction] = interval;
  16403. SaveDoor(interval);
  16404. format(string, sizeof(string), "SERVER: You edited door %d's faction to %d", doorid, interval);
  16405. SendClientMessage(playerid, COLOR_YELLOW, string);
  16406. WriteLog("admin_logs/door/editdoor_log.txt", "[%s] %s edited door %d's faction to %d", ReturnDate(), ReturnName(playerid, 1), doorid, interval);
  16407. }
  16408. return true;
  16409. }
  16410. CMD:makepropgarage(playerid, params[])
  16411. {
  16412. new a_string[90], b_string[128], string[128];
  16413. if(!pLoggedIn[playerid])return true;
  16414. if(PlayerData[playerid][pAdmin] < 4)return false;
  16415. if(sscanf(params, "s[90]S()[128]", a_string, b_string))
  16416. {
  16417. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makepropgarage [action]");
  16418. SendClientMessage(playerid, COLOR_ADM, "[Action] exterior, type (interior), propertyid, create");
  16419. return true;
  16420. }
  16421. if(!strcmp(a_string, "exterior"))
  16422. {
  16423. GetPlayerPos(playerid, Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2]);
  16424. if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), Resources[playerid][Exterior][3]);
  16425. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Garage exterior was set.");
  16426. }
  16427. else if(!strcmp(a_string, "type"))
  16428. {
  16429. new g_type[90];
  16430. if(sscanf(b_string, "s[90]", g_type))
  16431. {
  16432. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makepropgarage type [type]");
  16433. SendClientMessage(playerid, COLOR_ADM, "[Types] extrasmall (1), small (2), medium (3), large (4)");
  16434. return true;
  16435. }
  16436. if(!strcmp(b_string, "extrasmall"))
  16437. {
  16438. Resources[playerid][Interior][0] = 1643.7938;
  16439. Resources[playerid][Interior][1] = -1516.0559;
  16440. Resources[playerid][Interior][2] = 13.4999;
  16441. Resources[playerid][InteriorID] = 0;
  16442. Resources[playerid][Type] = 1;
  16443. Resources[playerid][InteriorWorld] = 90000+random(9999);
  16444. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Garage type set to extra small.");
  16445. }
  16446. else if(!strcmp(b_string, "small"))
  16447. {
  16448. Resources[playerid][Interior][0] = 613.0642;
  16449. Resources[playerid][Interior][1] = -75.2096;
  16450. Resources[playerid][Interior][2] = 997.9222;
  16451. Resources[playerid][InteriorID] = 2;
  16452. Resources[playerid][Type] = 2;
  16453. Resources[playerid][InteriorWorld] = 90000+random(9999);
  16454. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Garage type set to small.");
  16455. }
  16456. else if(!strcmp(b_string, "medium"))
  16457. {
  16458. Resources[playerid][Interior][0] = 612.2191;
  16459. Resources[playerid][Interior][1] = -123.9028;
  16460. Resources[playerid][Interior][2] = 997.9922;
  16461. Resources[playerid][InteriorID] = 3;
  16462. Resources[playerid][Type] = 3;
  16463. Resources[playerid][InteriorWorld] = 90000+random(9999);
  16464. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Garage type set to medium.");
  16465. }
  16466. else if(!strcmp(b_string, "large"))
  16467. {
  16468. Resources[playerid][Interior][0] = 609.1080;
  16469. Resources[playerid][Interior][1] = -1.3056;
  16470. Resources[playerid][Interior][2] = 1000.8488;
  16471. Resources[playerid][InteriorID] = 1;
  16472. Resources[playerid][Type] = 4;
  16473. Resources[playerid][InteriorWorld] = 90000+random(9999);
  16474. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Garage type set to large.");
  16475. }
  16476. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Type.");
  16477. }
  16478. else if(!strcmp(a_string, "propertyid"))
  16479. {
  16480. new p_id;
  16481. if(sscanf(b_string, "d", p_id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makepropgarage propertyid [property ID]");
  16482. if(p_id > MAX_PROPERTY || !PropertyData[p_id][propertyid])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid property.");
  16483. Resources[playerid][PropertyLink] = p_id;
  16484. format(string, sizeof(string), "SERVER: Garage is linked to property %d owned by %s.", p_id, ReturnSQLName(PropertyData[p_id][propertyOwnerSQL]));
  16485. SendClientMessage(playerid, COLOR_YELLOW, string);
  16486. }
  16487. else if(!strcmp(a_string, "create"))
  16488. {
  16489. if(!Resources[playerid][PropertyLink]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to link the garage to a property first.");
  16490. if(!Resources[playerid][Type])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to specify the garages type.");
  16491. if(!Resources[playerid][Exterior])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to set the garages exterior.");
  16492. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Building garage...");
  16493. SavePropertyGarageToDB(playerid);
  16494. }
  16495. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  16496. return true;
  16497. }
  16498. CMD:editpropgarage(playerid, params[])
  16499. {
  16500. new a_string[60], b_string[128], string[128], id;
  16501. if(!pLoggedIn[playerid])return true;
  16502. if(PlayerData[playerid][pAdmin] < 4)return false;
  16503. if(sscanf(params, "ds[90]S()[128]", id, a_string, b_string))
  16504. {
  16505. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editpropgarage [id] [action]");
  16506. SendClientMessage(playerid, COLOR_ADM, "[Action] exterior, type (interior), xinterior, propertyid, faction");
  16507. return true;
  16508. }
  16509. if(id > MAX_PROPERTY_GARAGES || !GarageData[id][garageSQLID])
  16510. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid property garage.");
  16511. if(!strcmp(a_string, "exterior"))
  16512. {
  16513. GetPlayerPos(playerid, GarageData[id][garagePos][0], GarageData[id][garagePos][1], GarageData[id][garagePos][2]);
  16514. if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), GarageData[id][garagePos][3]);
  16515. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You changed the garages exterior.");
  16516. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d's exterior.", ReturnDate(), ReturnName(playerid, 1), id);
  16517. }
  16518. else if(!strcmp(a_string, "type"))
  16519. {
  16520. new type[90];
  16521. if(sscanf(b_string, "s[90]", type))
  16522. {
  16523. format(string, sizeof(string), "USAGE:{FFFFFF} /editpropgarage %d type [type name]", id);
  16524. SendClientMessage(playerid, COLOR_ADM, string);
  16525. SendClientMessage(playerid, COLOR_ADM, "[Types] extrasmall, small, medium, large");
  16526. return true;
  16527. }
  16528. if(!strcmp(b_string, "extrasmall"))
  16529. {
  16530. GarageData[id][garageInt][0] = 1643.7938;
  16531. GarageData[id][garageInt][1] = -1516.0559;
  16532. GarageData[id][garageInt][2] = 13.4999;
  16533. GarageData[id][garageInteriorID] = 0;
  16534. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The garages type was set to extra small.");
  16535. SavePropertyGarage(id);
  16536. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d's type to Extra Small.", ReturnDate(), ReturnName(playerid, 1), id);
  16537. }
  16538. else if(!strcmp(b_string, "small"))
  16539. {
  16540. GarageData[id][garageInt][0] = 613.0642;
  16541. GarageData[id][garageInt][1] = -75.2096;
  16542. GarageData[id][garageInt][2] = 997.9222;
  16543. GarageData[id][garageInteriorID] = 2;
  16544. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The garages type was set to small.");
  16545. SavePropertyGarage(id);
  16546. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d's type to Small.", ReturnDate(), ReturnName(playerid, 1), id);
  16547. }
  16548. else if(!strcmp(b_string, "medium"))
  16549. {
  16550. GarageData[id][garageInt][0] = 612.2191;
  16551. GarageData[id][garageInt][1] = -123.9028;
  16552. GarageData[id][garageInt][2] = 997.9922;
  16553. GarageData[id][garageInteriorID] = 3;
  16554. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The garages type was set to medium.");
  16555. SavePropertyGarage(id);
  16556. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d's type to Medium.", ReturnDate(), ReturnName(playerid, 1), id);
  16557. }
  16558. else if(!strcmp(b_string, "large"))
  16559. {
  16560. GarageData[id][garageInt][0] = 609.1080;
  16561. GarageData[id][garageInt][1] = -1.3056;
  16562. GarageData[id][garageInt][2] = 1000.8488;
  16563. GarageData[id][garageInteriorID] = 1;
  16564. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The garages type was set to large.");
  16565. SavePropertyGarage(id);
  16566. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d's type to Large.", ReturnDate(), ReturnName(playerid, 1), id);
  16567. }
  16568. }
  16569. else if(!strcmp(a_string, "xinterior"))
  16570. {
  16571. GetPlayerPos(playerid, GarageData[id][garageInt][0], GarageData[id][garageInt][1], GarageData[id][garageInt][2]);
  16572. GarageData[id][garageInteriorID] = GetPlayerInterior(playerid);
  16573. SavePropertyGarage(id);
  16574. Message(playerid, COLOR_YELLOW, "SERVER: You edited Property garage %i to a custom interior.", id);
  16575. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d to a custom interior.", ReturnDate(), ReturnName(playerid, 1), id);
  16576. }
  16577. else if(!strcmp(a_string, "faction"))
  16578. {
  16579. new fid;
  16580. if(sscanf(b_string, "i", fid))
  16581. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /editpropgarage id faction [faction id]");
  16582. if(fid > MAX_FACTIONS || fid < 1 || !FactionData[fid][factionID])
  16583. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid faction.");
  16584. GarageData[id][garageFaction] = fid;
  16585. SavePropertyGarage(id);
  16586. Message(playerid, COLOR_YELLOW, "SERVER: Property garage %i now belongs to faction %s", id, ReturnFactionName(fid));
  16587. }
  16588. else if(!strcmp(a_string, "propertyid"))
  16589. {
  16590. new pid;
  16591. if(sscanf(b_string, "d", pid))
  16592. {
  16593. format(string, sizeof(string), "USAGE:{FFFFFF} /editpropgarage %d propertyid [property id]", id);
  16594. SendClientMessage(playerid, COLOR_ADM, string);
  16595. return true;
  16596. }
  16597. if(!PropertyData[pid][propertyid])
  16598. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid property.");
  16599. GarageData[id][garagePropertyID] = pid;
  16600. SavePropertyGarage(id);
  16601. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: The garages property was set.");
  16602. WriteLog("admin_logs/garages/editpgarage_log.txt", "[%s] %s edited Garage %d's propertylink to %d.", ReturnDate(), ReturnName(playerid, 1), id, pid);
  16603. }
  16604. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  16605. return 1;
  16606. }
  16607. CMD:xmrcategory(playerid, params[])
  16608. {
  16609. if (PlayerData[playerid][pAdmin] < 4)
  16610. return false;
  16611. if (isnull(params))
  16612. {
  16613. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /xmrcategory [category name]");
  16614. SendClientMessage(playerid, COLOR_ADM, "This will create a new listed category in /setstation. ");
  16615. return true;
  16616. }
  16617. new string[128], query[128], xmr_id;
  16618. for(new i = 1; i < MAX_XMR_CATEGORIES; i++)
  16619. {
  16620. if (!XMRCategoryData[i][XMRCategory])
  16621. {
  16622. xmr_id = i;
  16623. break;
  16624. }
  16625. }
  16626. XMRCategoryData[xmr_id][XMRID] = xmr_id;
  16627. XMRCategoryData[xmr_id][XMRCategory] = xmr_id;
  16628. format(XMRCategoryData[xmr_id][XMRCategoryName], 90, "%s", params);
  16629. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO xmr_sub (`cat_name`, `category_id`) VALUES('%e', %d)", params, xmr_id);
  16630. mysql_pquery(m_Handle, query);
  16631. format(string, sizeof(string), "SERVER: Category created... ID : %d Name : %s", xmr_id, params);
  16632. SendClientMessage(playerid, COLOR_YELLOW, string);
  16633. return true;
  16634. }
  16635. CMD:makexmr(playerid, params[])
  16636. {
  16637. if(PlayerData[playerid][pAdmin] < 4)
  16638. return false;
  16639. new string[128], query[400], free_slot, cat_id, xmr_name[90], xmr_url[128];
  16640. if(sscanf(params, "s[90]ds[128]", xmr_name, cat_id, xmr_url))
  16641. {
  16642. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /makexmr [station name] [category ID] [station URL]");
  16643. SendClientMessage(playerid, COLOR_ADM, "Example: /makexmr Powerhitz 1 ((Hip Hop)) http://powerhitz.com");
  16644. return true;
  16645. }
  16646. for(new i = 1; i < MAX_XMR_SUBCATEGORY; i++){
  16647. if (!XMRData[i][xmrID]){
  16648. free_slot = i;
  16649. break;
  16650. }
  16651. }
  16652. format(XMRData[free_slot][xmrStationURL], 128, "%s", xmr_url);
  16653. format(XMRData[free_slot][xmrName], 90, "%s", xmr_name);
  16654. XMRData[free_slot][xmrID] = free_slot;
  16655. XMRData[free_slot][xmrCategory] = cat_id;
  16656. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO xmr_data (`xmr_name`, `xmr_url`, `category`) VALUES('%e', '%e', %d)", xmr_name, xmr_url, cat_id);
  16657. mysql_pquery(m_Handle, query);
  16658. format(string, sizeof(string), "SERVER: Station created... ID : %d Name : %s", free_slot, xmr_name);
  16659. SendClientMessage(playerid, COLOR_YELLOW, string);
  16660. format(string, sizeof(string), "URL: %s", xmr_url);
  16661. SendClientMessage(playerid, COLOR_YELLOW, string);
  16662. return true;
  16663. }
  16664. CMD:editxmrcat(playerid, params[])
  16665. {
  16666. if(PlayerData[playerid][pAdmin] < 4)
  16667. return false;
  16668. new id, string[128], query[90], input[128];
  16669. if(sscanf(params, "is[128]", id, input))
  16670. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editxmrcat [category id] [category name]");
  16671. if(!XMRCategoryData[id][XMRID])
  16672. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid category ID.");
  16673. format(string, sizeof(string), "SERVER: Category %s(%d) renamed to %s", XMRCategoryData[id][XMRCategoryName], id, input);
  16674. SendClientMessage(playerid, COLOR_YELLOW, string);
  16675. format(XMRCategoryData[id][XMRCategoryName], 128, "%s", input);
  16676. mysql_format(m_Handle, query, sizeof(query), "UPDATE xmr_sub SET cat_name = '%e' WHERE id = %i", XMRCategoryData[id][XMRID]);
  16677. mysql_pquery(m_Handle, query);
  16678. return true;
  16679. }
  16680. CMD:editxmrstation(playerid, params[])
  16681. {
  16682. if(PlayerData[playerid][pAdmin] < 4)
  16683. return false;
  16684. new id, string[128], a_string[128], b_string[128], query[256];
  16685. if(sscanf(params, "is[128]S()[128]", id, a_string, b_string))
  16686. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editxmrstation [station id] [name, url, category]");
  16687. if(!strcmp(a_string, "name"))
  16688. {
  16689. new input[128];
  16690. if(sscanf(b_string, "s[128]", input))
  16691. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editxmrstation station_id name [new name]");
  16692. format(string, sizeof(string), "SERVER: Station %s(%d) renamed to %s", XMRData[id][xmrName], id, input);
  16693. SendClientMessage(playerid, COLOR_YELLOW, string);
  16694. format(XMRData[id][xmrName], 128, "%s", input);
  16695. mysql_format(m_Handle, query, sizeof(query), "UPDATE xmr_data SET xmr_name = '%e' WHERE id = %i",
  16696. input, XMRData[id][xmrID]);
  16697. mysql_pquery(m_Handle, query);
  16698. }
  16699. else if(!strcmp(a_string, "url"))
  16700. {
  16701. new input[128];
  16702. if(sscanf(b_string, "s[128]", input))
  16703. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editxmrstation station_id url [new url]");
  16704. format(string, sizeof(string), "SERVER: Station %s(%d) URL is now : %s", XMRData[id][xmrName], id, input);
  16705. SendClientMessage(playerid, COLOR_YELLOW, string);
  16706. format(string, sizeof(string), "Previous: %s", XMRData[id][xmrStationURL]);
  16707. SendClientMessage(playerid, COLOR_YELLOW, string);
  16708. format(XMRData[id][xmrStationURL], 128, "%s", input);
  16709. mysql_format(m_Handle, query, sizeof(query), "UPDATE xmr_data SET xmr_url = '%e' WHERE id = %i",
  16710. input, XMRData[id][xmrID]);
  16711. mysql_pquery(m_Handle, query);
  16712. }
  16713. else if(!strcmp(a_string, "category"))
  16714. {
  16715. new cat_id;
  16716. if(sscanf(b_string, "d", cat_id))
  16717. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editxmrstation station_id category [category id]");
  16718. if(!XMRCategoryData[cat_id][XMRID])
  16719. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid category ID.");
  16720. format(string, sizeof(string), "SERVER: Station %s(%d) Category set to %s (%d)", XMRData[id][xmrName], id, XMRCategoryData[cat_id][XMRCategoryName], cat_id);
  16721. SendClientMessage(playerid, COLOR_YELLOW, string);
  16722. format(string, sizeof(string), "Previous: %s (%d)", XMRCategoryData[XMRData[id][xmrCategory]][XMRCategoryName], XMRData[id][xmrCategory]);
  16723. SendClientMessage(playerid, COLOR_YELLOW, string);
  16724. XMRData[id][xmrCategory] = cat_id;
  16725. mysql_format(m_Handle, query, sizeof(query), "UPDATE xmr_data SET category = %i WHERE id = %i", cat_id, XMRData[id][xmrID]);
  16726. mysql_pquery(m_Handle, query);
  16727. return true;
  16728. }
  16729. return true;
  16730. }
  16731. CMD:makeentrance(playerid, params[])
  16732. {
  16733. if (PlayerData[playerid][pAdmin] < 4)
  16734. return false;
  16735. new
  16736. faction_id, warehouse, b_market,
  16737. insert_query[200];
  16738. if(sscanf(params, "iii", faction_id, warehouse, b_market))
  16739. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /makeentrance [Faction ID] [Warehouse] [Black Market]");
  16740. if(faction_id > MAX_FACTIONS || !FactionData[faction_id][factionID])
  16741. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid faction.");
  16742. if(warehouse && b_market)
  16743. return SendClientMessage(playerid, COLOR_ADM, "ERROR: It needs to be either a warehouse or black market but not both.");
  16744. if(warehouse < 0 || warehouse > 1 || b_market > 1 || b_market < 0)
  16745. return SendClientMessage(playerid, COLOR_ADM, "Warehouse or Black Market parameters need to be a boolean value. (0 for false, 1 for true)");
  16746. if(CountEntrances() >= 30)
  16747. return SendClientMessage(playerid, COLOR_ADM, "Server has exceeded the max possible entrances. (30)");
  16748. mysql_format(m_Handle, insert_query, sizeof(insert_query), "INSERT INTO entrances (FactionOwner, IsBlackMarket, IsWarehouse) VALUES(%i, %i, %i)", faction_id, b_market, warehouse);
  16749. mysql_tquery(m_Handle, insert_query, "OnEntranceCreated", "iiii", playerid, faction_id, warehouse, b_market);
  16750. return 1;
  16751. }
  16752. CMD:editentrance(playerid, params[])
  16753. {
  16754. if (PlayerData[playerid][pAdmin] < 4)
  16755. return false;
  16756. new
  16757. id, specific[30], type[30], setid,
  16758. update_query[200];
  16759. if(sscanf(params, "is[30]S()[30]", id, specific, type))
  16760. {
  16761. SendClientMessage(playerid, COLOR_ADM, "USAGE: /editentrance [Entrance ID] [Parameters]");
  16762. SendClientMessage(playerid, COLOR_ADM, "Parameters:{FFFFFF} faction, warehouse, blackmarket, entrance, interior.");
  16763. return 1;
  16764. }
  16765. if(!strcmp(specific, "faction", true))
  16766. {
  16767. if(sscanf(type, "i", setid))
  16768. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /editentrance EntranceID faction <Faction ID>");
  16769. if(setid > MAX_FACTIONS || setid < 1 || !FactionData[setid][factionID])
  16770. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid faction.");
  16771. mysql_format(m_Handle, update_query, sizeof(update_query), "UPDATE entrances SET FactionOwner = %i WHERE InteriorDBID = %i", setid, Entrances[id][InteriorDBID]);
  16772. mysql_tquery(m_Handle, update_query, "OnEntranceFactionChange", "iii", playerid, id, setid);
  16773. }
  16774. else if(!strcmp(specific, "warehouse", true))
  16775. {
  16776. if(sscanf(type, "i", setid))
  16777. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /editentrane EntranceID warehouse <0/1>");
  16778. if(setid > 1 || setid < 0)
  16779. return SendClientMessage(playerid, COLOR_ADM, "Value must be either 0 or 1. (1 is true, 0 is false)");
  16780. if(Entrances[id][IsBlackMarket])
  16781. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The Entrance you specified is a black market. It can't be both.");
  16782. if(Entrances[id][IsWarehouse] == setid)
  16783. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The value you're setting is the same as the current.");
  16784. mysql_format(m_Handle, update_query, sizeof(update_query), "UPDATE entrances SET IsWarehouse = %i WHERE InteriorDBID = %i", setid, Entrances[id][InteriorDBID]);
  16785. mysql_tquery(m_Handle, update_query, "OnEntranceWarehouseChange", "iii", playerid, id, setid);
  16786. }
  16787. else if(!strcmp(specific, "blackmarket", true))
  16788. {
  16789. if(sscanf(type, "i", setid))
  16790. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /editentrane EntranceID blackmarket <0/1>");
  16791. if(setid > 1 || setid < 0)
  16792. return SendClientMessage(playerid, COLOR_ADM, "Value must be either 0 or 1. (1 is true, 0 is false)");
  16793. if(Entrances[id][IsWarehouse])
  16794. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The Entrance you specified is a warehouse. It can't be both.");
  16795. if(Entrances[id][IsBlackMarket] == setid)
  16796. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The value you're setting is the same as the current.");
  16797. mysql_format(m_Handle, update_query, sizeof(update_query), "UPDATE entrances SET IsBlackMarket = %i WHERE InteriorDBID = %i", setid, Entrances[id][InteriorDBID]);
  16798. mysql_tquery(m_Handle, update_query, "OnEntranceBlackmarketChange", "iii", playerid, id, setid);
  16799. }
  16800. else if(!strcmp(specific, "entrance", true))
  16801. {
  16802. format(update_query, sizeof(update_query), "Are you sure you want to change Entrance %i's entrance?\n\nIf this is a interior, please change your virtual world to a random value.", id);
  16803. ConfirmDialog(playerid, "Confirmation", update_query, "OnEntrancesEntranceChange", id);
  16804. }
  16805. else if(!strcmp(specific, "interior", true))
  16806. {
  16807. format(update_query, sizeof(update_query), "Are you sure you want to change Entrance %i's interior?\n\nIf this is a interior, please change your virtual world to a random value.", id);
  16808. ConfirmDialog(playerid, "Confirmation", update_query, "OnEntrancesInteriorChange", id);
  16809. }
  16810. return 1;
  16811. }
  16812. CMD:asellproperty(playerid, params[])
  16813. {
  16814. if (PlayerData[playerid][pAdmin] < 4)
  16815. return false;
  16816. new id, string[128];
  16817. if (sscanf(params, "d", id))
  16818. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /asellproperty [property id]");
  16819. if (id < 1 || id > MAX_PROPERTY || !PropertyData[id][propertyid])
  16820. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid property ID.");
  16821. if (PropertyData[id][propertyOwnerSQL] == 0)
  16822. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't sell property that isn't owned.");
  16823. format(string, sizeof(string), "SERVER: You sold Property ID %d from %s", id, ReturnSQLName(PropertyData[id][propertyOwnerSQL]));
  16824. SendClientMessage(playerid, COLOR_YELLOW, string);
  16825. format(string, sizeof(string), "%s sold Property ID %d from %s", ReturnName(playerid, 1), id, ReturnSQLName(PropertyData[id][propertyOwnerSQL]));
  16826. adminWarn(4, string);
  16827. WriteLog("admin_logs/properties/sellproperty_log.txt", "[%s] %s sold Property ID %d from %s", ReturnDate(), ReturnName(playerid, 1), id, ReturnSQLName(PropertyData[id][propertyOwnerSQL]));
  16828. foreach(new i : Player){
  16829. if(strfind(ReturnName(i, 1), ReturnSQLName(PropertyData[id][propertyOwnerSQL]), true) != -1)
  16830. {
  16831. SendClientMessage(i, COLOR_ADM, "[ ! ] Your Property was sold by an Administrator.");
  16832. }
  16833. }
  16834. PropertyData[id][propertyOwnerSQL] = 0;
  16835. SaveProperty(id);
  16836. return true;
  16837. }
  16838. CMD:asellbusiness(playerid, params[])
  16839. {
  16840. if (PlayerData[playerid][pAdmin] < 4)
  16841. return false;
  16842. new id, string[128];
  16843. if (sscanf(params, "d", id))
  16844. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /asellbusiness [business id]");
  16845. if (id < 1 || id > MAX_BUSINESS || !BusinessData[id][businessID])
  16846. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid business ID.");
  16847. if (BusinessData[id][businessOwnerSQL] == 0)
  16848. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't sell a business that isn't owned.");
  16849. format(string, sizeof(string), "SERVER: You sold Business ID %d from %s", id, ReturnSQLName(BusinessData[id][businessOwnerSQL]));
  16850. SendClientMessage(playerid, COLOR_YELLOW, string);
  16851. format(string, sizeof(string), "%s sold Business ID %d from %s", ReturnName(playerid, 1), id, ReturnSQLName(BusinessData[id][businessOwnerSQL]));
  16852. adminWarn(4, string);
  16853. WriteLog("admin_logs/businesses/sellbusiness_log.txt", "[%s] %s sold Business ID %d from %s", ReturnDate(), ReturnName(playerid, 1), id, ReturnSQLName(BusinessData[id][businessOwnerSQL]));
  16854. foreach(new i : Player){
  16855. if(strfind(ReturnName(i, 1), ReturnSQLName(BusinessData[id][businessOwnerSQL]), true) != -1)
  16856. {
  16857. SendClientMessage(i, COLOR_ADM, "[ ! ] Your Business was sold by an Administrator.");
  16858. }
  16859. }
  16860. BusinessData[id][businessOwnerSQL] = 0;
  16861. SaveBusiness(id);
  16862. return true;
  16863. }
  16864. CMD:givepackage(playerid, params[])
  16865. {
  16866. new playerb, wepid, ammo, string[128], newid;
  16867. if (PlayerData[playerid][pAdmin] < 4)
  16868. return false;
  16869. if (sscanf(params, "udd", playerb, wepid, ammo))
  16870. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /givepackage [playerid/PartofName] [weaponid] [ammo]");
  16871. if (!IsPlayerConnected(playerb))
  16872. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  16873. if (!pLoggedIn[playerid])
  16874. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  16875. if (newid == -1)
  16876. return SendClientMessage(playerid, COLOR_ADM, "That player can't carry anymore packages.");
  16877. if(wepid <= 1 || wepid > 46 || wepid == 35 || wepid == 36 || wepid == 37 || wepid == 38 || wepid == 39 || wepid == 21 || wepid == 19)
  16878. return SendClientMessage(playerid, COLOR_GREY, "You have specified an invalid weaponid.");
  16879. newid = ReturnFreePackage(playerb);
  16880. WriteLog("weapon_logs/admin_logs/givepackage.txt", "[%s] %s gave %s a %s and %d Ammo package.",
  16881. ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnWeaponName(wepid), ammo);
  16882. PackageData[playerb][packageWeapon][newid] = wepid;
  16883. PackageData[playerb][packageAmmo][newid] = ammo;
  16884. format (string, sizeof(string), "%s gave %s a %s and %d Ammo package.", ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnWeaponName(wepid), ammo);
  16885. adminWarn(4, string);
  16886. format(string, sizeof(string), "[Package] You've received %s and %d Ammo from Admin %s. ", ReturnWeaponName(wepid), ammo, ReturnName(playerid, 1));
  16887. SendClientMessage(playerb, COLOR_DARKGREEN, string);
  16888. return true;
  16889. }
  16890. CMD:agivedrug(playerid, params[])
  16891. {
  16892. if (PlayerData[playerid][pAdmin] < 4)
  16893. return false;
  16894. new string[150], playerb, package, type, Float:quantity, strength;
  16895. if (sscanf(params, "uddfd", playerb, package, type, quantity, strength))
  16896. {
  16897. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /agivedrug [playerid/PartofName] [package_type] [drug_type] [quantity] [strength]");
  16898. SendClientMessage(playerid, COLOR_GRAD2, "Drug Types: 0. Marijuana, 1. Crack, 2. Cocaine, 3. Ecstasy, 4. LSD, 5. Meth, 6. PCP");
  16899. SendClientMessage(playerid, COLOR_GRAD1, "Drug Types: 7. Heroin, 8. Aspirin, 9. Haloperidol, 10. Morphine, 11. Xanax, 12. MDMA, 13. Fentanyl, 14. Steroids");
  16900. return true;
  16901. }
  16902. if (!IsPlayerConnected(playerb))
  16903. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  16904. if (!pLoggedIn[playerid])
  16905. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  16906. if (type > 13 || type < 0)
  16907. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid package type. (0-13)");
  16908. if (type > 14 || type < 0)
  16909. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid drug type. (0-14)");
  16910. if (quantity <= 0)
  16911. return SendClientMessage(playerid, COLOR_ADM, "Quantity must be greater than 0.0.");
  16912. if (strength < 50)
  16913. return SendClientMessage(playerid, COLOR_ADM, "Strength must be 50 or greater.");
  16914. if (CountPackages(playerb) == 10)
  16915. return SendClientMessage(playerid, COLOR_ADM, "That player doesn't have an available package slot.");
  16916. GiveDrugPackage(playerb, package, type, quantity, strength);
  16917. WriteLog("drug_logs/admin_logs/givedrug.txt", "[%s] %s gave %s %.1f %s of %s in a %s (Strength: %d).", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), quantity, (IsPill(type) == 1) ? ("Pills") : ("grams"), ReturnDrugsName(type), GetPackageType(package), strength);
  16918. format (string, sizeof(string), "%s gave %s %.1f %s of %s in a %s (Strength: %d).", ReturnName(playerid, 1), ReturnName(playerb, 1), quantity, (IsPill(type) == 1) ? ("Pills") : ("grams"), ReturnDrugsName(type), GetPackageType(package), strength);
  16919. adminWarn(4, string);
  16920. return 1;
  16921. }
  16922. CMD:map(playerid, params[])
  16923. {
  16924. if(PlayerData[playerid][pAdmin] < 4)
  16925. return 0;
  16926. if(PlayerEditingObject[playerid] || PlayerAddingObject[playerid])
  16927. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You're already editing or adding an object.");
  16928. new
  16929. id = -1, model, str[128];
  16930. if(sscanf(params, "i", model))
  16931. {
  16932. SendClientMessage(playerid, COLOR_ADM, "SERVER: /makeobject [model ID]");
  16933. SendClientMessage(playerid, COLOR_WHITE, "These are permanent objects. !! FIND THE CORRECT MODEL ID !!");
  16934. return 1;
  16935. }
  16936. if(model > 19999)
  16937. return SendClientMessage(playerid, COLOR_ADM, "ERROR: There aren't objects past Model 19,999.");
  16938. for(new i = 0; i < sizeof ObjectData; i++) if(!ObjectData[i][ObjectDBID])
  16939. id = i;
  16940. if(id == -1)
  16941. return SendClientMessage(playerid, COLOR_ADM, "ERROR: The server has the maximum possible map objects.");
  16942. new
  16943. Float:x,
  16944. Float:y,
  16945. Float:z;
  16946. GetPlayerPos(playerid, x, y, z);
  16947. PlayerAddingObject[playerid] = 1;
  16948. PlayerAddingModel[playerid] = model;
  16949. printf("[DEBUG] Admin %s spawned Object Model ID %i with /makeobject.", ReturnName(playerid), model);
  16950. format(str, sizeof(str), "* You're editing an object (Model %i). Only you can see it.", model);
  16951. SendClientMessage(playerid, COLOR_GOLD, str);
  16952. PlayerSpawnObject[playerid] = CreateDynamicObject(model, x, y, z, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), playerid);
  16953. EditDynamicObject(playerid, PlayerSpawnObject[playerid]);
  16954. return 1;
  16955. }
  16956. CMD:mapedit(playerid, params[])
  16957. {
  16958. if(PlayerData[playerid][pAdmin] < 4)
  16959. return 0;
  16960. new
  16961. id, str[30], b_str[30], query[128];
  16962. if(sscanf(params, "is[30]S()[30]", id, str, b_str))
  16963. return SendClientMessage(playerid, COLOR_ADM, "SERVER: /mapedit [id] [position, openposition, type, faction]");
  16964. if(!ObjectData[id][ObjectDBID])
  16965. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid object.");
  16966. if(!strcmp(str, "position"))
  16967. {
  16968. if(PlayerEditingObject[playerid] || PlayerEditingOpen[playerid] || PlayerAddingObject[playerid])
  16969. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You're already editing.");
  16970. PlayerEditingObject[playerid] = 1;
  16971. PlayerEditingID[playerid] = id;
  16972. EditDynamicObject(playerid, ObjectData[id][Object]);
  16973. format(str, sizeof(str), "* You're now editing Object %i. (Model: %i)", id, ObjectData[id][Object_Model]);
  16974. SendClientMessage(playerid, COLOR_GOLD, str);
  16975. }
  16976. else if(!strcmp(str, "openposition"))
  16977. {
  16978. if(ObjectData[id][Object_Type] != GATE_MAP_TYPE)
  16979. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That ID is not a gate.");
  16980. if(ObjectData[id][Object_GateOpen])
  16981. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need to close the gate first.");
  16982. if(PlayerEditingObject[playerid] || PlayerEditingOpen[playerid] || PlayerAddingObject[playerid])
  16983. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You're already editing.");
  16984. PlayerEditingOpen[playerid] = 1;
  16985. PlayerEditingID[playerid] = id;
  16986. EditDynamicObject(playerid, ObjectData[id][Object]);
  16987. format(str, sizeof(str), "* You're now editing Object %i's open gate position. (Model: %i)", id, ObjectData[id][Object_Model]);
  16988. SendClientMessage(playerid, COLOR_GOLD, str);
  16989. }
  16990. else if(!strcmp(str, "type"))
  16991. {
  16992. new
  16993. type;
  16994. if(sscanf(b_str, "i", type))
  16995. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /mapedit [id] [type] type [0 - Standalone, 1 - Gate]");
  16996. if(type > 1 || type < 0)
  16997. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Type.");
  16998. if(type == 0 && ObjectData[id][Object_Type] == 1 && ObjectData[id][Object_GateOpen])
  16999. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Close the objects gate first before switching.");
  17000. ObjectData[id][Object_Type] = type;
  17001. mysql_format(m_Handle, query, sizeof(query), "UPDATE objects SET Type = %i WHERE id = %i", type, ObjectData[id][ObjectDBID]);
  17002. mysql_pquery(m_Handle, query);
  17003. SendClientMessage(playerid, COLOR_GOLD, "* You successfully edited the objects type.");
  17004. }
  17005. else if(!strcmp(str, "faction"))
  17006. {
  17007. new
  17008. faction;
  17009. if(sscanf(b_str, "i", faction))
  17010. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /mapedit [id] [faction] faction id");
  17011. if(!FactionData[faction][factionID] || faction > MAX_FACTIONS)
  17012. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You specified an invalid faction.");
  17013. ObjectData[id][Object_Faction] = faction;
  17014. mysql_format(m_Handle, query, sizeof(query), "UPDATE objects SET Faction = %i WHERE id = %i", faction, ObjectData[id][ObjectDBID]);
  17015. mysql_pquery(m_Handle, query);
  17016. SendClientMessage(playerid, COLOR_GOLD, "* You successfully edited the objects faction.");
  17017. }
  17018. return 1;
  17019. }
  17020. CMD:mapinfo(playerid, params[])
  17021. {
  17022. if(PlayerData[playerid][pAdmin] < 4)
  17023. return 0;
  17024. new id, str[128];
  17025. if(sscanf(params, "i", id))
  17026. return SendClientMessage(playerid, COLOR_ADM, "SERVER: /mapinfo [id]");
  17027. if(!ObjectData[id][ObjectDBID])
  17028. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You specified an invalid Map ID.");
  17029. format(str, sizeof(str), "DBID:[%i] Model:[%i] Type:[%s] Faction:[%i]", ObjectData[id][ObjectDBID], ObjectData[id][Object_Model], (ObjectData[id][Object_Type] != 1) ? ("Default") : ("Garage"), ObjectData[id][Object_Faction]);
  17030. SendClientMessage(playerid, COLOR_GOLD, str);
  17031. format(str, sizeof(str), "World:[%i] Interior:[%i]", ObjectData[id][Object_World], ObjectData[id][Object_Interior]);
  17032. SendClientMessage(playerid, COLOR_GOLD, str);
  17033. return 1;
  17034. }
  17035. CMD:mapdelete(playerid, params[])
  17036. {
  17037. if(PlayerData[playerid][pAdmin] < 4)
  17038. return 0;
  17039. new id, str[128];
  17040. if(sscanf(params, "i", id))
  17041. return SendClientMessage(playerid, COLOR_ADM, "SERVER: /mapdelete [id]");
  17042. if(!ObjectData[id][ObjectDBID])
  17043. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You specified an invalid Map ID.");
  17044. format(str, sizeof(str), "Are you sure you want to delete Map ID %i?", id);
  17045. ConfirmDialog(playerid, "Confirmation", str, "OnMapDelete", id);
  17046. return 1;
  17047. }
  17048. // Level 5
  17049. CMD:sethelper(playerid, params[])
  17050. {
  17051. if(!pLoggedIn[playerid]) return false;
  17052. if(PlayerData[playerid][pAdmin] < 5) return false;
  17053. new playerb, str[128];
  17054. if(sscanf(params, "u", playerb))
  17055. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sethelper [playerid/PartofName]");
  17056. if(!IsPlayerConnected(playerb))
  17057. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17058. if(!pLoggedIn[playerid])
  17059. return SendClientMessage(playerid, COLOR_GREY, "You specified a player that isn't logged in.");
  17060. if (!PlayerData[playerb][pHelper])
  17061. {
  17062. format(str, sizeof(str), "AdmCmd: %s set %s to a Helper.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  17063. SendAdminMessage(COLOR_ORANGE, str);
  17064. PlayerData[playerb][pHelper] = true;
  17065. GameTextForPlayer(playerb, "~w~Account ~g~Upgraded", 3000, 1);
  17066. WriteLog("admin_logs/samplogs/sethelper.txt", "[%s] %s gave %s Helper.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1));
  17067. }
  17068. else
  17069. {
  17070. format(str, sizeof(str), "AdmCmd: %s removed %s's Helper.", ReturnName(playerid, 1), ReturnName(playerb, 1));
  17071. SendAdminMessage(COLOR_ORANGE, str);
  17072. PlayerData[playerb][pHelper] = false;
  17073. WriteLog("admin_logs/samplogs/sethelper.txt", "[%s] %s removed %s's Helper.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1));
  17074. }
  17075. return true;
  17076. }
  17077. CMD:setdonator(playerid, params[])
  17078. {
  17079. if(!pLoggedIn[playerid]) return true;
  17080. if(PlayerData[playerid][pAdmin] < 5) return false;
  17081. new playerb, donator, levelString[45], string[128];
  17082. if(sscanf(params, "ui", playerb, donator)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setdonator [playerid/PartofName] [0-4]");
  17083. if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17084. if(!pLoggedIn[playerb]) return SendClientMessage(playerid, COLOR_GREY, "You have specified a player that isn't logged in.");
  17085. if(donator < 0 || donator > 4) return SendClientMessage(playerid, COLOR_ADM, "Invalid donator level.");
  17086. PlayerData[playerb][pDonator] = donator;
  17087. SaveSQLInt(PlayerData[playerb][pSQLID], "players", "Donator", PlayerData[playerb][pDonator]);
  17088. switch(donator) {
  17089. case 1: levelString = "bronze donator";
  17090. case 2: levelString = "silver donator";
  17091. case 3: levelString = "gold donator";
  17092. case 4: levelString = "platinum donator";
  17093. }
  17094. if(donator == 0) {
  17095. format(string, sizeof(string), "SERVER: You took away %s's donator level", ReturnName(playerb, 1));
  17096. SendClientMessage(playerid, COLOR_YELLOW, string);
  17097. }
  17098. else {
  17099. format(string, sizeof(string), "SERVER: You upgraded %s to a %s.", ReturnName(playerb, 1), levelString);
  17100. SendClientMessage(playerid, COLOR_YELLOW, string);
  17101. }
  17102. WriteLog("admin_logs/samplogs/setdonator.txt", "[%s] %s made %s a level %d donator", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), donator);
  17103. return true;
  17104. }
  17105. CMD:callpaycheck(playerid, params[])
  17106. {
  17107. if(!pLoggedIn[playerid])return true;
  17108. if(PlayerData[playerid][pAdmin] < 5)return false;
  17109. new string[128], confirm[40];
  17110. if(sscanf(params, "s[40]", confirm)){
  17111. SendClientMessage(playerid, COLOR_ADM, "Warning: This command calls the paycheck function before the hour. Type /callpaycheck yes to confirm.");
  17112. SendClientMessage(playerid, COLOR_ADM, "This command cannot be undone and is logged.");
  17113. return true;
  17114. }
  17115. if(strmatch(confirm, "yes")){
  17116. CallPaycheck();
  17117. format(string, sizeof(string), "%s called a paycheck before the hour.", ReturnName(playerid, 1));
  17118. adminWarn(4, string);
  17119. WriteLog("admin_logs/samplogs/callpaycheck_log.txt", "[%s] %s called a paycheck", ReturnDate(), ReturnName(playerid, 1));
  17120. }
  17121. return true;
  17122. }
  17123. /*CMD:ac(playerid, params[])
  17124. {
  17125. if(PlayerData[playerid][pAdmin] < 5)
  17126. return 0;
  17127. if(isnull(params))
  17128. return SendClientMessage(playerid, COLOR_ADM, "WARNING: You're about to disable the anti cheat. Proceed with /ac DISABLE if you're sure. /ac ENABLE later.");
  17129. if(!strcmp(params, "DISABLE"))
  17130. {
  17131. WEAPON_ANTI_CHEAT = 0;
  17132. AMMO_ANTI_CHEAT = 0;
  17133. SendClientMessage(playerid, COLOR_ADM, "WARNING: You just disabled the anti cheat.");
  17134. printf("[WARNING] %s(ID: %i) just DISABLED the anti cheat.", ReturnName(playerid), playerid);
  17135. }
  17136. else if(!strcmp(params, "ENABLE"))
  17137. {
  17138. WEAPON_ANTI_CHEAT = 1;
  17139. AMMO_ANTI_CHEAT = 1;
  17140. SendClientMessage(playerid, COLOR_ADM, "WARNING: You just enabled the anti cheat.");
  17141. printf("[WARNING] %s(ID: %i) just ENABLED the anti cheat.", ReturnName(playerid), playerid);
  17142. }
  17143. return 1;
  17144. }*/
  17145. CMD:restartserver(playerid, params[])
  17146. {
  17147. if(PlayerData[playerid][pAdmin] < 5)
  17148. return 0;
  17149. if(isnull(params))
  17150. return SendClientMessage(playerid, COLOR_ADM, "WARNING: Are you sure you want to restart the server? This will backup everything up beforehand.");
  17151. new str[128];
  17152. if(!strcmp(params, "YES", true))
  17153. {
  17154. format(str, sizeof(str), "AdmCmd: %s is restarting the server in the next 5 Seconds!", ReturnName(playerid));
  17155. SendAdminMessage(COLOR_ADM, str);
  17156. foreach(new i : Player)
  17157. {
  17158. if(pLoggedIn[i])
  17159. {
  17160. SavePlayer(i);
  17161. }
  17162. }
  17163. SaveProperties();
  17164. SaveFactions();
  17165. SaveBusinesses();
  17166. SaveTolls();
  17167. SavePaynSprays();
  17168. SaveDoors();
  17169. SavePropertyGarages();
  17170. foreach(new i : Player)
  17171. {
  17172. GameTextForPlayer(playerid, "~r~THE SERVER IS RESTARTING~n~~w~RELOG WITHIN THE NEXT 30 SECONDS", 5000, 1);
  17173. if(i == playerid) continue;
  17174. KickEx(i);
  17175. }
  17176. SetTimer("RestartServer", 5000, false);
  17177. }
  17178. else return 0;
  17179. return 1;
  17180. }
  17181. CMD:setname(playerid, params[])
  17182. {
  17183. if(!pLoggedIn[playerid])return true;
  17184. if(!PlayerData[playerid][pAdmin])return false;
  17185. new playerb, Name[32], string[128], query[128];
  17186. if(sscanf(params, "us[32]", playerb, Name))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setname [playerid/PartofName] [ Firstname_Lastname ]");
  17187. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17188. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  17189. format(string, sizeof(string), "%s changed %s's name to %s", ReturnName(playerid, 1), ReturnName(playerb, 1), Name);
  17190. adminWarn(1, string);
  17191. format(string, sizeof(string), "SERVER: You were name changed to %s", Name);
  17192. SendClientMessage(playerb, COLOR_YELLOW, string);
  17193. format(string, sizeof(string), "Namechanged to %s (%s) by %s", Name, ReturnName(playerb), ReturnName(playerid));
  17194. LogPlayerAction(playerb, string);
  17195. WriteLog("admin_logs/samplogs/setname_log.txt", "[%s] %s set %s's name to %s", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), Name);
  17196. SetPlayerName(playerb, Name);
  17197. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET `Name` = '%e' WHERE id = %i", Name, PlayerData[playerb][pSQLID]);
  17198. mysql_pquery(m_Handle, query);
  17199. return true;
  17200. }
  17201. CMD:acceptnc(playerid, params[])
  17202. {
  17203. if(!PlayerData[playerid][pAdmin])
  17204. return UnAuthMessage(playerid);
  17205. new playerb;
  17206. new query[300];
  17207. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE: /acceptnc [playerid/PartofName]");
  17208. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17209. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a player that isn't logged in.");
  17210. if(GetPVarInt(playerb, "RequestedNC") < 1)
  17211. return SendClientMessage(playerid, COLOR_ADM, "Player hasn't requested a namechange.");
  17212. new theirname[MAX_PLAYER_NAME + 1];
  17213. GetPVarString(playerb, "RequestedNCName", theirname, MAX_PLAYER_NAME + 1);
  17214. new string[128];
  17215. format(string, sizeof(string), "%s accepted %s's namechange to: %s", ReturnName(playerid), ReturnName(playerb), theirname);
  17216. adminWarn(1, string);
  17217. Message(playerb, COLOR_ADM, "Admin %s accepted your namechange to %s.", ReturnName(playerid), theirname);
  17218. DeletePVar(playerb, "RequestedNC");
  17219. DeletePVar(playerb, "RequestedNCName");
  17220. DeletePVar(playerb, "RequestedNCTime");
  17221. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET `Name` = '%e' WHERE id = %i", theirname, PlayerData[playerb][pSQLID]);
  17222. mysql_tquery(m_Handle, query);
  17223. Message(playerb, COLOR_ADM, "You're now known as %s. (Previously %s)", theirname, ReturnName(playerb));
  17224. SetPlayerName(playerb, theirname);
  17225. return 1;
  17226. }
  17227. CMD:denync(playerid, params[])
  17228. {
  17229. if(!PlayerData[playerid][pAdmin])
  17230. return UnAuthMessage(playerid);
  17231. new playerb;
  17232. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE: /acceptnc [playerid/PartofName]");
  17233. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17234. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a player that isn't logged in.");
  17235. if(GetPVarInt(playerb, "RequestedNC") < 1)
  17236. return SendClientMessage(playerid, COLOR_ADM, "Player hasn't requested a namechange.");
  17237. new theirname[MAX_PLAYER_NAME + 1];
  17238. GetPVarString(playerb, "RequestedNCName", theirname, MAX_PLAYER_NAME + 1);
  17239. new string[128];
  17240. format(string, sizeof(string), "%s denied %s's namechange to: %s", ReturnName(playerid), ReturnName(playerb), theirname);
  17241. adminWarn(1, string);
  17242. Message(playerb, COLOR_ADM, "Admin %s denied your namechange to %s.", ReturnName(playerid), theirname);
  17243. DeletePVar(playerb, "RequestedNC");
  17244. DeletePVar(playerb, "RequestedNCName");
  17245. DeletePVar(playerb, "RequestedNCTime");
  17246. return 1;
  17247. }
  17248. CMD:givemoney(playerid, params[])
  17249. {
  17250. if(!pLoggedIn[playerid])return true;
  17251. if(PlayerData[playerid][pAdmin] < 5)return false;
  17252. new playerb, give_amount, string[128];
  17253. if(sscanf(params, "ud", playerb, give_amount))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /givemoney [playerid/PartofName] [amount]");
  17254. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17255. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  17256. GiveMoney(playerb, give_amount);
  17257. if(PlayerData[playerid][pAdmin] <= 5)
  17258. {
  17259. format(string, sizeof(string), "%s gave $%s to %s", ReturnName(playerid, 1), MoneyFormat(give_amount), ReturnName(playerb, 1));
  17260. adminWarn(4, string);
  17261. WriteLog("admin_logs/samplogs/givemoney_log.txt", "[%s] %s gave $%s to %s", ReturnDate(), ReturnName(playerid, 1), MoneyFormat(give_amount), ReturnName(playerb, 1));
  17262. }
  17263. return true;
  17264. }
  17265. //Graffiti Commands
  17266. CMD:sprayperms(playerid, params[])
  17267. {
  17268. new playerb, string[128];
  17269. if(!PlayerData[playerid][pAdmin] && !PlayerData[playerid][pHelper])
  17270. return SendClientMessage(playerid, COLOR_ADM, "This is restricted for administrators right now.");
  17271. if(sscanf(params, "u", playerb))
  17272. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sprayperms [playerid/PartofName]");
  17273. if(!IsPlayerConnected(playerb))
  17274. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17275. if(!pLoggedIn[playerb])
  17276. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  17277. GivePlayerGun(playerb, 41, 99999, WEAPON_SERVER_GIVEN);
  17278. if(PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin])
  17279. {
  17280. format(string, sizeof(string), "Helper %s gave %s spraycan permission", ReturnName(playerid), ReturnName(playerb));
  17281. adminWarn(1, string);
  17282. }
  17283. format(string, sizeof(string), "[ ! ] %s granted you spray permission, /graffiti.", ReturnName(playerid, 1));
  17284. SendClientMessage(playerb, COLOR_YELLOW, string);
  17285. Message(playerid, COLOR_YELLOW, "[ ! ] You gave %s spray permission.", ReturnName(playerb));
  17286. sprayPermission[playerb] = true;
  17287. WriteLog("Graffiti/spray_perms.txt", "[%s] %s granted %s", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1));
  17288. return true;
  17289. }
  17290. CMD:graffiti(playerid, params[])
  17291. {
  17292. if (PlayerData[playerid][pBrutallyWounded])
  17293. return SendClientMessage(playerid, COLOR_ADM, "You're dead right now.");
  17294. if(sprayPermission[playerid] == false)
  17295. return SendClientMessage(playerid, COLOR_YELLOW, "You don't have graffiti permissions.");
  17296. ShowPlayerDialog(playerid, DIALOG_GRAFFITI_MENU, DIALOG_STYLE_LIST, "Main Menu:", "Custom Graffiti Text\nChoose Your Font", "Select", "<<");
  17297. return true;
  17298. }
  17299. // Helper Commands
  17300. CMD:helperhelp(playerid, params[])
  17301. {
  17302. if(!pLoggedIn[playerid])return false;
  17303. if (!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin])return false;
  17304. SendClientMessage(playerid, COLOR_WHITE, "[Helper]: /h(elper) (helper chat), /sc (staff chat), /helplist, /rsd, /helperduty, /playercheck.");
  17305. SendClientMessage(playerid, COLOR_WHITE, "[Helper]: /level, /kick, /setint, /setworld, /sendtospawn.");
  17306. return true;
  17307. }
  17308. CMD:ht(playerid, params[]) return cmd_helper(playerid, params);
  17309. CMD:hc(playerid, params[]) return cmd_helper(playerid, params);
  17310. CMD:helper(playerid, params[])
  17311. {
  17312. if(!pLoggedIn[playerid]) return true;
  17313. if (!PlayerData[playerid][pHelper] && PlayerData[playerid][pAdmin] < 4) return UnAuthMessage(playerid);
  17314. if(isnull(params)) return SendClientMessage(playerid, COLOR_ADM, "USAGE: /helper [text]");
  17315. SendHelperMessage(COLOR_BLUE, "** %s: %s", ReturnName(playerid, 1), params);
  17316. WriteLog("helper_logs/helperchat_log.txt", "[%s] %s: %s", ReturnDate(), ReturnName(playerid, 1), params);
  17317. return true;
  17318. }
  17319. CMD:sc(playerid, params[])
  17320. {
  17321. if(!pLoggedIn[playerid]) return true;
  17322. if (!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  17323. if(isnull(params)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sc [text]");
  17324. SendStaffMessage(COLOR_ORANGE, "** %s: %s", ReturnName(playerid, 1), params);
  17325. WriteLog("helper_logs/helperchat_log.txt", "[%s] %s: %s", ReturnDate(), ReturnName(playerid, 1), params);
  17326. return true;
  17327. }
  17328. CMD:hduty(playerid, params[]) return cmd_helperduty(playerid, params);
  17329. CMD:helperduty(playerid, params[])
  17330. {
  17331. if(!pLoggedIn[playerid])return true;
  17332. if (!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin]) return UnAuthMessage(playerid);
  17333. if (!PlayerData[playerid][pHelperDuty]){
  17334. SendStaffMessage(COLOR_HELPER, "[HELPER]{FF9900} %s is now on duty!", ReturnName(playerid, 1));
  17335. PlayerData[playerid][pHelperDuty] = true;
  17336. if(!PlayerData[playerid][pAdminDuty])
  17337. SetPlayerColor(playerid, COLOR_HELPER);
  17338. }
  17339. else{
  17340. SendStaffMessage(COLOR_HELPER, "[HELPER]{FF9900} %s is now off duty!", ReturnName(playerid, 1));
  17341. PlayerData[playerid][pHelperDuty] = false;
  17342. if(PlayerData[playerid][pLAWduty])
  17343. SetPlayerColor(playerid, COLOR_COP);
  17344. else if (StartedTaxiJob[playerid])
  17345. SetPlayerColor(playerid, COLOR_YELLOW);
  17346. else
  17347. SetPlayerColor(playerid, COLOR_WHITE);
  17348. }
  17349. return true;
  17350. }
  17351. CMD:playercheck(playerid, params[])
  17352. {
  17353. if(!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin])
  17354. return 0;
  17355. new
  17356. playerb,
  17357. query[256];
  17358. if(sscanf(params, "u", playerb))
  17359. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /playercheck [playerid/PartofName]");
  17360. if(!IsPlayerConnected(playerb))
  17361. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  17362. if(!pLoggedIn[playerb])
  17363. return SendClientMessage(playerid, COLOR_ADM, "Wait for them to login.");
  17364. if(PlayerData[playerb][pAdmin])
  17365. return SendClientMessage(playerid, COLOR_ADM, "That's an admin.");
  17366. mysql_format(m_Handle, query, sizeof(query), "SELECT HWID, IP FROM players WHERE id = %i", PlayerData[playerb][pSQLID]);
  17367. new Cache:cache = mysql_query(m_Handle, query);
  17368. new HWID[90];
  17369. cache_get_value_name(0, "HWID", HWID);
  17370. new ActiveIP[90];
  17371. cache_get_value_name(0, "IP", ActiveIP);
  17372. cache_delete(cache);
  17373. SendClientMessage(playerid, COLOR_RED, "WARNING: Incase they're newly registered, their data may not be in the database yet and cause NO results.");
  17374. SendClientMessage(playerid, COLOR_DARKGREEN, "___________________________________");
  17375. Message(playerid, COLOR_ADM, "Player name: [%s]", ReturnName(playerb));
  17376. mysql_format(m_Handle, query, sizeof(query), "SELECT id, Name FROM `bans` WHERE `IP` = '%e' AND `HWID` = '%e' OR `HWID` = '%e' OR `IP` = '%e'", ActiveIP, HWID, HWID, ActiveIP);
  17377. mysql_tquery(m_Handle, query, "OnBanCheckEx", "ii", playerid, playerb);
  17378. return 1;
  17379. }
  17380. CMD:level(playerid, params[])
  17381. {
  17382. if(!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin])
  17383. return UnAuthMessage(playerid);
  17384. new
  17385. level;
  17386. if(sscanf(params, "i", level))
  17387. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /level [level]");
  17388. if(level == 0)return SendClientMessage(playerid, COLOR_ADM, "This is an offline level.");
  17389. Message(playerid, COLOR_ADM, "Players that are level %i:", level);
  17390. foreach(new i : Player) if(PlayerData[i][pLevel] == level)
  17391. {
  17392. Message(playerid, COLOR_GREY, "%s [ID: %i]", ReturnName(i), i);
  17393. }
  17394. return 1;
  17395. }
  17396. //Support Commands
  17397. CMD:helpme(playerid, params[])
  17398. {
  17399. if(isnull(params) || strlen(params) < 3)
  17400. return SendClientMessage(playerid, COLOR_ADM, "SERVER: /helpme [text]");
  17401. OnSupportRequest(playerid, params);
  17402. return 1;
  17403. }
  17404. CMD:accepthelpme(playerid, params[]) return cmd_rsd(playerid, params);
  17405. CMD:rsd(playerid, params[])
  17406. {
  17407. if (!PlayerData[playerid][pHelperDuty] && !PlayerData[playerid][pAdminDuty])
  17408. return UnAuthMessage(playerid);
  17409. new
  17410. id;
  17411. if(sscanf(params, "i", id))
  17412. return SendClientMessage(playerid, COLOR_ADM, "USGAE: /rsd [support request id]");
  17413. if(id > 99 || !SupportData[id][SupportExists])
  17414. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid support request.");
  17415. foreach(new i : Player) if(PlayerData[i][pHelperDuty] || PlayerData[i][pHelper]) //Admins on support duty;
  17416. {
  17417. if(i == playerid)
  17418. continue;
  17419. Message(i, COLOR_HELPER, "[SUPPORT REQUEST]{FF9900} %s accepted request %i by %s", ReturnName(playerid), id, ReturnSQLName(SupportData[id][SupportRequester]));
  17420. }
  17421. new
  17422. playerb = INVALID_PLAYER_ID;
  17423. foreach(new i : Player) if(PlayerData[i][pSQLID] == SupportData[id][SupportRequester])
  17424. playerb = i;
  17425. if(playerb == INVALID_PLAYER_ID)
  17426. Message(playerid, COLOR_BLUE, "** It looks like the requester (%s) has gone offline.", ReturnSQLName(SupportData[id][SupportRequester]));
  17427. else
  17428. {
  17429. Message(playerid, COLOR_BLUE, "{FF9900}You accepted %s's (%i) support request.", ReturnName(playerb), playerb);
  17430. Message(playerid, COLOR_WHITE, "%s", SupportData[id][SupportReason]);
  17431. Message(playerb, COLOR_GOLD, "{FF9900}%s has responded to your support request, wait until he/she PMs you.", ReturnName(playerid));
  17432. Message(playerb, COLOR_GOLD, "{FF9900}You were the %s player in the queue.", ConvertNumber(id));
  17433. }
  17434. ClearSupportRequest(id);
  17435. return 1;
  17436. }
  17437. CMD:helplist(playerid, params[])
  17438. {
  17439. if (!PlayerData[playerid][pHelper] && !PlayerData[playerid][pAdmin])
  17440. return UnAuthMessage(playerid);
  17441. new
  17442. bool:exists = false;
  17443. for(new i = 1; i < sizeof SupportData; i++) if(SupportData[i][SupportExists])
  17444. {
  17445. exists = true;
  17446. if(strlen(SupportData[i][SupportReason]) > 60)
  17447. {
  17448. Message(playerid, COLOR_REPORT, "%s | SID: %i | Pending: %d Minutes | Request: %.60s", ReturnSQLName(SupportData[i][SupportRequester]), i, SecondsToMinute(gettime() - SupportData[i][SupportTime]), SupportData[i][SupportReason]);
  17449. Message(playerid, COLOR_REPORT, "...%s", SupportData[i][SupportReason][60]);
  17450. }
  17451. else Message(playerid, COLOR_REPORT, "%s | SID: %i | Pending: %d Minutes | Request: %s", ReturnSQLName(SupportData[i][SupportRequester]), i, SecondsToMinute(gettime() - SupportData[i][SupportTime]), SupportData[i][SupportReason]);
  17452. }
  17453. if(!exists)
  17454. return SendClientMessage(playerid, COLOR_REPORT, "** There aren't any active support requests.");
  17455. return 1;
  17456. }
  17457. // Account Commands
  17458. CMD:changepassword(playerid, params[])
  17459. {
  17460. if(CanChangePassword[playerid])
  17461. {
  17462. CanChangePassword[playerid] = 0;
  17463. new
  17464. largeString[800];
  17465. strcat(largeString, "{F81414}YOU'RE ABOUT TO CHANGE YOUR PASSWORD!\n");
  17466. strcat(largeString, "{FFFFFF}Here are a few tips to keep your account password safe and secure:\n\n");
  17467. strcat(largeString, "\tUse a mix of letters, numbers, and symbols in your password.\n");
  17468. strcat(largeString, "\tUse a unique password for each of your important accounts.\n");
  17469. strcat(largeString, "\tDon't use personal information or common words as a password.\n");
  17470. strcat(largeString, "\tDon't use the same password as your forum.baseroleplay.com forum account.\n\n");
  17471. strcat(largeString, "Remember that San Andreas '92 staff will NEVER ask you for your account information.");
  17472. ShowPlayerDialog(playerid, DIALOG_PASSWORD_CHANGE, DIALOG_STYLE_PASSWORD, "Change Your Password", largeString, "Select", "Cancel");
  17473. return 1;
  17474. }
  17475. else
  17476. {
  17477. new Query[128];
  17478. mysql_format(m_Handle, Query, sizeof(Query), "SELECT RegisterIP, IP, HWID, Password FROM players WHERE id = %i", PlayerData[playerid][pSQLID]);
  17479. new Cache:cache = mysql_query(m_Handle, Query);
  17480. new IP[60], RegisterIP[60], HWID[90];
  17481. new largeString[600];
  17482. cache_get_value_name(0, "IP", IP, 60);
  17483. cache_get_value_name(0, "RegisterIP", RegisterIP, 60);
  17484. cache_get_value_name(0, "HWID", HWID, 90);
  17485. cache_delete(cache);
  17486. if(strcmp(ReturnGPCI(playerid), HWID, false))
  17487. {
  17488. strcat(largeString, "{F81414}AN ERROR OCCURRED!\n\n");
  17489. strcat(largeString, "{FFFFFF}We were unable to verify a crucical step in our security check before allowing you...\n");
  17490. strcat(largeString, "to change your accounts password. This measurement is in place to avoid breaches to your account and keep it secure.\n\n");
  17491. strcat(largeString, "Please visit our forums at forum.baseroleplay.com to make a request and allow a password change.");
  17492. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Change Your Password", largeString, "Okay", "");
  17493. return 1;
  17494. }
  17495. if(strcmp(ReturnIP(playerid), RegisterIP, false))
  17496. {
  17497. strcat(largeString, "{F81414}SECURITY WORD REQUIRED!\n\n");
  17498. strcat(largeString, "{FFFFFF}It looks like there was a change in your connection to the server. This requires you input your accounts...\n");
  17499. strcat(largeString, "secret word before we can let you change your password. This was the word you set when you first registered.\n");
  17500. ShowPlayerDialog(playerid, DIALOG_PASSWORD_SECURITY_WORD, DIALOG_STYLE_PASSWORD, "Change Your Password", largeString, "Select", "Cancel");
  17501. return 1;
  17502. }
  17503. if(strcmp(ReturnIP(playerid), IP, false))
  17504. {
  17505. strcat(largeString, "{F81414}SECURITY WORD REQUIRED!\n\n");
  17506. strcat(largeString, "{FFFFFF}It looks like there was a change in your connection to the server. This requires you input your accounts...\n");
  17507. strcat(largeString, "secret word before we can let you change your password. This was the word you set when you first registered.\n");
  17508. ShowPlayerDialog(playerid, DIALOG_PASSWORD_SECURITY_WORD, DIALOG_STYLE_PASSWORD, "Change Your Password", largeString, "Select", "Cancel");
  17509. return 1;
  17510. }
  17511. strcat(largeString, "{F81414}YOU'RE ABOUT TO CHANGE YOUR PASSWORD!\n");
  17512. strcat(largeString, "{FFFFFF}Here are a few tips to keep your account password safe and secure:\n\n");
  17513. strcat(largeString, "\tUse a mix of letters, numbers, and symbols in your password.\n");
  17514. strcat(largeString, "\tUse a unique password for each of your important accounts.\n");
  17515. strcat(largeString, "\tDon't use personal information or common words as a password.\n");
  17516. strcat(largeString, "\tDon't use the same password as your forum.baseroleplay.com forum account.\n");
  17517. strcat(largeString, "Remember that San Andreas '92 staff will NEVER ask you for your account information.");
  17518. ShowPlayerDialog(playerid, DIALOG_PASSWORD_CHANGE, DIALOG_STYLE_PASSWORD, "Change Your Password", largeString, "Select", "Cancel");
  17519. }
  17520. return 1;
  17521. }
  17522. /*CMD:review(playerid, params[]) {
  17523. if(!pLoggedIn[playerid]) return false;
  17524. if(!PlayerData[playerid][pAdmin]) return false;
  17525. new playerb;
  17526. if (sscanf(params, "u", playerb))
  17527. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /review [playerid/partOfName]");
  17528. if (playerb == INVALID_PLAYER_ID || IsPlayerConnected(playerb))
  17529. return SendClientMessage(playerid, COLOR_GREY, "65535 is an invalid playerid.");
  17530. if (!IsPlayerAwaitingRegistration(playerb))
  17531. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This player is not awaiting registration!");
  17532. if (BeingReviewed[playerb] > -1)
  17533. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This player is already being reviewed!");
  17534. adminWarn(1, sprintf("%s (id: %d) is reviewing %s (id: %d)'s registration quiz!", ReturnName(playerid, 1), playerid, ReturnName(playerb, 1), playerb));
  17535. BeingReviewed[playerb] = playerid;
  17536. ShowPlayerDialog(playerid, DIALOG_REG5, DIALOG_STYLE_MSGBOX,
  17537. sprintf("%s (%d)'s Registration Quiz", ReturnName(playerb, 1), playerb),
  17538. sprintf("{FF6347}%s:\n{FFFFFF}%s\n\n\
  17539. {FF6347}%s:\n{FFFFFF}%s\n\n\
  17540. {FF6347}%s:\n{FFFFFF}%s\n", PlayerRegQuestion[playerb][playerRegQuestion][0], PlayerRegQuestion[playerb][playerRegAnswer][0], PlayerRegQuestion[playerb][playerRegQuestion][1], PlayerRegQuestion[playerb][playerRegAnswer][1], PlayerRegQuestion[playerb][playerRegQuestion][2], PlayerRegQuestion[playerb][playerRegAnswer][2]),
  17541. "Accept", "Deny");
  17542. return 1;
  17543. }*/
  17544. CMD:adminhelp(playerid, params[]) return cmd_ahelp(playerid, params);
  17545. CMD:ahelp(playerid, params[])
  17546. {
  17547. if(!pLoggedIn[playerid]) return false;
  17548. if(!PlayerData[playerid][pAdmin]) return false;
  17549. if (PlayerData[playerid][pAdmin] >= 1) {
  17550. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][General]:{FFFFFF} /aduty, /reports, /ar (accept), /dr (disregard), /a (achat), /sc (staff chat), /aooc, /togdeath, /togadmwarn");
  17551. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Lookup]:{FFFFFF} /toga, /spectate, /awc, /watchoff, /stats (id), /afks, /masks, /checktime, /lastincar, /checkhp, /dropinfo,");
  17552. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Lookup]:{FFFFFF} /logc, /adminp, /adminsys, /as, /ipsys, /bansys, /arecord, /checkmask, /findweapon, /checkvehdrugs, /checkvehpackages.");
  17553. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Lookup]:{FFFFFF} /showdrugs, /arealookup, /nearme, /watchdamages, /vlog, /listvehicles, /log, /desync.");
  17554. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Action]:{FFFFFF} /kick, /(offline)ban, /(offline)ajail, /release, /respawn, /slap, /slapcar, /mute, /freeze, /thaw,");
  17555. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Action]:{FFFFFF} /revive, /sethealth, /setarmour, /setint, /setworld, /respawncar (aduty), /respawncars (nearby), /clearguns,");
  17556. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Action]:{FFFFFF} /adminmsg, /afrisk, /apark, /unban, /setname, /acceptnc, /desync, /getincar.");
  17557. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Vehicles]:{FFFFFF} /setfuel, /spawnedtrailers, /aunrentrental, /aunrenttrucker, /setcarparams, /repair");
  17558. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Teleport]:{FFFFFF} /goto, /gethere, /ptp, /sendplayer, /mark, /p2biz, /p2house, /interiors.");
  17559. SendClientMessage(playerid, COLOR_DARKGREEN, "[1:][Other]:{FFFFFF} /adminnote, /fly, /jetpack, /ninjamove, /forumname, /toggleconnects, /clearmychat, /setskin.");
  17560. SendClientMessage(playerid, COLOR_DARKGREEN, " ");
  17561. }
  17562. if (PlayerData[playerid][pAdmin] >= 2) {
  17563. SendClientMessage(playerid, COLOR_DARKGREEN, "[2:][General]:{FFFFFF} /noooc, /set, /backup, /clearpackages, /clearvehpackages, /cleardrugs, /checkfreq.");
  17564. SendClientMessage(playerid, COLOR_DARKGREEN, "[2:][Vehicle]:{FFFFFF} /car, /despawncar, /getcar, /putplayerincar");
  17565. SendClientMessage(playerid, COLOR_DARKGREEN, " ");
  17566. }
  17567. if (PlayerData[playerid][pAdmin] >= 3) {
  17568. SendClientMessage(playerid, COLOR_DARKGREEN, "[3:][General]:{FFFFFF} /propertyinfo, /gotopoint, /getname, /setjob, /setsidejob, /near, /setfightstyle.");
  17569. SendClientMessage(playerid, COLOR_DARKGREEN, "[3:][Teleport]:{FFFFFF} /x, /y, /zc.");
  17570. SendClientMessage(playerid, COLOR_DARKGREEN, "[3:][Vehicle]:{FFFFFF} /setcar, /setcarlife, /setplate");
  17571. SendClientMessage(playerid, COLOR_DARKGREEN, "[3:][Faction]:{FFFFFF} /setfaction.");
  17572. SendClientMessage(playerid, COLOR_DARKGREEN, "[3:][Other]:{FFFFFF} /custommsg");
  17573. SendClientMessage(playerid, COLOR_DARKGREEN, " ");
  17574. }
  17575. if (PlayerData[playerid][pAdmin] >= 4) {
  17576. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][General]:{FFFFFF} /setstats, /asellproperty, /asellbusiness, /givepackage, /agivedrug. ");
  17577. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Create]:{FFFFFF} /makeproperty, /makefaction, /makebusiness, /maketolls, /makepns, /makerental, /makedoor,");
  17578. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Create]:{FFFFFF} /makepropgarage, /xmrcategory, /makexmr, /makeentrance.");
  17579. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Editing]:{FFFFFF} /editproperty, /editfaction, /editbusiness, /businessname, /editpns, /pnsname, /doorname,");
  17580. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Editing]:{FFFFFF} /editdoor, /givegun, /editpropgarage, /editxmrcat, /editxmrstation, /edittolls, /editentrance.");
  17581. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Vehicle]:{FFFFFF} /despawnacars, /setfactioncar, /v faction (acars), /vehicleinfo, /refreshcar.");
  17582. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Other]:{FFFFFF} /map, /mapedit, /mapinfo, /mapdelete, /fixtruckers, /la.");
  17583. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Warehouse]:{FFFFFF} /listorders, /listcrates, /editordertime, /editproducts");
  17584. SendClientMessage(playerid, COLOR_DARKGREEN, "[4:][Warehouse]:{FFFFFF} /destroycrate, /gotocrate");
  17585. SendClientMessage(playerid, COLOR_DARKGREEN, " ");
  17586. }
  17587. if (PlayerData[playerid][pAdmin] >= 5) {
  17588. SendClientMessage(playerid, COLOR_DARKGREEN, "[5:][General]:{FFFFFF} /setadmin, /sethelper, /setdonator, /givemoney, /callpaycheck.");
  17589. SendClientMessage(playerid, COLOR_DARKGREEN, "[5:][Other]:{FFFFFF} /restartserver, /toggleweaponorder, /togdoubleexp.");
  17590. }
  17591. if (PlayerData[playerid][pAdmin] >= 6) {
  17592. SendClientMessage(playerid, COLOR_DARKGREEN, "[6:][Other]:{FFFFFF} /kanye.");
  17593. SendClientMessage(playerid, COLOR_DARKGREEN, "[6:][Note]:{FFFFFF} Admin Level 6 is the same as 5. However, it appears hidden in /admins. ;)");
  17594. }
  17595. SendClientMessage(playerid, COLOR_DARKGREEN, "___________________________________________");
  17596. return true;
  17597. }
  17598. CMD:toggleweaponorder(playerid, params[]) {
  17599. if(!pLoggedIn[playerid])
  17600. return false;
  17601. if(PlayerData[playerid][pAdmin] < 5)
  17602. return UnAuthMessage(playerid);
  17603. WEAPON_ORDER_DISABLED = (WEAPON_ORDER_DISABLED ? (WEAPON_ORDER_DISABLED = false) : (WEAPON_ORDER_DISABLED = true));
  17604. adminWarn(1, sprintf("%s toggled weapon ordering %s.", ReturnName(playerid, 1), (WEAPON_ORDER_DISABLED ? "off" : "on")));
  17605. return 1;
  17606. }
  17607. CMD:help(playerid, params[])
  17608. {
  17609. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________www.sols-lsb.com______________________");
  17610. SendClientMessage(playerid, COLOR_GRAD1, "[ACCOUNT] /admins, /helpers, /report, /helpme, /stats, /levelup, /upgrade, /setstyle, /setspawn, /requestnc");
  17611. SendClientMessage(playerid, COLOR_GRAD2, "[EMOTES] /me, /ame, /do, /my, /amy, /s(hout), /low, /t, /pm /nopm");
  17612. SendClientMessage(playerid, COLOR_GRAD1, "[GENERAL] /enter, /exit, /rcp, /fixr, /isafk, /time, /stime, /factions, /factionon [id], /licenseexam");
  17613. SendClientMessage(playerid, COLOR_GRAD2, "[GENERAL] /mask, /weapons, /leavegun, /grabgun, /dropgun, /damages, /frisk, /friskapprove, /id");
  17614. SendClientMessage(playerid, COLOR_GRAD1, "[GENERAL] /anims, /expcount, /licenses, /acceptdeath, /respawnme, /blindfold, /buy, /opentoll");
  17615. SendClientMessage(playerid, COLOR_GRAD2, "[GENERAL] /autolow, /note, /colorlist, /opentoll, /weapon, /boombox, /eat, /setstation");
  17616. SendClientMessage(playerid, COLOR_GRAD1, "[GENERAL] /fines, /payfine, /smokecig, /passcig, /givecig, /usedrink, /givedrink, /tognick.");
  17617. SendClientMessage(playerid, COLOR_GRAD2, "[GENERAL] /coin, /dice, /walk, /oldcp, /toghud, /passgun");
  17618. SendClientMessage(playerid, COLOR_GRAD1, "[FINANCIAL] /deposit, /withdraw, /balance, /savings, /pay");
  17619. SendClientMessage(playerid, COLOR_GRAD2, "[PHONE] /call, /pickup, /hangup, /contacts, /loudspeaker");
  17620. SendClientMessage(playerid, COLOR_GRAD1, "[HELP] /vehiclehelp, /househelp, /businesshelp, /drughelp, /jobhelp, /joblist, /ammunationhelp, /factionhelp");
  17621. if(PlayerData[playerid][pDonator]) SendClientMessage(playerid, COLOR_GRAD2, "[DONATOR] /setstyle");
  17622. if(PlayerData[playerid][pHelper]) SendClientMessage(playerid, COLOR_GRAD2, "[HELPER] /helperhelp");
  17623. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17624. return 1;
  17625. }
  17626. CMD:vehiclehelp(playerid, params[])
  17627. {
  17628. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17629. SendClientMessage(playerid, COLOR_GRAD1, "** VEHICLE ** /v(ehicle), /lock, /unimpound, /carwhisper (/cw), /cb /eject, /lights, /engine");
  17630. SendClientMessage(playerid, COLOR_GRAD2, "** VEHICLE ** /(uns)cramble, /rollwindow");
  17631. SendClientMessage(playerid, COLOR_GRAD1, "** RENTABLE ** /rentvehicle, /unrentvehicle, /renttruck, /unrenttruck.");
  17632. SendClientMessage(playerid, COLOR_GRAD2, "** WEAPONS ** /check, /place, /takegun");
  17633. SendClientMessage(playerid, COLOR_GRAD1, "** WEAPON PACKAGES ** /vehpackages, /putweapon (/pw), /putallweapons (/paw), /takeweapon (/tw), /takeallweapons (/taw)");
  17634. SendClientMessage(playerid, COLOR_GRAD2, "** DRUGS ** /vehdrugs, /putdrug (/pd), /putalldrugs (/pad), /takedrug (/td), /takealldrugs (/tad) ");
  17635. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17636. return 1;
  17637. }
  17638. CMD:househelp(playerid, params[])
  17639. {
  17640. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17641. SendClientMessage(playerid, COLOR_GRAD1, "** HOUSE ** /buyhouse, /sellhouse, /lock, /myhouse, /houseupgrade, /houseitems");
  17642. SendClientMessage(playerid, COLOR_GRAD2, "** FURNITURE ** /furniture, /grantbuild, /removebuild");
  17643. SendClientMessage(playerid, COLOR_GRAD1, "** WEAPONS ** /check, /place, /takegun, /cmdspot");
  17644. SendClientMessage(playerid, COLOR_GRAD2, "** DRUGS ** /propdrugs");
  17645. SendClientMessage(playerid, COLOR_GRAD2, "** RENT ** /setrentable, /setrent, /rentroom");
  17646. SendClientMessage(playerid, COLOR_GRAD1, "** ACTION ** /knock, /ds, /ddo, /heal");
  17647. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17648. return 1;
  17649. }
  17650. CMD:businesshelp(playerid, params[])
  17651. {
  17652. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17653. SendClientMessage(playerid, COLOR_GRAD1, "** OWNER ** /bizinfo, /bizfee, /bizname, /hirelist, /hire, /fire, /bizcashbox");
  17654. SendClientMessage(playerid, COLOR_GRAD2, "** ACTION ** /buybiz, /sellbiz, /doorshout (/ds), /doordo (/ddo)");
  17655. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17656. return 1;
  17657. }
  17658. CMD:joblist(playerid, params[])
  17659. {
  17660. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17661. SendClientMessage(playerid, COLOR_GRAD1, "** These are the commands to acquire certain jobs at their locations: **");
  17662. SendClientMessage(playerid, COLOR_GRAD2, "/mechanicjob, /truckerjob, /taxijob");
  17663. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17664. return 1;
  17665. }
  17666. CMD:ammunationhelp(playerid, params[])
  17667. {
  17668. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17669. SendClientMessage(playerid, COLOR_GRAD1, "** You need a weapon's license to acquire weapons from the ammunation. **");
  17670. SendClientMessage(playerid, COLOR_GRAD2, "/buygun, /buyammo");
  17671. SendClientMessage(playerid, COLOR_DARKGREEN, "______________________________________________");
  17672. return 1;
  17673. }
  17674. CMD:drughelp(playerid, params[])
  17675. {
  17676. SendClientMessage(playerid, COLOR_ADM, "Drug Commands:");
  17677. SendClientMessage(playerid, COLOR_WHITE, "/mydrugs - /givedrug - /dropdrug - /usedrug");
  17678. SendClientMessage(playerid, COLOR_WHITE, "/placedrug (/pd) - /placealldrugs (/pad) - /takedrug (td) - /takealldrugs (/tad)");
  17679. SendClientMessage(playerid, COLOR_WHITE, "/checkdrugs - /transferdrug - /buildpackage - /adjustpackage");
  17680. return 1;
  17681. }
  17682. CMD:factionhelp(playerid, params[])
  17683. {
  17684. if(!pLoggedIn[playerid])
  17685. return true;
  17686. new string[128];
  17687. if(!PlayerData[playerid][pFaction])
  17688. return SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /f(action), /togfam, /nofam, /factions, /factionon, /rank, /respawncar, /towcars");
  17689. format(string, sizeof(string), "%s Commands:", FactionData[PlayerData[playerid][pFaction]][factionName]);
  17690. SendClientMessage(playerid, COLOR_ADM, string);
  17691. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /f(action), /togfam, /nofam, /factions, /factionon, /rank, /respawncar, /towcars");
  17692. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /fmembers");
  17693. if(IsIllegalFaction(playerid))
  17694. {
  17695. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /order, /orderproducts, /checkprods");
  17696. }
  17697. if(FactionData[PlayerData[playerid][pFaction]][factionCopPerms])
  17698. {
  17699. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /duty, /offduty, /callsign, /uniform, /(un)handcuff, /(m)egaphone, /mdc, /taser, /rubberbullets");
  17700. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /dep(artment), /jail, /roadblock, /disband, /fine, /vfine, /toll, /hq, /swat, /trace, /factiontrace, /apb");
  17701. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /grantpf, /take, /siren, /badge, /carsign, /remove_carsign, /impound, /mdc, /wanted, /setp, /togcolor.");
  17702. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You can view your factions radio frequency in your handbook.");
  17703. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You can control your factions gates using /gate.");
  17704. }
  17705. if(FactionData[PlayerData[playerid][pFaction]][factionMedPerms])
  17706. {
  17707. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /duty, /offduty, /callsign, /uniform, /heal, /putinambu, /finishop, /hq");
  17708. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You can view your factions radio frequency in your handbook.");
  17709. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You can control your factions gates using /gate.");
  17710. }
  17711. if(FactionData[PlayerData[playerid][pFaction]][factionNewsPerms]) {
  17712. SendClientMessage(playerid, COLOR_ADM, "->{FFFFFF} /duty, /offduty, /badge, /hq, /uniform, /live.");
  17713. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You can view your factions radio frequency in your handbook.");
  17714. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You can control your factions gates using /gate.");
  17715. }
  17716. if(PlayerData[playerid][pFactionRank] <= FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  17717. {
  17718. SendClientMessage(playerid, COLOR_ADM, "-> Leadership:{FFFFFF} /invite, /(o)uninvite, /chatcolor, /configfaction");
  17719. SendClientMessage(playerid, COLOR_ADM, "-> Leadership:{FFFFFF} /factionspawn, /setpspawn, /gov, /factionbank");
  17720. }
  17721. return true;
  17722. }
  17723. CMD:stats(playerid, params[])
  17724. {
  17725. if(!pLoggedIn[playerid])
  17726. return 1;
  17727. if(PlayerData[playerid][pAdmin] >= 1) {
  17728. new playerb;
  17729. if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /stats [playerid OR name]");
  17730. if(!IsPlayerConnected(playerb) && playerb != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17731. if(playerb == INVALID_PLAYER_ID) {
  17732. //ReturnStatistics(playerid, playerid, 0);
  17733. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17734. } else {
  17735. SendClientMessage(playerid, -1, sprintf("[Debug] Showing you %s's statistics...", ReturnName(playerb, 1)));
  17736. ReturnStatistics(playerb, playerid, 1);
  17737. }
  17738. }
  17739. else {
  17740. ReturnStatistics(playerid, playerid);
  17741. }
  17742. return 1;
  17743. }
  17744. CMD:levelup(playerid, params[])
  17745. {
  17746. if(!pLoggedIn[playerid])return true;
  17747. new string[128], newlevel, exp;
  17748. newlevel = PlayerData[playerid][pLevel]+1;
  17749. exp = ((PlayerData[playerid][pLevel]) * 4 + 2);
  17750. if(PlayerData[playerid][pExp] < exp){
  17751. format(string, sizeof(string), "ACCESS DENIED:{FFFFFF} You need %d Exp Points to level up, you have %d.", exp, PlayerData[playerid][pExp]);
  17752. SendClientMessage(playerid, COLOR_ADM, string);
  17753. return true;
  17754. }
  17755. PlayerData[playerid][pExp] = 0;
  17756. PlayerData[playerid][pLevel]++;
  17757. PlayerData[playerid][pUpgradePoints] += 2;
  17758. SetPlayerScore(playerid, newlevel);
  17759. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  17760. format(string, sizeof(string), "~g~Leveled Up~n~~w~You leveled up to level %d", newlevel);
  17761. GameTextForPlayer(playerid, string, 5000, 1);
  17762. format(string, sizeof(string), "SERVER:{FFFFFF} You gained level %d! Type /upgrade for new account benefits.", newlevel);
  17763. SendClientMessage(playerid, COLOR_ADM, string);
  17764. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Level", PlayerData[playerid][pLevel]);
  17765. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Exp", PlayerData[playerid][pExp]);
  17766. WriteLog("player_logs/levelup_log.txt", "[%s] %s leveled up to level %d.", ReturnDate(), ReturnName(playerid, 1), newlevel);
  17767. return true;
  17768. }
  17769. CMD:upgrade(playerid, params[])
  17770. {
  17771. new a_string[128], string[128];
  17772. if (sscanf(params, "s[128]", a_string)) {
  17773. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /upgrade [upgrade]");
  17774. format(string, sizeof(string), "You have %d Upgrade Points available to use.", PlayerData[playerid][pUpgradePoints]);
  17775. SendClientMessage(playerid, COLOR_GRAD1, string);
  17776. SendClientMessage(playerid, COLOR_GRAD2, "________Available Upgrades________");
  17777. SendClientMessage(playerid, COLOR_GRAD2, "1 : maxhealth [Upgrade your maximum health on login]");
  17778. return true;
  17779. }
  17780. if(!strcmp(a_string, "maxhealth"))
  17781. {
  17782. if (!PlayerData[playerid][pUpgradePoints])
  17783. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have sufficient upgrade points.");
  17784. if(PlayerData[playerid][pMaxHealth] >= 150)
  17785. {
  17786. SendClientMessage(playerid, -1, "Your max health is at the full upgrade. (150)");
  17787. return 1;
  17788. }
  17789. WriteLog("player_logs/upgrade_log.txt", "[%s] %s upgraded their max health from %d to %d", ReturnDate(), ReturnName(playerid), PlayerData[playerid][pMaxHealth], PlayerData[playerid][pMaxHealth] + 5);
  17790. PlayerData[playerid][pUpgradePoints]-= 1;
  17791. PlayerData[playerid][pMaxHealth]+= 5;
  17792. format(string, sizeof(string), "SERVER: Your max health was upgraded to %d.0", PlayerData[playerid][pMaxHealth]);
  17793. SendClientMessage(playerid, COLOR_GRAD2, string);
  17794. SavePlayer(playerid);
  17795. }
  17796. return true;
  17797. }
  17798. CMD:re(playerid, params[]) return cmd_report(playerid, params);
  17799. CMD:report(playerid, params[])
  17800. {
  17801. new
  17802. string[678];
  17803. if(isnull(params))
  17804. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /report [text]");
  17805. format(PlayerReport[playerid], 128, "%s", params);
  17806. format(string, sizeof(string), "{F81414}WARNING:\n{FFFFFF}You're about to send all online administrators the following report:\n\nReason: %s\n\n- Reporting actions which do not happen at the moment is extremely difficult for online admins to handle on the spot, since no proof is presented to them.\nIt is highly recommended to head to the forums and submit a forum report.", params);
  17807. ConfirmDialog(playerid, "Warning, you're about to send a /re", string, "OnPlayerReport", params);
  17808. return true;
  17809. }
  17810. // General Commands
  17811. CMD:admins(playerid, params[])
  17812. {
  17813. if(!pLoggedIn[playerid]) return true;
  17814. new count = 0, string[128];
  17815. foreach(new i : Player){
  17816. if(PlayerData[i][pAdmin] && PlayerData[i][pAdmin] != 6) {
  17817. count++;
  17818. }
  17819. }
  17820. if(count)
  17821. {
  17822. SendClientMessage(playerid, COLOR_GREY, "Admins Online:");
  17823. foreach(new i : Player){
  17824. if(PlayerData[i][pAdmin] && PlayerData[i][pAdmin] != 6)
  17825. {
  17826. if(PlayerData[i][pAdminDuty])
  17827. {
  17828. format(string, sizeof(string), "(Level: %d) %s (ID: %i) - On Duty: Yes", PlayerData[i][pAdmin], (isequal(PlayerData[i][pForumName], "-") ? sprintf("%s", ReturnName(i, 1)) : sprintf("%s", PlayerData[i][pForumName])), i);
  17829. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  17830. count++;
  17831. }
  17832. else
  17833. {
  17834. format(string, sizeof(string), "(Level: %d) %s (ID: %i) - On Duty: No", PlayerData[i][pAdmin], PlayerData[i][pForumName], i);
  17835. SendClientMessage(playerid, COLOR_GREY, string);
  17836. count++;
  17837. }
  17838. }
  17839. }
  17840. }
  17841. if(!count)return SendClientMessage(playerid, COLOR_GREY, "There are no administrators online.");
  17842. return true;
  17843. }
  17844. CMD:helpers(playerid, params[])
  17845. {
  17846. if(!pLoggedIn[playerid])return true;
  17847. new count = 0, string[128];
  17848. foreach(new i : Player){
  17849. if(PlayerData[i][pHelper]){
  17850. count++;
  17851. }
  17852. }
  17853. if(count) {
  17854. SendClientMessage(playerid, COLOR_GREY, "Helpers Online:");
  17855. }
  17856. foreach(new i : Player)
  17857. {
  17858. if(PlayerData[i][pHelper])
  17859. {
  17860. if(PlayerData[i][pHelperDuty])
  17861. {
  17862. if(isnull(PlayerData[i][pForumName]))
  17863. format(string, sizeof(string), "%s (ID: %i) - On Duty: Yes", ReturnName(i, 1), i);
  17864. else format(string, sizeof(string), "%s (ID: %i) (%s) - On Duty: Yes", ReturnName(i, 1), i, PlayerData[i][pForumName]);
  17865. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  17866. count++;
  17867. }
  17868. else
  17869. {
  17870. if(isnull(PlayerData[i][pForumName]))
  17871. format(string, sizeof(string), "%s(ID: %i) - On Duty: No", ReturnName(i, 1), i);
  17872. else format(string, sizeof(string), "%s(ID: %i) (%s) - On Duty: No", ReturnName(i, 1), i, PlayerData[i][pForumName]);
  17873. SendClientMessage(playerid, COLOR_GREY, string);
  17874. count++;
  17875. }
  17876. }
  17877. }
  17878. if(!count)return SendClientMessage(playerid, COLOR_GREY, "There are no helpers online.");
  17879. return true;
  17880. }
  17881. CMD:isafk(playerid, params[])
  17882. {
  17883. if(!pLoggedIn[playerid])return true;
  17884. new string[128], playerb;
  17885. if(sscanf(params, "u", playerb))
  17886. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /isafk [playerid/PartofName]");
  17887. if(!IsPlayerConnected(playerb))
  17888. return SendClientMessage(playerid, COLOR_GREY, "65535 is not an active player.");
  17889. if(GetTickCount() > (PlayerData[playerb][pPauseCheck]+2000))
  17890. format(string, sizeof(string), "Player %s has been paused for %d seconds!", ReturnName(playerb, 1), PlayerData[playerb][pPauseTime]);
  17891. else format(string, sizeof(string), "Player %s is not paused.", ReturnName(playerb, 1));
  17892. SendClientMessage(playerid, COLOR_GREY, string);
  17893. return 1;
  17894. }
  17895. CMD:enter(playerid, params[])
  17896. {
  17897. if(!pLoggedIn[playerid])return true;
  17898. new string[128];
  17899. if(StartedTruckerMission[playerid] && TruckerMissionStep[playerid] == 2)
  17900. return SendClientMessage(playerid, COLOR_ADM, "** You can't enter while delivering.");
  17901. PauseAntiCheat(playerid);
  17902. for(new h = 0; h < MAX_PROPERTY; h++){
  17903. if(PropertyData[h][propertyid] != 0){
  17904. if(PropertyData[h][propertyType] == 2){
  17905. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2])){
  17906. if(GetPlayerInterior(playerid) == PropertyData[h][propertyExteriorID] && GetPlayerVirtualWorld(playerid) == PropertyData[h][propertyExteriorWorld] && PlayerData[playerid][pCheckpoint] == h){
  17907. if(PropertyData[h][propertyLocked]) {
  17908. GameTextForPlayer(playerid, "~r~Locked", 2000, 1);
  17909. }
  17910. else {
  17911. if(IsPlayerInAnyVehicle(playerid))
  17912. return SendClientMessage(playerid, COLOR_ADM, "You are not able to enter due to being in a vehicle!");
  17913. SendPlayer(playerid, PropertyData[h][propertyInterior][0], PropertyData[h][propertyInterior][1], PropertyData[h][propertyInterior][2], PropertyData[h][propertyInteriorID], PropertyData[h][propertyInteriorWorld]);
  17914. SetPlayerFacingAngle(playerid, PropertyData[h][propertyInterior][3]);
  17915. SetTimerEx("LoadingStream", 50, false, "i", playerid);
  17916. SetTimerEx("EndStream", 300, false, "i", playerid);
  17917. PlayerData[playerid][pInsideApartment] = h;
  17918. PlayerData[playerid][pInsideComplex] = 0;
  17919. DisablePlayerCheckpoint(playerid);
  17920. PlayerData[playerid][pCheckpoint] = 0;
  17921. if (PropertyData[h][propertyXMROn]){
  17922. PlayAudioStreamForPlayer(playerid, PropertyData[h][propertyXMRUrl]);
  17923. }
  17924. }
  17925. }
  17926. }
  17927. }
  17928. else{
  17929. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2])){
  17930. if(GetPlayerVirtualWorld(playerid) == PropertyData[h][propertyExteriorWorld]){
  17931. if(PropertyData[h][propertyLocked]){
  17932. GameTextForPlayer(playerid, "~r~Locked", 2000, 1);
  17933. }
  17934. else{
  17935. if(IsPlayerInAnyVehicle(playerid))
  17936. return SendClientMessage(playerid, COLOR_ADM, "You are not able to enter due to being in a vehicle!");
  17937. SendPlayer(playerid, PropertyData[h][propertyInterior][0], PropertyData[h][propertyInterior][1], PropertyData[h][propertyInterior][2], PropertyData[h][propertyInteriorID], PropertyData[h][propertyInteriorWorld]);
  17938. SetPlayerFacingAngle(playerid, PropertyData[h][propertyInterior][3]);
  17939. SetTimerEx("LoadingStream", 50, false, "i", playerid);
  17940. SetTimerEx("EndStream", 300, false, "i", playerid);
  17941. if(PropertyData[h][propertyType] == 1){
  17942. PlayerData[playerid][pInsideComplex] = h;
  17943. }
  17944. if(PropertyData[h][propertyType] == 3){
  17945. PlayerData[playerid][pInsideHouse] = h;
  17946. }
  17947. DisablePlayerCheckpoint(playerid);
  17948. PlayerData[playerid][pCheckpoint] = 0;
  17949. if (PropertyData[h][propertyXMROn]){
  17950. PlayAudioStreamForPlayer(playerid, PropertyData[h][propertyXMRUrl]);
  17951. }
  17952. }
  17953. }
  17954. }
  17955. }
  17956. }
  17957. }
  17958. for(new b = 0; b < MAX_BUSINESS; b++)
  17959. {
  17960. if(BusinessData[b][businessID] != 0){
  17961. if(IsPlayerInRangeOfPoint(playerid, 3.0, BusinessData[b][businessExt][0], BusinessData[b][businessExt][1], BusinessData[b][businessExt][2])){
  17962. if(BusinessData[b][businessLocked]){
  17963. GameTextForPlayer(playerid, "~r~Locked", 3000, 1);
  17964. }
  17965. else{
  17966. if(BusinessData[b][businessType] == 8 || BusinessData[b][businessType] == 9){
  17967. GameTextForPlayer(playerid, "~r~Closed", 3000, 1);
  17968. return true;
  17969. }
  17970. if(IsPlayerInAnyVehicle(playerid))
  17971. return SendClientMessage(playerid, COLOR_ADM, "You are not able to enter due to being in a vehicle!");
  17972. SendPlayer(playerid, BusinessData[b][businessInt][0], BusinessData[b][businessInt][1], BusinessData[b][businessInt][2], BusinessData[b][businessIntID], BusinessData[b][businessWorld]);
  17973. SetPlayerFacingAngle(playerid, BusinessData[b][businessInt][3]);
  17974. SetTimerEx("LoadingStream", 50, false, "i", playerid);
  17975. SetTimerEx("EndStream", 300, false, "i", playerid);
  17976. if(PlayerData[playerid][pSQLID] != BusinessData[b][businessOwnerSQL]) {
  17977. GiveMoney(playerid, -BusinessData[b][businessFee]);
  17978. BusinessData[b][businessCashbox]+= BusinessData[b][businessFee];
  17979. }
  17980. format(string, sizeof(string), "~w~%s", BusinessData[b][businessName]);
  17981. GameTextForPlayer(playerid, string, 3000, 1);
  17982. PlayerData[playerid][pInsideBusiness] = b;
  17983. BusinessTypeMessage(playerid, b);
  17984. }
  17985. }
  17986. }
  17987. }
  17988. for(new p = 0; p < MAX_PAYNSPRAY; p++)
  17989. {
  17990. if(PNSData[p][pnsID] != 0){
  17991. if(IsPlayerInRangeOfPoint(playerid, 4.0, PNSData[p][pnsEntrance][0], PNSData[p][pnsEntrance][1], PNSData[p][pnsEntrance][2])){
  17992. if (PNSData[p][pnsOccupied])return SendClientMessage(playerid, COLOR_ADM, "SERVER: Pay N Spray Occupied.");
  17993. if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a car.");
  17994. if (PlayerData[playerid][pMoney] < PNSData[p][pnsPrice] && PlayerData[playerid][pDonator] == 0)return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  17995. SendPlayer(playerid, PNSData[p][pnsRepairSpot][0], PNSData[p][pnsRepairSpot][1], PNSData[p][pnsRepairSpot][2], 0, 0);
  17996. if (PlayerData[playerid][pDonator] == 0) {
  17997. GiveMoney(playerid, -PNSData[p][pnsPrice]);
  17998. PNSData[p][pnsEarnings]+= PNSData[p][pnsPrice];
  17999. }
  18000. new vehicle = GetPlayerVehicleID(playerid);
  18001. PlayerData[playerid][pInsidePNS] = p;
  18002. SetPVarInt(playerid, "InsidePNSVehicle", vehicle);
  18003. PNSData[p][pnsOccupied] = true;
  18004. SetTimerEx("TIMER_ExitPNS", 9500, false, "i", playerid);
  18005. TogglePlayerControllable(playerid, false);
  18006. RepairVehicle(vehicle);
  18007. SetVehicleHealth(vehicle, 1000.0);
  18008. SendClientMessage(playerid, COLOR_DARKGREEN, "Auto-Voice: You'll be moved out in 10 seconds.");
  18009. GameTextForPlayer(playerid, "~g~REPAIRING...", 5000, 4);
  18010. }
  18011. }
  18012. }
  18013. for(new d = 0; d < MAX_DOORS; d++)
  18014. {
  18015. if(DoorData[d][doorID] != 0)
  18016. {
  18017. if(IsPlayerInRangeOfPoint(playerid, 4.0, DoorData[d][doorPos][0], DoorData[d][doorPos][1], DoorData[d][doorPos][2]))
  18018. {
  18019. if(GetPlayerVirtualWorld(playerid) == DoorData[d][doorPosWorld])
  18020. {
  18021. if(DoorData[d][doorLocked])return GameTextForPlayer(playerid, "~r~Locked", 3000, 1);
  18022. if(DoorData[d][doorFaction] != PlayerData[playerid][pFaction]) return 1;
  18023. if(IsPlayerInAnyVehicle(playerid))
  18024. return SendClientMessage(playerid, COLOR_ADM, "You are not able to enter due to being in a vehicle!");
  18025. SetPlayerPos(playerid, DoorData[d][doorInt][0], DoorData[d][doorInt][1], DoorData[d][doorInt][2]);
  18026. SetPlayerInterior(playerid, DoorData[d][doorIntID]);
  18027. SetPlayerVirtualWorld(playerid, DoorData[d][doorIntWorld]);
  18028. SetPlayerFacingAngle(playerid, DoorData[d][doorInt][3]);
  18029. SetTimerEx("LoadingStream", 50, false, "i", playerid);
  18030. SetTimerEx("EndStream", 300, false, "i", playerid);
  18031. PlayerData[playerid][pInsideDoor] = d;
  18032. }
  18033. }
  18034. }
  18035. }
  18036. for(new g = 0; g < MAX_PROPERTY_GARAGES; g++)
  18037. {
  18038. if(GarageData[g][garageSQLID] != 0)
  18039. {
  18040. if(IsPlayerInRangeOfPoint(playerid, 4.0, GarageData[g][garagePos][0], GarageData[g][garagePos][1], GarageData[g][garagePos][2]))
  18041. {
  18042. if(GarageData[g][garageLocked])return GameTextForPlayer(playerid, "~r~Locked", 3000, 1);
  18043. SendPlayer(playerid, GarageData[g][garageInt][0], GarageData[g][garageInt][1], GarageData[g][garageInt][2], GarageData[g][garageInteriorID], GarageData[g][garageWorld]);
  18044. PlayerData[playerid][pInsideGarage] = g;
  18045. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  18046. {
  18047. foreach(new i : Player)
  18048. {
  18049. if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
  18050. {
  18051. SetPlayerVirtualWorld(i, GarageData[g][garageWorld]);
  18052. SetPlayerInterior(i, GarageData[g][garageInteriorID]);
  18053. PlayerData[i][pInsideGarage] = g;
  18054. }
  18055. }
  18056. SetVehicleZAngle(GetPlayerVehicleID(playerid), 90);
  18057. }
  18058. }
  18059. }
  18060. }
  18061. new idx;
  18062. if(IsPlayerNearEntrance(playerid) != -1)
  18063. {
  18064. idx = IsPlayerNearEntrance(playerid);
  18065. if(IsEntranceLocked(idx) && !PlayerData[playerid][pAdminDuty])
  18066. return GameTextForPlayer(playerid, "~r~Locked", 3000, 1);
  18067. if(IsPlayerInAnyVehicle(playerid))
  18068. return SendClientMessage(playerid, COLOR_ADM, "You are not able to enter due to being in a vehicle!");
  18069. EnterEntrance(playerid, idx);
  18070. SetTimerEx("LoadingStream", 50, false, "i", playerid);
  18071. SetTimerEx("EndStream", 300, false, "i", playerid);
  18072. }
  18073. return true;
  18074. }
  18075. CMD:exit(playerid, params[])
  18076. {
  18077. if(!pLoggedIn[playerid])return true;
  18078. if(PlayerData[playerid][pEditingFurniture] && PlayerData[playerid][pEditingDuplicate])
  18079. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't /exit anywhere while editing furniture.");
  18080. if(PlayerData[playerid][pAdjustPackage] != -1)
  18081. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't /exit anywhere while adjusting a package.");
  18082. PauseAntiCheat(playerid);
  18083. for(new h = 0; h < MAX_PROPERTY; h++)
  18084. {
  18085. if(PropertyData[h][propertyid] != 0){
  18086. if(PropertyData[h][propertyType] == 2){
  18087. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[h][propertyInterior][0], PropertyData[h][propertyInterior][1], PropertyData[h][propertyInterior][2]) && PlayerData[playerid][pInsideApartment] == h){
  18088. if(GetPlayerVirtualWorld(playerid) == PropertyData[h][propertyInteriorWorld]){
  18089. SendPlayer(playerid, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2], PropertyData[h][propertyExteriorID], PropertyData[h][propertyExteriorWorld]);
  18090. PlayerData[playerid][pInsideApartment] = 0;
  18091. PlayerData[playerid][pInsideComplex] = PropertyData[h][propertyComplexLink];
  18092. StopAudioStreamForPlayer(playerid);
  18093. }
  18094. }
  18095. }
  18096. else{
  18097. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[h][propertyInterior][0], PropertyData[h][propertyInterior][1], PropertyData[h][propertyInterior][2])){
  18098. if(GetPlayerVirtualWorld(playerid) == PropertyData[h][propertyInteriorWorld]){
  18099. SendPlayer(playerid, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2], 0, 0);
  18100. PlayerData[playerid][pInsideComplex] = 0;
  18101. PlayerData[playerid][pInsideHouse] = 0;
  18102. StopAudioStreamForPlayer(playerid);
  18103. }
  18104. }
  18105. }
  18106. }
  18107. }
  18108. for(new b = 0; b < MAX_BUSINESS; b++)
  18109. {
  18110. if(BusinessData[b][businessID] != 0){
  18111. if(IsPlayerInRangeOfPoint(playerid, 3.0, BusinessData[b][businessInt][0], BusinessData[b][businessInt][1], BusinessData[b][businessInt][2])){
  18112. if(GetPlayerVirtualWorld(playerid) == BusinessData[b][businessWorld]){
  18113. SendPlayer(playerid, BusinessData[b][businessExt][0], BusinessData[b][businessExt][1], BusinessData[b][businessExt][2], 0, 0);
  18114. PlayerData[playerid][pInsideBusiness] = 0;
  18115. }
  18116. }
  18117. }
  18118. }
  18119. for(new i = 0; i < MAX_DOORS; i++)
  18120. {
  18121. if(DoorData[i][doorID] != 0)
  18122. {
  18123. if(IsPlayerInRangeOfPoint(playerid, 4.0, DoorData[i][doorInt][0], DoorData[i][doorInt][1], DoorData[i][doorInt][2]))
  18124. {
  18125. if(GetPlayerVirtualWorld(playerid) == DoorData[i][doorIntWorld])
  18126. {
  18127. SendPlayer(playerid, DoorData[i][doorPos][0], DoorData[i][doorPos][1], DoorData[i][doorPos][2], DoorData[i][doorPosIntID], DoorData[i][doorPosWorld]);
  18128. PlayerData[playerid][pInsideDoor] = i;
  18129. }
  18130. }
  18131. }
  18132. }
  18133. for(new g = 0; g < MAX_PROPERTY_GARAGES; g++)
  18134. {
  18135. if(GarageData[g][garageSQLID] != 0)
  18136. {
  18137. if(IsPlayerInRangeOfPoint(playerid, 4.0, GarageData[g][garageInt][0], GarageData[g][garageInt][1], GarageData[g][garageInt][2]))
  18138. {
  18139. if(GetPlayerVirtualWorld(playerid) == GarageData[g][garageWorld])
  18140. {
  18141. SendPlayer(playerid, GarageData[g][garagePos][0], GarageData[g][garagePos][1], GarageData[g][garagePos][2], 0, 0);
  18142. PlayerData[playerid][pInsideGarage] = 0;
  18143. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  18144. {
  18145. //SetVehicleZAngle(GetPlayerVehicleID(playerid), GarageData[g][garagePos][3]);
  18146. foreach(new i : Player)
  18147. {
  18148. if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
  18149. {
  18150. SetPlayerInterior(i, 0);
  18151. SetPlayerVirtualWorld(i, 0);
  18152. PlayerData[i][pInsideGarage] = 0;
  18153. }
  18154. }
  18155. }
  18156. }
  18157. }
  18158. }
  18159. }
  18160. new idx;
  18161. if(IsPlayerInsideEntrance(playerid) != -1)
  18162. {
  18163. idx = IsPlayerInsideEntrance(playerid);
  18164. ExitEntrance(playerid, idx);
  18165. }
  18166. return true;
  18167. }
  18168. CMD:block(playerid, params[])
  18169. {
  18170. new
  18171. idx,
  18172. nearby;
  18173. if(IsPlayerNearBusiness(playerid))
  18174. {
  18175. idx = IsPlayerNearBusiness(playerid);
  18176. if(IsPlayerInRangeOfPoint(playerid, 4.0, BusinessData[idx][businessExt][0], BusinessData[idx][businessExt][1], BusinessData[idx][businessExt][2]))
  18177. {
  18178. nearby++;
  18179. if(BusinessData[idx][businessOwnerSQL] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])
  18180. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18181. if(!BusinessData[idx][businessLocked])
  18182. {
  18183. BusinessData[idx][businessLocked] = true;
  18184. GameTextForPlayer(playerid, "~w~DOOR ~r~LOCKED", 3000, 4);
  18185. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18186. }
  18187. else
  18188. {
  18189. BusinessData[idx][businessLocked] = false;
  18190. GameTextForPlayer(playerid, "~w~DOOR ~g~UNLOCKED", 3000, 4);
  18191. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18192. }
  18193. }
  18194. }
  18195. if(IsPlayerInBusiness(playerid))
  18196. {
  18197. idx = IsPlayerInBusiness(playerid);
  18198. if(IsPlayerInRangeOfPoint(playerid, 4.0, BusinessData[idx][businessInt][0], BusinessData[idx][businessInt][1], BusinessData[idx][businessInt][2]) && GetPlayerVirtualWorld(playerid) == BusinessData[idx][businessWorld])
  18199. {
  18200. nearby++;
  18201. if(BusinessData[idx][businessOwnerSQL] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])
  18202. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18203. if(!BusinessData[idx][businessLocked])
  18204. {
  18205. BusinessData[idx][businessLocked] = true;
  18206. GameTextForPlayer(playerid, "~w~DOOR ~r~LOCKED", 3000, 4);
  18207. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18208. }
  18209. else
  18210. {
  18211. BusinessData[idx][businessLocked] = false;
  18212. GameTextForPlayer(playerid, "~w~DOOR ~g~UNLOCKED", 3000, 4);
  18213. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18214. }
  18215. }
  18216. }
  18217. if(!nearby) return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in or near a business.");
  18218. return 1;
  18219. }
  18220. CMD:hlock(playerid, params[])
  18221. {
  18222. new nearby;
  18223. for(new i = 0; i < MAX_PROPERTY; i++)
  18224. {
  18225. if(PropertyData[i][propertyid] != 0){
  18226. if(PropertyData[i][propertyType] == 2){
  18227. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2]) || IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[i][propertyInterior][0], PropertyData[i][propertyInterior][1], PropertyData[i][propertyInterior][2])){
  18228. if(PropertyData[i][propertyOwnerSQL] != PlayerData[playerid][pSQLID] && PlayerData[playerid][pRenting] != PropertyData[i][propertyid] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18229. if(PropertyData[i][propertyLocked]){
  18230. ToggleHouseLock(playerid, i, false);
  18231. }
  18232. else{
  18233. ToggleHouseLock(playerid, i, true);
  18234. }
  18235. nearby++;
  18236. }
  18237. }
  18238. else{
  18239. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2])){
  18240. if(PropertyData[i][propertyOwnerSQL] != PlayerData[playerid][pSQLID] && PlayerData[playerid][pRenting] != PropertyData[i][propertyid] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18241. if(PropertyData[i][propertyLocked]){
  18242. ToggleHouseLock(playerid, i, false);
  18243. }
  18244. else{
  18245. ToggleHouseLock(playerid, i, true);
  18246. }
  18247. nearby++;
  18248. }
  18249. else if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[i][propertyInterior][0], PropertyData[i][propertyInterior][1], PropertyData[i][propertyInterior][2])){
  18250. if(PlayerData[playerid][pInsideHouse] == i){
  18251. if(PropertyData[i][propertyOwnerSQL] != PlayerData[playerid][pSQLID] && PlayerData[playerid][pRenting] != PropertyData[i][propertyid] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18252. if(PropertyData[i][propertyLocked]){
  18253. ToggleHouseLock(playerid, i, false);
  18254. }
  18255. else{
  18256. ToggleHouseLock(playerid, i, true);
  18257. }
  18258. }
  18259. nearby++;
  18260. }
  18261. }
  18262. }
  18263. }
  18264. if(!nearby)return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near or in a property.");
  18265. return 1;
  18266. }
  18267. CMD:glock(playerid, params[])
  18268. {
  18269. new nearby;
  18270. for(new g = 0; g < MAX_PROPERTY_GARAGES; g++)
  18271. {
  18272. if(GarageData[g][garageSQLID] != 0)
  18273. {
  18274. if(IsPlayerInRangeOfPoint(playerid, 4.0, GarageData[g][garagePos][0], GarageData[g][garagePos][1], GarageData[g][garagePos][2]) || IsPlayerInRangeOfPoint(playerid, 4.0, GarageData[g][garageInt][0], GarageData[g][garageInt][1], GarageData[g][garageInt][2]) && GetPlayerVirtualWorld(playerid) == GarageData[g][garageWorld])
  18275. {
  18276. if(!GarageData[g][garageFaction] && PlayerData[playerid][pSQLID] != PropertyData[GarageData[g][garagePropertyID]][propertyOwnerSQL] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18277. if(GarageData[g][garageFaction] && PlayerData[playerid][pFaction] != GarageData[g][garageFaction]) return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18278. if(GarageData[g][garageLocked])
  18279. {
  18280. GarageData[g][garageLocked] = false;
  18281. GameTextForPlayer(playerid, "~w~Garage ~g~Unlocked", 4000, 6);
  18282. }
  18283. else
  18284. {
  18285. GarageData[g][garageLocked] = true;
  18286. GameTextForPlayer(playerid, "~w~Garage ~r~Locked", 4000, 6);
  18287. }
  18288. nearby++;
  18289. }
  18290. }
  18291. }
  18292. if(!nearby) return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near or in a property garage.");
  18293. return 1;
  18294. }
  18295. CMD:lock(playerid, params[])
  18296. {
  18297. if(!pLoggedIn[playerid])return true;
  18298. new string[128], idx;
  18299. if(IsPlayerNearBusiness(playerid))
  18300. {
  18301. idx = IsPlayerNearBusiness(playerid);
  18302. if(IsPlayerInRangeOfPoint(playerid, 4.0, BusinessData[idx][businessExt][0], BusinessData[idx][businessExt][1], BusinessData[idx][businessExt][2]))
  18303. {
  18304. if(BusinessData[idx][businessOwnerSQL] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])
  18305. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18306. if(!BusinessData[idx][businessLocked])
  18307. {
  18308. BusinessData[idx][businessLocked] = true;
  18309. GameTextForPlayer(playerid, "~w~DOOR ~r~LOCKED", 3000, 4);
  18310. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18311. }
  18312. else
  18313. {
  18314. BusinessData[idx][businessLocked] = false;
  18315. GameTextForPlayer(playerid, "~w~DOOR ~g~UNLOCKED", 3000, 4);
  18316. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18317. }
  18318. }
  18319. }
  18320. if(IsPlayerInBusiness(playerid))
  18321. {
  18322. idx = IsPlayerInBusiness(playerid);
  18323. if(IsPlayerInRangeOfPoint(playerid, 4.0, BusinessData[idx][businessInt][0], BusinessData[idx][businessInt][1], BusinessData[idx][businessInt][2]) && GetPlayerVirtualWorld(playerid) == BusinessData[idx][businessWorld])
  18324. {
  18325. if(BusinessData[idx][businessOwnerSQL] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])
  18326. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18327. if(!BusinessData[idx][businessLocked])
  18328. {
  18329. BusinessData[idx][businessLocked] = true;
  18330. GameTextForPlayer(playerid, "~w~DOOR ~r~LOCKED", 3000, 4);
  18331. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18332. }
  18333. else
  18334. {
  18335. BusinessData[idx][businessLocked] = false;
  18336. GameTextForPlayer(playerid, "~w~DOOR ~g~UNLOCKED", 3000, 4);
  18337. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18338. }
  18339. }
  18340. }
  18341. if(IsPlayerNearEntrance(playerid) != -1)
  18342. {
  18343. idx = IsPlayerNearEntrance(playerid);
  18344. if(Entrances[idx][FactionOwner] && PlayerData[playerid][pFaction] != Entrances[idx][FactionOwner] && !PlayerData[playerid][pAdminDuty])
  18345. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18346. LockEntrance(playerid, idx);
  18347. }
  18348. if(IsPlayerInsideEntrance(playerid) != -1)
  18349. {
  18350. idx = IsPlayerInsideEntrance(playerid);
  18351. LockEntrance(playerid, idx);
  18352. }
  18353. if(IsPlayerNearProperty(playerid))
  18354. {
  18355. idx = IsPlayerNearProperty(playerid);
  18356. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[idx][propertyExterior][0], PropertyData[idx][propertyExterior][1], PropertyData[idx][propertyExterior][2]) && GetPlayerVirtualWorld(playerid) == PropertyData[idx][propertyExteriorWorld])
  18357. {
  18358. if(PropertyData[idx][propertyOwnerSQL] != PlayerData[playerid][pSQLID] && PlayerData[playerid][pRenting] != PropertyData[idx][propertyid] && !PlayerData[playerid][pAdminDuty])
  18359. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18360. if(PropertyData[idx][propertyLocked])
  18361. ToggleHouseLock(playerid, idx, false);
  18362. else ToggleHouseLock(playerid, idx, true);
  18363. }
  18364. }
  18365. if(IsPlayerInProperty(playerid))
  18366. {
  18367. idx = IsPlayerInProperty(playerid);
  18368. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[idx][propertyInterior][0], PropertyData[idx][propertyInterior][1], PropertyData[idx][propertyInterior][2]) && GetPlayerVirtualWorld(playerid) == PropertyData[idx][propertyInteriorWorld])
  18369. {
  18370. if(PropertyData[idx][propertyLocked])
  18371. ToggleHouseLock(playerid, idx, false);
  18372. else ToggleHouseLock(playerid, idx, true);
  18373. }
  18374. }
  18375. for(new i = 0; i < MAX_VEHICLES; i++){
  18376. new Float: currPos[3];
  18377. GetVehiclePos(i, currPos[0], currPos[1], currPos[2]);
  18378. if(IsPlayerInRangeOfPoint(playerid, 5.0, currPos[0], currPos[1], currPos[2]))
  18379. {
  18380. if(IsValidPlayerCar(i))
  18381. {
  18382. if(!strcmp(params, "breakin", true))
  18383. {
  18384. if(NoEngineCar(i))
  18385. return SendClientMessage(playerid, COLOR_ADM, "This doesn't have doors ?");
  18386. if(!CarData[i][carLocked])
  18387. {
  18388. if(!ActiveLockTD[playerid])
  18389. {
  18390. BreakInTextDraw[playerid] = CreateDynamic3DTextLabel("This vehicle isn't locked.", COLOR_WHITE, 0.0, 0.0, 0.0, 10.0, .attachedvehicle = i, .playerid = playerid, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid));
  18391. BreakInTDTimer[playerid] = SetTimerEx("OnLockTextdraw", 4000, false, "i", playerid);
  18392. ActiveLockTD[playerid] = 1;
  18393. BreakInError[playerid] = 1;
  18394. Streamer_Update(playerid);
  18395. }
  18396. return 1;
  18397. }
  18398. if(BreakInError[playerid])
  18399. {
  18400. if(IsValidDynamic3DTextLabel(BreakInTextDraw[playerid]))
  18401. DestroyDynamic3DTextLabel(BreakInTextDraw[playerid]);
  18402. BreakInError[playerid] = 0;
  18403. if(ActiveLockTD[playerid])
  18404. {
  18405. KillTimer(BreakInTDTimer[playerid]);
  18406. ActiveLockTD[playerid] = 0;
  18407. }
  18408. }
  18409. PlayerBreakingIn[playerid] = 1;
  18410. PlayerBreakInVehicle[playerid] = i;
  18411. switch(CarData[i][carLock])
  18412. {
  18413. case 5: BreakInLevel[playerid] = 240;
  18414. case 4: BreakInLevel[playerid] = 180;
  18415. case 3: BreakInLevel[playerid] = 130;
  18416. case 2: BreakInLevel[playerid] = 90;
  18417. case 1: BreakInLevel[playerid] = 40;
  18418. case 0: BreakInLevel[playerid] = 10;
  18419. }
  18420. Message(playerid, COLOR_ADM, "Ho! You're breaking into this %s. Break the windows to start.", ReturnVehicleName(i));
  18421. return 1;
  18422. }
  18423. if(CarData[i][carOwnerID] != PlayerData[playerid][pSQLID] && GetPVarInt(playerid, "DuplicateKey") != CarData[i][carID] && !PlayerData[playerid][pAdminDuty])
  18424. return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18425. if(!CarData[i][carLocked])
  18426. {
  18427. ToggleVehicleLock(i, true);
  18428. CarData[i][carLocked] = true;
  18429. SaveSQLInt(CarData[i][carID], "ownedcars", "Locked", 1);
  18430. format(string, sizeof(string), "%s locked", ReturnName(playerid));
  18431. LogVehicleAction(i, string);
  18432. format(string, sizeof(string), "~r~%s LOCKED", ReturnVehicleName(i));
  18433. GameTextForPlayer(playerid, string, 3000, 6);
  18434. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18435. }
  18436. else
  18437. {
  18438. CarData[i][carLocked] = false;
  18439. ToggleVehicleLock(i, false);
  18440. SaveSQLInt(CarData[i][carID], "ownedcars", "Locked", 0);
  18441. format(string, sizeof(string), "%s unlocked", ReturnName(playerid));
  18442. LogVehicleAction(i, string);
  18443. format(string, sizeof(string), "~g~%s UNLOCKED", ReturnVehicleName(i));
  18444. GameTextForPlayer(playerid, string, 3000, 6);
  18445. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18446. }
  18447. }
  18448. else if(IsValidRentalCar(i)){
  18449. if(!RentalData[i][rentalcarRented])return GameTextForPlayer(playerid, "~r~This vehicle doesn't have a lock", 3000, 4);
  18450. if(RentalData[i][rentalcarRentedBy] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18451. if(!RentalData[i][rentalcarLocked]){
  18452. ToggleVehicleLock(i, true);
  18453. RentalData[i][rentalcarLocked] = true;
  18454. format(string, sizeof(string), "~r~%s LOCKED", ReturnVehicleName(i));
  18455. GameTextForPlayer(playerid, string, 3000, 6);
  18456. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18457. }
  18458. else{
  18459. ToggleVehicleLock(i, false);
  18460. RentalData[i][rentalcarLocked] = false;
  18461. format(string, sizeof(string), "~g~%s UNLOCKED", ReturnVehicleName(i));
  18462. GameTextForPlayer(playerid, string, 3000, 6);
  18463. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  18464. }
  18465. }
  18466. else return GameTextForPlayer(playerid, "~r~This vehicle doesn't have a lock", 3000, 4);
  18467. }
  18468. }
  18469. for(new i = 0; i < MAX_DOORS; i++)
  18470. {
  18471. if(DoorData[i][doorID] != 0)
  18472. {
  18473. if(IsPlayerInRangeOfPoint(playerid, 4.0, DoorData[i][doorPos][0], DoorData[i][doorPos][1], DoorData[i][doorPos][2]) || IsPlayerInRangeOfPoint(playerid, 4.0, DoorData[i][doorInt][0], DoorData[i][doorInt][1], DoorData[i][doorInt][2]))
  18474. {
  18475. if(DoorData[i][doorFaction] != 0 && DoorData[i][doorFaction] != PlayerData[playerid][pFaction] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18476. if(!DoorData[i][doorLocked])
  18477. {
  18478. DoorData[i][doorLocked] = true;
  18479. PlayNearbySound(playerid, 1052);
  18480. if(strfind(DoorData[i][doorName], "None", false) != -1)
  18481. {
  18482. if(DoorData[i][doorFaction] != 0)
  18483. {
  18484. format(string, sizeof(string), "Door %s is {FFFF00}locked.", ReturnFactionName(DoorData[i][doorFaction]));
  18485. SendClientMessage(playerid, COLOR_WHITE, string);
  18486. }
  18487. else
  18488. {
  18489. SendClientMessage(playerid, COLOR_WHITE, "Door is {FFFF00}locked.");
  18490. }
  18491. }
  18492. else
  18493. {
  18494. format(string, sizeof(string), "Door %s is {FFFF00}locked.", DoorData[i][doorName]);
  18495. SendClientMessage(playerid, COLOR_WHITE, string);
  18496. }
  18497. }
  18498. else
  18499. {
  18500. DoorData[i][doorLocked] = false;
  18501. PlayNearbySound(playerid, 1052);
  18502. if(strfind(DoorData[i][doorName], "None", false) != -1)
  18503. {
  18504. if(DoorData[i][doorFaction] != 0)
  18505. {
  18506. format(string, sizeof(string), "Door %s is {FFFF00}unlocked.", ReturnFactionName(DoorData[i][doorFaction]));
  18507. SendClientMessage(playerid, COLOR_WHITE, string);
  18508. }
  18509. else
  18510. {
  18511. SendClientMessage(playerid, COLOR_WHITE, "Door is {FFFF00}unlocked.");
  18512. }
  18513. }
  18514. else
  18515. {
  18516. format(string, sizeof(string), "Door %s is {FFFF00}unlocked.", DoorData[i][doorName]);
  18517. SendClientMessage(playerid, COLOR_WHITE, string);
  18518. }
  18519. }
  18520. }
  18521. }
  18522. }
  18523. for(new g = 0; g < MAX_PROPERTY_GARAGES; g++)
  18524. {
  18525. if(GarageData[g][garageSQLID] != 0)
  18526. {
  18527. if(IsPlayerInRangeOfPoint(playerid, 4.0, GarageData[g][garagePos][0], GarageData[g][garagePos][1], GarageData[g][garagePos][2]) || IsPlayerInRangeOfPoint(playerid, 4.0, GarageData[g][garageInt][0], GarageData[g][garageInt][1], GarageData[g][garageInt][2]) && GetPlayerVirtualWorld(playerid) == GarageData[g][garageWorld])
  18528. {
  18529. if(!GarageData[g][garageFaction] && PlayerData[playerid][pSQLID] != PropertyData[GarageData[g][garagePropertyID]][propertyOwnerSQL] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18530. if(GarageData[g][garageFaction] && PlayerData[playerid][pFaction] != GarageData[g][garageFaction]) return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  18531. if(GarageData[g][garageLocked])
  18532. {
  18533. GarageData[g][garageLocked] = false;
  18534. GameTextForPlayer(playerid, "~w~Garage ~g~Unlocked", 4000, 6);
  18535. }
  18536. else
  18537. {
  18538. GarageData[g][garageLocked] = true;
  18539. GameTextForPlayer(playerid, "~w~Garage ~r~Locked", 4000, 6);
  18540. }
  18541. }
  18542. }
  18543. }
  18544. new bool:nearbyFurniture = false, bool:nearbyDoor = false, nearbyFurnitureID;
  18545. for (new i = 0; i < MAX_FURNITURE; i++)
  18546. {
  18547. if (FurnitureData[i][furnitureExists])
  18548. {
  18549. if (IsPlayerInRangeOfPoint(playerid, 3.0, FurnitureData[i][furniturePos][0], FurnitureData[i][furniturePos][1], FurnitureData[i][furniturePos][2]))
  18550. {
  18551. nearbyFurniture = true;
  18552. nearbyFurnitureID = i;
  18553. }
  18554. }
  18555. }
  18556. if (nearbyFurniture)
  18557. {
  18558. new id = nearbyFurnitureID;
  18559. for (new i = 0; i < sizeof(g_aFurnitureData); i++)
  18560. {
  18561. if (FurnitureData[id][furnituresModel] == g_aFurnitureData[i][furnitureModel])
  18562. {
  18563. if (g_aFurnitureData[i][furnitureCategory] == FURNITURE_CATEGORY_DOORS)
  18564. {
  18565. nearbyDoor = true;
  18566. }
  18567. }
  18568. }
  18569. }
  18570. if (nearbyDoor)
  18571. {
  18572. new bool:canUseDoor = false;
  18573. if(!PropertyData[FurnitureData[nearbyFurnitureID][furniturePropertyID]][propertyFaction])
  18574. {
  18575. if (PlayerData[playerid][pSQLID] != PropertyData[FurnitureData[nearbyFurnitureID][furniturePropertyID]][propertyOwnerSQL] && !PlayerData[playerid][pAdminDuty])
  18576. {
  18577. canUseDoor = false;
  18578. SendClientMessage(playerid, COLOR_YELLOW, "You don't have the keys to this door.");
  18579. }
  18580. else
  18581. {
  18582. canUseDoor = true;
  18583. }
  18584. }
  18585. else
  18586. {
  18587. if (PlayerData[playerid][pFaction] != PropertyData[FurnitureData[nearbyFurnitureID][furniturePropertyID]][propertyFaction] && !PlayerData[playerid][pAdminDuty])
  18588. {
  18589. canUseDoor = false;
  18590. SendClientMessage(playerid, COLOR_YELLOW, "You don't have the keys to this door. (Faction)");
  18591. }
  18592. else
  18593. {
  18594. canUseDoor = true;
  18595. }
  18596. }
  18597. if(canUseDoor)
  18598. {
  18599. if (FurnitureData[nearbyFurnitureID][furnitureDoorOpen])
  18600. return SendClientMessage(playerid, COLOR_ADM, "You can't lock a door that's open.");
  18601. if (FurnitureData[nearbyFurnitureID][furnitureDoorLock])
  18602. {
  18603. FurnitureData[nearbyFurnitureID][furnitureDoorLock] = false;
  18604. SendClientMessage(playerid, COLOR_YELLOW, "Door unlocked.");
  18605. }
  18606. else
  18607. {
  18608. FurnitureData[nearbyFurnitureID][furnitureDoorLock] = true;
  18609. SendClientMessage(playerid, COLOR_YELLOW, "Door locked.");
  18610. }
  18611. }
  18612. }
  18613. return true;
  18614. }
  18615. CMD:engine(playerid, params[])
  18616. {
  18617. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  18618. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  18619. new
  18620. str[128],
  18621. vehicleid = GetPlayerVehicleID(playerid);
  18622. if(NoEngineCar(vehicleid))
  18623. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle doesn't support an engine.");
  18624. if(IsStaticVehicle(vehicleid) || !IsValidPlayerCar(vehicleid) && !IsValidFactionCar(vehicleid) && !IsValidRentalCar(vehicleid) && !PlayerData[playerid][pAdminDuty])
  18625. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This command can only be used for private vehicles. You are in a public static vehicle.");
  18626. if(IsValidFactionCar(vehicleid) && PlayerData[playerid][pFaction] != FactionCar[vehicleid][carFaction] && !PlayerData[playerid][pAdminDuty])
  18627. {
  18628. SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have access to this vehicle.");
  18629. if (!PlayerData[playerid][pAdmin])
  18630. {
  18631. format(str, sizeof(str), "%s possibly teleported into a faction vehicle", ReturnName(playerid, 1));
  18632. adminWarn(1, str);
  18633. }
  18634. return 1;
  18635. }
  18636. if(IsValidRentalCar(vehicleid))
  18637. {
  18638. if(!RentalData[vehicleid][rentalcarRented])
  18639. return SendClientMessage(playerid, COLOR_ADM, "This hasn't been rented yet.");
  18640. if(RentalData[vehicleid][rentalcarRented] && RentalData[vehicleid][rentalcarRentedBy] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])
  18641. return GameTextForPlayer(playerid, "You don't have the keys to this", 3000, 6);
  18642. }
  18643. if(IsValidPlayerCar(vehicleid))
  18644. {
  18645. if(CarData[vehicleid][carEngine] < 10.00)
  18646. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle has a dead engine and can't be started.");
  18647. if(CarData[vehicleid][carFuel] < 1)
  18648. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle is out of fuel.");
  18649. if(PlayerData[playerid][pSQLID] != CarData[vehicleid][carOwnerID] && GetPVarInt(playerid, "DuplicateKey") != CarData[vehicleid][carID])
  18650. {
  18651. if(CarEngine[vehicleid] && !PlayerData[playerid][pAdminDuty])
  18652. return GameTextForPlayer(playerid, "~g~ENGINE IS ALREADY ON", 3000, 3);
  18653. new
  18654. idx;
  18655. PlayerData[playerid][pUnscrambling] = true;
  18656. idx = random(sizeof(g_aUnscrambleInfo));
  18657. PlayerData[playerid][pUnscrambleID] = idx;
  18658. switch(CarData[vehicleid][carImmob])
  18659. {
  18660. case 1: PlayerData[playerid][pUnscramblerTime] = 125;
  18661. case 2: PlayerData[playerid][pUnscramblerTime] = 100;
  18662. case 3: PlayerData[playerid][pUnscramblerTime] = 75;
  18663. case 4: PlayerData[playerid][pUnscramblerTime] = 50;
  18664. case 5: PlayerData[playerid][pUnscramblerTime] = 25;
  18665. }
  18666. PlayerData[playerid][pUnscrambleTimer] = SetTimerEx("OnPlayerUnscramble", 1000, true, "i", playerid);
  18667. format(str, sizeof(str), "%s", g_aUnscrambleInfo[idx][scrambledWord]);
  18668. PlayerTextDrawSetString(playerid, Unscrambler_PTD[playerid][3], str);
  18669. format(str, sizeof(str), "%d", PlayerData[playerid][pUnscramblerTime]);
  18670. PlayerTextDrawSetString(playerid, Unscrambler_PTD[playerid][5], str);
  18671. ShowUnscrambleTextdraw(playerid);
  18672. format(str, sizeof(str), "Started unscrambling VehicleDB %i", CarData[vehicleid][carID]);
  18673. LogPlayerAction(playerid, str);
  18674. return 1;
  18675. }
  18676. }
  18677. if(CarEngine[vehicleid]) {
  18678. CarEngine[vehicleid] = false;
  18679. ToggleVehicleEngine(vehicleid, false);
  18680. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s stopped the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  18681. GameTextForPlayer(playerid, "~r~ENGINE OFF", 2000, 4);
  18682. }
  18683. else{
  18684. CarEngine[vehicleid] = true;
  18685. ToggleVehicleEngine(vehicleid, true);
  18686. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s started the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  18687. GameTextForPlayer(playerid, "~g~ENGINE ON", 2000, 4);
  18688. }
  18689. return 1;
  18690. }
  18691. CMD:uns(playerid, params[])return cmd_unscramble(playerid, params);
  18692. CMD:unscramble(playerid, params[])
  18693. {
  18694. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  18695. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  18696. if(!PlayerData[playerid][pUnscrambling])
  18697. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't hotwiring a vehicle.");
  18698. if(isnull(params))
  18699. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /(uns)cramble [unscrambled word]");
  18700. new
  18701. displayString[60];
  18702. if(!strcmp(g_aUnscrambleInfo[ PlayerData[playerid][pUnscrambleID] ][unscrambledWord], params, true))
  18703. { //If the word is correct:
  18704. PlayerData[playerid][pUnscrambleID] = random(sizeof(g_aUnscrambleInfo));
  18705. //Find a new word to show the player;
  18706. format(displayString, 60, "%s", g_aUnscrambleInfo[ PlayerData[playerid][pUnscrambleID] ][scrambledWord]);
  18707. PlayerTextDrawSetString(playerid, Unscrambler_PTD[playerid][3], displayString);
  18708. //Set the textdraws new word display;
  18709. //Timer increases depending on alarm level:
  18710. PlayerData[playerid][pUnscramblerTime] += 6;
  18711. PlayerData[playerid][pScrambleSuccess]++;
  18712. PlayerPlaySound(playerid, 1052, 0, 0, 0);
  18713. if(PlayerData[playerid][pScrambleSuccess] >= 6)
  18714. {
  18715. PlayerData[playerid][pUnscrambling] = false;
  18716. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  18717. PlayerData[playerid][pUnscrambleID] = 0;
  18718. PlayerData[playerid][pUnscramblerTime] = 0;
  18719. PlayerData[playerid][pScrambleFailed] = 0;
  18720. PlayerData[playerid][pScrambleSuccess] = 0;
  18721. ShowUnscrambleTextdraw(playerid, false);
  18722. GameTextForPlayer(playerid, "~g~ENGINE TURNED ON", 2000, 3);
  18723. new vehicleid = GetPlayerVehicleID(playerid);
  18724. CarEngine[vehicleid] = true;
  18725. ToggleVehicleEngine(vehicleid, true);
  18726. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s started the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  18727. }
  18728. }
  18729. else
  18730. {
  18731. PlayerPlaySound(playerid, 1055, 0, 0, 0);
  18732. PlayerData[playerid][pUnscrambleID] = random(sizeof(g_aUnscrambleInfo));
  18733. //Find a new word to show the player;
  18734. format(displayString, 60, "%s", g_aUnscrambleInfo[ PlayerData[playerid][pUnscrambleID] ][scrambledWord]);
  18735. PlayerTextDrawSetString(playerid, Unscrambler_PTD[playerid][3], displayString);
  18736. PlayerData[playerid][pScrambleFailed]++;
  18737. PlayerData[playerid][pUnscramblerTime]-= random(6)+1;
  18738. if(PlayerData[playerid][pScrambleFailed] >= 5)
  18739. {
  18740. PlayerData[playerid][pUnscrambling] = false;
  18741. PlayerData[playerid][pUnscramblerTime] = 0;
  18742. PlayerData[playerid][pUnscrambleID] = 0;
  18743. PlayerData[playerid][pScrambleSuccess] = 0;
  18744. PlayerData[playerid][pScrambleFailed] = 0;
  18745. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  18746. ShowUnscrambleTextdraw(playerid, false);
  18747. new vehicleid = GetPlayerVehicleID(playerid);
  18748. ToggleVehicleAlarms(vehicleid, true);
  18749. NotifyVehicleOwner(vehicleid);
  18750. ClearAnimations(playerid);
  18751. }
  18752. }
  18753. return 1;
  18754. }
  18755. CMD:lights(playerid, params[])
  18756. {
  18757. if(!pLoggedIn[playerid])return true;
  18758. new vehicle = GetPlayerVehicleID(playerid);
  18759. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in the driver's seat of a vehicle.");
  18760. if(NoEngineCar(vehicle)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This vehicle doesn't have lights.");
  18761. if(CarLights[vehicle]) {
  18762. CarLights[vehicle] = false;
  18763. ToggleVehicleLights(vehicle, false);
  18764. }
  18765. else {
  18766. CarLights[vehicle] = true;
  18767. ToggleVehicleLights(vehicle, true);
  18768. }
  18769. return true;
  18770. }
  18771. CMD:b(playerid, params[])
  18772. {
  18773. if(!pLoggedIn[playerid])return true;
  18774. if(PlayerData[playerid][pMuted])
  18775. return SendClientMessage(playerid, -1, "You're muted.");
  18776. if(isnull(params))
  18777. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /b [params]");
  18778. if(PlayerData[playerid][pAdminDuty]){
  18779. if(strlen(params) > 84)
  18780. {
  18781. SendNearbyMessage(playerid, 20.0, COLOR_GREY, "(( [%d] {FF9900}%s{AFAFAF}: %.84s", playerid, ReturnName(playerid, 1), params);
  18782. SendNearbyMessage(playerid, 20.0, COLOR_GREY, "...%s ))", params[84]);
  18783. }
  18784. else
  18785. {
  18786. SendNearbyMessage(playerid, 20.0, COLOR_GREY, "(( [%d] {FF9900}%s{AFAFAF}: %s ))", playerid, ReturnName(playerid, 1), params);
  18787. }
  18788. }
  18789. else{
  18790. if(strlen(params) > 84)
  18791. {
  18792. SendNearbyMessage(playerid, 20.0, COLOR_GREY, "(( [%d] %s: %.84s", playerid, ReturnName(playerid, 1), params);
  18793. SendNearbyMessage(playerid, 20.0, COLOR_GREY, "...%s ))", params[84]);
  18794. }
  18795. else
  18796. {
  18797. SendNearbyMessage(playerid, 20.0, COLOR_GREY, "(( [%d] %s: %s ))", playerid, ReturnName(playerid, 1), params);
  18798. }
  18799. }
  18800. return true;
  18801. }
  18802. CMD:pm(playerid, params[])
  18803. {
  18804. new
  18805. playerb,
  18806. text[128],
  18807. name_colorA[60],
  18808. name_colorB[60];
  18809. if(sscanf(params, "us[128]", playerb, text))
  18810. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /pm [playerid/PartofName] [text]");
  18811. if(playerid == playerb) return SendClientMessage(playerid, COLOR_ADM, "Heu, hue, heu, heu.");
  18812. if(!IsPlayerConnected(playerb))
  18813. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  18814. if(TogglePMs[playerb] == 0) return SendClientMessage(playerid, COLOR_ADM, "ERROR: The player you are trying to PM has their PMs toggled!");
  18815. if(PlayerData[playerid][pAdminDuty])
  18816. format(name_colorA, 60, "{FF9900}%s", (isequal(PlayerData[playerid][pForumName], "-") ? sprintf("%s", ReturnName(playerid, 1)) : sprintf("%s", PlayerData[playerid][pForumName])));
  18817. else format(name_colorA, 60, "%s", ReturnName(playerid));
  18818. if(PlayerData[playerb][pAdminDuty])
  18819. format(name_colorB, 60, "{FF9900}%s", (isequal(PlayerData[playerb][pForumName], "-") ? sprintf("%s", ReturnName(playerb, 1)) : sprintf("%s", PlayerData[playerb][pForumName])));
  18820. else format(name_colorB, 60, "%s", ReturnName(playerb));
  18821. if(PlayerData[playerb][pAdmin] && !PlayerData[playerid][pAdmin])
  18822. {
  18823. new bool:Confirmed;
  18824. for(new i = 0; i < MAX_PLAYERS; i++)
  18825. {
  18826. if(CanPMAdmin[playerid][playerb] == 1)
  18827. {
  18828. Confirmed = true;
  18829. }
  18830. }
  18831. if(!Confirmed)
  18832. {
  18833. format(PlayerData[playerid][pPMText], 128, "%s", text);
  18834. PlayerData[playerid][pPMing] = playerb;
  18835. return ShowPlayerDialog(playerid, DIALOG_ADMINPM, DIALOG_STYLE_MSGBOX, "Warning, you're PMing an admin", "Do not PM admins regarding admining, specifically not admins on adminduty.\n\nIf you got a problem with something all you got to do is make a /re and as soon as an admin finds free time to speak to\nyou about it, they will as it's their duty.", "Send", "Don't send");
  18836. }
  18837. }
  18838. foreach(new i : Player)
  18839. {
  18840. if(PlayerData[i][pSpectator] == playerid)
  18841. {
  18842. Message(i, COLOR_PMSEN, "%s[%i] PM to %s[%i]: %s", name_colorA, playerid, name_colorB, playerb, text);
  18843. }
  18844. if(PlayerData[i][pSpectator] == playerb)
  18845. {
  18846. Message(i, COLOR_PMREC, "%s[%i] PM to %s[%i]: %s", name_colorA, playerid, name_colorB, playerb, text);
  18847. }
  18848. }
  18849. if(strlen(text) > 75)
  18850. {
  18851. Message(playerid, COLOR_PMSEN, "(( PM to %s{EEE854}[%i]: %.75s... ))", name_colorB, playerb, text);
  18852. Message(playerid, COLOR_PMSEN, "(( PM to %s{EEE854}[%i]: ...%s ))", name_colorB, playerb, text[75]);
  18853. Message(playerb, COLOR_PMREC, "(( PM from %s{FFDC18}[%i]: %.75s... ))", name_colorA, playerid, text);
  18854. Message(playerb, COLOR_PMREC, "(( PM from %s{FFDC18}[%i]: ...%s ))", name_colorA, playerid, text[75]);
  18855. }
  18856. else
  18857. {
  18858. Message(playerid, COLOR_PMSEN, "(( PM to %s{EEE854}[%i]: %s ))", name_colorB, playerb, text);
  18859. Message(playerb, COLOR_PMREC, "(( PM from %s{FFDC18}[%i]: %s ))", name_colorA, playerid, text);
  18860. }
  18861. WriteLog("chat_logs/pm_log.txt", "[%s] %s PMed %s: %s.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), text);
  18862. return 1;
  18863. }
  18864. CMD:togglepm(playerid, params[]) return cmd_nopm(playerid, params);
  18865. CMD:togpm(playerid, params[]) return cmd_nopm(playerid, params);
  18866. CMD:nopm(playerid, params[])
  18867. {
  18868. if(!TogglePMs[playerid])
  18869. {
  18870. TogglePMs[playerid] = 1;
  18871. SendClientMessage(playerid, COLOR_YELLOW, "You will now recieve private messages!");
  18872. }
  18873. else
  18874. {
  18875. TogglePMs[playerid] = 0;
  18876. SendClientMessage(playerid, COLOR_YELLOW, "You will now no longer see private messages!");
  18877. }
  18878. return 1;
  18879. }
  18880. CMD:me(playerid, params[])
  18881. {
  18882. if(!pLoggedIn[playerid])return true;
  18883. if(isnull(params))
  18884. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /me [action message]");
  18885. if(strlen(params) > 84)
  18886. {
  18887. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %.84s", ReturnName(playerid, 0), params);
  18888. SendNearbyMessage(playerid, 30.0, COLOR_EMOTE, "...%s", params[84]);
  18889. }
  18890. else
  18891. {
  18892. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s", ReturnName(playerid, 0), params);
  18893. }
  18894. PlayerData[playerid][pLastEmoteTime] = gettime();
  18895. return true;
  18896. }
  18897. CMD:do(playerid, params[])
  18898. {
  18899. if(!pLoggedIn[playerid])return true;
  18900. if(isnull(params))
  18901. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /do [action message]");
  18902. if(strlen(params) > 84)
  18903. {
  18904. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %.84s", params);
  18905. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "...%s (( %s ))", params[84], ReturnName(playerid, 0));
  18906. }
  18907. else
  18908. {
  18909. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s (( %s ))", params, ReturnName(playerid, 0));
  18910. }
  18911. PlayerData[playerid][pLastEmoteTime] = gettime();
  18912. return true;
  18913. }
  18914. CMD:ame(playerid, params[])
  18915. {
  18916. if(!pLoggedIn[playerid])return true;
  18917. if(PlayerData[playerid][pBrutallyWounded]) return SendClientMessage(playerid, COLOR_ADM, "Annotatated emotes aren't possible while dead.");
  18918. new string[128];
  18919. if(isnull(params))
  18920. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ame [action message]");
  18921. format(string, sizeof(string), "* %s %s", ReturnName(playerid, 0), params);
  18922. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 5000);
  18923. format(string, sizeof(string), "> %s %s", ReturnName(playerid, 0), params);
  18924. SendClientMessage(playerid, COLOR_EMOTE, string);
  18925. PlayerData[playerid][pLastEmoteTime] = gettime();
  18926. return true;
  18927. }
  18928. CMD:my(playerid, params[])
  18929. {
  18930. if(!pLoggedIn[playerid])return true;
  18931. if(isnull(params))
  18932. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /my [action message]");
  18933. if(strlen(params) > 84)
  18934. {
  18935. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s's %.84s", ReturnName(playerid, 0), params);
  18936. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "...%s", params[84]);
  18937. }
  18938. else
  18939. {
  18940. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s's %s", ReturnName(playerid, 0), params);
  18941. }
  18942. PlayerData[playerid][pLastEmoteTime] = gettime();
  18943. return true;
  18944. }
  18945. CMD:amy(playerid, params[])
  18946. {
  18947. if(!pLoggedIn[playerid]) return true;
  18948. if(PlayerData[playerid][pBrutallyWounded]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Annotatated emotes aren't possible while dead.");
  18949. new string[128];
  18950. if(isnull(params))
  18951. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /amy [action message]");
  18952. format(string, sizeof(string), "* %s's %s", ReturnName(playerid, 0), params);
  18953. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 5000);
  18954. format(string, sizeof(string), "> %s's %s", ReturnName(playerid, 0), params);
  18955. SendClientMessage(playerid, COLOR_EMOTE, string);
  18956. PlayerData[playerid][pLastEmoteTime] = gettime();
  18957. return true;
  18958. }
  18959. CMD:s(playerid, params[]) return cmd_shout(playerid, params);
  18960. CMD:shout(playerid, params[])
  18961. {
  18962. if(!pLoggedIn[playerid])return true;
  18963. if(PlayerData[playerid][pBrutallyWounded]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't shout while brutally wounded.");
  18964. if(isnull(params))
  18965. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /shout [params]");
  18966. new string[128];
  18967. format(string, sizeof(string), "Shouted: %s", params);
  18968. LogPlayerChat(playerid, string);
  18969. if(IsCaps(params))
  18970. {
  18971. if(strlen(params) > 84)
  18972. {
  18973. SendNearbyMessage(playerid, 45.0, COLOR_WHITE, "%s screams: %.84s", ReturnName(playerid, 0), params);
  18974. SendNearbyMessage(playerid, 45.0, COLOR_WHITE, "...%s", params[84]);
  18975. }
  18976. else
  18977. {
  18978. SendNearbyMessage(playerid, 45.0, COLOR_WHITE, "%s screams: %s", ReturnName(playerid, 0), params);
  18979. }
  18980. }
  18981. else
  18982. {
  18983. if(strlen(params) > 84)
  18984. {
  18985. SendNearbyMessage(playerid, 35.0, COLOR_WHITE, "%s shouts: %.84s", ReturnName(playerid, 0), params);
  18986. SendNearbyMessage(playerid, 35.0, COLOR_WHITE, "...%s", params[84]);
  18987. }
  18988. else
  18989. {
  18990. SendNearbyMessage(playerid, 35.0, COLOR_WHITE, "%s shouts: %s", ReturnName(playerid, 0), params);
  18991. }
  18992. }
  18993. return true;
  18994. }
  18995. CMD:mic(playerid, params[]) return cmd_microphone(playerid, params);
  18996. CMD:microphone(playerid, params[]) {
  18997. if (!pLoggedIn[playerid])
  18998. return 1;
  18999. new bizid = IsPlayerInBusiness(playerid);
  19000. if (!bizid)
  19001. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your business.");
  19002. if (BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID] && MicPerms[playerid] != BusinessData[bizid][businessID])
  19003. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business or work for it.");
  19004. if (isnull(params))
  19005. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /(mic)rophone [text]");
  19006. foreach (new i : Player) {
  19007. if (IsPlayerInBusiness(i) == bizid) {
  19008. if (strlen(params) > 84) {
  19009. SendClientMessage(i, COLOR_DARKGREEN, sprintf("[Microphone] %s: %.84s", ReturnName(playerid), params));
  19010. SendClientMessage(i, COLOR_DARKGREEN, sprintf("[Microphone] %s: ..%s", ReturnName(playerid), params[84]));
  19011. } else {
  19012. SendClientMessage(i, COLOR_DARKGREEN, sprintf("[Microphone] %s: %s", ReturnName(playerid), params));
  19013. }
  19014. }
  19015. }
  19016. return 1;
  19017. }
  19018. CMD:micperms(playerid, params[]) return cmd_microphoneperms(playerid, params);
  19019. CMD:microphoneperms(playerid, params[]) {
  19020. if (!pLoggedIn[playerid])
  19021. return 1;
  19022. new bizid = IsPlayerInBusiness(playerid);
  19023. if (!bizid)
  19024. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your business.");
  19025. if (BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])
  19026. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  19027. new playerb;
  19028. if (sscanf(params, "u", playerb))
  19029. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /(mic)rophone(perms) [playerid/partOfName]");
  19030. if (playerb == INVALID_PLAYER_ID)
  19031. return SendClientMessage(playerid, COLOR_GREY, "65535 is an invalid player!");
  19032. if (MicPerms[playerb] == 0) {
  19033. if (!IsPlayerNearPlayer(playerid, playerb, 5.0))
  19034. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You are too far away from that player!");
  19035. MicPerms[playerb] = BusinessData[bizid][businessID];
  19036. SendClientMessage(playerid, COLOR_YELLOW, sprintf("You have given %s mic perms!", ReturnName(playerb)));
  19037. SendClientMessage(playerb, COLOR_YELLOW, sprintf("%s has given you mic perms!", ReturnName(playerid)));
  19038. } else {
  19039. MicPerms[playerb] = 0;
  19040. SendClientMessage(playerid, COLOR_YELLOW, sprintf("You have taken away %s's mic perms!", ReturnName(playerb)));
  19041. SendClientMessage(playerb, COLOR_YELLOW, sprintf("%s has taken away your mic perms!", ReturnName(playerid)));
  19042. }
  19043. return 1;
  19044. }
  19045. CMD:t(playerid, params[])
  19046. {
  19047. if(isnull(params))
  19048. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /t [text]");
  19049. new string[128];
  19050. if(PlayerData[playerid][pBrutallyWounded])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  19051. if(strlen(params) > 99)
  19052. {
  19053. format (string, sizeof(string), "%s says: %.99s...", ReturnName(playerid, 0), params);
  19054. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19055. format (string, sizeof(string), "%s says: ... %s", ReturnName(playerid, 0), params[99]);
  19056. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19057. }
  19058. else
  19059. {
  19060. format (string, sizeof(string), "%s says: %s", ReturnName(playerid, 0), params);
  19061. LocalChat(playerid, 20.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19062. }
  19063. return 1;
  19064. }
  19065. CMD:low(playerid, params[])
  19066. {
  19067. if(!pLoggedIn[playerid])return true;
  19068. new string[128];
  19069. if(PlayerData[playerid][pBrutallyWounded] && PlayerData[playerid][pBrutallyWounded] != 1 )return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  19070. if(isnull(params))
  19071. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /low [low text]");
  19072. if(PlayerData[playerid][pPhoneline] != INVALID_PLAYER_ID && !PlayerData[playerid][pCalling])
  19073. {
  19074. new playerb = PlayerData[playerid][pPhoneline];
  19075. if(strlen(params) > 99)
  19076. {
  19077. format (string, sizeof(string), "%s says (phone): %.99s...", ReturnName(playerid, 0), params);
  19078. LocalChat(playerid, 3.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19079. if(!PlayerData[ playerb ][pLoudspeaker])
  19080. SendClientMessage(playerb, COLOR_YELLOW, string);
  19081. else LocalChat(playerb, 4.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19082. format (string, sizeof(string), "%s says[low] (phone): ... %s", ReturnName(playerid, 0), params[99]);
  19083. LocalChat(playerid, 3.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19084. if(!PlayerData[ playerb ][pLoudspeaker])
  19085. SendClientMessage(playerb, COLOR_YELLOW, string);
  19086. else LocalChat(playerb, 4.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19087. }
  19088. else
  19089. {
  19090. format (string, sizeof(string), "%s says[low] (phone): %s", ReturnName(playerid, 0), params);
  19091. LocalChat(playerid, 3.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19092. if(!PlayerData[ playerb ][pLoudspeaker])
  19093. SendClientMessage(playerb, COLOR_YELLOW, string);
  19094. else LocalChat(playerb, 4.0, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4);
  19095. }
  19096. }
  19097. else
  19098. {
  19099. if (strlen(params) > 99)
  19100. {
  19101. format (string, sizeof(string), "%s says [low]: %.99s...", ReturnName(playerid, 0), params);
  19102. LocalChat(playerid, 6.0, string, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5, COLOR_FADE5);
  19103. format (string, sizeof(string), "%s says: ... %s", ReturnName(playerid, 0), params[99]);
  19104. LocalChat(playerid, 6.0, string, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5, COLOR_FADE5);
  19105. }
  19106. else
  19107. {
  19108. format (string, sizeof(string), "%s says [low]: %s", ReturnName(playerid, 0), params);
  19109. LocalChat(playerid, 6.0, string, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5, COLOR_FADE5);
  19110. }
  19111. }
  19112. format(string, sizeof(string), "Low: %s", params);
  19113. LogPlayerChat(playerid, string);
  19114. if(GetPlayerTeam(playerid)==STATE_ALIVE && PlayerData[playerid][pPhoneline] == INVALID_PLAYER_ID)
  19115. ReturnChatAnimation(playerid, params);
  19116. return true;
  19117. }
  19118. CMD:w(playerid, params[]) return cmd_whisper(playerid, params);
  19119. CMD:whisper(playerid, params[])
  19120. {
  19121. if(!pLoggedIn[playerid])return true;
  19122. new playerb, text[128], string[128];
  19123. if(GetPlayerTeam(playerid) != STATE_ALIVE && GetPlayerTeam(playerid) == STATE_DEAD)
  19124. return SendClientMessage(playerid, COLOR_ADM, "You can't whisper while dead.");
  19125. if(sscanf(params, "us[128]", playerb, text))
  19126. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /(w)hisper [playerid/PartofName] [whisper text]");
  19127. if(playerb == playerid) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't whisper to yourself.");
  19128. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid player.");
  19129. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't logged in.");
  19130. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player to whisper.");
  19131. foreach(new i : Player)
  19132. {
  19133. if(PlayerData[i][pSpectator] == playerid)
  19134. {
  19135. Message(i, COLOR_YELLOW, "%s whispered to %s: %s", ReturnName(playerid), ReturnName(playerb), params);
  19136. }
  19137. }
  19138. format(string, sizeof(string), "%s whispered: %s", ReturnName(playerid, 0), text);
  19139. SendClientMessage(playerid, COLOR_YELLOW, string);
  19140. format(string, sizeof(string), "%s whispered: %s", ReturnName(playerid, 0), text);
  19141. SendClientMessage(playerb, COLOR_YELLOW, string);
  19142. format(string, sizeof(string), "* %s mutters something.", ReturnName(playerid, 0));
  19143. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 5000);
  19144. format(string, sizeof(string), "Whispered to %s: %s", ReturnName(playerb), text);
  19145. LogPlayerChat(playerid, string);
  19146. WriteLog("chat_logs/whisper_log.txt", "[%s] %s whispered to %s: %s", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), text);
  19147. return true;
  19148. }
  19149. CMD:rcp(playerid, params[]) return cmd_removecp(playerid, params);
  19150. CMD:removecp(playerid, params[])
  19151. {
  19152. if(!pLoggedIn[playerid])return true;
  19153. DisablePlayerCheckpoint(playerid);
  19154. PlayerData[playerid][pCheckpoint] = 0;
  19155. return true;
  19156. }
  19157. CMD:mask(playerid, params[])
  19158. {
  19159. if(!pLoggedIn[playerid])return true;
  19160. if(!PlayerData[playerid][pMask] && PlayerData[playerid][pDonator] < 2 && !PlayerData[playerid][pLAWduty] && !PlayerData[playerid][pAdmin])return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have a mask.");
  19161. if(PlayerData[playerid][pMasked] == 1){
  19162. foreach(new i : Player){
  19163. ShowPlayerNameTagForPlayer(i, playerid, 1);
  19164. }
  19165. GameTextForPlayer(playerid, "~p~YOUR MASK IS NOW OFF", 2000, 5);
  19166. PlayerData[playerid][pMasked] = false;
  19167. }
  19168. else{
  19169. foreach(new i : Player){
  19170. if(!PlayerData[i][pAdminDuty]){
  19171. ShowPlayerNameTagForPlayer(i, playerid, 0);
  19172. }
  19173. }
  19174. GameTextForPlayer(playerid, "~p~YOUR MASK IS NOW ON", 2000, 5);
  19175. PlayerData[playerid][pMasked] = true;
  19176. }
  19177. return true;
  19178. }
  19179. CMD:damages(playerid, params[])
  19180. {
  19181. new playerb;
  19182. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /damages [playerid/PartofName]");
  19183. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid player.");
  19184. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't logged in.");
  19185. if(PlayerData[playerid][pAdminDuty])
  19186. {
  19187. ReturnDamagesAdmin(playerb, playerid);
  19188. }
  19189. else {
  19190. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  19191. ReturnDamages(playerb, playerid);
  19192. }
  19193. return true;
  19194. }
  19195. CMD:setslot(playerid, params[])
  19196. {
  19197. if(!pLoggedIn[playerid])return true;
  19198. new string[128], slotid;
  19199. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19200. if(sscanf(params, "d", slotid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setslot [slotid]");
  19201. if(slotid < 1 || slotid > 5)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Slot IDs must be between 1 and 5.");
  19202. format(string, sizeof(string), "Local channel on the radio set to %d!", slotid);
  19203. SendClientMessage(playerid, COLOR_YELLOW, string);
  19204. PlayerData[playerid][pMainSlot] = slotid;
  19205. return true;
  19206. }
  19207. CMD:setchannel(playerid, params[])
  19208. {
  19209. if(!pLoggedIn[playerid]) return true;
  19210. new channel, slotid, string[128], query[90];
  19211. if(!PlayerData[playerid][pHasRadio])
  19212. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19213. if(sscanf(params, "dd", channel, slotid))
  19214. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setchannel [frequency] [slotid]");
  19215. if(channel < 1 || channel > 1000000)
  19216. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Only channels 1 - 1000000 are supported.");
  19217. if(slotid < 1 || slotid > 5)
  19218. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Slot IDs must be between 1 and 5.");
  19219. for(new i = 0; i < 5; i++) {
  19220. if(PlayerData[playerid][pRadio][i] == channel){
  19221. SendClientMessage(playerid, COLOR_YELLOW, "One of your slots already supports this channel.");
  19222. return true;
  19223. }
  19224. }
  19225. if (channel == 911 || channel == 1000 || channel == 1001 || channel == 1002 || channel == 1003 || channel == 1004 || channel == 1005 || channel == 1006 || channel == 1007){
  19226. if(!FactionData[PlayerData[playerid][pFaction]][factionCopPerms]) return SendClientMessage(playerid, COLOR_ADM, "This channel is forbidden to the public.");
  19227. PlayerData[playerid][pRadio][slotid - 1] = channel;
  19228. PlayerData[playerid][pRadioSlot][slotid - 1] = channel;
  19229. format(string, sizeof(string), "You will now be listening to channel %i under slot %d.", channel, slotid);
  19230. SendClientMessage(playerid, COLOR_YELLOW, string);
  19231. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Radio%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadio][slotid], PlayerData[playerid][pSQLID]);
  19232. mysql_pquery(m_Handle, query);
  19233. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Slot%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadioSlot][slotid], PlayerData[playerid][pSQLID]);
  19234. mysql_pquery(m_Handle, query);
  19235. }
  19236. else if (channel == 912 || channel == 1100 || channel == 1101 || channel == 1102 || channel == 1103 || channel == 1104 || channel == 1105)
  19237. {
  19238. if(!IsMedicFaction(playerid)) return SendClientMessage(playerid, COLOR_ADM, "This channel is forbidden to the public.");
  19239. PlayerData[playerid][pRadio][slotid - 1] = channel;
  19240. PlayerData[playerid][pRadioSlot][slotid - 1] = channel;
  19241. format(string, sizeof(string), "You will now be listening to channel %i under slot %d.", channel, slotid);
  19242. SendClientMessage(playerid, COLOR_YELLOW, string);
  19243. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Radio%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadio][slotid], PlayerData[playerid][pSQLID]);
  19244. mysql_pquery(m_Handle, query);
  19245. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Slot%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadioSlot][slotid], PlayerData[playerid][pSQLID]);
  19246. mysql_pquery(m_Handle, query);
  19247. }
  19248. else if (channel == 261) {
  19249. if(!IsNewsFaction(playerid)) return SendClientMessage(playerid, COLOR_ADM, "This channel is forbidden to the public.");
  19250. PlayerData[playerid][pRadio][slotid - 1] = channel;
  19251. PlayerData[playerid][pRadioSlot][slotid - 1] = channel;
  19252. format(string, sizeof(string), "You will now be listening to channel %i under slot %d.", channel, slotid);
  19253. SendClientMessage(playerid, COLOR_YELLOW, string);
  19254. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Radio%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadio][slotid], PlayerData[playerid][pSQLID]);
  19255. mysql_pquery(m_Handle, query);
  19256. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Slot%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadioSlot][slotid], PlayerData[playerid][pSQLID]);
  19257. mysql_pquery(m_Handle, query);
  19258. }
  19259. else {
  19260. PlayerData[playerid][pRadio][slotid - 1] = channel;
  19261. PlayerData[playerid][pRadioSlot][slotid - 1] = channel;
  19262. format(string, sizeof(string), "You will now be listening to channel %d under slot %d.", channel, slotid);
  19263. SendClientMessage(playerid, COLOR_YELLOW, string);
  19264. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Radio%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadio][slotid], PlayerData[playerid][pSQLID]);
  19265. mysql_pquery(m_Handle, query);
  19266. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Slot%d = %i WHERE id = %i", slotid, PlayerData[playerid][pRadioSlot][slotid], PlayerData[playerid][pSQLID]);
  19267. mysql_pquery(m_Handle, query);
  19268. }
  19269. return true;
  19270. }
  19271. CMD:r(playerid, params[])return cmd_radio(playerid, params);
  19272. CMD:radio(playerid, params[])
  19273. {
  19274. if (!PlayerData[playerid][pHasRadio])
  19275. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19276. if(!PlayerData[playerid][pRadio][(PlayerData[playerid][pMainSlot] - 1)])
  19277. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19278. if(isnull(params))
  19279. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /r [text] {FF6346},{FFFFFF} /rlow [text] {FF6346},{FFFFFF} /r[ch] [text] {FF6346}or{FFFFFF} /r[ch]low ");
  19280. new string[128], radioChan = PlayerData[playerid][pRadio][(PlayerData[playerid][pMainSlot] - 1)], Float:x, Float:y, Float:z;
  19281. GetPlayerPos(playerid, x, y, z);
  19282. foreach (new i : Player)
  19283. {
  19284. for (new s = 0; s < 5 ; s ++)
  19285. {
  19286. if (PlayerData[i][pRadio][s] == radioChan && PlayerData[i][pHasRadio])
  19287. {
  19288. if (s != (PlayerData[i][pMainSlot] - 1))
  19289. {
  19290. if(strlen(params) > 75)
  19291. {
  19292. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: %.75s...", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params);
  19293. SendClientMessage(i, COLOR_RADIOEX, string);
  19294. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: ...%s", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params[75]);
  19295. SendClientMessage(i, COLOR_RADIOEX, string);
  19296. }
  19297. else
  19298. {
  19299. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params);
  19300. SendClientMessage(i, COLOR_RADIOEX, string);
  19301. }
  19302. }
  19303. else
  19304. {
  19305. if(strlen(params) > 75)
  19306. {
  19307. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: %.75s...", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params);
  19308. SendClientMessage(i, COLOR_RADIO, string);
  19309. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: ...%s", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params[75]);
  19310. SendClientMessage(i, COLOR_RADIO, string);
  19311. }
  19312. else
  19313. {
  19314. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params);
  19315. SendClientMessage(i, COLOR_RADIO, string);
  19316. }
  19317. }
  19318. }
  19319. }
  19320. if (i == playerid) continue;
  19321. if(IsPlayerInRangeOfPoint(i, 20.0, x, y, z))
  19322. {
  19323. format(string, sizeof(string), "(Radio) %s says: %s", ReturnName(playerid, 0), params);
  19324. SendClientMessage(i, COLOR_FADE1, string);
  19325. }
  19326. }
  19327. return true;
  19328. }
  19329. CMD:rlow(playerid, params[])return cmd_radio(playerid, params);
  19330. CMD:radiolow(playerid, params[])
  19331. {
  19332. if (!PlayerData[playerid][pHasRadio])
  19333. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19334. if(!PlayerData[playerid][pRadio][(PlayerData[playerid][pMainSlot] - 1)])
  19335. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19336. if(isnull(params))
  19337. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /r [text] {FF6346},{FFFFFF} /rlow [text] {FF6346},{FFFFFF} /r[ch] [text] {FF6346}or{FFFFFF} /r[ch]low ");
  19338. new string[128], radioChan = PlayerData[playerid][pRadio][(PlayerData[playerid][pMainSlot] - 1)];
  19339. foreach (new i : Player)
  19340. {
  19341. for (new s = 0; s < 5 ; s ++)
  19342. {
  19343. if (PlayerData[i][pRadio][s] == radioChan && PlayerData[i][pHasRadio])
  19344. {
  19345. if (s != (PlayerData[i][pMainSlot] - 1))
  19346. {
  19347. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params);
  19348. SendClientMessage(i, COLOR_RADIOEX, string);
  19349. }
  19350. else
  19351. {
  19352. format (string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[i][pRadio][s], GetChannelSlot(i, radioChan), ReturnName(playerid, 0), params);
  19353. SendClientMessage(i, COLOR_RADIO, string);
  19354. }
  19355. }
  19356. }
  19357. }
  19358. new Float:posx, Float:posy, Float:posz;
  19359. GetPlayerPos(playerid, posx,posy,posz);
  19360. foreach(new i : Player)
  19361. {
  19362. if(i == playerid)
  19363. continue;
  19364. else if(IsPlayerInRangeOfPoint(i, 5.0, posx,posy,posz))
  19365. {
  19366. format(string, sizeof(string), "(Radio) %s says[Low]: %s", ReturnName(playerid, 0), params);
  19367. SendClientMessage(i, COLOR_FADE1, string);
  19368. }
  19369. }
  19370. return true;
  19371. }
  19372. CMD:r1(playerid, params[])
  19373. {
  19374. if(!pLoggedIn[playerid])return true;
  19375. new string[128];
  19376. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19377. if(!PlayerData[playerid][pRadio][0])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19378. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /radio [radio text]");
  19379. new chan;
  19380. chan = PlayerData[playerid][pRadio][0];
  19381. foreach(new i : Player){
  19382. for(new r = 0; r < 5; r++){
  19383. if(PlayerData[i][pRadio][r] == PlayerData[playerid][pRadio][0] && PlayerData[i][pHasRadio]){
  19384. if(r != (PlayerData[i][pMainSlot] - 1)){
  19385. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][0], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19386. SendClientMessage(i, COLOR_RADIOEX, string);
  19387. }
  19388. else{
  19389. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][0], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19390. SendClientMessage(i, COLOR_RADIO, string);
  19391. }
  19392. }
  19393. }
  19394. }
  19395. new Float:posx, Float:posy, Float:posz;
  19396. GetPlayerPos(playerid, posx,posy,posz);
  19397. foreach(new i : Player)
  19398. {
  19399. if(i == playerid)
  19400. continue;
  19401. else if(IsPlayerInRangeOfPoint(i, 20.0, posx,posy,posz))
  19402. {
  19403. format(string, sizeof(string), "(Radio) %s says: %s", ReturnName(playerid, 0), params);
  19404. SendClientMessage(i, COLOR_WHITE, string);
  19405. }
  19406. }
  19407. return true;
  19408. }
  19409. CMD:r2(playerid, params[])
  19410. {
  19411. if(!pLoggedIn[playerid])return true;
  19412. new string[128];
  19413. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19414. if(!PlayerData[playerid][pRadio][1])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19415. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /radio [radio text]");
  19416. new chan;
  19417. chan = PlayerData[playerid][pRadio][1];
  19418. foreach(new i : Player){
  19419. for(new r = 0; r < 5; r++){
  19420. if(PlayerData[i][pRadio][r] == PlayerData[playerid][pRadio][1] && PlayerData[i][pHasRadio]){
  19421. if(r != (PlayerData[i][pMainSlot] - 1)){
  19422. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][1], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19423. SendClientMessage(i, COLOR_RADIOEX, string);
  19424. }
  19425. else{
  19426. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][1], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19427. SendClientMessage(i, COLOR_RADIO, string);
  19428. }
  19429. }
  19430. }
  19431. }
  19432. new Float:posx, Float:posy, Float:posz;
  19433. GetPlayerPos(playerid, posx,posy,posz);
  19434. foreach(new i : Player)
  19435. {
  19436. if(i == playerid)
  19437. continue;
  19438. else if(IsPlayerInRangeOfPoint(i, 20.0, posx,posy,posz))
  19439. {
  19440. format(string, sizeof(string), "(Radio) %s says: %s", ReturnName(playerid, 0), params);
  19441. SendClientMessage(i, COLOR_WHITE, string);
  19442. }
  19443. }
  19444. return true;
  19445. }
  19446. CMD:r3(playerid, params[])
  19447. {
  19448. if(!pLoggedIn[playerid])return true;
  19449. new string[128];
  19450. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19451. if(!PlayerData[playerid][pRadio][2])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19452. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /radio [radio text]");
  19453. new chan;
  19454. chan = PlayerData[playerid][pRadio][2];
  19455. foreach(new i : Player){
  19456. for(new r = 0; r < 5; r++){
  19457. if(PlayerData[i][pRadio][r] == PlayerData[playerid][pRadio][2] && PlayerData[i][pHasRadio]){
  19458. if(r != (PlayerData[i][pMainSlot] - 1)){
  19459. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][2], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19460. SendClientMessage(i, COLOR_RADIOEX, string);
  19461. }
  19462. else{
  19463. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][2], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19464. SendClientMessage(i, COLOR_RADIO, string);
  19465. }
  19466. }
  19467. }
  19468. }
  19469. new Float:posx, Float:posy, Float:posz;
  19470. GetPlayerPos(playerid, posx,posy,posz);
  19471. foreach(new i : Player)
  19472. {
  19473. if(i == playerid)
  19474. continue;
  19475. else if(IsPlayerInRangeOfPoint(i, 20.0, posx,posy,posz))
  19476. {
  19477. format(string, sizeof(string), "(Radio) %s says: %s", ReturnName(playerid, 0), params);
  19478. SendClientMessage(i, COLOR_WHITE, string);
  19479. }
  19480. }
  19481. return true;
  19482. }
  19483. CMD:r4(playerid, params[])
  19484. {
  19485. if(!pLoggedIn[playerid])return true;
  19486. new string[128];
  19487. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19488. if(!PlayerData[playerid][pRadio][3])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19489. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /radio [radio text]");
  19490. new chan;
  19491. chan = PlayerData[playerid][pRadio][3];
  19492. foreach(new i : Player){
  19493. for(new r = 0; r < 5; r++){
  19494. if(PlayerData[i][pRadio][r] == PlayerData[playerid][pRadio][3] && PlayerData[i][pHasRadio]){
  19495. if(r != (PlayerData[i][pMainSlot] - 1)){
  19496. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][3], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19497. SendClientMessage(i, COLOR_RADIOEX, string);
  19498. }
  19499. else{
  19500. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][3], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19501. SendClientMessage(i, COLOR_RADIO, string);
  19502. }
  19503. }
  19504. }
  19505. }
  19506. new Float:posx, Float:posy, Float:posz;
  19507. GetPlayerPos(playerid, posx,posy,posz);
  19508. foreach(new i : Player)
  19509. {
  19510. if(i == playerid)
  19511. continue;
  19512. else if(IsPlayerInRangeOfPoint(i, 20.0, posx,posy,posz))
  19513. {
  19514. format(string, sizeof(string), "(Radio) %s says: %s", ReturnName(playerid, 0), params);
  19515. SendClientMessage(i, COLOR_WHITE, string);
  19516. }
  19517. }
  19518. return true;
  19519. }
  19520. CMD:r5(playerid, params[])
  19521. {
  19522. if(!pLoggedIn[playerid])return true;
  19523. new string[128];
  19524. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19525. if(!PlayerData[playerid][pRadio][4])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a radio channel.");
  19526. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /radio [radio text]");
  19527. new chan;
  19528. chan = PlayerData[playerid][pRadio][4];
  19529. foreach(new i : Player){
  19530. for(new r = 0; r < 5; r++){
  19531. if(PlayerData[i][pRadio][r] == PlayerData[playerid][pRadio][4] && PlayerData[i][pHasRadio]){
  19532. if(r != (PlayerData[i][pMainSlot] - 1)){
  19533. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][4], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19534. SendClientMessage(i, COLOR_RADIOEX, string);
  19535. }
  19536. else{
  19537. format(string, sizeof(string), "**[CH: %d, S: %d] %s says: %s", PlayerData[playerid][pRadio][4], GetChannelSlot(i, chan), ReturnName(playerid, 0), params);
  19538. SendClientMessage(i, COLOR_RADIO, string);
  19539. }
  19540. }
  19541. }
  19542. }
  19543. new Float:posx, Float:posy, Float:posz;
  19544. GetPlayerPos(playerid, posx,posy,posz);
  19545. foreach(new i : Player)
  19546. {
  19547. if(i == playerid)
  19548. continue;
  19549. else if(IsPlayerInRangeOfPoint(i, 20.0, posx,posy,posz))
  19550. {
  19551. format(string, sizeof(string), "(Radio) %s says: %s", ReturnName(playerid, 0), params);
  19552. SendClientMessage(i, COLOR_WHITE, string);
  19553. }
  19554. }
  19555. return true;
  19556. }
  19557. CMD:partradio(playerid, params[]) return cmd_partr(playerid, params);
  19558. CMD:partr(playerid, params[])
  19559. {
  19560. if(!pLoggedIn[playerid])return true;
  19561. new string[128], slotid;
  19562. if(!PlayerData[playerid][pHasRadio])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a radio.");
  19563. if(sscanf(params, "d", slotid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /partradio [slotid]");
  19564. if(slotid < 1 || slotid > 5)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Slot IDs must be between 1 and 5.");
  19565. PlayerData[playerid][pRadio][slotid - 1] = 0;
  19566. PlayerData[playerid][pRadioSlot][slotid - 1] = 0;
  19567. format(string, sizeof(string), "You parted from the radio slotid %d.", slotid);
  19568. SendClientMessage(playerid, COLOR_YELLOW, string);
  19569. return true;
  19570. }
  19571. CMD:radiohelp(playerid, params[])
  19572. {
  19573. if(!pLoggedIn[playerid])return true;
  19574. new string[128];
  19575. new slot1 = PlayerData[playerid][pRadio][0];
  19576. new slot2 = PlayerData[playerid][pRadio][1];
  19577. new slot3 = PlayerData[playerid][pRadio][2];
  19578. new slot4 = PlayerData[playerid][pRadio][3];
  19579. new slot5 = PlayerData[playerid][pRadio][4];
  19580. SendClientMessage(playerid, COLOR_DARKGREEN, "|__________________Radio Help_________________|");
  19581. SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can buy a radio in 24-7's!");
  19582. SendClientMessage(playerid, COLOR_WHITE, "/setchannel - Sets which channel you want on which slot.");
  19583. SendClientMessage(playerid, COLOR_WHITE, "/setslot - Set your main slot, the one you're currently responding too.");
  19584. SendClientMessage(playerid, COLOR_WHITE, "/r - Talk over your channel. {FFFF00}HINT: You may do /r2, /r3, /r4, /r5 for slots.");
  19585. SendClientMessage(playerid, COLOR_WHITE, "/partr [slotid] - Part from the radio channel in that slot.");
  19586. format(string, sizeof(string), "Your current channels:{33AA33}[Slot 1: %d][Slot 2: %d][Slot 3: %d][Slot 4: %d][Slot 5: %d]", slot1, slot2, slot3, slot4, slot5);
  19587. SendClientMessage(playerid, COLOR_WHITE, string);
  19588. return true;
  19589. }
  19590. CMD:frisk(playerid, params[])
  19591. {
  19592. if(!pLoggedIn[playerid])return true;
  19593. new playerb, string[128];
  19594. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /frisk [playerid/PartofName]");
  19595. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid player.");
  19596. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't logged in.");
  19597. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  19598. if(GetPlayerSpecialAction(playerb) == SPECIAL_ACTION_HANDSUP){
  19599. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s examines %s for any illegal items.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  19600. ReturnFriskData(playerid, playerb);
  19601. }
  19602. else{
  19603. if(PlayerData[playerid][pFrisking] == playerb && PlayerData[playerid][pAllowedFrisk] == playerb){
  19604. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s examines %s for any illegal items.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  19605. ReturnFriskData(playerid, playerb);
  19606. PlayerData[playerid][pAllowedFrisk] = -1;
  19607. PlayerData[playerid][pFrisking] = -1;
  19608. PlayerData[playerb][pFriskRequest] = -1;
  19609. }
  19610. else{
  19611. format(string, sizeof(string), "SERVER: ID %d attempted to frisk you. You'll need to /friskapprove %d to comply.", playerid, playerid);
  19612. SendClientMessage(playerb, COLOR_YELLOW, string);
  19613. SendClientMessage(playerid, COLOR_ADM, "SERVER: That player will have to /friskapprove your ID prior to frisk.");
  19614. PlayerData[playerid][pFrisking] = playerb;
  19615. PlayerData[playerb][pFriskRequest] = playerid;
  19616. }
  19617. }
  19618. return true;
  19619. }
  19620. CMD:friskapprove(playerid, params[])
  19621. {
  19622. new string[128], playerb;
  19623. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /frisk [playerid/PartofName]");
  19624. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid player.");
  19625. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't logged in.");
  19626. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  19627. format(string, sizeof(string), "SERVER: %s allowed you to frisk them, you may use /frisk %d.", ReturnName(playerid, 0), playerid);
  19628. SendClientMessage(playerb, COLOR_YELLOW, string);
  19629. format(string, sizeof(string), "SERVER: You've allowed %s to frisk you.", ReturnName(playerb, 0));
  19630. SendClientMessage(playerid, COLOR_WHITE, string);
  19631. PlayerData[playerb][pAllowedFrisk] = playerid;
  19632. PlayerData[playerid][pFriskRequest] = -1;
  19633. return true;
  19634. }
  19635. CMD:weapons(playerid, params[])
  19636. {
  19637. SendClientMessage(playerid, COLOR_ADM, "To throw away a weapon, type /dropgun [weapon ID]");
  19638. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[playerid][i][eWeaponAmmo] > 0)
  19639. Message(playerid, COLOR_WHITE, "[ID: %i] %s - Ammo: %i", Weapon[playerid][i][eWeaponID], ReturnWeaponName(Weapon[playerid][i][eWeaponID]), Weapon[playerid][i][eWeaponAmmo]);
  19640. return true;
  19641. }
  19642. CMD:lg(playerid, params[])return cmd_leavegun(playerid, params);
  19643. CMD:leavegun(playerid, params[])
  19644. {
  19645. new
  19646. weapon_id,
  19647. idx = -1,
  19648. str[128]
  19649. ;
  19650. if(sscanf(params, "i", weapon_id))
  19651. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /leavegun [weapon id]");
  19652. if(weapon_id < 1 || weapon_id > 46 || weapon_id == 35 || weapon_id == 36 || weapon_id == 37 || weapon_id == 38 || weapon_id == 39)
  19653. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You have specified an invalid weapon id.");
  19654. if(!PlayerHasWeapon(playerid, weapon_id) || PlayerHasWeapon(playerid, weapon_id) && !IsSaveableWeapon(playerid, weapon_id))
  19655. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have this weapon or can't drop it.");
  19656. for(new i = 0; i < sizeof DropData; i++) if(!DropData[i][eWeaponDropped])
  19657. {
  19658. idx = i;
  19659. break;
  19660. }
  19661. if(idx == -1)
  19662. return SendClientMessage(playerid, COLOR_ADM, "SERVER: It appears dropping weapons isn't possible right now.");
  19663. if (Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponCCW])
  19664. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This weapon cannot be dropped.");
  19665. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(weapon_id)))
  19666. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(weapon_id));
  19667. PauseAntiCheat(playerid);
  19668. GetPlayerPos(playerid, DropData[idx][eWeaponPos][0], DropData[idx][eWeaponPos][1], DropData[idx][eWeaponPos][2]);
  19669. DropData[idx][eWeaponInterior] = GetPlayerInterior(playerid);
  19670. DropData[idx][eWeaponWorld] = GetPlayerVirtualWorld(playerid);
  19671. DropData[idx][eDropWeaponID] = weapon_id;
  19672. DropData[idx][eDropWeaponAmmo] = ReturnWeaponAmmo(playerid, weapon_id);
  19673. DropData[idx][eWeaponDroppedBy] = PlayerData[playerid][pSQLID];
  19674. DropData[idx][eWeaponDropped] = true;
  19675. DropData[idx][eWeaponTimer] = SetTimerEx("OnPlayerLeaveGun", 600000, false, "i", idx);
  19676. DropData[idx][eWeaponObject] = CreateDynamicObject(ReturnWeaponsModel(weapon_id), DropData[idx][eWeaponPos][0], DropData[idx][eWeaponPos][1], DropData[idx][eWeaponPos][2] - 1, 80.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  19677. format(str, sizeof(str), "Left %s (%d) on floor (Drop index: %i)", ReturnWeaponName(weapon_id), ReturnWeaponAmmo(playerid, weapon_id), idx);
  19678. LogPlayerAction(playerid, str);
  19679. format(str, sizeof(str), "* %s left their %s on the floor.", ReturnName(playerid, 0), ReturnWeaponName(weapon_id));
  19680. SetPlayerChatBubble(playerid, str, COLOR_EMOTE, 20.0, 2000);
  19681. SendClientMessage(playerid, COLOR_ADM, "[ ! ] Your weapon will disappear in 10 minutes. /gg to pick it up.");
  19682. WriteLog("weapon_logs/leave_gun.txt", "[%s] %s left a %s and %d Ammo.", ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(weapon_id), ReturnWeaponAmmo(playerid, weapon_id));
  19683. TakePlayerWeapon(playerid, weapon_id);
  19684. return true;
  19685. }
  19686. CMD:gg(playerid, params[])return cmd_grabgun(playerid, params);
  19687. CMD:grabgun(playerid, params[])
  19688. {
  19689. new
  19690. str[128],
  19691. idx;
  19692. if((idx = IsPlayerNearDroppedWeapon(playerid)) != -1)
  19693. {
  19694. if(PlayerHasWeapon(playerid, DropData[idx][eDropWeaponID]))
  19695. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You already have this weapon.");
  19696. GivePlayerGun(playerid, DropData[idx][eDropWeaponID], DropData[idx][eDropWeaponAmmo], DropData[idx][eWeaponDroppedBy]);
  19697. format(str, sizeof(str), "Picked up %s (%d) from floor (Drop index: %i)", ReturnWeaponName(DropData[idx][eDropWeaponID]), DropData[idx][eDropWeaponAmmo], idx);
  19698. LogPlayerAction(playerid, str);
  19699. format(str, sizeof(str), "* %s picks up a %s.", ReturnName(playerid, 0), ReturnWeaponName(DropData[idx][eDropWeaponID]));
  19700. SetPlayerChatBubble(playerid, str, COLOR_EMOTE, 20.0, 3000);
  19701. Message(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You picked up a %s and %d Ammo.", ReturnWeaponName(DropData[idx][eDropWeaponID]), DropData[idx][eDropWeaponAmmo]);
  19702. WriteLog("weapon_logs/grab_gun.txt", "[%s] %s picked up a %s and %d Ammo dropped by %s.", ReturnDate(), ReturnName(playerid), ReturnWeaponName(DropData[idx][eDropWeaponID]), DropData[idx][eDropWeaponAmmo], ReturnSQLName(DropData[idx][eWeaponDroppedBy]));
  19703. ClearDroppedWeapon(idx);
  19704. }
  19705. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a dropped weapon.");
  19706. return true;
  19707. }
  19708. CMD:checkserial(playerid, params[]) {
  19709. if (!IsPoliceFaction(playerid))
  19710. return UnAuthMessage(playerid);
  19711. new weapon_id;
  19712. if(sscanf(params, "i", weapon_id))
  19713. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /checkserial [weapon id]");
  19714. if(weapon_id < 1 || weapon_id > 46 || weapon_id == 35 || weapon_id == 36 || weapon_id == 37 || weapon_id == 38 || weapon_id == 39)
  19715. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You have specified an invalid weapon id.");
  19716. if(!PlayerHasWeapon(playerid, weapon_id) || PlayerHasWeapon(playerid, weapon_id) && !IsSaveableWeapon(playerid, weapon_id))
  19717. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have this weapon or can't drop it.");
  19718. new weapon = Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponSerial], query[128];
  19719. if (weapon == -1)
  19720. return SendClientMessage(playerid, COLOR_YELLOW, "This weapon is not traceable!");
  19721. mysql_format(m_Handle, query, sizeof query, "SELECT * FROM players WHERE id = %i", weapon);
  19722. new Cache:res = mysql_query(m_Handle, query), name[MAX_PLAYER_NAME + 8];
  19723. if (cache_num_rows()) {
  19724. cache_get_value_name(0, "Name", name, sizeof name);
  19725. } else {
  19726. format(name, sizeof name, "Unknown");
  19727. }
  19728. cache_delete(res);
  19729. SendClientMessage(playerid, COLOR_YELLOW, sprintf("This weapon serial number is %d, owned by %s.", weapon, name));
  19730. return 1;
  19731. }
  19732. /*CMD:dctoggle(playerid, params[])
  19733. {
  19734. if(PlayerData[playerid][pDonator] < 2 && !PlayerData[playerid][pAdmin])
  19735. return UnAuthMessage(playerid);
  19736. if(!PlayerData[playerid][pDCToggled])
  19737. {
  19738. PlayerData[playerid][pDCToggled] = 1;
  19739. SendClientMessage(playerid, 0xB8860BAA, "You disabled your donator chat.");
  19740. }
  19741. else
  19742. {
  19743. PlayerData[playerid][pDCToggled] = 0;
  19744. SendClientMessage(playerid, 0xB8860BAA, "You enabled your donator chat.");
  19745. }
  19746. return 1;
  19747. }*/
  19748. /*CMD:dc(playerid, params[])
  19749. {
  19750. if(PlayerData[playerid][pDonator] < 2 && !PlayerData[playerid][pAdmin])
  19751. return UnAuthMessage(playerid);
  19752. if(PlayerData[playerid][pDCToggled])
  19753. return SendClientMessage(playerid, 0xB8860BAA, "Your donator chat is disabled right now.");
  19754. foreach(new i : Player)
  19755. {
  19756. if(PlayerData[i][pDonator] > 1 || PlayerData[i][pAdmin])
  19757. {
  19758. if(!PlayerData[i][pDCToggled])
  19759. {
  19760. if(strlen(params) > 80)
  19761. {
  19762. Message(i, 0xB8860BAA, "[Donator] %s (Level %d): %.80s", ReturnName(playerid), PlayerData[playerid][pDonator], params);
  19763. Message(i, 0xB8860BAA, "[Donator] %s (Level %d): ...%s", ReturnName(playerid), PlayerData[playerid][pDonator], params[80]);
  19764. }
  19765. else Message(i, 0xB8860BAA, "[Donator] %s (Level %d): %s", ReturnName(playerid), PlayerData[playerid][pDonator], params);
  19766. }
  19767. }
  19768. }
  19769. return 1;
  19770. }*/
  19771. CMD:setstyle(playerid, params[])
  19772. {
  19773. new styleid, pickid;
  19774. if(sscanf(params, "iI(-1)", styleid, pickid)) {
  19775. SendClientMessage(playerid, COLOR_ADM, "1 - Walk Style | 2 - Chat Style | 3 - Fightstyle");
  19776. SendClientMessage(playerid, COLOR_ADM, "4 - HUD Style");
  19777. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setstyle [StyleID]");
  19778. return true;
  19779. }
  19780. switch(styleid){
  19781. case 1: {
  19782. if(pickid == -1){
  19783. SendClientMessage(playerid, COLOR_WHITE, "Walk Styles: 0 1 2 3 4");
  19784. SendClientMessage(playerid, COLOR_WHITE, "Walk Styles: 5 6 7 8 9");
  19785. SendClientMessage(playerid, COLOR_DARKGREEN, "USAGE: /setstyle 1 [StyleID]");
  19786. return 1;
  19787. }
  19788. if(pickid != -1 && pickid < 0 || pickid > 9)
  19789. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid walk.");
  19790. PlayerData[playerid][pWalkstyle] = pickid;
  19791. SendClientMessage(playerid, COLOR_YELLOW, "Enjoy your new walk style. /walk");
  19792. }
  19793. case 2:{
  19794. if(!PlayerData[playerid][pDonator])
  19795. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't a donator.");
  19796. if(pickid == -1){
  19797. SendClientMessage(playerid, COLOR_WHITE, "Chat Styles: 0 1 2 3 4");
  19798. SendClientMessage(playerid, COLOR_WHITE, "Chat Styles: 5 6 7");
  19799. SendClientMessage(playerid, COLOR_DARKGREEN, "USAGE: /setstyle 2 [StyleID]");
  19800. return true;
  19801. }
  19802. if(pickid != -1 && pickid < 0 || pickid > 7)
  19803. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid chat.");
  19804. PlayerData[playerid][pChatstyle] = pickid;
  19805. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Chatstyle", PlayerData[playerid][pChatstyle]);
  19806. SendClientMessage(playerid, COLOR_YELLOW, "Enjoy your new chatstyle!");
  19807. }
  19808. case 3:{
  19809. if(!PlayerData[playerid][pDonator])
  19810. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't a donator.");
  19811. if(pickid == -1)
  19812. {
  19813. SendClientMessage(playerid, COLOR_WHITE, "Fight Styles: 0 1 2 3 4");
  19814. SendClientMessage(playerid, COLOR_WHITE, "Fight Styles: 5");
  19815. SendClientMessage(playerid, COLOR_DARKGREEN, "USAGE: /setstyle 3 [StyleID]");
  19816. return true;
  19817. }
  19818. if(pickid != -1 && pickid < 0 || pickid > 5)
  19819. return SendClientMessage(playerid, COLOR_ADM, "Invalid Fightstyle.");
  19820. switch(pickid)
  19821. {
  19822. case 0: pickid = 15;
  19823. case 1: pickid = 4;
  19824. case 2: pickid = 5;
  19825. case 3: pickid = 6;
  19826. case 4: pickid = 7;
  19827. case 5: pickid = 16;
  19828. }
  19829. SetPlayerFightingStyle(playerid, pickid);
  19830. PlayerData[playerid][pFightstyle] = pickid;
  19831. Message(playerid, COLOR_YELLOW, "You set your fightstyle to %s!", GetFightstyleName(pickid));
  19832. }
  19833. case 4:
  19834. {
  19835. if(pickid == -1)
  19836. {
  19837. SendClientMessage(playerid, COLOR_WHITE, "HUD Styles: 0 1 2 3");
  19838. SendClientMessage(playerid, COLOR_DARKGREEN, "USAGE: /setstyle 4 [StyleID]");
  19839. return 1;
  19840. }
  19841. if(pickid > 3 || pickid != -1 && pickid < 0)
  19842. return SendClientMessage(playerid, COLOR_ADM, "Invalid HUD Style.");
  19843. if(pickid == PlayerData[playerid][pHUD])
  19844. return SendClientMessage(playerid, COLOR_ADM, "That's already your HUD.");
  19845. HideHUDForPlayer2( playerid );
  19846. PlayerData[ playerid ][ pHUDToggled ] = 0;
  19847. PlayerData[playerid][pHUD] = pickid;
  19848. OnPlayerChangeHud( playerid );
  19849. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !NoEngineCar(GetPlayerVehicleID(playerid)))
  19850. {
  19851. for (new i = 0; i < 6; i++)
  19852. PlayerTextDrawHide(playerid, VehicleHUD[playerid][i]);
  19853. UpdateHUDForPlayer(playerid);
  19854. switch(pickid)
  19855. {
  19856. case 0: {
  19857. PlayerTextDrawShow(playerid, VehicleHUD[playerid][0]);
  19858. PlayerTextDrawShow(playerid, VehicleHUD[playerid][1]);
  19859. }
  19860. case 1: {
  19861. PlayerTextDrawShow(playerid, VehicleHUD[playerid][2]);
  19862. }
  19863. case 2: {
  19864. PlayerTextDrawShow(playerid, VehicleHUD[playerid][3]);
  19865. }
  19866. case 3: {
  19867. PlayerTextDrawShow(playerid, VehicleHUD[playerid][4]);
  19868. PlayerTextDrawShow(playerid, VehicleHUD[playerid][5]);
  19869. }
  19870. }
  19871. }
  19872. SendClientMessage(playerid, COLOR_YELLOW, "Enjoy your new HUD style!");
  19873. }
  19874. }
  19875. return true;
  19876. }
  19877. CMD:time(playerid, params[])
  19878. {
  19879. if(!pLoggedIn[playerid])return true;
  19880. new string[128];
  19881. format(string, sizeof(string), "* %s checks the time.", ReturnName(playerid, 0));
  19882. SendClientMessage(playerid, COLOR_EMOTE, string);
  19883. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 30.0, 5000);
  19884. format(string, sizeof(string), "~g~|~w~%s~g~|", ReturnHour());
  19885. GameTextForPlayer(playerid, string, 2000, 1);
  19886. if(PlayerData[playerid][pAjailTime] > 0){
  19887. format(string, sizeof(string), "~g~|~w~%s~g~|~n~~w~Jail Time left: %s SEC", ReturnHour(), MoneyFormat(PlayerData[playerid][pAjailTime]));
  19888. GameTextForPlayer(playerid, string, 2000, 1);
  19889. }
  19890. else if(PlayerData[playerid][pICJailTime] > 0)
  19891. {
  19892. format(string, sizeof(string), "~g~|~w~%s~g~|~n~~w~Jail Time left: %s SEC", ReturnHour(), MoneyFormat(PlayerData[playerid][pICJailTime]));
  19893. GameTextForPlayer(playerid, string, 2000, 1);
  19894. }
  19895. return true;
  19896. }
  19897. CMD:stime(playerid, params[])return cmd_servertime(playerid, params);
  19898. CMD:servertime(playerid, params[])
  19899. {
  19900. new date[128];
  19901. getdate(date[2], date[1], date[0]);
  19902. gettime(date[3], date[4], date[5]);
  19903. format(date, sizeof(date), "The date is: %02d/%02d/%d -- The time is %02d:%02d:%02d", date[0], date[1], date[2], date[3], date[4], date[5]);
  19904. SendClientMessage(playerid, COLOR_GREY, date);
  19905. return true;
  19906. }
  19907. CMD:id(playerid, params[])
  19908. {
  19909. if(isnull(params))
  19910. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /id [playerid/PartofName]");
  19911. if(IsNumeric(params))
  19912. {
  19913. new id = strval(params);
  19914. if(!IsPlayerConnected(id))
  19915. return SendClientMessage(playerid, COLOR_ADM, "Player ID specified is not valid.");
  19916. Message(playerid, COLOR_GREY, "(ID: %d) %s | Level: %d", id, ReturnName(id), PlayerData[id][pLevel]);
  19917. }
  19918. else
  19919. {
  19920. new found;
  19921. foreach (new i : Player)
  19922. {
  19923. if(strfind(ReturnName(i), params, true) != -1)
  19924. {
  19925. Message(playerid, COLOR_GREY, "(ID: %d) %s | Level: %d", i, ReturnName(i, 1), PlayerData[i][pLevel]);
  19926. found++;
  19927. }
  19928. }
  19929. if(!found) return SendClientMessage(playerid, COLOR_ADM, "Player was not found.");
  19930. }
  19931. return 1;
  19932. }
  19933. CMD:dropgun(playerid, params[])
  19934. {
  19935. new weapon_id;
  19936. if(sscanf(params, "i", weapon_id))
  19937. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /dropgun [weapon id]");
  19938. if(weapon_id == 0)
  19939. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Invalid Weapon ID.");
  19940. if(!PlayerHasWeapon(playerid, weapon_id) || PlayerHasWeapon(playerid, weapon_id) && IsSaveableWeapon(playerid, weapon_id))
  19941. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have this weapon or can't drop it.");
  19942. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s dropped their %s.", ReturnName(playerid, 0), ReturnWeaponName(weapon_id));
  19943. WriteLog("weapon_logs/drop_gun.txt", "[%s] %s dropped their %s. (Receive code: %i)", ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(weapon_id), ReturnWeaponReceiveType(playerid, weapon_id));
  19944. TakePlayerWeapon(playerid, weapon_id);
  19945. return 1;
  19946. }
  19947. CMD:expcount(playerid, params[])
  19948. {
  19949. if(!pLoggedIn[playerid])return true;
  19950. new string[128];
  19951. format(string, sizeof(string), "Your EXP counter is %d, you need 3600.", PlayerData[playerid][pPlayTime]);
  19952. SendClientMessage(playerid, COLOR_GREY, string);
  19953. return true;
  19954. }
  19955. //
  19956. CMD:deposit(playerid, params[])
  19957. {
  19958. if(!pLoggedIn[playerid])return true;
  19959. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  19960. new biz = IsPlayerInBusiness(playerid), deposit, string[128];
  19961. if(BusinessData[biz][businessType] != BIZ_BANK)
  19962. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't inside of a bank.");
  19963. if(sscanf(params, "d", deposit))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /deposit [amount]");
  19964. if(deposit < 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't deposit under $1. ");
  19965. if(deposit > PlayerData[playerid][pMoney])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have that much money.");
  19966. GiveMoney(playerid, -deposit);
  19967. PlayerData[playerid][pBank]+= deposit;
  19968. format(string, sizeof(string), "You have deposited $%s into your account, Total:$%s", MoneyFormat(deposit), MoneyFormat(PlayerData[playerid][pBank]));
  19969. SendClientMessage(playerid, COLOR_ACTION, string);
  19970. WriteLog("money_logs/bank_log.txt", "[%s] %s deposited $%d into their bank, New balance: $%d (Hand: $%d)", ReturnDate(), ReturnName(playerid, 1), deposit, PlayerData[playerid][pBank], PlayerData[playerid][pMoney]);
  19971. return true;
  19972. }
  19973. CMD:withdraw(playerid, params[])
  19974. {
  19975. if(!pLoggedIn[playerid])return true;
  19976. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  19977. new biz = IsPlayerInBusiness(playerid), total, string[128];
  19978. if(BusinessData[biz][businessType] != BIZ_BANK && BusinessData[biz][businessType] != BIZ_GENERAL && BusinessData[biz][businessType] != BIZ_STORE)
  19979. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do that here.");
  19980. if(sscanf(params, "d", total))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /withdraw [amount]");
  19981. if(total < 1 || total > PlayerData[playerid][pBank])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do that amount.");
  19982. if(PlayerData[playerid][pSavings] && total > 5000)return SendClientMessage(playerid, COLOR_ADM, "SERVER: You may only withdraw up to $5,000 while using savings.");
  19983. GiveMoney(playerid, total);
  19984. PlayerData[playerid][pBank]-= total;
  19985. format(string, sizeof(string), "You have withdrawn $%s from your account, Total:$%s", MoneyFormat(total), MoneyFormat(PlayerData[playerid][pBank]));
  19986. SendClientMessage(playerid, COLOR_ACTION, string);
  19987. WriteLog("money_logs/withdraw_log.txt", "[%s] %s withdrew $%d from their bank, New balance: $%d (Hand: $%d)", ReturnDate(), ReturnName(playerid, 1), total, PlayerData[playerid][pBank], PlayerData[playerid][pMoney]);
  19988. return true;
  19989. }
  19990. CMD:balance(playerid, params[])
  19991. {
  19992. if(!pLoggedIn[playerid])return true;
  19993. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  19994. new biz = IsPlayerInBusiness(playerid), string[128];
  19995. if(BusinessData[biz][businessType] != BIZ_BANK && BusinessData[biz][businessType] != BIZ_GENERAL && BusinessData[biz][businessType] != BIZ_STORE)
  19996. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do that here.");
  19997. format(string, sizeof(string), "[ ! ]{FFFFFF} You have $%s in your bank account as of %s. ", MoneyFormat(PlayerData[playerid][pBank]), ReturnDate());
  19998. SendClientMessage(playerid, COLOR_ADM, string);
  19999. return true;
  20000. }
  20001. CMD:savings(playerid, params[])
  20002. {
  20003. if(!pLoggedIn[playerid])return true;
  20004. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  20005. new biz = IsPlayerInBusiness(playerid), amount, string[128];
  20006. if(BusinessData[biz][businessType] != BIZ_BANK)
  20007. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't inside of a bank.");
  20008. if(!PlayerData[playerid][pSavings]){
  20009. if(sscanf(params, "d", amount))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} To create a savings account, /savings [amount]");
  20010. if(amount < 50000 || amount > 100000)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You may only make your savings with $50,000 to $100,000.");
  20011. if(amount > PlayerData[playerid][pMoney])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have that much money.");
  20012. PlayerData[playerid][pSavings] = amount;
  20013. GiveMoney(playerid, -amount);
  20014. SendClientMessage(playerid, COLOR_WHITE, "|___ BANK STATEMENT ___|");
  20015. format(string, sizeof(string), " Savings account balance: $%s", MoneyFormat(PlayerData[playerid][pSavings]));
  20016. SendClientMessage(playerid, COLOR_WHITE, string);
  20017. WriteLog("money_logs/savings_log.txt", "[%s] %s started their savings with : $%d", ReturnDate(), ReturnName(playerid, 1), amount);
  20018. return true;
  20019. }
  20020. else if(isnull(params) && PlayerData[playerid][pSavings]){
  20021. SendClientMessage(playerid, COLOR_WHITE, "|___ BANK STATEMENT ___|");
  20022. format(string, sizeof(string), " Savings account balance: $%s", MoneyFormat(PlayerData[playerid][pSavings]));
  20023. SendClientMessage(playerid, COLOR_WHITE, string);
  20024. format(string, sizeof(string), "[ ! ]{FFFFFF} You have {FF6346}$%s{FFFFFF} in your savings account.", MoneyFormat(PlayerData[playerid][pSavings]));
  20025. SendClientMessage(playerid, COLOR_ADM, string);
  20026. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} To withdraw your savings, use {FF6346}/savings withdraw");
  20027. return true;
  20028. }
  20029. if(!isnull(params) && !strcmp(params, "withdraw", true)){
  20030. if (!PlayerData[playerid][pSavings])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a savings.");
  20031. ConfirmDialog(playerid, "Confirmation", "Are you sure you want to withdraw your savings?\n\n{F81414}This cannot be reverted and you'll have to start over.", "OnPlayerSavingsWithdraw");
  20032. return true;
  20033. }
  20034. return true;
  20035. }
  20036. CMD:eject(playerid, params[])
  20037. {
  20038. if(!pLoggedIn[playerid])return true;
  20039. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be in the driver's seat.");
  20040. new playerb;
  20041. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /eject [playerid/PartofName]");
  20042. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid playerid.");
  20043. if(GetPlayerVehicleID(playerb) != GetPlayerVehicleID(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't inside your vehicle.");
  20044. if(playerb == playerid)
  20045. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't eject yourself.");
  20046. RemovePlayerFromVehicle(playerb);
  20047. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s threw %s out of their vehicle.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  20048. return true;
  20049. }
  20050. CMD:buy(playerid, params[])
  20051. {
  20052. new
  20053. biz = IsPlayerInBusiness(playerid),
  20054. string[1100]
  20055. ;
  20056. string[0] = EOS;
  20057. if(BusinessData[biz][businessType] == BIZ_PAWNSHOP || BusinessData[biz][businessType] == BIZ_GENERAL || BusinessData[biz][businessType] == BIZ_STORE)
  20058. {
  20059. DisplayBuyMenu(playerid);
  20060. return true;
  20061. }
  20062. if(BusinessData[biz][businessType] == BIZ_CLOTHING)
  20063. {
  20064. if(PlayerData[playerid][pSkinMenuOn])
  20065. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Your skin menu is already open.");
  20066. DisplayClothingMenu(playerid);
  20067. return 1;
  20068. }
  20069. if(IsPlayerInRangeOfPoint(playerid, 4.0, -2471.7783, 756.2209, 35.1719))
  20070. {
  20071. if (PlayerData[playerid][pBuyingClothing])
  20072. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You're already editing a clothing item.");
  20073. ShowClothingList(playerid, 1);
  20074. return true;
  20075. }
  20076. new id = PlayerData[playerid][pFaction];
  20077. if (FactionData[id][factionCopPerms] || FactionData[id][factionMedPerms] || FactionData[id][factionNewsPerms])
  20078. {
  20079. if(IsPlayerInRangeOfPoint(playerid, 4.0, FactionData[id][factionSpawn][0], FactionData[id][factionSpawn][1], FactionData[id][factionSpawn][2]))
  20080. {
  20081. for (new i = 0; i < sizeof(g_aFactionClothing); i++)
  20082. {
  20083. format(string, sizeof(string), "%s{FFFFFF}%s\t-\t{33AA33}$%d\n", string, g_aFactionClothing[i][clothingName], g_aFactionClothing[i][clothingPrice]);
  20084. ShowPlayerDialog(playerid, DIALOG_FACTION_CLOTHING, DIALOG_STYLE_LIST, "Clothing Available:", string, "Select", "<<");
  20085. }
  20086. }
  20087. return true;
  20088. }
  20089. SendClientMessage(playerid, COLOR_ADM, "SERVER: There's nothing around you that you could buy.");
  20090. return true;
  20091. }
  20092. CMD:buyphone(playerid, params[])
  20093. {
  20094. new
  20095. id,
  20096. str[350]
  20097. ;
  20098. if((id = IsPlayerInBusiness(playerid)) != 0)
  20099. {
  20100. if(BusinessData[id][businessType] != BIZ_PAWNSHOP && BusinessData[id][businessType] != BIZ_GENERAL && BusinessData[id][businessType] != BIZ_STORE)
  20101. return SendClientMessage(playerid, COLOR_ADM, "[ ! ] This business does not sell burner phones.");
  20102. if(PlayerData[playerid][pHasBurnerPhone])
  20103. return SendClientMessage(playerid, COLOR_ADM, "[ ! ] You already have a burner phone.");
  20104. strcat(str, "{ADC3E7}Burner Phones{FFFFFF}\nA burner phone is a prepaid phone bought for temporary use. They could be purchased from a pawn shop or general store.\n");
  20105. strcat(str, "Players may call burner phones. Burner phones do not store contact information.\n\n");
  20106. strcat(str, "After purchasing it, you can use /call to place a call or /dropburner to dispose of it.\n");
  20107. strcat(str, "{ADC3E7}Price:{FFFFFF} $500");
  20108. ConfirmDialog(playerid, "{ADC3E7}Burner Phone", str, "OnBurnerPhone");
  20109. }
  20110. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a business.");
  20111. return 1;
  20112. }
  20113. CMD:bf(playerid, params[]) return cmd_blindfold(playerid, params);
  20114. CMD:blindfold(playerid, params[])
  20115. {
  20116. new playerb, string[128];
  20117. if(sscanf(params, "U(-1)", playerb))return true;
  20118. if(playerb == -1){
  20119. if (!PlayerData[playerid][pBlindfolded]){
  20120. TextDrawShowForPlayer(playerid, blindfoldTextdraw);
  20121. PlayerData[playerid][pBlindfolded] = 1;
  20122. }
  20123. else{
  20124. TextDrawHideForPlayer(playerid, blindfoldTextdraw);
  20125. PlayerData[playerid][pBlindfolded] = 0;
  20126. }
  20127. }
  20128. else{
  20129. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid playerid.");
  20130. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player to blindfold.");
  20131. if(GetPlayerSpecialAction(playerb) != SPECIAL_ACTION_HANDSUP && GetPlayerSpecialAction(playerb) != SPECIAL_ACTION_DUCK)
  20132. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player doesn't have their hands up OR isn't crouched.");
  20133. if (!PlayerData[playerb][pBlindfolded]){
  20134. TextDrawShowForPlayer(playerb, blindfoldTextdraw);
  20135. format(string, sizeof(string), "SERVER: %s blindfolded you. ", ReturnName(playerid, 0));
  20136. SendClientMessage(playerb, COLOR_YELLOW, string);
  20137. format(string, sizeof(string), "SERVER: You blindfolded %s. ", ReturnName(playerb, 0));
  20138. SendClientMessage(playerid, COLOR_YELLOW, string);
  20139. SetPlayerChatBubble(playerb, "Blindfolded", COLOR_WHITE, 10.0, 2500);
  20140. GameTextForPlayer(playerb, "~p~Blindfolded", 3000, 4);
  20141. PlayerData[playerb][pBlindfolded] = 1;
  20142. }
  20143. else{
  20144. TextDrawHideForPlayer(playerb, blindfoldTextdraw);
  20145. format(string, sizeof(string), "SERVER: You took %s's blindfold off. ", ReturnName(playerb, 0));
  20146. SendClientMessage(playerid, COLOR_YELLOW, string);
  20147. GameTextForPlayer(playerb, "~p~Unblinded", 3000, 4);
  20148. PlayerData[playerb][pBlindfolded] = 0;
  20149. SetPlayerChatBubble(playerb, "Unblindfolded", COLOR_WHITE, 10.0, 2500);
  20150. }
  20151. }
  20152. return true;
  20153. }
  20154. CMD:pay(playerid, params[])
  20155. {
  20156. if(!pLoggedIn[playerid])return true;
  20157. if(PlayerData[playerid][pLevel] == 0)
  20158. return SendClientMessage(playerid, COLOR_GREY, "You cannot pay as a level 0!");
  20159. new string[128], playerb, pay_amount, emote[128];
  20160. if(sscanf(params, "udS('None')[128]", playerb, pay_amount, emote)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /pay [playerid/PartofName] [amount] [emote (Optional)]");
  20161. if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player ID.");
  20162. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player to pay them.");
  20163. if( pay_amount < 1) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Amount.");
  20164. if( pay_amount > PlayerData[playerid][pMoney]) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Amount.");
  20165. if(playerb == playerid ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't pay yourself money.");
  20166. if(gettime() - _pay_security_timer[playerid] < 3) return SendClientMessage(playerid, COLOR_WHITE, "Please wait before paying again. (Security Reasons)");
  20167. if(PlayerData[playerid][pLevel] < 2 && pay_amount > 500) return SendClientMessage(playerid, COLOR_ADM, "Levels 1 can only pay $500 at a single time.");
  20168. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  20169. PlayerPlaySound(playerb, 1052, 0.0, 0.0, 0.0);
  20170. format(string, sizeof(string), " You have sent %s, $%s. ", ReturnName(playerb, 0), MoneyFormat(pay_amount));
  20171. SendClientMessage(playerid, COLOR_GREY, string);
  20172. format(string, sizeof(string), " You have received $%s from %s.", MoneyFormat(pay_amount), ReturnName(playerid, 0));
  20173. SendClientMessage(playerb, COLOR_GREY, string);
  20174. if(strfind(emote, "None", true) != -1){
  20175. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s takes out some cash, and hands it to %s.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  20176. }
  20177. else{
  20178. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s %s (( Cash exchange ))", ReturnName(playerid, 0), emote, ReturnName(playerb, 0));
  20179. }
  20180. _pay_security_timer[playerid] = gettime();
  20181. if((PlayerData[playerid][pLevel] <= 3 && PlayerData[playerb][pLevel] <= 3 && pay_amount > 1000) || pay_amount >= 50000){
  20182. format(string, sizeof(string), "%s has paid $%s to %s", ReturnName(playerid, 1), MoneyFormat(pay_amount), ReturnName(playerb, 1));
  20183. adminWarn(1, string);
  20184. }
  20185. if (PlayerData[playerid][pLevel] == 1) {
  20186. if (PlayerData[playerid][pMoney] > 30000) {
  20187. adminWarn(1, sprintf("%s (id: %d) has paid %s (id: %d) %d out of the %d they have", ReturnName(playerid, 1), playerid, ReturnName(playerb, 1), playerb, pay_amount, PlayerData[playerid][pMoney]));
  20188. }
  20189. }
  20190. format(string, sizeof(string), "Paid $%s to %s", MoneyFormat(pay_amount), ReturnName(playerb));
  20191. LogPlayerAction(playerid, string);
  20192. format(string, sizeof(string), "Paid $%s from %s", MoneyFormat(pay_amount), ReturnName(playerid));
  20193. LogPlayerAction(playerb, string);
  20194. GiveMoney(playerid, -pay_amount);
  20195. GiveMoney(playerb, pay_amount);
  20196. SavePlayer(playerid);
  20197. SavePlayer(playerb);
  20198. WriteLog("money_logs/pay_log.txt", "[%s] %s has paid $%s to %s", ReturnDate(), ReturnName(playerid, 1), MoneyFormat(pay_amount), ReturnName(playerb, 1));
  20199. return true;
  20200. }
  20201. CMD:licenseexam(playerid, params[])
  20202. {
  20203. if(!pLoggedIn[playerid])return true;
  20204. new vehicleid = GetPlayerVehicleID(playerid);
  20205. if (PlayerData[playerid][pDriversLicense] != 0)
  20206. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You have a driver's license and can't do this.");
  20207. if (PlayerData[playerid][pMoney] < 1000)
  20208. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need $1000 to pass your license exam.");
  20209. if(IsPlayerInVehicle(playerid, dmvCar1) || IsPlayerInVehicle(playerid, dmvCar2) || IsPlayerInVehicle(playerid, dmvCar3) || IsPlayerInVehicle(playerid, dmvCar4)){
  20210. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Get in the driver's seat.");
  20211. SetPlayerCheckpoint(playerid, 1295.2953, -1561.9954, 13.2655, 5.0);
  20212. _taking_license_test[playerid] = true;
  20213. _taking_license_point[playerid] = 101;
  20214. _taking_license_vehicle[playerid] = vehicleid;
  20215. _taking_license_time[playerid] = 60;
  20216. SendClientMessage(playerid, COLOR_GREY, "Driving Instructor says: Follow the checkpoints and drive safely. Stop at intersections and meet the speed limit.");
  20217. ToggleVehicleEngine(vehicleid, true);
  20218. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s turned the engine of the %s on.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  20219. }
  20220. else{
  20221. SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a driver's test vehicle.");
  20222. }
  20223. return true;
  20224. }
  20225. CMD:licenses(playerid, params[])
  20226. {
  20227. new playerb;
  20228. if(!pLoggedIn[playerid])return true;
  20229. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /licenses [playerid/PartofName]");
  20230. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  20231. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  20232. ReturnLicenses(playerid, playerb);
  20233. if(playerb != playerid){
  20234. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s shows %s their identification card.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  20235. }
  20236. else{
  20237. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s looks at their identification card.", ReturnName(playerid, 0));
  20238. }
  20239. return true;
  20240. }
  20241. CMD:acceptdeath(playerid, params[])
  20242. {
  20243. if(!pLoggedIn[playerid])return true;
  20244. if(GetPlayerTeam(playerid) != STATE_WOUNDED)return SendClientMessage(playerid, COLOR_GREY, "ERROR: You aren't brutally wounded.");
  20245. ClearPlayerWeapons(playerid, 0);
  20246. SetDead(playerid);
  20247. return true;
  20248. }
  20249. CMD:respawnme(playerid, params[])
  20250. {
  20251. if(!pLoggedIn[playerid])return true;
  20252. if(GetPlayerTeam(playerid) != STATE_DEAD)return SendClientMessage(playerid, COLOR_GREY, "ERROR: You aren't dead right now.");
  20253. new string[128];
  20254. if(gettime() - _respawn_timer[playerid] < 60){
  20255. format(string, sizeof(string), "-> You've only been dead for %d seconds, you need to wait 60 seconds.", gettime() - _respawn_timer[playerid]);
  20256. SendClientMessage(playerid, COLOR_YELLOW, string);
  20257. return true;
  20258. }
  20259. PlayerData[playerid][pBrutallyWounded] = false;
  20260. _respawn_timer[playerid] = 0;
  20261. DeathTimeNotice[playerid] = 0;
  20262. TogglePlayerControllable(playerid, true);
  20263. SetPlayerHealth(playerid, 0);
  20264. PlayerJustDied[playerid] = 5;
  20265. return true;
  20266. }
  20267. CMD:buygun(playerid, params[])
  20268. {
  20269. if(!pLoggedIn[playerid])return true;
  20270. new weaponName[128], ammo, totalPrice, string[128], biz = IsPlayerInBusiness(playerid);
  20271. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  20272. if(BusinessData[biz][businessType] != BIZ_AMMUNATION)
  20273. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do that in here.");
  20274. if(!PlayerData[playerid][pWeaponsLicense]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a weapons license.");
  20275. if(sscanf(params, "s[128]i", weaponName, ammo)) {
  20276. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /buygun [weapon] [ammo]");
  20277. SendClientMessage(playerid, COLOR_GRAD2, "[ colt: $600; ammo: $75 ] [ deagle: $1500; ammo: $114 ] [ shotgun: $2700; ammo: $114 ]");
  20278. SendClientMessage(playerid, COLOR_GRAD2, "[ rifle: $3600; ammo: $300 ] [ armor: $1200 ]");
  20279. return true;
  20280. }
  20281. if(strmatch(weaponName, "colt")){
  20282. if( ammo < 1 )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Ammo.");
  20283. if( PlayerData[playerid][pMoney] < 600) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20284. totalPrice = ammo * 75 + 600;
  20285. if( PlayerData[playerid][pMoney] < totalPrice )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20286. format(string, sizeof(string), "Are you sure you want to purchase a Colt 45 for $%s?", MoneyFormat(totalPrice));
  20287. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseWeapon", WEAPON_COLT45, ammo, totalPrice);
  20288. }
  20289. else if(strmatch(weaponName, "deagle")){
  20290. if( ammo < 1 )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Ammo.");
  20291. if( PlayerData[playerid][pMoney] < 1500 ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20292. totalPrice = ammo * 114 + 1500;
  20293. if( PlayerData[playerid][pMoney] < totalPrice )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20294. format(string, sizeof(string), "Are you sure you want to purchase a Desert Eagle for $%s?", MoneyFormat(totalPrice));
  20295. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseWeapon", WEAPON_DEAGLE, ammo, totalPrice);
  20296. }
  20297. else if(strmatch(weaponName, "shotgun")){
  20298. if( ammo < 1 )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Ammo.");
  20299. if( PlayerData[playerid][pMoney] < 2700 ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20300. totalPrice = ammo * 114 + 2700;
  20301. if( PlayerData[playerid][pMoney] < totalPrice )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20302. format(string, sizeof(string), "Are you sure you want to purchase a Shotgun for $%s?", MoneyFormat(totalPrice));
  20303. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseWeapon", WEAPON_SHOTGUN, ammo, totalPrice);
  20304. }
  20305. else if(strmatch(weaponName, "rifle")){
  20306. if( ammo < 1 )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Ammo.");
  20307. if( PlayerData[playerid][pMoney] < 1200 ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20308. totalPrice = ammo * 100 + 1200;
  20309. if( PlayerData[playerid][pMoney] < totalPrice )return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20310. format(string, sizeof(string), "Are you sure you want to purchase a Rifle for $%s?", MoneyFormat(totalPrice));
  20311. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseWeapon", WEAPON_RIFLE, ammo, totalPrice);
  20312. }
  20313. else if(strmatch(weaponName, "armor")){
  20314. if( PlayerData[playerid][pMoney] < 1200 ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20315. totalPrice = 1200;
  20316. ConfirmDialog(playerid, "Confirmation", "Are you sure you want to purchase Armor for $2,000?", "OnPlayerPurchaseArmor", totalPrice);
  20317. }
  20318. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  20319. return true;
  20320. }
  20321. CMD:buyammo(playerid, params[])
  20322. {
  20323. if(!pLoggedIn[playerid])return true;
  20324. new weaponName[128], ammo, totalPrice, string[128], biz = IsPlayerInBusiness(playerid);
  20325. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  20326. if(BusinessData[biz][businessType] != BIZ_AMMUNATION)
  20327. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do that in here.");
  20328. if(!PlayerData[playerid][pWeaponsLicense])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a weapons license.");
  20329. if(sscanf(params, "s[128]i", weaponName, ammo)) {
  20330. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /buygun [weapon] [ammo]");
  20331. SendClientMessage(playerid, COLOR_GRAD2, "[ colt: $75 ] [ deagle: $114 ] [ shotgun: $114 ] [ rifle: $300 ]");
  20332. return true;
  20333. }
  20334. if(ammo < 1)
  20335. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Invalid Ammo.");
  20336. if(strmatch(weaponName, "colt")){
  20337. if(!PlayerHasWeapon(playerid, WEAPON_COLT45))
  20338. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have this weapon in hand.");
  20339. totalPrice = 75 * ammo;
  20340. if( PlayerData[playerid][pMoney] < totalPrice ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20341. format(string, sizeof(string), "Are you sure you want to buy ammo for $%s?", MoneyFormat(totalPrice));
  20342. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseAmmo", WEAPON_COLT45, ammo, totalPrice);
  20343. }
  20344. else if(strmatch(weaponName, "deagle")){
  20345. if(!PlayerHasWeapon(playerid, WEAPON_DEAGLE))
  20346. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have this weapon in hand.");
  20347. totalPrice = 114 * ammo;
  20348. if( PlayerData[playerid][pMoney] < totalPrice ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20349. format(string, sizeof(string), "Are you sure you want to buy ammo for $%s?", MoneyFormat(totalPrice));
  20350. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseAmmo", WEAPON_DEAGLE, ammo, totalPrice);
  20351. }
  20352. else if(strmatch(weaponName, "shotgun")){
  20353. if(!PlayerHasWeapon(playerid, WEAPON_SHOTGUN))
  20354. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have this weapon in hand.");
  20355. totalPrice = 114 * ammo;
  20356. if( PlayerData[playerid][pMoney] < totalPrice ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20357. format(string, sizeof(string), "Are you sure you want to buy ammo for $%s?", MoneyFormat(totalPrice));
  20358. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseAmmo", WEAPON_SHOTGUN, ammo, totalPrice);
  20359. }
  20360. else if(strmatch(weaponName, "rifle")){
  20361. if(!PlayerHasWeapon(playerid, WEAPON_RIFLE))
  20362. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have this weapon in hand.");
  20363. totalPrice = 300 * ammo;
  20364. if( PlayerData[playerid][pMoney] < totalPrice ) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20365. format(string, sizeof(string), "Are you sure you want to buy ammo for $%s?", MoneyFormat(totalPrice));
  20366. ConfirmDialog(playerid, "Confirmation", string, "OnPlayerPurchaseAmmo", WEAPON_RIFLE, ammo, totalPrice);
  20367. }
  20368. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  20369. return true;
  20370. }
  20371. CMD:autolow(playerid, params[])
  20372. {
  20373. if ( !pLoggedIn[playerid] )return true;
  20374. if ( !PlayerData[playerid][pAutoLow] ) {
  20375. PlayerData[playerid][pAutoLow] = true;
  20376. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You enabled auto low. Your default chat will now return in /low. ");
  20377. }
  20378. else {
  20379. PlayerData[playerid][pAutoLow] = false;
  20380. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You disabled auto low. Your default chat is back to normal.");
  20381. }
  20382. return true;
  20383. }
  20384. CMD:setspawn(playerid, params[])
  20385. {
  20386. if ( !pLoggedIn[playerid] )return true;
  20387. new spawn_id, optional;
  20388. if(sscanf(params, "dI(-1)", spawn_id, optional)){
  20389. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setspawn [spawn_id] ");
  20390. SendClientMessage(playerid, COLOR_DARKGREEN, "1. Airport | 2. House | 3. Rental House | 4. Faction");
  20391. return true;
  20392. }
  20393. switch ( spawn_id ) {
  20394. case 1: {
  20395. PlayerData[playerid][pSpawnSelect] = 0;
  20396. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  20397. }
  20398. case 2: {
  20399. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any houses.");
  20400. if(optional == -1){
  20401. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setspawn 2 [house_id] ");
  20402. SendClientMessage(playerid, COLOR_ADM, "You must specify your house ID by using /myhouse to fetch the ID. ");
  20403. return true;
  20404. }
  20405. if(optional < 0 || !PropertyData[optional][propertyid]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid house ID.");
  20406. for(new i = 0; i < MAX_PROPERTY; i++){
  20407. if(PropertyData[optional][propertyid] != 0){
  20408. if(PropertyData[optional][propertyOwnerSQL] != PlayerData[playerid][pSQLID]){
  20409. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own that house.");
  20410. return true;
  20411. }
  20412. }
  20413. }
  20414. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at your house.");
  20415. PlayerData[playerid][pSpawnSelect] = 1;
  20416. PlayerData[playerid][pSpawnHouse] = optional;
  20417. }
  20418. case 3: {
  20419. if( !PlayerData[playerid][pRenting] )return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't renting anywhere.");
  20420. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at your rental house.");
  20421. PlayerData[playerid][pSpawnSelect] = 2;
  20422. }
  20423. case 4: {
  20424. if( !PlayerData[playerid][pFaction] )return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  20425. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at your faction spawn.");
  20426. PlayerData[playerid][pSpawnSelect] = 3;
  20427. PlayerData[playerid][pSpawnPrecinct] = 0;
  20428. }
  20429. }
  20430. return true;
  20431. }
  20432. //NC
  20433. CMD:requestnc(playerid, params[])
  20434. {
  20435. if(gettime() - GetPVarInt(playerid, "RequestedNCTime") < 5)
  20436. return SendClientMessage(playerid, COLOR_ADM, "Wait 5 seconds before using this again.");
  20437. if(GetPVarInt(playerid, "RequestedNC") > 0)
  20438. return SendClientMessage(playerid, COLOR_ADM, "You have an active namechange requests.");
  20439. if( isnull(params) )
  20440. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /requestnc [Firstname_Lastname]");
  20441. if(ReturnSQLFromName(params))
  20442. {
  20443. SetPVarInt(playerid, "RequestedNCTime", gettime());
  20444. return SendClientMessage(playerid, COLOR_ADM, "You can't namechange to this name right now.");
  20445. }
  20446. new full_info[690], info[140];
  20447. format(info, sizeof(info), "{FFFFFF}You're requesting a namechange to: {FF9900}%s{FFFFFF}\n\n", params);
  20448. strcat(full_info, info);
  20449. strcat(full_info, "You will not lose any player statistics such as bank money, on hand money...\n");
  20450. strcat(full_info, "paycheck money and et cetera. Businesses and properties are kept.\n");
  20451. strcat(full_info, "{F81414}Players with weapon licenses will lose their license when namechanging.\n\n{FFFFFF}");
  20452. strcat(full_info, "Your namechange will need to be approved by an admin.\nClick Yes to forward your request.");
  20453. ConfirmDialog(playerid, "Request A Namechange", full_info, "OnNamechangeRequest");
  20454. SetPVarString(playerid, "RequestedNCName", params);
  20455. SetPVarInt(playerid, "RequestedNC", 1);
  20456. return 1;
  20457. }
  20458. //
  20459. CMD:rentvehicle(playerid, params[])
  20460. {
  20461. if(!pLoggedIn[playerid])return true;
  20462. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  20463. new vehicleid = GetPlayerVehicleID(playerid), string[128];
  20464. if(!IsValidRentalCar(vehicleid))
  20465. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This isn't a rental vehicle.");
  20466. if (!PlayerData[playerid][pDriversLicense] && !NoEngineCar(vehicleid))
  20467. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You do not have a drivers license.");
  20468. if(RentalData[vehicleid][rentalcarRented])
  20469. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This vehicles already being rented.");
  20470. if (NoEngineCar(vehicleid)) {
  20471. if(PlayerData[playerid][pMoney] < 500)
  20472. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20473. GiveMoney(playerid, -500);
  20474. } else {
  20475. if(PlayerData[playerid][pMoney] < 2000)
  20476. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  20477. GiveMoney(playerid, -2000);
  20478. }
  20479. RentalData[vehicleid][rentalcarRented] = true;
  20480. RentalData[vehicleid][rentalcarRentedBy] = PlayerData[playerid][pSQLID];
  20481. format(string, sizeof(string), "INFO: This %s belongs to you.", ReturnVehicleName(vehicleid));
  20482. SendClientMessage(playerid, COLOR_WHITE, string);
  20483. format(string, sizeof(string), "Rented Rental Vehicle DBID %i", RentalData[vehicleid][rentalcarSQLID]);
  20484. LogPlayerAction(playerid, string);
  20485. SendClientMessage(playerid, COLOR_DARKGREEN, "Available Commands: /engine, /lights, /lock");
  20486. return true;
  20487. }
  20488. CMD:unrentvehicle(playerid, params[])
  20489. {
  20490. if(!pLoggedIn[playerid])return true;
  20491. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  20492. new vehicleid = GetPlayerVehicleID(playerid), string[128];
  20493. if(!IsValidRentalCar(vehicleid))return SendClientMessage(playerid, COLOR_ADM, "SERVER: This isn't a rental vehicle.");
  20494. if(!RentalData[vehicleid][rentalcarRented])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This vehicle isn't rented by anyone.");
  20495. if(RentalData[vehicleid][rentalcarRentedBy] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This isn't your rental vehicle.");
  20496. if(!IsPlayerInRangeOfPoint(playerid, 9.0, RentalData[vehicleid][rentalcarPos][0], RentalData[vehicleid][rentalcarPos][1], RentalData[vehicleid][rentalcarPos][2])){
  20497. SendClientMessage(playerid, COLOR_ADM, "You aren't near your rental vehicles park spot.");
  20498. SendClientMessage(playerid, COLOR_PINK, "Hint: Follow the red marker to the park spot if you want your money back.");
  20499. SetPlayerCheckpoint(playerid, RentalData[vehicleid][rentalcarPos][0], RentalData[vehicleid][rentalcarPos][1], RentalData[vehicleid][rentalcarPos][2], 3.0);
  20500. return true;
  20501. }
  20502. RentalData[vehicleid][rentalcarRented] = false;
  20503. RentalData[vehicleid][rentalcarRentedBy] = 0;
  20504. format(string, sizeof(string), "You unrented the %s.", ReturnVehicleName(vehicleid));
  20505. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  20506. format(string, sizeof(string), "Unrented Rental Vehicle DBID %i", RentalData[vehicleid][rentalcarSQLID]);
  20507. LogPlayerAction(playerid, string);
  20508. SetVehicleToRespawn(vehicleid);
  20509. return true;
  20510. }
  20511. CMD:unrenttruck(playerid, params[]) {
  20512. if(!pLoggedIn[playerid])
  20513. return true;
  20514. if(!IsPlayerInAnyVehicle(playerid))
  20515. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  20516. new vehicleid = GetPlayerVehicleID(playerid), string[128];
  20517. if (!IsTruckerVehicle(vehicleid))
  20518. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This isn't a rental trucker vehicle.");
  20519. if (TruckerVehicleRentedBy[vehicleid] != PlayerData[playerid][pSQLID])
  20520. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This isn't your rental trucker vehicle.");
  20521. format(string, sizeof(string), "Unrented Rental Truck ID %i", vehicleid);
  20522. LogPlayerAction(playerid, string);
  20523. format(string, sizeof(string), "You unrented the %s.", ReturnVehicleName(vehicleid));
  20524. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  20525. TruckerVehicleRentedBy[vehicleid] = 0;
  20526. SetVehicleToRespawn(vehicleid);
  20527. return 1;
  20528. }
  20529. CMD:note(playerid, params[])
  20530. {
  20531. if(!pLoggedIn[playerid])return true;
  20532. new sub_param[128], sub_z_param[128], string[400], query[177];
  20533. if(sscanf(params, "s[128]S()[128]", sub_param, sub_z_param)){
  20534. SendClientMessage(playerid, COLOR_ACTION, "____________________________________________________");
  20535. SendClientMessage(playerid, COLOR_ACTION, "USAGE: /note [action]");
  20536. SendClientMessage(playerid, COLOR_ACTION, "/note create [text] - Create a new note.");
  20537. SendClientMessage(playerid, COLOR_ACTION, "/note display - See all your existing notes.");
  20538. SendClientMessage(playerid, COLOR_ACTION, "/note show [noteid] [playerid] - Show another player your note.");
  20539. SendClientMessage(playerid, COLOR_ACTION, "/note add [noteid] - Add text to existing note ID.");
  20540. SendClientMessage(playerid, COLOR_ACTION, "/note delete [noteid] - Delete an existing note ID.");
  20541. SendClientMessage(playerid, COLOR_ACTION, "____________________________________________________");
  20542. return true;
  20543. }
  20544. if(!strcmp(sub_param, "create")){
  20545. new note_id;
  20546. if(isnull(sub_z_param))return SendClientMessage(playerid, COLOR_ACTION, "USAGE: /note create [text]");
  20547. for(new i = 1; i < MAX_PLAYER_NOTES; i++)
  20548. {
  20549. if(!NoteData[playerid][i][NoteID]){
  20550. note_id = i;
  20551. break;
  20552. }
  20553. }
  20554. if(note_id == 0)return SendClientMessage(playerid, COLOR_ACTION, "You can't make anymore notes!");
  20555. format(NoteData[playerid][note_id][NoteDetail], 128, "%s", sub_z_param);
  20556. NoteData[playerid][note_id][NoteID] = note_id;
  20557. note_save_id[playerid] = note_id;
  20558. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO `player_notes` (playersqlid, slotid, details) VALUES(%i, %i, '%e')",
  20559. PlayerData[playerid][pSQLID], note_id, sub_z_param);
  20560. mysql_pquery(m_Handle, query, "SQL_AddPlayerNote", "i", playerid);
  20561. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s takes out a paper sheet and writes something.", ReturnName(playerid, 0));
  20562. format(string, sizeof(string), "[Notes] You've created a note with text: %s", sub_z_param);
  20563. SendClientMessage(playerid, COLOR_ACTION, string);
  20564. }
  20565. else if(!strcmp(sub_param, "display")){
  20566. new hasNotes;
  20567. for(new i = 1; i < MAX_PLAYER_NOTES; i++){
  20568. if(NoteData[playerid][i][NoteID] != 0) {
  20569. if(!isnull(NoteData[playerid][i][NoteDetail])){
  20570. format(string, sizeof(string), "[Notes] Note(%d) says: %s", i, NoteData[playerid][i][NoteDetail]);
  20571. SendClientMessage(playerid, COLOR_ACTION, string);
  20572. hasNotes++;
  20573. }
  20574. }
  20575. }
  20576. if(!hasNotes)return SendClientMessage(playerid, COLOR_ACTION, "You don't have any notes ( /note create )!");
  20577. //SendClientMessage(playerid, COLOR_ACTION, string);
  20578. }
  20579. else if(!strcmp(sub_param, "show")){
  20580. new playerb, noteid;
  20581. if(sscanf(sub_z_param, "du", noteid, playerb))
  20582. return SendClientMessage(playerid, COLOR_ACTION, "USAGE: /note show [note_id] [playerid OR name]");
  20583. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  20584. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  20585. if(!NoteData[playerid][noteid][NoteID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There isn't a note there.");
  20586. format(string, sizeof(string), "[Notes] Note(%d) says: %s", noteid, NoteData[playerid][noteid][NoteDetail]);
  20587. SendClientMessage(playerb, COLOR_ACTION, string);
  20588. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s shows %s a piece of paper.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  20589. }
  20590. else if(!strcmp(sub_param, "add")){
  20591. new addtext[128], noteid;
  20592. if(sscanf(sub_z_param, "ds[128]", noteid, addtext))
  20593. return SendClientMessage(playerid, COLOR_ACTION, "USAGE: /note add [note_id] [text]");
  20594. if(!NoteData[playerid][noteid][NoteID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There isn't a note there.");
  20595. format(string, sizeof(string), "[Notes] Note(%d) now says: %s", noteid, addtext);
  20596. SendClientMessage(playerid, COLOR_ACTION, string);
  20597. format(NoteData[playerid][noteid][NoteDetail], 128, "%s", addtext);
  20598. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_notes SET details = '%e' WHERE id = %i",
  20599. NoteData[playerid][noteid][NoteDetail], NoteData[playerid][noteid][NoteSQLID]);
  20600. mysql_tquery(m_Handle, query);
  20601. }
  20602. else if(!strcmp(sub_param, "delete")){
  20603. new noteid;
  20604. if(sscanf(sub_z_param, "d", noteid))
  20605. return SendClientMessage(playerid, COLOR_ACTION, "USAGE: /note delete [note_id]");
  20606. if(!NoteData[playerid][noteid][NoteID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There isn't a note there.");
  20607. format(string, sizeof(string), "You deleted Note(%d): %s", noteid, NoteData[playerid][noteid][NoteDetail]);
  20608. SendClientMessage(playerid, COLOR_ACTION, string);
  20609. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM player_notes WHERE id = %i", NoteData[playerid][noteid][NoteSQLID]);
  20610. mysql_tquery(m_Handle, query);
  20611. NoteData[playerid][noteid][NoteID] = 0;
  20612. NoteData[playerid][noteid][NoteSQLID] = 0;
  20613. }
  20614. return true;
  20615. }
  20616. CMD:colorlist(playerid, params[])
  20617. {
  20618. if(!pLoggedIn[playerid])return true;
  20619. new color_list[4000];
  20620. color_list[0] = EOS;
  20621. for(new colorid = 0; colorid != sizeof(VehicleColoursTableRGBA); colorid++)
  20622. {
  20623. format(color_list, sizeof(color_list), "%s{%06x}Color %03d%s", color_list, VehicleColoursTableRGBA[colorid] >>> 8, colorid, !((colorid + 1) % 21) ? ("\n") : (" "));
  20624. }
  20625. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Color List", color_list, "<<", "");
  20626. return true;
  20627. }
  20628. CMD:weapon(playerid, params[])
  20629. {
  20630. new string[128], specifier[40], specifierex[40];
  20631. if (sscanf(params, "s[40]S()[40]", specifier, specifierex))
  20632. {
  20633. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /weapon [adjust, bone, hide, reset] [weapon id]");
  20634. SendClientMessage(playerid, COLOR_ADM, "TIP:{FFFFFF} Use /weapon hide [id] to hide smaller weapons from being seen.");
  20635. return true;
  20636. }
  20637. if (!strcmp(specifier, "hide"))
  20638. {
  20639. new id, query[350];
  20640. if (sscanf(specifierex, "d", id))
  20641. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /weapon hide [weapon id]");
  20642. if (!IsValidDisplayWeapon(id))
  20643. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a weapon ID that can't be edited.");
  20644. if (NotHideableWeapon(id))
  20645. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This is a weapon you can't hide.");
  20646. if (WeaponDisplay[playerid][id][weaponHidden])
  20647. {
  20648. WeaponDisplay[playerid][id][weaponHidden] = false;
  20649. format (string, sizeof(string), "You've shown your %s.", ReturnWeaponName(id));
  20650. SendClientMessage(playerid, COLOR_ADM, string);
  20651. }
  20652. else
  20653. {
  20654. WeaponDisplay[playerid][id][weaponHidden] = true;
  20655. if (IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(id))) RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(id));
  20656. format (string, sizeof(string), "You've hidden your %s.", ReturnWeaponName(id));
  20657. SendClientMessage(playerid, COLOR_ADM, string);
  20658. }
  20659. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO weapon_attachments(playerdbid, weaponid, boneid, PosX, PosY, PosZ, RotX, RotY, RotZ, Hidden) VALUES(%i, %i, %i, %f, %f, %f, %f, %f, %f, %i) ON DUPLICATE KEY UPDATE boneid = %i, PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f, Hidden = %i",
  20660. PlayerData[playerid][pSQLID], id, WeaponDisplay[playerid][id][weaponBone], -0.055998, 0.188999, 0.053998, 0.000000, 44.500007, 0.000000, WeaponDisplay[playerid][id][weaponHidden], WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2], WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2], WeaponDisplay[playerid][id][weaponHidden]);
  20661. mysql_tquery(m_Handle, query);
  20662. }
  20663. else if (!strcmp(specifier, "adjust"))
  20664. {
  20665. new id;
  20666. if (EditingDisplay[playerid])
  20667. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're already editing a weapon.");
  20668. if (sscanf(specifierex, "d", id))
  20669. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /weapon adjust [weapon id]");
  20670. if (!IsValidDisplayWeapon(id))
  20671. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a weapon ID that can't be edited.");
  20672. EditingDisplay[playerid] = id;
  20673. if (IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(id))) RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(id));
  20674. SetPlayerArmedWeapon(playerid, 0);
  20675. SetPlayerAttachedObject(playerid, ReturnWeaponsSlot(id), GetGunObjectID(id), WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2],
  20676. WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2]);
  20677. EditAttachedObject(playerid, ReturnWeaponsSlot(id));
  20678. }
  20679. else if(!strcmp(specifier, "bone"))
  20680. {
  20681. new
  20682. id, bone, query[350];
  20683. if (EditingDisplay[playerid])
  20684. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Stop editing your weapon first.");
  20685. if (sscanf(specifierex, "ii", id, bone))
  20686. {
  20687. SendClientMessage(playerid, COLOR_ADM, "USAGE: /weapon bone [weapon id] [bone]");
  20688. SendClientMessage(playerid, COLOR_WHITE, "Bone: 1 - Spine, 2 - Head, 3 - Upper L Arm, 4 - Upper R Arm, 5 - Left Hand");
  20689. SendClientMessage(playerid, COLOR_WHITE, "Bone: 6 - Right Hand, 7 - Left Thigh, 8 - Right Thigh, 9 - Left Foot, 10 - Right Foot");
  20690. return 1;
  20691. }
  20692. if (!IsValidDisplayWeapon(id))
  20693. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a weapon ID that can't be edited.");
  20694. if(bone < 1 || bone > 10)
  20695. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid bone.");
  20696. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO weapon_attachments(playerdbid, weaponid, boneid, PosX, PosY, PosZ, RotX, RotY, RotZ, Hidden) VALUES(%i, %i, %i, %f, %f, %f, %f, %f, %f, %i) ON DUPLICATE KEY UPDATE boneid = %i, PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f, Hidden = %i",
  20697. PlayerData[playerid][pSQLID], id, bone, -0.055998, 0.188999, 0.053998, 0.000000, 44.500007, 0.000000, WeaponDisplay[playerid][id][weaponHidden], bone, WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2], WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2], WeaponDisplay[playerid][id][weaponHidden]);
  20698. mysql_tquery(m_Handle, query);
  20699. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(id)))
  20700. {
  20701. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(id));
  20702. SetPlayerAttachedObject(playerid, ReturnWeaponsSlot(id), GetGunObjectID(id), WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2],
  20703. WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2]);
  20704. WeaponDisplay[playerid][id][weaponBone] = bone;
  20705. }
  20706. else WeaponDisplay[playerid][id][weaponBone] = bone;
  20707. SendClientMessage(playerid, COLOR_ADM, "Your weapons bone was updated.");
  20708. }
  20709. else if(!strcmp(specifier, "reset"))
  20710. {
  20711. new
  20712. id,
  20713. query[350];
  20714. if (EditingDisplay[playerid])
  20715. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Stop editing your weapon first.");
  20716. if(sscanf(specifierex, "i", id))
  20717. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /weapon reset [weapon id]");
  20718. if (!IsValidDisplayWeapon(id))
  20719. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a weapon ID that can't be edited.");
  20720. WeaponDisplay[playerid][id][weaponBone] = 1;
  20721. WeaponDisplay[playerid][id][weaponPos][0] = -0.055998;
  20722. WeaponDisplay[playerid][id][weaponPos][1] = 0.188999;
  20723. WeaponDisplay[playerid][id][weaponPos][2] = 0.053998;
  20724. WeaponDisplay[playerid][id][weaponRot][0] = 0.000000;
  20725. WeaponDisplay[playerid][id][weaponRot][1] = 44.500007;
  20726. WeaponDisplay[playerid][id][weaponRot][2] = 0.000000;
  20727. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO weapon_attachments(playerdbid, weaponid, boneid, PosX, PosY, PosZ, RotX, RotY, RotZ, Hidden) VALUES(%i, %i, %i, %f, %f, %f, %f, %f, %f, %i) ON DUPLICATE KEY UPDATE boneid = %i, PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f, Hidden = %i",
  20728. PlayerData[playerid][pSQLID], id, WeaponDisplay[playerid][id][weaponBone], -0.055998, 0.188999, 0.053998, 0.000000, 44.500007, 0.000000, WeaponDisplay[playerid][id][weaponHidden], WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2], WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2], WeaponDisplay[playerid][id][weaponHidden]);
  20729. mysql_tquery(m_Handle, query);
  20730. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(id)))
  20731. {
  20732. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(id));
  20733. SetPlayerAttachedObject(playerid, ReturnWeaponsSlot(id), GetGunObjectID(id), WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2],
  20734. WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2]);
  20735. }
  20736. Message(playerid, COLOR_ADM, "Your %s was reset to a default position.", ReturnWeaponName(id));
  20737. }
  20738. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  20739. return true;
  20740. }
  20741. CMD:boombox(playerid, params[])
  20742. {
  20743. new string[128], specifier[40], specifier_ex[40];
  20744. if (sscanf(params, "s[40]S()[40]", specifier, specifier_ex))
  20745. {
  20746. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /boombox [action]");
  20747. SendClientMessage(playerid, COLOR_ADM, "[Action] place, adjust, destroy, pickup, giveto");
  20748. SendClientMessage(playerid, COLOR_ADM, "** Use /setstation to set the station. **");
  20749. return true;
  20750. }
  20751. if (!PlayerData[playerid][pHasBoombox])
  20752. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a Boombox.");
  20753. if (!strcmp(specifier, "place"))
  20754. {
  20755. new bool:alreadyPlaced = false, bool:nearbyBoombox = false, id = FreeBoomboxID();
  20756. if (id == -1)
  20757. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't place Boombox's right now. Try again later. (Max 30)");
  20758. for (new i = 1; i < MAX_BOOMBOXS; i++)
  20759. {
  20760. if (BoomboxData[i][boomboxExists])
  20761. {
  20762. if (BoomboxData[i][boomboxPlayerID] == PlayerData[playerid][pSQLID])
  20763. {
  20764. alreadyPlaced = true;
  20765. }
  20766. }
  20767. }
  20768. if(alreadyPlaced == true)
  20769. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already have a boombox placed.");
  20770. for (new i = 1; i < MAX_BOOMBOXS; i++)
  20771. {
  20772. if (BoomboxData[i][boomboxExists])
  20773. {
  20774. if (IsPlayerInRangeOfPoint(playerid, 20.0, BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2]))
  20775. {
  20776. nearbyBoombox = true;
  20777. }
  20778. }
  20779. }
  20780. if (nearbyBoombox == true)
  20781. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There's already a boombox placed near you. You need to get away from it.");
  20782. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  20783. BoomboxData[id][boomboxArea] = CreateDynamicCircle(PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], 30.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  20784. BoomboxData[id][boomboxObject] = CreateDynamicObject(2226, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2] - 1, 0.0, 0.0, 0.0,
  20785. GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  20786. BoomboxData[id][boomboxExists] = true;
  20787. BoomboxData[id][boomboxPlayerID] = PlayerData[playerid][pSQLID];
  20788. BoomboxData[id][boomboxPos][0] = PlayerData[playerid][pPos][0];
  20789. BoomboxData[id][boomboxPos][1] = PlayerData[playerid][pPos][1];
  20790. BoomboxData[id][boomboxPos][2] = PlayerData[playerid][pPos][2];
  20791. new bizid = IsPlayerInBusiness(playerid);
  20792. if (bizid) {
  20793. BoomboxData[id][boomboxInBusiness] = BusinessData[bizid][businessID];
  20794. } else {
  20795. BoomboxData[id][boomboxInBusiness] = 0;
  20796. }
  20797. SendClientMessage(playerid, COLOR_DARKGREEN, "You put down a Boombox. To move it, use /boombox adjust while near it. /setstation");
  20798. }
  20799. else if (!strcmp(specifier, "adjust"))
  20800. {
  20801. new bool:nearBoombox, id;
  20802. for (new i = 1; i < MAX_BOOMBOXS; i++)
  20803. {
  20804. if (BoomboxData[i][boomboxExists])
  20805. {
  20806. if (IsPlayerInRangeOfPoint(playerid, 4.0, BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2]))
  20807. {
  20808. if (BoomboxData[i][boomboxPlayerID] != PlayerData[playerid][pSQLID])
  20809. return SendClientMessage(playerid, COLOR_ADM, "You don't own this boombox.");
  20810. nearBoombox = true;
  20811. id = i;
  20812. }
  20813. }
  20814. }
  20815. if(nearBoombox == false)
  20816. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near a boombox.");
  20817. EditDynamicObject(playerid, BoomboxData[id][boomboxObject]);
  20818. EditingBoombox[playerid] = id;
  20819. }
  20820. else if (!strcmp(specifier, "destroy"))
  20821. {
  20822. new bool:nearBoombox, id;
  20823. for (new i = 1; i < MAX_BOOMBOXS; i++)
  20824. {
  20825. if (BoomboxData[i][boomboxExists])
  20826. {
  20827. if (IsPlayerInRangeOfPoint(playerid, 4.0, BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2]))
  20828. {
  20829. if (BoomboxData[i][boomboxPlayerID] != PlayerData[playerid][pSQLID])
  20830. return SendClientMessage(playerid, COLOR_ADM, "You don't own this boombox.");
  20831. nearBoombox = true;
  20832. id = i;
  20833. }
  20834. }
  20835. }
  20836. if(nearBoombox == false)
  20837. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near a boombox.");
  20838. SendClientMessage(playerid, COLOR_ADM, "You destroyed your Boombox.");
  20839. foreach (new i : Player)
  20840. {
  20841. if(pLoggedIn[i])
  20842. {
  20843. if (IsPlayerInRangeOfPoint(i, 10.0, BoomboxData[id][boomboxPos][0], BoomboxData[id][boomboxPos][1], BoomboxData[id][boomboxPos][2]))
  20844. {
  20845. StopAudioStreamForPlayer(i);
  20846. }
  20847. }
  20848. }
  20849. RemoveBoombox(id);
  20850. DestroyDynamicObject(BoomboxData[id][boomboxObject]);
  20851. PlayerData[playerid][pHasBoombox] = false;
  20852. }
  20853. else if (!strcmp(specifier, "pickup"))
  20854. {
  20855. new bool:nearBoombox, id;
  20856. for (new i = 1; i < MAX_BOOMBOXS; i++)
  20857. {
  20858. if (BoomboxData[i][boomboxExists])
  20859. {
  20860. if (IsPlayerInRangeOfPoint(playerid, 4.0, BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2]))
  20861. {
  20862. if (BoomboxData[i][boomboxPlayerID] != PlayerData[playerid][pSQLID])
  20863. return SendClientMessage(playerid, COLOR_ADM, "You don't own this boombox.");
  20864. nearBoombox = true;
  20865. id = i;
  20866. }
  20867. }
  20868. }
  20869. if(nearBoombox == false)
  20870. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near a boombox.");
  20871. SendClientMessage(playerid, COLOR_ADM, "You picked up your Boombox. Use /boombox place later");
  20872. foreach (new i : Player)
  20873. {
  20874. if(pLoggedIn[i])
  20875. {
  20876. if (IsPlayerInRangeOfPoint(i, 10.0, BoomboxData[id][boomboxPos][0], BoomboxData[id][boomboxPos][1], BoomboxData[id][boomboxPos][2]))
  20877. {
  20878. StopAudioStreamForPlayer(i);
  20879. }
  20880. }
  20881. }
  20882. RemoveBoombox(id);
  20883. DestroyDynamicObject(BoomboxData[id][boomboxObject]);
  20884. }
  20885. else if (!strcmp(specifier, "giveto"))
  20886. {
  20887. new bool:nearBoombox, id, playerb;
  20888. for (new i = 1; i < MAX_BOOMBOXS; i++)
  20889. {
  20890. if (BoomboxData[i][boomboxExists])
  20891. {
  20892. if (IsPlayerInRangeOfPoint(playerid, 4.0, BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2]))
  20893. {
  20894. if (BoomboxData[i][boomboxPlayerID] != PlayerData[playerid][pSQLID])
  20895. return SendClientMessage(playerid, COLOR_ADM, "You don't own this boombox.");
  20896. nearBoombox = true;
  20897. id = i;
  20898. }
  20899. }
  20900. }
  20901. if(nearBoombox == false)
  20902. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near a boombox.");
  20903. if (sscanf(specifier_ex, "u", playerb))
  20904. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /boombox giveto [playerid/PartofName]");
  20905. if (!IsPlayerConnected(playerb))
  20906. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't connected.");
  20907. if (!pLoggedIn[playerb])
  20908. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  20909. if (PlayerData[playerb][pHasBoombox])
  20910. return SendClientMessage(playerid, COLOR_ADM, "That player already owns a boombox.");
  20911. BoomboxData[id][boomboxPlayerID] = PlayerData[playerb][pSQLID];
  20912. format (string, sizeof(string), "* %s gave %s their Boombox.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  20913. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  20914. format (string, sizeof(string), "** You gave %s your Boombox.", ReturnName(playerb, 0));
  20915. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  20916. PlayerData[playerid][pHasBoombox] = false;
  20917. }
  20918. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  20919. return true;
  20920. }
  20921. CMD:eat(playerid, params[])
  20922. {
  20923. new id = IsPlayerInBusiness(playerid) ;
  20924. if (!id)
  20925. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in an establishment.");
  20926. if (BusinessData[id][businessType] != BIZ_RESTAURANT)
  20927. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a restaurant.");
  20928. if (MealMenu[playerid][mealExists] == true)
  20929. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already have a meal.");
  20930. ShowMealMenu(playerid);
  20931. return true;
  20932. }
  20933. CMD:meal(playerid, params[])
  20934. {
  20935. new stringb[90];
  20936. if (sscanf(params, "s[90]", stringb))
  20937. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /meal [order / place / pickup / throw]");
  20938. if (!strcmp(stringb, "order"))
  20939. {
  20940. return cmd_eat(playerid, "");
  20941. }
  20942. else if (!strcmp(stringb, "throw"))
  20943. {
  20944. if (!MealMenu[playerid][mealExists])
  20945. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a meal.");
  20946. if (MealMenu[playerid][mealPlaced] == true)
  20947. {
  20948. if (!IsPlayerInRangeOfPoint(playerid, 4.0, MealMenu[playerid][mealPos][0], MealMenu[playerid][mealPos][1], MealMenu[playerid][mealPos][2]))
  20949. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near your meal tray.");
  20950. DestroyDynamicObject(MealMenu[playerid][mealObject]);
  20951. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s throws their meal away.", ReturnName(playerid, 0));
  20952. MealMenu[playerid][mealExists] = false;
  20953. MealMenu[playerid][mealPlaced] = false;
  20954. return true;
  20955. }
  20956. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s throws their meal away.", ReturnName(playerid, 0));
  20957. MealMenu[playerid][mealExists] = false;
  20958. PlayerData[playerid][pCarryingMeal] = false;
  20959. RemovePlayerAttachedObject(playerid, 9);
  20960. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  20961. }
  20962. else if (!strcmp(stringb, "place"))
  20963. {
  20964. if (!MealMenu[playerid][mealExists])
  20965. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a meal.");
  20966. if (MealMenu[playerid][mealPlaced])
  20967. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already have a meal placed.");
  20968. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s places their meal down.", ReturnName(playerid, 0));
  20969. RemovePlayerAttachedObject(playerid, 9);
  20970. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  20971. new modelid = MealMenu[playerid][mealModel];
  20972. new Float:playersPos[3];
  20973. GetPlayerPos(playerid, playersPos[0], playersPos[1], playersPos[2]);
  20974. PlayerData[playerid][pPlacingMeal] = true;
  20975. MealMenu[playerid][mealObject] =
  20976. CreateDynamicObject(modelid, playersPos[0] - 1, playersPos[1], playersPos[2], -22.500001, 22.199998, 162.999984, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  20977. EditDynamicObject(playerid, MealMenu[playerid][mealObject]);
  20978. }
  20979. else if (!strcmp(stringb, "pickup"))
  20980. {
  20981. if (!MealMenu[playerid][mealExists])
  20982. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a meal.");
  20983. if (!MealMenu[playerid][mealPlaced])
  20984. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a meal placed.");
  20985. if (!IsPlayerInRangeOfPoint(playerid, 4.0, MealMenu[playerid][mealPos][0], MealMenu[playerid][mealPos][1], MealMenu[playerid][mealPos][2]))
  20986. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near your meal tray.");
  20987. DestroyDynamicObject(MealMenu[playerid][mealObject]);
  20988. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s picks up their meal down.", ReturnName(playerid, 0));
  20989. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  20990. SetPlayerAttachedObject(playerid, 9, MealMenu[playerid][mealModel], 1, 0.027000, 0.426000, -0.268000, 127.699913, 119.700027, -66.799972);
  20991. MealMenu[playerid][mealPlaced] = false;
  20992. PlayerData[playerid][pCarryingMeal] = true;
  20993. }
  20994. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  20995. return true;
  20996. }
  20997. //Vehicle Commands
  20998. CMD:v(playerid, params[])return cmd_vehicle(playerid, params);
  20999. CMD:vehicle(playerid, params[])
  21000. {
  21001. if(!pLoggedIn[playerid]) return true;
  21002. new a_string[60], b_string[128], string[128];
  21003. if(sscanf(params, "s[60]S()[128]", a_string, b_string)) {
  21004. SendClientMessage(playerid, COLOR_ACTION, "____________________________________________________");
  21005. SendClientMessage(playerid, COLOR_ACTION, "USAGE: /v(ehicle) [action]");
  21006. SendClientMessage(playerid, COLOR_ACTION, "[Actions] get, park, buypark, stats, list");
  21007. SendClientMessage(playerid, COLOR_ACTION, "[Actions] find, tow, faction, buy, trunk, hood");
  21008. SendClientMessage(playerid, COLOR_ACTION, "[Actions] payfines, sell, accept, refill, lights");
  21009. SendClientMessage(playerid, COLOR_ACTION, "[Actions] lock, duplicatekey");
  21010. SendClientMessage(playerid, COLOR_ACTION, "[Actions] scrap (warning: permanently deletes your vehicle)");
  21011. SendClientMessage(playerid, COLOR_ACTION, "____________________________________________________");
  21012. return true;
  21013. }
  21014. if(!strcmp(a_string, "get") || !strcmp(a_string, "g", true)) {
  21015. if(_has_vehicle_spawned[playerid])
  21016. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You already have a vehicle spawned.");
  21017. if(gettime() - PlayerListShow[playerid] < 3)
  21018. return SendClientMessage(playerid, COLOR_ADM, "You need to wait 3 seconds before using this again.");
  21019. if(GetPVarInt(playerid, "Viewing_OwnedCarList") > 0)
  21020. return SendClientMessage(playerid, COLOR_ADM, "You're already looking at it.");
  21021. ShowPlayerVehicleList(playerid);
  21022. PlayerListShow[playerid] = gettime();
  21023. return 1;
  21024. /*new slotid;
  21025. if(sscanf(b_string, "d", slotid))
  21026. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /v(ehicle) get [vehicle slot ID]");
  21027. if(slotid > MAX_OWNED_CARS || slotid < 1)
  21028. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Slot.");
  21029. if(!PlayerData[playerid][pOwnedCar][slotid])
  21030. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have a vehicle in that slot.");
  21031. if(_has_vehicle_spawned[playerid])
  21032. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You already have a vehicle spawned.");
  21033. LoadOwnedCars(playerid, slotid);*/
  21034. }
  21035. else if(!strcmp(a_string, "park") || !strcmp(a_string, "p", true)) {
  21036. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  21037. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in the driver's seat.");
  21038. new vehicleid = GetPlayerVehicleID(playerid);
  21039. if(!IsValidPlayerCar(vehicleid))
  21040. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't park this type of vehicle.");
  21041. if(PlayerData[playerid][pSQLID] != CarData[vehicleid][carOwnerID])
  21042. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this vehicle.");
  21043. if(!IsPlayerInRangeOfPoint(playerid, 5.0, CarData[vehicleid][carPos][0], CarData[vehicleid][carPos][1], CarData[vehicleid][carPos][2])){
  21044. SetPlayerCheckpoint(playerid, CarData[vehicleid][carPos][0], CarData[vehicleid][carPos][1], CarData[vehicleid][carPos][2], 3.0);
  21045. SendClientMessage(playerid, COLOR_ADM, "You have to be at your vehicle's parking place.");
  21046. SendClientMessage(playerid, COLOR_PINK, "Follow the marker.");
  21047. return true;
  21048. }
  21049. for(new i = 1; i < 5; i++)
  21050. {
  21051. if(CarData[vehicleid][carWeapons][i])
  21052. {
  21053. if(IsValidDynamicObject(CarData[vehicleid][carWeaponObject][i]))
  21054. DestroyDynamicObject(CarData[vehicleid][carWeaponObject][i]);
  21055. }
  21056. }
  21057. foreach(new i : Player)
  21058. {
  21059. if(PlayerPlacingWeapon[i] && PlayerPlacingInVehicle[i] == vehicleid)
  21060. {
  21061. CancelEdit(i);
  21062. if(IsValidDynamicObject(CarData[ PlayerPlacingInVehicle[i] ][carWeaponObject][PlayerPlacingWeaponSlot[i]]))
  21063. DestroyDynamicObject(CarData[ PlayerPlacingInVehicle[i] ][carWeaponObject][PlayerPlacingWeaponSlot[i]]);
  21064. }
  21065. }
  21066. foreach(new i : Player)
  21067. {
  21068. if(GetPVarInt(i, "DuplicateKey") == CarData[vehicleid][carID])
  21069. {
  21070. DeletePVar(i, "DuplicateKey");
  21071. Message(i, COLOR_WHITE, "Your duplicate key to %s's vehicle expired.", ReturnSQLName(CarData[vehicleid][carOwnerID]));
  21072. }
  21073. }
  21074. CarData[vehicleid][carExists] = false;
  21075. SaveCar(vehicleid);
  21076. _has_vehicle_spawned[playerid] = false;
  21077. _has_spawned_vehicleid[playerid] = 0;
  21078. format(string, sizeof(string), "Parked by %s", ReturnName(playerid));
  21079. LogVehicleAction(vehicleid, string);
  21080. format(string, sizeof(string), "Your %s was parked.", ReturnVehicleName(vehicleid));
  21081. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  21082. SetVehicleHealth(vehicleid, 300);
  21083. DefaultVehicleValues(vehicleid);
  21084. DestroyVehicle(vehicleid);
  21085. }
  21086. else if(!strcmp(a_string, "buypark") || !strcmp(a_string, "bp")) {
  21087. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle to park.");
  21088. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in the driver's seat.");
  21089. new ownedHouse, freePark = 0, vehicleid = GetPlayerVehicleID(playerid);
  21090. if(IsValidPlayerCar(vehicleid)){
  21091. if(CarData[vehicleid][carOwnerID] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this vehicle.");
  21092. GetPlayerPos(playerid, CarData[vehicleid][carPos][0], CarData[vehicleid][carPos][1], CarData[vehicleid][carPos][2]);
  21093. GetVehicleZAngle(vehicleid, CarData[vehicleid][carPos][3]);
  21094. CarData[vehicleid][carInterior] = GetPlayerInterior(playerid);
  21095. CarData[vehicleid][carWorld] = GetPlayerVirtualWorld(playerid);
  21096. for(new i = 0; i < MAX_PROPERTY; i++){
  21097. if(PropertyData[i][propertyid] != 0){
  21098. if(PropertyData[i][propertyOwnerSQL] == PlayerData[playerid][pSQLID]){
  21099. ownedHouse = i;
  21100. }
  21101. }
  21102. }
  21103. if(PlayerData[playerid][pInsideGarage]){
  21104. if(GarageData[playerid][garagePropertyID] == ownedHouse){
  21105. freePark = 1;
  21106. }
  21107. }
  21108. else {
  21109. for(new i = 0; i < MAX_PROPERTY; i++){
  21110. if(PropertyData[i][propertyid] != 0){
  21111. if(IsPlayerInRangeOfPoint(playerid, 15.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2])){
  21112. if(PropertyData[i][propertyOwnerSQL] == PlayerData[playerid][pSQLID]){
  21113. freePark = 1;
  21114. }
  21115. }
  21116. }
  21117. }
  21118. }
  21119. if(!freePark) {
  21120. if(1500 > PlayerData[playerid][pMoney])
  21121. return SendClientMessage(playerid, COLOR_ADM, "You can't afford this parking. ($1500)");
  21122. GiveMoney(playerid, -1500);
  21123. SendClientMessage(playerid, COLOR_DARKGREEN, "Parking place purchased for $1500 (Area change).");
  21124. }
  21125. else {
  21126. SendClientMessage(playerid, COLOR_DARKGREEN, "Parking place changed for free of charge!");
  21127. }
  21128. }
  21129. else if(IsValidFactionCar(vehicleid)){
  21130. if(PlayerData[playerid][pAdmin] < 3 || PlayerData[playerid][pFactionRank] < FactionData[PlayerData[playerid][pFaction]][factionEditrank]) return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't park this vehicle.");
  21131. GetVehiclePos(vehicleid, FactionCar[vehicleid][carPos][0], FactionCar[vehicleid][carPos][1], FactionCar[vehicleid][carPos][2]);
  21132. GetVehicleZAngle(vehicleid, FactionCar[vehicleid][carPos][3]);
  21133. FactionCar[vehicleid][carInterior] = GetPlayerInterior(playerid);
  21134. FactionCar[vehicleid][carWorld] = GetPlayerVirtualWorld(playerid);
  21135. SaveFactionCar(vehicleid);
  21136. RefreshFactionCar(vehicleid);
  21137. GiveMoney(playerid, -1500);
  21138. SendClientMessage(playerid, COLOR_DARKGREEN, "Parking place purchased for $1500.");
  21139. }
  21140. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: This command can only be used for private vehicles. You are in a public static vehicle.");
  21141. }
  21142. else if(!strcmp(a_string, "stats")){
  21143. if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  21144. new pcar = GetPlayerVehicleID(playerid);
  21145. if (CarData[pcar][carOwnerID] != PlayerData[playerid][pSQLID]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this vehicle");
  21146. format(string, sizeof(string), "Life Span: Engine Life[%.2f], Battery Life[%.2f], Times Destroyed[%d]", CarData[pcar][carEngine], CarData[pcar][carBattery], CarData[pcar][carTimeDestroyed]);
  21147. SendClientMessage(playerid, COLOR_WHITE, string);
  21148. format(string, sizeof(string), "Security: Lock[%d], Alarm[%d], Immobiliser[%d], Insurance[%d]", CarData[pcar][carLock], CarData[pcar][carAlarm], CarData[pcar][carImmob], CarData[pcar][carInsurance]);
  21149. SendClientMessage(playerid, COLOR_WHITE, string);
  21150. format(string, sizeof(string), "Misc: Primary Color[{%06x}%d{FFFFFF}], Secondary Color[{%06x}%d{FFFFFF}], License Plate[%s] ", VehicleColoursTableRGBA[CarData[pcar][carColor1]] >>> 8, CarData[pcar][carColor1], VehicleColoursTableRGBA[CarData[pcar][carColor2]] >>> 8, CarData[pcar][carColor2], CarData[pcar][carPlates]);
  21151. SendClientMessage(playerid, COLOR_WHITE, string);
  21152. return 1;
  21153. }
  21154. else if(!strcmp(a_string, "list"))
  21155. {
  21156. if (CountPlayerCars(playerid) == 0)
  21157. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't own any vehicles.");
  21158. ShowVehicleList(playerid);
  21159. }
  21160. else if(!strcmp(a_string, "find")){
  21161. if(!_has_vehicle_spawned[playerid]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a vehicle spawned.");
  21162. if(!IsVehicleOccupied(_has_spawned_vehicleid[playerid])){
  21163. new Float: car_pos[3];
  21164. GetVehiclePos(_has_spawned_vehicleid[playerid], car_pos[0], car_pos[1], car_pos[2]);
  21165. SetPlayerCheckpoint(playerid, car_pos[0], car_pos[1], car_pos[2], 4.0);
  21166. }
  21167. else return SendClientMessage(playerid, COLOR_ADM, "Your vehicle is in use / stolen right now!");
  21168. }
  21169. else if(!strcmp(a_string, "tow")){
  21170. if(!_has_vehicle_spawned[playerid]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a vehicle spawned.");
  21171. if(playerTowingVehicle[playerid])
  21172. return SendClientMessage(playerid, COLOR_ADM, "You're already towing a vehicle. ");
  21173. if(!IsVehicleOccupied(_has_spawned_vehicleid[playerid]))
  21174. {
  21175. SendClientMessage(playerid, COLOR_DARKGREEN, "Tow Request Sent");
  21176. vehicleTowSign[_has_spawned_vehicleid[playerid]] =
  21177. Create3DTextLabel("(( | ))\nTOWING VEHICLE", COLOR_DARKGREEN, 0.0, 0.0, 0.0, 25.0, 0, 1);
  21178. Attach3DTextLabelToVehicle(vehicleTowSign[_has_spawned_vehicleid[playerid]], _has_spawned_vehicleid[playerid], -0.0, -0.0, -0.0);
  21179. playerTowingVehicle[playerid] = true;
  21180. playerTowTimer[playerid] = SetTimerEx("OnVehicleTow", 4500, true, "i", playerid);
  21181. }
  21182. else return SendClientMessage(playerid, COLOR_ADM, "Your vehicle is in use / stolen right now!");
  21183. }
  21184. else if(!strcmp(a_string, "faction")){
  21185. if(PlayerData[playerid][pAdmin] < 3 && PlayerData[playerid][pFactionRank] != 1)
  21186. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have permission to do this.");
  21187. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  21188. new vehicleid = GetPlayerVehicleID(playerid);
  21189. new query[256];
  21190. new Float:currPos[4];
  21191. GetPlayerPos(playerid, currPos[0], currPos[1], currPos[2]);
  21192. GetVehicleZAngle(vehicleid, currPos[3]);
  21193. if(IsValidPlayerCar(vehicleid)) {
  21194. if(CarData[vehicleid][carOwnerID] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this vehicle.");
  21195. Resources[playerid][v_Model] = CarData[vehicleid][carModel];
  21196. Resources[playerid][v_Faction] = PlayerData[playerid][pFaction];
  21197. Resources[playerid][v_Color1] = CarData[vehicleid][carColor1];
  21198. Resources[playerid][v_Color2] = CarData[vehicleid][carColor2];
  21199. Resources[playerid][v_Pos][0] = currPos[0];
  21200. Resources[playerid][v_Pos][1] = currPos[1];
  21201. Resources[playerid][v_Pos][2] = currPos[2];
  21202. Resources[playerid][v_Pos][3] = currPos[3];
  21203. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM `ownedcars` WHERE id = %i", CarData[vehicleid][carID]);
  21204. mysql_query(m_Handle, query);
  21205. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO `factioncars` (`factionid`, `ModelID`, `PosX`, `PosY`, `PosZ`, `PosA`, `Interior`, `World`, `Color1`, `Color2`) VALUES(%i, %i, %f, %f, %f, %f, %i, %i, %i, %i)",
  21206. PlayerData[playerid][pFaction], CarData[vehicleid][carModel], currPos[0], currPos[1], currPos[2], currPos[3], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), CarData[vehicleid][carColor1],
  21207. CarData[vehicleid][carColor2]);
  21208. mysql_pquery(m_Handle, query, "SQL_AddFactionVehicle", "i", playerid);
  21209. for(new i = 0; i < (MAX_OWNED_CARS - 1); i++) {
  21210. if(PlayerData[playerid][pOwnedCar][i] == CarData[vehicleid][carID]) {
  21211. PlayerData[playerid][pOwnedCar][i] = 0;
  21212. }
  21213. }
  21214. DefaultVehicleValues(vehicleid);
  21215. _has_spawned_vehicleid[playerid] = 0;
  21216. _has_vehicle_spawned[playerid] = 0;
  21217. format(string, sizeof(string), "%s made their %s a faction vehicle", ReturnName(playerid, 1), ReturnVehicleName(vehicleid));
  21218. adminWarn(3, string);
  21219. format(string, sizeof(string), "Your %s now belongs to the %s. You will no longer own it.", ReturnVehicleName(vehicleid), ReturnFactionName(PlayerData[playerid][pFaction]));
  21220. SendClientMessage(playerid, COLOR_YELLOW, string);
  21221. WriteLog("vehicle_logs/factionize_log.txt", "[%s] %s factionized their vehicle to factionid %d", ReturnDate(), ReturnName(playerid, 1), PlayerData[playerid][pFaction]);
  21222. return true;
  21223. }
  21224. else if(AdminCar[vehicleid]) {
  21225. if(PlayerData[playerid][pAdmin] < 4)return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have permission to factionize this vehicle.");
  21226. new factionid;
  21227. if(sscanf(b_string, "d", factionid))
  21228. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /v(ehicle) faction [faction_id] - {FF6346}THIS IS AN ADMIN VEHICLE.");
  21229. new color1 = AdminCarColor1[vehicleid];
  21230. new color2 = AdminCarColor2[vehicleid];
  21231. format(string, sizeof(string), "This %s now belongs to the %s.", ReturnVehicleName(vehicleid), ReturnFactionName(factionid));
  21232. SendClientMessage(playerid, COLOR_YELLOW, string);
  21233. AdminCar[vehicleid] = false;
  21234. Resources[playerid][v_Model] = GetVehicleModel(vehicleid);
  21235. Resources[playerid][v_Faction] = factionid;
  21236. Resources[playerid][v_Color1] = color1;
  21237. Resources[playerid][v_Color2] = color2;
  21238. Resources[playerid][v_Pos][0] = currPos[0];
  21239. Resources[playerid][v_Pos][1] = currPos[1];
  21240. Resources[playerid][v_Pos][2] = currPos[2];
  21241. Resources[playerid][v_Pos][3] = currPos[3];
  21242. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO `factioncars` (`factionid`, `ModelID`, `PosX`, `PosY`, `PosZ`, `PosA`, `Interior`, `World`, `Color1`, `Color2`) VALUES(%i, %i, %f, %f, %f, %f, %i, %i, %i, %i)",
  21243. factionid, GetVehicleModel(vehicleid), currPos[0], currPos[1], currPos[2], currPos[3], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), color1, color2);
  21244. mysql_pquery(m_Handle, query, "SQL_AddFactionVehicle", "i", playerid);
  21245. WriteLog("admin_logs/factions/carfactionize_log.txt", "[%s] %s factionized their vehicle to factionid %d", ReturnDate(), ReturnName(playerid, 1), factionid);
  21246. return true;
  21247. }
  21248. else return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't factionize this vehicle.");
  21249. }
  21250. else if(!strcmp(a_string, "close")) {
  21251. SendClientMessage(playerid, -1, "[ ! ] All dealership textdraws has been removed.");
  21252. ds_DestroyDefaultTextdraws(playerid);
  21253. CancelSelectTextDraw(playerid);
  21254. }
  21255. else if(!strcmp(a_string, "buy")) {
  21256. if(_has_vehicle_spawned[playerid])return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need to despawn your vehicle before buying a new one.");
  21257. for(new i = 0; i < MAX_BUSINESS; i++)
  21258. {
  21259. if(BusinessData[i][businessID] != 0){
  21260. if(IsPlayerInRangeOfPoint(playerid, 6.0, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2])){
  21261. if(BusinessData[i][businessType] >= 9){
  21262. ds_ShowDealership(playerid);
  21263. PlayerData[playerid][pAtDealership] = i;
  21264. ClearDealershipVar(playerid);
  21265. return true;
  21266. }
  21267. }
  21268. }
  21269. }
  21270. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't at a dealership OR aren't near one.");
  21271. }
  21272. else if(!strcmp(a_string, "scrap")){
  21273. new confirm[60], query[60], str[128], vehicleid = GetPlayerVehicleID(playerid);
  21274. if(!IsPlayerInAnyVehicle(playerid))
  21275. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  21276. if(!IsValidPlayerCar(vehicleid))
  21277. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't scrap this vehicle.");
  21278. if(PlayerData[playerid][pSQLID] != CarData[vehicleid][carOwnerID])
  21279. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this vehicle.");
  21280. if(sscanf(b_string, "s[60]", confirm)){
  21281. SendClientMessage(playerid, COLOR_ACTION, "You're about to scrap your vehicle. Type /v scrap confirm to do it.");
  21282. SendClientMessage(playerid, COLOR_RED, "This action is permanent and cannot be undone.");
  21283. return true;
  21284. }
  21285. if(!strcmp(b_string, "confirm")){
  21286. new price = 0;
  21287. for(new index = 0; index < sizeof(dealershipVehicles); index++) {
  21288. if(CarData[vehicleid][carModel] == dealershipVehicles[index][1]) {
  21289. price = dealershipVehicles[index][2]/2;
  21290. break;
  21291. }
  21292. }
  21293. WriteLog("vehicle_logs/scrap_log.txt", "[%s] %s scrapped their %s for $%i (DBID: %i)", ReturnDate(), ReturnName(playerid), price, ReturnVehicleName(vehicleid), CarData[vehicleid][carID]);
  21294. format(str, sizeof(str), "You scrapped your %s for $%i.", ReturnVehicleName(vehicleid), price);
  21295. SendClientMessage(playerid, COLOR_ACTION, str);
  21296. _has_vehicle_spawned[playerid] = false;
  21297. _has_spawned_vehicleid[playerid] = 0;
  21298. for(new i = 0; i < (MAX_OWNED_CARS - 1); i++)
  21299. {
  21300. if(PlayerData[playerid][pOwnedCar][i] == CarData[vehicleid][carID])
  21301. {
  21302. PlayerData[playerid][pOwnedCar][i] = 0;
  21303. }
  21304. }
  21305. GiveMoney(playerid, price);
  21306. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM ownedcars WHERE id = %i", CarData[vehicleid][carID]);
  21307. mysql_pquery(m_Handle, query);
  21308. DefaultVehicleValues(vehicleid);
  21309. DestroyVehicle(vehicleid);
  21310. RefreshPlayerCarSlots(playerid);
  21311. }
  21312. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  21313. }
  21314. else if(!strcmp(a_string, "hood"))
  21315. {
  21316. new
  21317. Float:x,
  21318. Float:y,
  21319. Float:z
  21320. ;
  21321. new engine, lights, alarm, doors, bonnet, boot, objective;
  21322. if(!IsPlayerInAnyVehicle(playerid) && GetNearestVehicle(playerid) != INVALID_VEHICLE_ID)
  21323. {
  21324. GetVehicleHood(GetNearestVehicle(playerid), x, y, z);
  21325. new
  21326. vehicleid = GetNearestVehicle(playerid)
  21327. ;
  21328. if(IsValidFactionCar(vehicleid) && PlayerData[playerid][pFaction] != FactionCar[vehicleid][carFaction])
  21329. return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You don't have access to this vehicle.");
  21330. if(!IsValidFactionCar(vehicleid) && CarData[vehicleid][carLocked])
  21331. return SendClientMessage(playerid, COLOR_YELLOW, "This vehicle is locked.");
  21332. if(!IsPlayerInRangeOfPoint(playerid, 2.5, x, y, z))
  21333. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near the vehicles hood.");
  21334. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  21335. if(!bonnet)
  21336. {
  21337. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 1, boot, objective);
  21338. SendClientMessage(playerid, COLOR_YELLOW, "You have opened the hood.");
  21339. }
  21340. else
  21341. {
  21342. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 0, boot, objective);
  21343. SendClientMessage(playerid, COLOR_YELLOW, "You have closed the hood.");
  21344. }
  21345. }
  21346. else if(IsPlayerInAnyVehicle(playerid))
  21347. {
  21348. new
  21349. vehicleid = GetPlayerVehicleID(playerid)
  21350. ;
  21351. if(IsValidFactionCar(vehicleid) && PlayerData[playerid][pFaction] != FactionCar[vehicleid][carFaction])
  21352. return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You don't have access to this vehicle.");
  21353. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  21354. return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You aren't in the driver's seat.");
  21355. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  21356. if(!bonnet)
  21357. {
  21358. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 1, boot, objective);
  21359. SendClientMessage(playerid, COLOR_YELLOW, "You have opened the hood.");
  21360. }
  21361. else
  21362. {
  21363. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, 0, boot, objective);
  21364. SendClientMessage(playerid, COLOR_YELLOW, "You have closed the hood.");
  21365. }
  21366. }
  21367. else return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You aren't in or near a vehicle.");
  21368. }
  21369. else if(!strcmp(a_string, "trunk"))
  21370. {
  21371. new
  21372. Float:x,
  21373. Float:y,
  21374. Float:z
  21375. ;
  21376. new engine, lights, alarm, doors, bonnet, boot, objective;
  21377. if(!IsPlayerInAnyVehicle(playerid) && GetNearestVehicle(playerid) != INVALID_VEHICLE_ID)
  21378. {
  21379. GetVehicleBoot(GetNearestVehicle(playerid), x, y, z);
  21380. new
  21381. vehicleid = GetNearestVehicle(playerid)
  21382. ;
  21383. if(IsValidFactionCar(vehicleid) && PlayerData[playerid][pFaction] != FactionCar[vehicleid][carFaction])
  21384. return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You don't have access to this vehicle.");
  21385. if(!IsValidFactionCar(vehicleid) && CarData[vehicleid][carLocked])
  21386. return SendClientMessage(playerid, COLOR_YELLOW, "This vehicle is locked.");
  21387. if(!IsPlayerInRangeOfPoint(playerid, 2.5, x, y, z))
  21388. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near the vehicles trunk.");
  21389. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  21390. if(!boot)
  21391. {
  21392. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, 1, objective);
  21393. SendClientMessage(playerid, COLOR_YELLOW, "You have opened the trunk.");
  21394. SendClientMessage(playerid, COLOR_WHITE, "You can use /check to take a gun or /place to put one in.");
  21395. }
  21396. else
  21397. {
  21398. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, 0, objective);
  21399. SendClientMessage(playerid, COLOR_YELLOW, "You have closed the trunk.");
  21400. }
  21401. }
  21402. else if(IsPlayerInAnyVehicle(playerid))
  21403. {
  21404. new
  21405. vehicleid = GetPlayerVehicleID(playerid)
  21406. ;
  21407. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  21408. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't in the driver's seat.");
  21409. if(IsValidFactionCar(vehicleid) && PlayerData[playerid][pFaction] != FactionCar[vehicleid][carFaction])
  21410. return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You don't have access to this vehicle.");
  21411. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  21412. if(!boot)
  21413. {
  21414. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, 1, objective);
  21415. SendClientMessage(playerid, COLOR_YELLOW, "You have opened the trunk.");
  21416. SendClientMessage(playerid, COLOR_WHITE, "You can use /check, /takegun and /place.");
  21417. }
  21418. else
  21419. {
  21420. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, 0, objective);
  21421. SendClientMessage(playerid, COLOR_YELLOW, "You have closed the trunk.");
  21422. }
  21423. }
  21424. else return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You aren't near or in a vehicle.");
  21425. }
  21426. else if(!strcmp(a_string, "payfines"))
  21427. {
  21428. new
  21429. vehicleid = GetPlayerVehicleID(playerid);
  21430. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  21431. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't in the driver's seat.");
  21432. if(CarData[vehicleid][carOwnerID] != PlayerData[playerid][pSQLID])
  21433. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't own this vehicle.");
  21434. if(!CountVehicleFines(vehicleid))
  21435. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle doesn't have any fines.");
  21436. if(PlayerData[playerid][pMoney] < CountVehicleFinesTotal(vehicleid))
  21437. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have enough money to pay all the fines.");
  21438. if(!IsPlayerNearBusiness(playerid) || IsPlayerNearBusiness(playerid) && BusinessData[IsPlayerNearBusiness(playerid)][businessType] != 9)
  21439. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't at a dealership.");
  21440. format(string, sizeof(string), "[-] You paid fines accumulating up to $%s.", MoneyFormat(CountVehicleFinesTotal(vehicleid)));
  21441. SendClientMessage(playerid, COLOR_YELLOW, string);
  21442. GiveMoney(playerid, -CountVehicleFinesTotal(vehicleid));
  21443. ClearVehicleFines(vehicleid);
  21444. }
  21445. else if(!strcmp(a_string, "sell"))
  21446. {
  21447. new playerb, price, hasSpace = -1;
  21448. new vehicleid = GetPlayerVehicleID(playerid);
  21449. if(!isnull(b_string) && !strcmp(b_string, "cancel", true))
  21450. {
  21451. if(VehicleOfferedTo[playerid] == INVALID_PLAYER_ID)
  21452. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You haven't offered to sell a vehicle.");
  21453. Message(playerid, COLOR_ACTION, "SERVER: You cancelled your offer. %s was notified.", ReturnName(VehicleOfferedTo[playerid]));
  21454. Message(VehicleOfferedTo[playerid], COLOR_ACTION, "SERVER: %s cancelled their vehicle offer.", ReturnName(playerid));
  21455. VehicleOfferedTo[VehicleOfferBy[playerid]] = INVALID_PLAYER_ID;
  21456. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  21457. VehiclePrice[playerid] = 0;
  21458. VehicleDBIDOffered[VehicleOfferedTo[playerid]] = 0;
  21459. return 1;
  21460. }
  21461. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  21462. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a vehicle.");
  21463. if(CarData[vehicleid][carOwnerID] != PlayerData[playerid][pSQLID])
  21464. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't own this vehicle.");
  21465. if(VehicleOfferedTo[playerid] != INVALID_PLAYER_ID)
  21466. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You already offered your vehicle. Wait for their reply.");
  21467. if(sscanf(b_string, "ui", playerb, price))
  21468. return SendClientMessage(playerid, COLOR_ACTION, "USAGE: /v sell [playerid/PartofName] [price]");
  21469. if(!IsPlayerConnected(playerb))
  21470. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  21471. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  21472. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  21473. if(price < 1)
  21474. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Price.");
  21475. if(VehicleOfferBy[playerb] != INVALID_PLAYER_ID)
  21476. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That player has already been offered a vehicle.");
  21477. hasSpace = FreePlayerCarID(playerb);
  21478. if(hasSpace == -1) return SendClientMessage(playerid, COLOR_ADM, "SERVER: That player can't own anymore vehicles.");
  21479. format(string, sizeof(string), "Are you sure you want to offer %s your %s for $%s?", ReturnName(playerb, 1), ReturnVehicleName(vehicleid), MoneyFormat(price));
  21480. ConfirmDialog(playerid, "Confirmation", string, "OnVehicleOffer", playerb, price);
  21481. return 1;
  21482. }
  21483. else if(!strcmp(a_string, "accept"))
  21484. {
  21485. if(VehicleOfferBy[playerid] == INVALID_PLAYER_ID)
  21486. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You haven't been offered a vehicle.");
  21487. if(!strcmp(b_string, "yes", true))
  21488. {
  21489. if(!GetDistanceBetweenPlayers(playerid, VehicleOfferBy[playerid], 4.5))
  21490. {
  21491. Message(playerid, COLOR_ACTION, "You're no longer near your offerer (%s). The sale was cancelled.", ReturnName(VehicleOfferBy[playerid]));
  21492. VehicleOfferedTo[VehicleOfferBy[playerid]] = INVALID_PLAYER_ID;
  21493. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  21494. VehiclePrice[playerid] = 0;
  21495. VehicleDBIDOffered[playerid] = 0;
  21496. return 1;
  21497. }
  21498. if(VehiclePrice[playerid] > PlayerData[playerid][pMoney])
  21499. {
  21500. Message(playerid, COLOR_ACTION, "You can't afford this price. The sale was cancelled.", ReturnName(VehicleOfferBy[playerid]));
  21501. Message(VehicleOfferBy[playerid], COLOR_ACTION, "%s can't afford your sale.", ReturnName(playerid));
  21502. VehicleOfferedTo[VehicleOfferBy[playerid]] = INVALID_PLAYER_ID;
  21503. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  21504. VehiclePrice[playerid] = 0;
  21505. VehicleDBIDOffered[playerid] = 0;
  21506. return 1;
  21507. }
  21508. new slot, foundCar = -1;
  21509. for(new i = 1, j = GetVehiclePoolSize(); i <= j; i++)
  21510. {
  21511. if(CarData[i][carID] == VehicleDBIDOffered[playerid])
  21512. {
  21513. foundCar = i;
  21514. }
  21515. }
  21516. if(foundCar == -1)
  21517. {
  21518. Message(playerid, COLOR_ACTION, "An error occurred. %s's vehicle is no longer spawned.", ReturnName(VehicleOfferBy[playerid]));
  21519. Message(VehicleOfferBy[playerid], COLOR_ACTION, "An error occurred. Your vehicle is no longer spawned.", ReturnName(playerid));
  21520. VehicleOfferedTo[VehicleOfferBy[playerid]] = INVALID_PLAYER_ID;
  21521. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  21522. VehiclePrice[playerid] = 0;
  21523. VehicleDBIDOffered[playerid] = 0;
  21524. return 1;
  21525. }
  21526. format(string, sizeof(string), "%s sold their %s to %s for $%d", ReturnName(VehicleOfferBy[playerid]), ReturnVehicleModelName(CarData[foundCar][carModel]), ReturnName(playerid), VehiclePrice[VehicleOfferBy[playerid]]);
  21527. adminWarn(1, string);
  21528. _has_vehicle_spawned[VehicleOfferBy[playerid]] = false;
  21529. _has_spawned_vehicleid[VehicleOfferBy[playerid]] = INVALID_VEHICLE_ID;
  21530. Message(VehicleOfferBy[playerid], COLOR_ACTION, "SERVER: %s accepted your vehicle offer! (%s)", ReturnName(playerid), ReturnDateEx());
  21531. Message(playerid, COLOR_ACTION, "SERVER: You accepted %s's vehicle offer! (%s)", ReturnName(VehicleOfferBy[playerid]), ReturnDateEx());
  21532. WriteLog("vehicle_logs/acceptsale_log.txt", "[%s] %s accepted %s's offer for their Vehicle DBID %i (Price: $%s)", ReturnDate(), ReturnName(playerid), ReturnName(VehicleOfferBy[playerid]), VehicleDBIDOffered[playerid], MoneyFormat(VehiclePrice[playerid]));
  21533. slot = FreePlayerCarID(playerid);
  21534. PlayerData[playerid][pOwnedCar][slot] = VehicleDBIDOffered[playerid];
  21535. for(new i = 0; i < (MAX_OWNED_CARS - 1); i++)
  21536. {
  21537. if(PlayerData[VehicleOfferBy[playerid]][pOwnedCar][i] == VehicleDBIDOffered[playerid])
  21538. {
  21539. PlayerData[VehicleOfferBy[playerid]][pOwnedCar][i] = 0;
  21540. }
  21541. }
  21542. CarData[foundCar][carOwnerID] = PlayerData[playerid][pSQLID];
  21543. SaveCar(foundCar);
  21544. GiveMoney(playerid, -VehiclePrice[VehicleOfferBy[playerid]]);
  21545. GiveMoney(VehicleOfferBy[playerid], VehiclePrice[VehicleOfferBy[playerid]]);
  21546. SavePlayer(playerid);
  21547. SavePlayer(VehicleOfferBy[playerid]);
  21548. RefreshPlayerCarSlots(VehicleOfferBy[playerid]);
  21549. VehiclePrice[playerid] = 0;
  21550. VehicleDBIDOffered[playerid] = 0;
  21551. VehiclePrice[VehicleOfferBy[playerid]] = 0;
  21552. VehicleDBIDOffered[VehicleOfferBy[playerid]] = 0;
  21553. VehicleOfferedTo[VehicleOfferBy[playerid]] = INVALID_PLAYER_ID;
  21554. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  21555. }
  21556. else if(!strcmp(b_string, "no", true))
  21557. {
  21558. Message(VehicleOfferBy[playerid], COLOR_ACTION, "SERVER: %s declined your vehicle offer.", ReturnName(playerid));
  21559. Message(playerid, COLOR_ACTION, "SERVER: You declined %s's offer.", ReturnName(VehicleOfferBy[playerid]));
  21560. VehiclePrice[playerid] = 0;
  21561. VehicleDBIDOffered[playerid] = 0;
  21562. VehiclePrice[VehicleOfferBy[playerid]] = 0;
  21563. VehicleDBIDOffered[VehicleOfferBy[playerid]] = 0;
  21564. VehicleOfferedTo[VehicleOfferBy[playerid]] = INVALID_PLAYER_ID;
  21565. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  21566. }
  21567. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: It's either a yes or a no.");
  21568. }
  21569. else if(!strcmp(a_string, "refill"))
  21570. {
  21571. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  21572. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't driving a vehicle.");
  21573. if(!IsValidPlayerCar(GetPlayerVehicleID(playerid)))
  21574. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This isn't a player vehicle.");
  21575. if(PlayerRefilling[playerid])
  21576. return SendClientMessage(playerid, COLOR_DARKGREEN, "You're in the process of refilling.");
  21577. new
  21578. vehicleid = GetPlayerVehicleID(playerid),
  21579. vehicleType;
  21580. if(GetVehicleModelInfoAsInt(GetVehicleModel(vehicleid), "TransMissionData_nEngineType") == 'P')
  21581. vehicleType = FUEL_TYPE_PETROL;
  21582. else if(GetVehicleModelInfoAsInt(GetVehicleModel(vehicleid), "TransMissionData_nEngineType") == 'D')
  21583. vehicleType = FUEL_TYPE_DIESEL;
  21584. else vehicleType = FUEL_TYPE_ELECTRIC;
  21585. if(IsPlayerNearFuelStation(playerid) != -1)
  21586. {
  21587. format(string, sizeof(string), "Your vehicle uses %s. You're about to start refilling. Price: $10 per 30units.\nWould you like to refill it?", GetFuelTypeAsString(vehicleType));
  21588. ConfirmDialog(playerid, "Confirmation", string, "OnConfirmFuel", vehicleType);
  21589. }
  21590. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a gas station.");
  21591. }
  21592. else if(!strcmp(a_string, "lights")) return cmd_lights(playerid, "");
  21593. else if(!strcmp(a_string, "lock"))
  21594. {
  21595. new nearVehicle;
  21596. for(new i = 0; i < MAX_VEHICLES; i++)
  21597. {
  21598. new Float: currPos[3];
  21599. GetVehiclePos(i, currPos[0], currPos[1], currPos[2]);
  21600. if(IsPlayerInRangeOfPoint(playerid, 5.0, currPos[0], currPos[1], currPos[2])){
  21601. nearVehicle++;
  21602. if(IsValidPlayerCar(i)){
  21603. if(CarData[i][carOwnerID] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  21604. if(!CarData[i][carLocked]){
  21605. ToggleVehicleLock(i, true);
  21606. CarData[i][carLocked] = true;
  21607. SaveSQLInt(CarData[i][carID], "ownedcars", "Locked", 1);
  21608. format(string, sizeof(string), "%s locked", ReturnName(playerid));
  21609. LogVehicleAction(i, string);
  21610. format(string, sizeof(string), "~r~%s LOCKED", ReturnVehicleName(i));
  21611. GameTextForPlayer(playerid, string, 3000, 4);
  21612. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21613. }
  21614. else{
  21615. CarData[i][carLocked] = false;
  21616. ToggleVehicleLock(i, false);
  21617. SaveSQLInt(CarData[i][carID], "ownedcars", "Locked", 0);
  21618. format(string, sizeof(string), "%s unlocked", ReturnName(playerid));
  21619. LogVehicleAction(i, string);
  21620. format(string, sizeof(string), "~g~%s UNLOCKED", ReturnVehicleName(i));
  21621. GameTextForPlayer(playerid, string, 3000, 4);
  21622. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21623. }
  21624. }
  21625. else if(IsValidRentalCar(i)){
  21626. if(!RentalData[i][rentalcarRented])return GameTextForPlayer(playerid, "~r~This vehicle doesn't have a lock", 3000, 4);
  21627. if(RentalData[i][rentalcarRentedBy] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdminDuty])return GameTextForPlayer(playerid, "You don't have the keys to this", 2000, 6);
  21628. if(!RentalData[i][rentalcarLocked]){
  21629. ToggleVehicleLock(i, true);
  21630. RentalData[i][rentalcarLocked] = true;
  21631. format(string, sizeof(string), "~r~%s LOCKED", ReturnVehicleName(i));
  21632. GameTextForPlayer(playerid, string, 3000, 4);
  21633. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21634. }
  21635. else{
  21636. ToggleVehicleLock(i, false);
  21637. RentalData[i][rentalcarLocked] = false;
  21638. format(string, sizeof(string), "~g~%s UNLOCKED", ReturnVehicleName(i));
  21639. GameTextForPlayer(playerid, string, 3000, 4);
  21640. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21641. }
  21642. }
  21643. else return GameTextForPlayer(playerid, "~r~This vehicle doesn't have a lock", 3000, 4);
  21644. }
  21645. }
  21646. if(!nearVehicle)return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a vehicle or it isn't synced.");
  21647. }
  21648. else if(!strcmp(a_string, "duplicatekey"))
  21649. {
  21650. new playerb;
  21651. if(sscanf(b_string, "i", playerb))
  21652. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /v duplicatekey [playerid/PartofName]");
  21653. if(!IsPlayerConnected(playerb))
  21654. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid player.");
  21655. if(!_has_vehicle_spawned[playerid])
  21656. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have a car spawned.");
  21657. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  21658. return SendClientMessage(playerid, COLOR_ADM, "You aren't near that player.");
  21659. if(GetPVarInt(playerb, "DuplicateKey") != 0)
  21660. return SendClientMessage(playerid, COLOR_ADM, "That player already has a duplicated key.");
  21661. if(GetPVarInt(playerb, "DuplicateKey") == CarData[_has_spawned_vehicleid[playerid]][carID])
  21662. return SendClientMessage(playerid, COLOR_ADM, "That player already has your cars key.");
  21663. GiveMoney(playerid, -50);
  21664. Message(playerid, COLOR_WHITE, "You gave %s a key to your %s. This will expire when you park the car or they log out.", ReturnName(playerb), ReturnVehicleName(_has_spawned_vehicleid[playerid]));
  21665. Message(playerb, COLOR_WHITE, "%s gave you a key to their %s. This will expire when they park it or you log out.", ReturnName(playerid), ReturnVehicleName(_has_spawned_vehicleid[playerid]));
  21666. format(string, sizeof(string), "* %s gives %s a duplicate key of their vehicle.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  21667. SetPlayerChatBubble(playerid, string, COLOR_ACTION, 20.0, 3000);
  21668. SetPVarInt(playerb, "DuplicateKey", CarData[_has_spawned_vehicleid[playerid]][carID]);
  21669. }
  21670. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  21671. return 1;
  21672. }
  21673. CMD:cw(playerid, params[])return cmd_carwhisper(playerid, params);
  21674. CMD:carwhisper(playerid, params[])
  21675. {
  21676. if(!pLoggedIn[playerid])return true;
  21677. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be in a vehicle.");
  21678. new string[128];
  21679. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /carwhisper [text]");
  21680. foreach(new i : Player)
  21681. {
  21682. if(PlayerData[i][pSpectator] == playerid)
  21683. {
  21684. Message(i, COLOR_YELLOW, "%s vehicle whispered: %s", ReturnName(playerid), params);
  21685. }
  21686. }
  21687. foreach(new i : Player)
  21688. {
  21689. if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
  21690. {
  21691. format(string, sizeof(string), "%s whispers: %s", ReturnName(playerid, 0), params);
  21692. SendClientMessage(i, COLOR_YELLOW, string);
  21693. }
  21694. }
  21695. return true;
  21696. }
  21697. CMD:cb(playerid, params[])
  21698. {
  21699. if(!pLoggedIn[playerid])return true;
  21700. if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be in a vehicle.");
  21701. new string[128];
  21702. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /cb [text]");
  21703. foreach(new i : Player)
  21704. {
  21705. if(PlayerData[i][pSpectator] == playerid)
  21706. {
  21707. Message(i, COLOR_YELLOW, "%s vehicle /cb: %s", ReturnName(playerid), params);
  21708. }
  21709. }
  21710. foreach(new i : Player)
  21711. {
  21712. if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
  21713. {
  21714. format(string, sizeof(string), "(( [%d] %s: %s ))", playerid, ReturnName(playerid, 1), params);
  21715. SendClientMessage(i, COLOR_YELLOW, string);
  21716. }
  21717. }
  21718. return true;
  21719. }
  21720. CMD:setstation(playerid, params[])
  21721. {
  21722. new string[400], param[6], url[512];
  21723. if (sscanf(params, "S()[6]S()[128]", param, url))
  21724. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setstation -> Optional Params: url [url], off");
  21725. if (isequal(param, "off"))
  21726. {
  21727. if (IsNearBoombox(playerid))
  21728. {
  21729. new id = IsNearBoombox(playerid);
  21730. if(BoomboxData[id][boomboxPlayerID] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdmin])
  21731. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have access to this boombox.");
  21732. foreach (new i : Player) {
  21733. if (IsPlayerInRangeOfPoint(i, 10.0, BoomboxData[id][boomboxPos][0], BoomboxData[id][boomboxPos][1], BoomboxData[id][boomboxPos][2]))
  21734. {
  21735. StopAudioStreamForPlayer(i);
  21736. SendClientMessage(i, COLOR_ADM, "Radio has been stopped.");
  21737. BoomboxData[id][boomboxOn] = false;
  21738. }
  21739. }
  21740. return true;
  21741. }
  21742. if (IsPlayerInAnyVehicle(playerid))
  21743. {
  21744. if (GetPlayerVehicleSeat(playerid) > 1)
  21745. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Only the driver and front passenger may control the XMR.");
  21746. new vehicleid = GetPlayerVehicleID(playerid);
  21747. if (IsValidPlayerCar(vehicleid))
  21748. {
  21749. if (!CarData[vehicleid][carXMR])
  21750. return SendClientMessage(playerid, COLOR_YELLOW, "This vehicle does not have an XM-Radio.");
  21751. }
  21752. if (IsValidFactionCar(vehicleid)) { FactionCar[vehicleid][carsXMROn] = false; }
  21753. if (IsValidPlayerCar(vehicleid)) { CarData[vehicleid][carXMROn] = false; }
  21754. foreach (new i : Player)
  21755. {
  21756. if(IsPlayerInVehicle(i, vehicleid))
  21757. {
  21758. StopAudioStreamForPlayer(i);
  21759. SendClientMessage(i, COLOR_ADM, "Radio has been stopped.");
  21760. }
  21761. }
  21762. return true;
  21763. }
  21764. if (IsPlayerInProperty(playerid))
  21765. {
  21766. new id = IsPlayerInProperty(playerid);
  21767. if (IsPlayerInRangeOfPoint(playerid, 6.0, PropertyData[id][propertyXMRPos][0], PropertyData[id][propertyXMRPos][1], PropertyData[id][propertyXMRPos][2]))
  21768. {
  21769. if (PlayerData[playerid][pSQLID] != PropertyData[id][propertyOwnerSQL])
  21770. return SendClientMessage(playerid, COLOR_ADM, "Only the properties owner may use this XMR.");
  21771. foreach (new i : Player)
  21772. {
  21773. if (IsPlayerInProperty(i) == IsPlayerInProperty(playerid))
  21774. {
  21775. StopAudioStreamForPlayer(i);
  21776. SendClientMessage(i, COLOR_ADM, "Radio has been stopped.");
  21777. }
  21778. }
  21779. return true;
  21780. }
  21781. }
  21782. SendClientMessage(playerid, COLOR_ADM, "You are not near a radio.");
  21783. return true;
  21784. }
  21785. else if(isequal(param, "url")) {
  21786. if (sscanf(params, "ss[512]", param, url))
  21787. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setstation url [URL]");
  21788. new id, nearAnything = 0;
  21789. if (IsNearBoombox(playerid))
  21790. {
  21791. id = IsNearBoombox(playerid);
  21792. if(BoomboxData[id][boomboxPlayerID] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdmin])
  21793. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have access to this boombox.");
  21794. nearAnything++;
  21795. }
  21796. if (IsPlayerInAnyVehicle(playerid))
  21797. {
  21798. if (GetPlayerVehicleSeat(playerid) > 1)
  21799. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Only the driver and front passenger may control the XMR.");
  21800. new vehicleid = GetPlayerVehicleID(playerid);
  21801. if (IsValidPlayerCar(vehicleid))
  21802. {
  21803. if (!CarData[vehicleid][carXMR])
  21804. return SendClientMessage(playerid, COLOR_YELLOW, "This vehicle does not have an XM-Radio.");
  21805. }
  21806. nearAnything++;
  21807. }
  21808. if (IsPlayerInProperty(playerid))
  21809. {
  21810. id = IsPlayerInProperty(playerid);
  21811. if (IsPlayerInRangeOfPoint(playerid, 4.0, PropertyData[id][propertyXMRPos][0], PropertyData[id][propertyXMRPos][1], PropertyData[id][propertyXMRPos][2]))
  21812. {
  21813. if (PlayerData[playerid][pSQLID] != PropertyData[id][propertyOwnerSQL])
  21814. return SendClientMessage(playerid, COLOR_ADM, "Only the properties owner may use this XMR.");
  21815. }
  21816. nearAnything++;
  21817. }
  21818. if (!nearAnything)
  21819. return SendClientMessage(playerid, COLOR_ADM, "You are not near a radio.");
  21820. format(string, sizeof(string), "> %s has turned the radio to Custom.", ReturnName(playerid, 0));
  21821. SetPlayerChatBubble(playerid, string, 0x88AA62FF, 20.0, 3000);
  21822. SendClientMessage(playerid, 0x88AA62FF, string);
  21823. if (IsNearBoombox(playerid))
  21824. {
  21825. new idx = IsNearBoombox(playerid);
  21826. if(BoomboxData[idx][boomboxPlayerID] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdmin])
  21827. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have access to this boombox.");
  21828. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  21829. foreach (new i : Player)
  21830. {
  21831. if (pLoggedIn[i])
  21832. {
  21833. if (BoomboxData[idx][boomboxInBusiness] != 0) {
  21834. if (BusinessData[IsPlayerInBusiness(i)][businessID] == BoomboxData[idx][boomboxInBusiness]) {
  21835. if (IsPlayerInRangeOfPoint(i, 100.0, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2])) {
  21836. PlayAudioStreamForPlayer(i, url, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], 100.0, 1);
  21837. format(string, sizeof(string), "Radio changed to station Custom.");
  21838. SendClientMessage(i, COLOR_ADM, string);
  21839. }
  21840. }
  21841. }
  21842. else if (IsPlayerInRangeOfPoint(i, 25.0, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]))
  21843. {
  21844. PlayAudioStreamForPlayer(i, url, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], 25.0, 1);
  21845. format(string, sizeof(string), "Radio changed to station Custom.");
  21846. SendClientMessage(i, COLOR_ADM, string);
  21847. }
  21848. }
  21849. }
  21850. BoomboxData[idx][boomboxOn] = true;
  21851. format(BoomboxData[idx][boomboxURL], 128, "%s", url);
  21852. return true;
  21853. }
  21854. if (IsPlayerInProperty(playerid))
  21855. {
  21856. foreach(new i : Player)
  21857. {
  21858. if (IsPlayerInProperty(i) == IsPlayerInProperty(playerid))
  21859. {
  21860. PlayAudioStreamForPlayer(i, url);
  21861. format(string, sizeof(string), "Radio changed to station Custom.", url);
  21862. SendClientMessage(i, COLOR_ADM, string);
  21863. }
  21864. }
  21865. new idx = IsPlayerInProperty(playerid);
  21866. PropertyData[idx][propertyXMROn] = true;
  21867. format(PropertyData[idx][propertyXMRUrl], 128, "%s", url);
  21868. return true;
  21869. }
  21870. if (IsPlayerInAnyVehicle(playerid))
  21871. {
  21872. new vehicleid = GetPlayerVehicleID(playerid);
  21873. foreach(new i : Player)
  21874. {
  21875. if (IsPlayerInVehicle(i, vehicleid))
  21876. {
  21877. PlayAudioStreamForPlayer(i, url);
  21878. format(string, sizeof(string), "Radio changed to station Custom.", url);
  21879. SendClientMessage(i, COLOR_ADM, string);
  21880. }
  21881. }
  21882. if(IsValidPlayerCar(vehicleid))
  21883. {
  21884. CarData[vehicleid][carXMROn] = true;
  21885. format(CarData[vehicleid][carXMRUrl], 128, "%s", url);
  21886. }
  21887. if(IsValidFactionCar(vehicleid))
  21888. {
  21889. FactionCar[vehicleid][carsXMROn] = true;
  21890. format(FactionCar[vehicleid][carsXMRURL], 128, "%s", url);
  21891. }
  21892. return true;
  21893. }
  21894. }
  21895. else
  21896. {
  21897. new id, nearAnything = 0;
  21898. if (IsNearBoombox(playerid))
  21899. {
  21900. id = IsNearBoombox(playerid);
  21901. if(BoomboxData[id][boomboxPlayerID] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdmin])
  21902. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have access to this boombox.");
  21903. nearAnything++;
  21904. }
  21905. if (IsPlayerInAnyVehicle(playerid))
  21906. {
  21907. if (GetPlayerVehicleSeat(playerid) > 1)
  21908. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Only the driver and front passenger may control the XMR.");
  21909. new vehicleid = GetPlayerVehicleID(playerid);
  21910. if (IsValidPlayerCar(vehicleid))
  21911. {
  21912. if (!CarData[vehicleid][carXMR])
  21913. return SendClientMessage(playerid, COLOR_YELLOW, "This vehicle does not have an XM-Radio.");
  21914. }
  21915. nearAnything++;
  21916. }
  21917. if (IsPlayerInProperty(playerid))
  21918. {
  21919. id = IsPlayerInProperty(playerid);
  21920. if (IsPlayerInRangeOfPoint(playerid, 4.0, PropertyData[id][propertyXMRPos][0], PropertyData[id][propertyXMRPos][1], PropertyData[id][propertyXMRPos][2]))
  21921. {
  21922. if (PlayerData[playerid][pSQLID] != PropertyData[id][propertyOwnerSQL])
  21923. return SendClientMessage(playerid, COLOR_ADM, "Only the properties owner may use this XMR.");
  21924. }
  21925. nearAnything++;
  21926. }
  21927. if (!nearAnything)
  21928. return SendClientMessage(playerid, COLOR_ADM, "You are not near a radio.");
  21929. if (sscanf(params, "d", id))
  21930. {
  21931. ShowXMRDialog(playerid);
  21932. return true;
  21933. }
  21934. if(!XMRData[id][xmrID])
  21935. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid station ID.");
  21936. format(string, sizeof(string), "> %s has turned the radio to %s.", ReturnName(playerid, 0), XMRData[id][xmrName]);
  21937. SetPlayerChatBubble(playerid, string, 0x88AA62FF, 20.0, 3000);
  21938. SendClientMessage(playerid, 0x88AA62FF, string);
  21939. if (IsNearBoombox(playerid))
  21940. {
  21941. new idx = IsNearBoombox(playerid);
  21942. if(BoomboxData[idx][boomboxPlayerID] != PlayerData[playerid][pSQLID] && !PlayerData[playerid][pAdmin])
  21943. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have access to this boombox.");
  21944. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  21945. foreach (new i : Player)
  21946. {
  21947. if (pLoggedIn[i])
  21948. {
  21949. if (BoomboxData[idx][boomboxInBusiness] != 0) {
  21950. if (BusinessData[IsPlayerInBusiness(i)][businessID] == BoomboxData[idx][boomboxInBusiness]) {
  21951. if (IsPlayerInRangeOfPoint(i, 100.0, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2])) {
  21952. PlayAudioStreamForPlayer(i, url, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], 100.0, 1);
  21953. format(string, sizeof(string), "Radio changed to station %s.", XMRData[id][xmrName]);
  21954. SendClientMessage(i, COLOR_ADM, string);
  21955. }
  21956. }
  21957. }
  21958. else if (IsPlayerInRangeOfPoint(i, 25.0, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]))
  21959. {
  21960. PlayAudioStreamForPlayer(i, url, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], 25.0, 1);
  21961. format(string, sizeof(string), "Radio changed to station %s.", XMRData[id][xmrName]);
  21962. SendClientMessage(i, COLOR_ADM, string);
  21963. }
  21964. }
  21965. }
  21966. BoomboxData[idx][boomboxOn] = true;
  21967. format(BoomboxData[idx][boomboxURL], 128, "%s", XMRData[id][xmrStationURL]);
  21968. return true;
  21969. }
  21970. if (IsPlayerInProperty(playerid))
  21971. {
  21972. foreach(new i : Player)
  21973. {
  21974. if (IsPlayerInProperty(i) == IsPlayerInProperty(playerid))
  21975. {
  21976. PlayAudioStreamForPlayer(i, XMRData[id][xmrStationURL]);
  21977. format(string, sizeof(string), "Radio changed to station %s.", XMRData[id][xmrName]);
  21978. SendClientMessage(i, COLOR_ADM, string);
  21979. }
  21980. }
  21981. new idx = IsPlayerInProperty(playerid);
  21982. PropertyData[idx][propertyXMROn] = true;
  21983. format(PropertyData[idx][propertyXMRUrl], 128, "%s", XMRData[id][xmrStationURL]);
  21984. return true;
  21985. }
  21986. if (IsPlayerInAnyVehicle(playerid))
  21987. {
  21988. new vehicleid = GetPlayerVehicleID(playerid);
  21989. foreach(new i : Player)
  21990. {
  21991. if (IsPlayerInVehicle(i, vehicleid))
  21992. {
  21993. PlayAudioStreamForPlayer(i, XMRData[id][xmrStationURL]);
  21994. format(string, sizeof(string), "Radio changed to station %s.", XMRData[id][xmrName]);
  21995. SendClientMessage(i, COLOR_ADM, string);
  21996. }
  21997. }
  21998. if(IsValidPlayerCar(vehicleid))
  21999. {
  22000. CarData[vehicleid][carXMROn] = true;
  22001. format(CarData[vehicleid][carXMRUrl], 128, "%s", XMRData[id][xmrStationURL]);
  22002. }
  22003. if(IsValidFactionCar(vehicleid))
  22004. {
  22005. FactionCar[vehicleid][carsXMROn] = true;
  22006. format(FactionCar[vehicleid][carsXMRURL], 128, "%s", XMRData[id][xmrStationURL]);
  22007. }
  22008. return true;
  22009. }
  22010. }
  22011. return true;
  22012. }
  22013. CMD:fixr(playerid, params[])
  22014. {
  22015. return StopAudioStreamForPlayer(playerid);
  22016. }
  22017. CMD:unimpound(playerid, params[])
  22018. {
  22019. if(!_has_vehicle_spawned[playerid] && !PlayerData[playerid][pAdminDuty])
  22020. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have a vehicle spawned.");
  22021. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  22022. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  22023. new
  22024. vehicleid = GetPlayerVehicleID(playerid);
  22025. if(!CarData[vehicleid][carImpounded])
  22026. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle isn't impounded.");
  22027. if(PlayerData[playerid][pSQLID] != CarData[vehicleid][carOwnerID])
  22028. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't own this vehicle.");
  22029. CarData[vehicleid][carImpounded] = false;
  22030. GiveMoney(playerid, -500);
  22031. SendClientMessage(playerid, COLOR_DARKGREEN, "You unimpounded your vehicle.");
  22032. SaveCar(vehicleid);
  22033. return 1;
  22034. }
  22035. CMD:rw(playerid, params[])return cmd_rollwindows(playerid, params);
  22036. CMD:rollwindows(playerid, params[])
  22037. {
  22038. if(!IsPlayerInAnyVehicle(playerid))
  22039. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a vehicle.");
  22040. new window_states[4],
  22041. vehicleid = GetPlayerVehicleID(playerid),
  22042. seat = GetPlayerVehicleSeat(playerid),
  22043. str[128];
  22044. GetVehicleParamsCarWindows(GetPlayerVehicleID(playerid), window_states[0], window_states[1], window_states[2], window_states[3]);
  22045. if(GetPlayerVehicleSeat(playerid) != 0)
  22046. {
  22047. window_states[seat] = !window_states[seat];
  22048. SetVehicleParamsCarWindows(vehicleid, window_states[0], window_states[1], window_states[2], window_states[3]);
  22049. format(str, sizeof(str), "rolls their window %s.", (window_states[seat] != 0) ? ("up") : ("down"));
  22050. cmd_ame(playerid, str);
  22051. return 1;
  22052. }
  22053. else
  22054. {
  22055. if(isnull(params))
  22056. {
  22057. SendClientMessage(playerid, COLOR_ADM, "USAGE: /rollwindow [all, fr, rl, rr]");
  22058. window_states[seat] = !window_states[seat];
  22059. SetVehicleParamsCarWindows(vehicleid, window_states[0], window_states[1], window_states[2], window_states[3]);
  22060. format(str, sizeof(str), "rolls their window %s.", (window_states[seat] != 0) ? ("up") : ("down"));
  22061. cmd_ame(playerid, str);
  22062. return 1;
  22063. }
  22064. if(!strcmp(params, "all"))
  22065. {
  22066. for(new i = 0; i < 4; i++)
  22067. {
  22068. window_states[i] = !window_states[i];
  22069. }
  22070. SetVehicleParamsCarWindows(vehicleid, window_states[0], window_states[1], window_states[2], window_states[3]);
  22071. cmd_ame(playerid, "rolls all the windows.");
  22072. }
  22073. else if(!strcmp(params, "fr"))
  22074. {
  22075. if(window_states[1] == 1)
  22076. window_states[1] = 0;
  22077. else window_states[1] = 1;
  22078. SetVehicleParamsCarWindows(vehicleid, window_states[0], window_states[1], window_states[2], window_states[3]);
  22079. format(str, sizeof(str), "rolls the passenger window %s.", (window_states[1] != 0) ? ("up") : ("down"));
  22080. cmd_ame(playerid, str);
  22081. }
  22082. else if(!strcmp(params, "rl"))
  22083. {
  22084. if(window_states[2] == 1)
  22085. window_states[2] = 0;
  22086. else window_states[2] = 1;
  22087. SetVehicleParamsCarWindows(vehicleid, window_states[0], window_states[1], window_states[2], window_states[3]);
  22088. format(str, sizeof(str), "rolls the back left window %s.", (window_states[2] != 0) ? ("up") : ("down"));
  22089. cmd_ame(playerid, str);
  22090. }
  22091. else if(!strcmp(params, "rr"))
  22092. {
  22093. if(window_states[3] == 1)
  22094. window_states[3] = 0;
  22095. else window_states[3] = 1;
  22096. SetVehicleParamsCarWindows(vehicleid, window_states[0], window_states[1], window_states[2], window_states[3]);
  22097. format(str, sizeof(str), "rolls the back left window %s.", (window_states[3] != 0) ? ("up") : ("down"));
  22098. cmd_ame(playerid, str);
  22099. }
  22100. }
  22101. return 1;
  22102. }
  22103. //Ad
  22104. CMD:ad(playerid, params[])
  22105. {
  22106. if(!IsPlayerInRangeOfPoint(playerid, 5.0, AD_CENTER_X, AD_CENTER_Y, AD_CENTER_Z))
  22107. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't at the advertisement center.");
  22108. if(PlayerData[playerid][pDonator] != 3)
  22109. {
  22110. switch(PlayerData[playerid][pDonator])
  22111. {
  22112. case 2 .. 4:
  22113. {
  22114. if(gettime() - PlaceAdWait[playerid] < 5)
  22115. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need to wait 5 seconds between advertisements.");
  22116. }
  22117. }
  22118. }
  22119. else
  22120. {
  22121. if(gettime() - PlaceAdWait[playerid] < 30)
  22122. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need to wait 30 seconds between advertisements.");
  22123. }
  22124. if(isnull(params) || strlen(params) < 3)
  22125. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /ad [advertisement]");
  22126. if(1000 > PlayerData[playerid][pMoney])
  22127. return SendClientMessage(playerid, COLOR_ADM, "You can't afford this. ($1000)");
  22128. PlaceAdWait[playerid] = gettime();
  22129. new
  22130. str[128];
  22131. if(strlen(params) > 80)
  22132. {
  22133. SendMessageToAll(COLOR_DARKGREEN, "[Advertisement] %.80s ...", params);
  22134. SendMessageToAll(COLOR_DARKGREEN, "[Advertisement] ...%s, Phone: %i", params[80], ReturnPhoneNumber(playerid));
  22135. }
  22136. else SendMessageToAll(COLOR_DARKGREEN, "[Advertisement] %s, Phone: %i", params, ReturnPhoneNumber(playerid));
  22137. GiveMoney(playerid, -1000);
  22138. format(str, sizeof(str), "Ad placed by %s[ID: %i]", ReturnName(playerid), playerid);
  22139. SendAdminMessage(COLOR_YELLOW, str);
  22140. return 1;
  22141. }
  22142. CMD:cad(playerid, params[])
  22143. {
  22144. if(!IsPlayerInRangeOfPoint(playerid, 5.0, AD_CENTER_X, AD_CENTER_Y, AD_CENTER_Z))
  22145. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't at the advertisement center.");
  22146. if(gettime() - PlaceCadWait[playerid] < 30)
  22147. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need to wait 30 seconds between advertisements.");
  22148. if(isnull(params) || strlen(params) < 3)
  22149. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /cad [advertisement]");
  22150. if(1500 > PlayerData[playerid][pMoney])
  22151. return SendClientMessage(playerid, COLOR_ADM, "You can't afford this. ($1500)");
  22152. PlaceCadWait[playerid] = gettime();
  22153. new
  22154. str[128];
  22155. if(strlen(params) > 80)
  22156. {
  22157. SendMessageToAll(COLOR_DARKGREEN, "[Advertisement] %.80s ...", params);
  22158. SendMessageToAll(COLOR_DARKGREEN, "[Advertisement] ...%s", params[80]);
  22159. }
  22160. else SendMessageToAll(COLOR_DARKGREEN, "[Advertisement] %s", params);
  22161. GiveMoney(playerid, -150);
  22162. format(str, sizeof(str), "Company Ad placed by %s[ID: %i]", ReturnName(playerid), playerid);
  22163. SendAdminMessage(COLOR_YELLOW, str);
  22164. return 1;
  22165. }
  22166. //Fines
  22167. CMD:fines(playerid, params[])
  22168. {
  22169. new
  22170. playerb;
  22171. if(sscanf(params, "U(-1)", playerb))
  22172. return 1;
  22173. if(playerb != -1)
  22174. {
  22175. if(!IsPoliceFaction(playerid))
  22176. ShowPlayerFines(playerid, playerid);
  22177. else ShowPlayerFines(playerid, playerb);
  22178. }
  22179. else ShowPlayerFines(playerid, playerid);
  22180. return 1;
  22181. }
  22182. CMD:payfine(playerid, params[])
  22183. {
  22184. new
  22185. bool:hasFines = false;
  22186. for(new i = 0; i < 30; i++)
  22187. {
  22188. if(!Fines[playerid][i][Fine_ID])
  22189. continue;
  22190. hasFines = true;
  22191. }
  22192. if(!hasFines) return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have any fines to pay.");
  22193. new
  22194. fine_id,
  22195. bool:fine_exists = false,
  22196. index,
  22197. str[128];
  22198. if(sscanf(params, "i", fine_id))
  22199. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /payfine [Fine ID] (The ID provided in /fines.)");
  22200. for(new i = 0; i < 30; i++)
  22201. {
  22202. if(!Fines[playerid][i][Fine_ID])
  22203. continue;
  22204. if(Fines[playerid][i][Fine_ID] == fine_id)
  22205. {
  22206. fine_exists = true;
  22207. index = i;
  22208. }
  22209. }
  22210. if(!fine_exists) return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have a fine with that ID.");
  22211. format(str, sizeof(str), "You're about to pay {ADC3E7}Fine ID %i{FFFFFF} for {ADC3E7}$%s.", fine_id, MoneyFormat(Fines[playerid][index][Fine_Amount]));
  22212. ConfirmDialog(playerid, "Confirmation", str, "OnPlayerPayFine", index);
  22213. return 1;
  22214. }
  22215. //Cigs
  22216. CMD:smokecig(playerid, params[])
  22217. {
  22218. if(!PlayerData[playerid][pCigarettes])
  22219. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You don't have any cigarettes.");
  22220. if(GetPlayerState(playerid) == SPECIAL_ACTION_SMOKE_CIGGY)
  22221. return SendClientMessage(playerid, COLOR_GREY, "SERVER: You're already smoking a cigarette.");
  22222. cmd_ame(playerid, "lights up a cigarette.");
  22223. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
  22224. PlayerData[playerid][pCigarettes]--;
  22225. return 1;
  22226. }
  22227. CMD:givecig(playerid, params[])
  22228. {
  22229. if(!PlayerData[playerid][pCigarettes])
  22230. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You don't have any cigarettes.");
  22231. new playerb,
  22232. quantity,
  22233. str[128];
  22234. if(sscanf(params, "ui", playerb, quantity))
  22235. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /givecig [playerid/PartofName] [quantity]");
  22236. if(!IsPlayerConnected(playerb))
  22237. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  22238. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  22239. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  22240. if(quantity > PlayerData[playerid][pCigarettes])
  22241. return SendClientMessage(playerid, COLOR_GREY, "SERVER: You don't have that quantity.");
  22242. PlayerData[playerb][pCigarettes]+= quantity;
  22243. PlayerData[playerid][pCigarettes]-= quantity;
  22244. format(str, sizeof(str), "gives %s their cigarettes.", ReturnName(playerb, 0));
  22245. cmd_ame(playerid, str);
  22246. Message(playerb, COLOR_GREY, "%s passed you %i cigarettes!", ReturnName(playerid, 0), quantity);
  22247. return 1;
  22248. }
  22249. CMD:passcig(playerid, params[])
  22250. {
  22251. if(GetPlayerState(playerid) != SPECIAL_ACTION_SMOKE_CIGGY)
  22252. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You aren't smoking a cigarette.");
  22253. new playerb,
  22254. str[128];
  22255. if(sscanf(params, "u", playerb))
  22256. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /passcig [playerid/PartofName]");
  22257. if(!IsPlayerConnected(playerb))
  22258. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  22259. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  22260. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  22261. if(GetPlayerState(playerb) == SPECIAL_ACTION_SMOKE_CIGGY)
  22262. return SendClientMessage(playerid, COLOR_GREY, "That player is already smoking a cigarette.");
  22263. format(str, sizeof(str), "passes %s their cigarette.", ReturnName(playerb, 0));
  22264. cmd_ame(playerid, str);
  22265. SetPlayerSpecialAction(playerb, SPECIAL_ACTION_SMOKE_CIGGY);
  22266. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  22267. return 1;
  22268. }
  22269. //Drinks
  22270. CMD:usedrink(playerid, params[])
  22271. {
  22272. if(!PlayerData[playerid][pDrinks])
  22273. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have any drinks.");
  22274. if(isnull(params))
  22275. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /usedrink [beer/wine/sprunk]");
  22276. if(!strcmp(params, "beer"))
  22277. {
  22278. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER)
  22279. return SendClientMessage(playerid, COLOR_ADM, "You're already drinking beer.");
  22280. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
  22281. cmd_ame(playerid, "drinks their beer.");
  22282. }
  22283. else if(!strcmp(params, "wine"))
  22284. {
  22285. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_WINE)
  22286. return SendClientMessage(playerid, COLOR_ADM, "You're already drinking wine.");
  22287. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
  22288. cmd_ame(playerid, "drinks their wine.");
  22289. }
  22290. else if(!strcmp(params, "sprunk"))
  22291. {
  22292. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK)
  22293. return SendClientMessage(playerid, COLOR_ADM, "You're already drinking sprunk");
  22294. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
  22295. cmd_ame(playerid, "drinks their sprunk.");
  22296. }
  22297. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: That isn't an option.");
  22298. return 1;
  22299. }
  22300. CMD:givedrink(playerid, params[])
  22301. {
  22302. if(!PlayerData[playerid][pDrinks])
  22303. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have any drinks.");
  22304. new playerb,
  22305. str[128];
  22306. if(sscanf(params, "u", playerb))
  22307. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /givedrink [playerid/PartofName]");
  22308. if(!IsPlayerConnected(playerb))
  22309. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  22310. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  22311. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  22312. format(str, sizeof(str), "gives %s a drink.", ReturnName(playerb, 0));
  22313. cmd_ame(playerid, str);
  22314. PlayerData[playerid][pDrinks]++;
  22315. PlayerData[playerid][pDrinks]--;
  22316. return 1;
  22317. }
  22318. CMD:tognick(playerid, params[])
  22319. {
  22320. if(!PlayerData[playerid][pNicksToggled])
  22321. {
  22322. foreach(new i : Player)
  22323. {
  22324. ShowPlayerNameTagForPlayer(playerid, i, 0);
  22325. }
  22326. SendClientMessage(playerid, COLOR_ADM, "You disabled player tags. /tognick to enable.");
  22327. PlayerData[playerid][pNicksToggled] = 1;
  22328. }
  22329. else
  22330. {
  22331. foreach(new i : Player)
  22332. {
  22333. if(PlayerData[i][pMasked])
  22334. continue;
  22335. ShowPlayerNameTagForPlayer(playerid, i, 1);
  22336. }
  22337. SendClientMessage(playerid, COLOR_ADM, "You enabled player tags.");
  22338. PlayerData[playerid][pNicksToggled] = 0;
  22339. }
  22340. return 1;
  22341. }
  22342. CMD:coin(playerid, params[])
  22343. {
  22344. switch(random(2))
  22345. {
  22346. case 0: SendNearbyMessage(playerid, 20.0, COLOR_WHITE, "* %s flips a coin that lands on Tails.", ReturnName(playerid, 0));
  22347. case 1: SendNearbyMessage(playerid, 20.0, COLOR_WHITE, "* %s flips a coin that lands on Heads.", ReturnName(playerid, 0));
  22348. }
  22349. return 1;
  22350. }
  22351. CMD:dice(playerid, params[])
  22352. {
  22353. new
  22354. dice;
  22355. dice = random(7);
  22356. if(dice == 0 || dice > 6)
  22357. dice = random(7);
  22358. SendNearbyMessage(playerid, 20.0, COLOR_WHITE, "* %s rolls a dice that lands on %i.", ReturnName(playerid, 0), dice);
  22359. return 1;
  22360. }
  22361. CMD:walk(playerid, params[])
  22362. {
  22363. if (!AnimationCheck(playerid))
  22364. return SendClientMessage(playerid, COLOR_ADM, "You can't use this right now.");
  22365. switch (PlayerData[playerid][pWalkstyle])
  22366. {
  22367. case 0: PlayAnimation(playerid, "PED", "WALK_player", 4.1, 1, 1, 1, 1, 1, 1);
  22368. case 1: PlayAnimation(playerid, "PED", "WALK_walksexy", 4.1, 1, 1, 1, 1, 1, 1);
  22369. case 2: PlayAnimation(playerid, "PED", "WALK_fat", 4.1, 1, 1, 1, 1, 1, 1);
  22370. case 3: PlayAnimation(playerid, "PED", "WALK_fatold", 4.1, 1, 1, 1, 1, 1, 1);
  22371. case 4: PlayAnimation(playerid, "PED", "WALK_gang1", 4.1, 1, 1, 1, 1, 1, 1);
  22372. case 5: PlayAnimation(playerid, "PED", "WALK_gang2", 4.1, 1, 1, 1, 1, 1, 1);
  22373. case 6: PlayAnimation(playerid, "PED", "WALK_old", 4.1, 1, 1, 1, 1, 1, 1);
  22374. case 7: PlayAnimation(playerid, "PED", "WALK_armed", 4.1, 1, 1, 1, 1, 1, 1);
  22375. case 8: PlayAnimation(playerid, "PED", "WALK_civi", 4.1, 1, 1, 1, 1, 1, 1);
  22376. case 9: PlayAnimation(playerid, "PED", "WALK_DRUNK", 4.1, 1, 1, 1, 1, 1, 1);
  22377. }
  22378. return 1;
  22379. }
  22380. CMD:oldcp(playerid, params[])
  22381. {
  22382. if(!StartedTruckerMission[playerid])
  22383. return SendClientMessage(playerid, COLOR_ADM, "You haven't started the trucker job.");
  22384. new cp = TruckerMissionPoint[playerid];
  22385. SetPlayerCheckpoint(playerid, BusinessData[cp][businessExt][0], BusinessData[cp][businessExt][1], BusinessData[cp][businessExt][2], 1.0);
  22386. SendClientMessage(playerid, COLOR_GREY, "Established current trucker point checkpoint.");
  22387. return 1;
  22388. }
  22389. CMD:toghud(playerid, params[])
  22390. {
  22391. if(!PlayerData[playerid][pHUDToggled])
  22392. {
  22393. PlayerData[playerid][pHUDToggled] = 1;
  22394. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !NoEngineCar(GetPlayerVehicleID(playerid)))
  22395. {
  22396. switch(PlayerData[playerid][pHUD])
  22397. {
  22398. case 0: {
  22399. PlayerTextDrawHide(playerid, VehicleHUD[playerid][0]);
  22400. PlayerTextDrawHide(playerid, VehicleHUD[playerid][1]);
  22401. }
  22402. case 1: {
  22403. PlayerTextDrawHide(playerid, VehicleHUD[playerid][2]);
  22404. }
  22405. case 2: {
  22406. PlayerTextDrawHide(playerid, VehicleHUD[playerid][3]);
  22407. }
  22408. case 3: {
  22409. PlayerTextDrawHide(playerid, VehicleHUD[playerid][4]);
  22410. PlayerTextDrawHide(playerid, VehicleHUD[playerid][5]);
  22411. }
  22412. }
  22413. }
  22414. SendClientMessage(playerid, COLOR_YELLOW, "Your HUD will no longer be visible.");
  22415. }
  22416. else
  22417. {
  22418. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !NoEngineCar(GetPlayerVehicleID(playerid)))
  22419. {
  22420. UpdateHUDForPlayer(playerid);
  22421. switch(PlayerData[playerid][pHUD])
  22422. {
  22423. case 0: {
  22424. PlayerTextDrawShow(playerid, VehicleHUD[playerid][0]);
  22425. PlayerTextDrawShow(playerid, VehicleHUD[playerid][1]);
  22426. }
  22427. case 1: {
  22428. PlayerTextDrawShow(playerid, VehicleHUD[playerid][2]);
  22429. }
  22430. case 2: {
  22431. PlayerTextDrawShow(playerid, VehicleHUD[playerid][3]);
  22432. }
  22433. case 3: {
  22434. PlayerTextDrawShow(playerid, VehicleHUD[playerid][4]);
  22435. PlayerTextDrawShow(playerid, VehicleHUD[playerid][5]);
  22436. }
  22437. }
  22438. }
  22439. PlayerData[playerid][pHUDToggled] = 0;
  22440. OnPlayerChangeHud( playerid );
  22441. SendClientMessage(playerid, COLOR_YELLOW, "Your HUD will now be visible.");
  22442. }
  22443. return 1;
  22444. }
  22445. CMD:passgun(playerid, params[])
  22446. {
  22447. new playerb, wepid;
  22448. if (sscanf(params, "ui", playerb, wepid))
  22449. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /passgun [playerid/PartofName] [weapon id]");
  22450. if (!IsPlayerConnected(playerb))
  22451. return SendClientMessage(playerid, COLOR_ADM, "The player you specified doesn't exist.");
  22452. if (!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  22453. return SendClientMessage(playerid, COLOR_ADM, "You aren't near that player.");
  22454. if (playerb == playerid)
  22455. return SendClientMessage(playerid, COLOR_ADM, "Can't give it to yourself Joseph.");
  22456. if (wepid <= 1 || wepid > 46 || wepid == 35 || wepid == 36 || wepid == 37 || wepid == 38 || wepid == 39 || wepid == 21 || wepid == 19)
  22457. return SendClientMessage(playerid, COLOR_GREY, "You have specified an invalid weapon.");
  22458. if(Weapon[playerid][GetWeaponIndex(wepid)][eWeaponCCW])
  22459. return SendClientMessage(playerid, COLOR_GREY, "You cannot give someone else your CCW weapon.");
  22460. if(!PlayerHasWeapon(playerid, wepid))
  22461. return SendClientMessage(playerid, COLOR_ADM, "You don't have that weapon.");
  22462. new index = GetWeaponIndex(wepid);
  22463. if(Weapon[playerb][index][eWeaponID] > 0)
  22464. return SendClientMessage(playerid, COLOR_ADM, "That player already has a weapon in the specified weapons slot.");
  22465. WriteLog("weapon_logs/passgun.txt", "[%s] %s gave %s their %s with %d Ammo", ReturnDateLog(), ReturnName(playerid), ReturnName(playerb), ReturnWeaponName(wepid), ReturnWeaponAmmo(playerid, wepid));
  22466. Message(playerid, COLOR_ORANGE, "You passed your %s with %i Ammo to %s.", ReturnWeaponName(wepid), ReturnWeaponAmmo(playerid, wepid), ReturnName(playerb));
  22467. Message(playerb, COLOR_ORANGE, "%s gave you their %s with %i Ammo.", ReturnName(playerid), ReturnWeaponName(wepid), ReturnWeaponAmmo(playerid, wepid));
  22468. GivePlayerGun(playerb, wepid, ReturnWeaponAmmo(playerid, wepid));
  22469. TakePlayerWeapon(playerid, wepid);
  22470. return 1;
  22471. }
  22472. /*CMD:passammo(playerid, params[])
  22473. {
  22474. new playerb, ammo;
  22475. if(sscanf(params, "ui", playerb, ammo))
  22476. {
  22477. SendClientMessage(playerid, COLOR_ADM, "USAGE: /passammo [playerid/PartofName] [ammo]");
  22478. SendClientMessage(playerid, COLOR_ADM, "TIP:{FFFFFF} You hand ammo from the gun you're holding.");
  22479. return 1;
  22480. }
  22481. if(!IsPlayerConnected(playerb))
  22482. return SendClientMessage(playerid, COLOR_ADM, "The player you specified doesn't exist.");
  22483. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  22484. return SendClientMessage(playerid, COLOR_ADM, "You aren't near that player.");
  22485. if(playerb == playerid)
  22486. return SendClientMessage(playerid, COLOR_ADM, "Can't give it to yourself Joseph.");
  22487. if(GetPlayerWeapon(playerid) == 0)
  22488. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't holding your weapon.");
  22489. new weapon_id = ReturnWeapon(playerid);
  22490. new currAmmo = ReturnWeaponAmmo(playerid, weapon_id);
  22491. if(weapon_id == -1)
  22492. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't holding a weapon.");
  22493. if(!PlayerHasWeapon(playerb, weapon_id))
  22494. return SendClientMessage(playerid, COLOR_ADM, "That player doesn't have the weapon you're giving ammo for.");
  22495. if(ammo < 1 || ammo > currAmmo)
  22496. return SendClientMessage(playerid, COLOR_ADM, "You don't have that amount of ammo.");
  22497. new bAmmo = ReturnWeaponAmmo(playerb, weapon_id);
  22498. UpdatePlayerAmmo(playerb, weapon_id, bAmmo + ammo);
  22499. SetPlayerAmmo(playerb, weapon_id, bAmmo + ammo);
  22500. UpdatePlayerAmmo(playerid, weapon_id, currAmmo - ammo);
  22501. SetPlayerAmmo(playerid, weapon_id, currAmmo - ammo);
  22502. if(currAmmo - ammo <= 0)
  22503. {
  22504. TakePlayerWeapon(playerid, weapon_id);
  22505. }
  22506. Message(playerid, COLOR_ORANGE, "You gave %s ammo for their %s. (%i)", ReturnName(playerb), ReturnWeaponName(weapon_id), ammo);
  22507. Message(playerb, COLOR_ORANGE, "%s gave you %i ammo for your %s.", ReturnName(playerid), ammo, ReturnWeaponName(weapon_id));
  22508. WriteLog("weapon_logs/passammo.txt", "[%s] %s gave %s %i Ammo for a %s", ReturnDateLog(), ReturnName(playerid), ReturnName(playerb), ammo, ReturnWeaponName(weapon_id));
  22509. return 1;
  22510. }*/
  22511. CMD:lift(playerid, params[])
  22512. {
  22513. if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1569.34424, -2156.86060, 12.96720))
  22514. return SendClientMessage(playerid, COLOR_ADM, "You aren't near the garage lift.");
  22515. if(MechUp)
  22516. {
  22517. MechUp = false;
  22518. MoveDynamicObject(MechLift, 1569.34424, -2156.86060, 12.96720, 0.5);
  22519. }
  22520. else
  22521. {
  22522. MechUp = true;
  22523. MoveDynamicObject(MechLift, 1569.34424, -2156.86060, 14.70720, 0.5);
  22524. }
  22525. new str[128];
  22526. format(str, sizeof(str), "moves the lift %s.", (MechUp != true) ? ("down") : ("up"));
  22527. cmd_ame(playerid, str);
  22528. return 1;
  22529. }
  22530. //
  22531. CMD:gate(playerid, params[])
  22532. {
  22533. new
  22534. near = -1,
  22535. Float:distance;
  22536. if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  22537. distance = 7.0;
  22538. else if(IsPlayerInAnyVehicle(playerid))
  22539. distance = 15.0;
  22540. for(new i = 0; i < sizeof ObjectData; i++) if(ObjectData[i][Object_Type] == GATE_MAP_TYPE)
  22541. {
  22542. if(IsPlayerInRangeOfPoint(playerid, distance, ObjectData[i][Object_PosX], ObjectData[i][Object_PosY], ObjectData[i][Object_PosZ]))
  22543. {
  22544. near = i;
  22545. }
  22546. }
  22547. if(near == -1)
  22548. return SendClientMessage(playerid, COLOR_ADM, "* You aren't near a gate.");
  22549. if(ObjectData[near][Object_Faction] && PlayerData[playerid][pFaction] != ObjectData[near][Object_Faction] && !PlayerData[playerid][pAdminDuty])
  22550. return SendClientMessage(playerid, COLOR_ADM, "* You don't have the controller to this gate.");
  22551. if(ObjectData[near][Object_GateOpen])
  22552. {
  22553. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s uses their controller to close the gate.", ReturnName(playerid, 0));
  22554. MoveDynamicObject(ObjectData[near][Object], ObjectData[near][Object_PosX], ObjectData[near][Object_PosY], ObjectData[near][Object_PosZ]-0.001, 3.0, ObjectData[near][Object_RotX], ObjectData[near][Object_RotY], ObjectData[near][Object_RotZ]);
  22555. ObjectData[near][Object_GateOpen] = false;
  22556. }
  22557. else
  22558. {
  22559. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s uses their controller to open the gate.", ReturnName(playerid, 0));
  22560. MoveDynamicObject(ObjectData[near][Object], ObjectData[near][Object_OpenX], ObjectData[near][Object_OpenY], ObjectData[near][Object_OpenZ]+0.001, 5.0, ObjectData[near][Object_OpenRotX], ObjectData[near][Object_OpenRotY], ObjectData[near][Object_OpenRotZ]);
  22561. ObjectData[near][Object_GateOpen] = true;
  22562. }
  22563. return 1;
  22564. }
  22565. CMD:releaseme(playerid, params[])
  22566. {
  22567. if(!PlayerData[playerid][pICJailed])
  22568. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't currently jailed.");
  22569. if(PlayerData[playerid][pICJailed] && PlayerData[playerid][pICJailTime] > 1)
  22570. return SendClientMessage(playerid, COLOR_ADM, "[-] Your time hasn't been served yet.");
  22571. SetPlayerPos(playerid, 1553.0421, -1675.4706, 16.1953);
  22572. SetPlayerInterior(playerid, 0);
  22573. SetPlayerVirtualWorld(playerid, 0);
  22574. new
  22575. str[128];
  22576. format(str, sizeof(str), "[Jail] %s was released from jail.", ReturnName(playerid, 1));
  22577. SendLawMessage(COLOR_ADM, str);
  22578. DestroyDynamic3DTextLabel(PlayerData[playerid][pICJail3D]);
  22579. PlayerData[playerid][pICJailNotify] = 0;
  22580. PlayerData[playerid][pICJailed] = 0;
  22581. PlayerData[playerid][pICJailTime] = 0;
  22582. TotalJailees--;
  22583. SendClientMessage(playerid, COLOR_ADM, "[-] You were released from jail.");
  22584. if (IsValidDynamic3DTextLabel(PlayerData[playerid][pICJail3D])) {
  22585. DestroyDynamic3DTextLabel(PlayerData[playerid][pICJail3D]);
  22586. }
  22587. return 1;
  22588. }
  22589. //Clothing Command
  22590. CMD:clothing(playerid, params[])
  22591. {
  22592. new string[256], a_string[40], b_string[90], id, checkClothes = 0;
  22593. if (sscanf(params, "s[40]S()[90]", a_string, b_string))
  22594. {
  22595. for(new i = 1, j = 1; i < MAX_CLOTHING_ITEMS; i++)
  22596. {
  22597. if(ClothingData[playerid][i][attachment_SQLID])
  22598. {
  22599. checkClothes++;
  22600. ClothingMenuSelect[playerid][j] = ClothingData[playerid][i][attachment_SQLID];
  22601. j++;
  22602. if(j > 5)
  22603. break;
  22604. format(string, sizeof(string), "%s%s(Index: %d)\n", string, ClothingData[playerid][i][attachment_name], i);
  22605. ShowPlayerDialog(playerid, DIALOG_CLOTHING_MENU, DIALOG_STYLE_LIST, "What would you like to edit?", string, "Select", "<<");
  22606. }
  22607. }
  22608. if (!checkClothes)
  22609. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have any clothing items.");
  22610. return true;
  22611. }
  22612. if(!strcmp(a_string, "place") || !strcmp(a_string, "p"))
  22613. {
  22614. if (sscanf(b_string, "d", id))
  22615. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /clothing place [index]");
  22616. if (id < 1 || id >= MAX_CLOTHING_ITEMS)
  22617. return SendClientMessage(playerid, COLOR_ADM, "That isn't a valid slot.");
  22618. if (!ClothingData[playerid][id][attachment_SQLID])
  22619. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have clothing there.");
  22620. if (PlayerData[playerid][pEditingClothing])
  22621. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to stop editing your clothing first.");
  22622. if (IsPlayerAttachedObjectSlotUsed(playerid, id))
  22623. {
  22624. format(string, sizeof(string), "You took off %s", ClothingData[playerid][id][attachment_name]);
  22625. SendClientMessage(playerid, COLOR_WHITE, string);
  22626. RemovePlayerAttachedObject(playerid, id);
  22627. }
  22628. else {
  22629. SetPlayerAttachedObject(playerid, id, ClothingData[playerid][id][attachment_modelid], ClothingData[playerid][id][attachment_bone], ClothingData[playerid][id][attachment_Pos][0], ClothingData[playerid][id][attachment_Pos][1], ClothingData[playerid][id][attachment_Pos][2],
  22630. ClothingData[playerid][id][attachment_Rot][0], ClothingData[playerid][id][attachment_Rot][1], ClothingData[playerid][id][attachment_Rot][2], ClothingData[playerid][id][attachment_Scale][0],
  22631. ClothingData[playerid][id][attachment_Scale][1], ClothingData[playerid][id][attachment_Scale][2]);
  22632. format(string, sizeof(string), "You put on %s", ClothingData[playerid][id][attachment_name]);
  22633. SendClientMessage(playerid, COLOR_WHITE, string);
  22634. }
  22635. }
  22636. else if(!strcmp(a_string, "adjust") || !strcmp(a_string, "a"))
  22637. {
  22638. if (sscanf(b_string, "d", id))
  22639. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /clothing adjust [index]");
  22640. if (id < 1 || id >= MAX_CLOTHING_ITEMS)
  22641. return SendClientMessage(playerid, COLOR_ADM, "That isn't a valid slot.");
  22642. if (!ClothingData[playerid][id][attachment_SQLID])
  22643. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have clothing there.");
  22644. PlayerData[playerid][pEditingClothing] = true;
  22645. if (IsPlayerAttachedObjectSlotUsed(playerid, id))
  22646. {
  22647. ApplyAnimation(playerid, "CLOTHES", "CLO_Pose_Hat", 4.1, 0, 0, 0, 1, 0, 1);
  22648. EditAttachedObject(playerid, id);
  22649. }
  22650. else {
  22651. SetPlayerAttachedObject(playerid, id, ClothingData[playerid][id][attachment_modelid], ClothingData[playerid][id][attachment_bone], ClothingData[playerid][id][attachment_Pos][0], ClothingData[playerid][id][attachment_Pos][1], ClothingData[playerid][id][attachment_Pos][2],
  22652. ClothingData[playerid][id][attachment_Rot][0], ClothingData[playerid][id][attachment_Rot][1], ClothingData[playerid][id][attachment_Rot][2], ClothingData[playerid][id][attachment_Scale][0],
  22653. ClothingData[playerid][id][attachment_Scale][1], ClothingData[playerid][id][attachment_Scale][2]);
  22654. ApplyAnimation(playerid, "CLOTHES", "CLO_Pose_Hat", 4.1, 0, 0, 0, 1, 0, 1);
  22655. EditAttachedObject(playerid, id);
  22656. }
  22657. }
  22658. else if(!strcmp(a_string, "drop"))
  22659. {
  22660. if (sscanf(b_string, "d", id))
  22661. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /clothing drop [index]");
  22662. if (id < 1 || id >= MAX_CLOTHING_ITEMS)
  22663. return SendClientMessage(playerid, COLOR_ADM, "That isn't a valid slot.");
  22664. if (!ClothingData[playerid][id][attachment_SQLID])
  22665. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have clothing there.");
  22666. if (PlayerData[playerid][pEditingClothing])
  22667. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to stop editing your clothing first.");
  22668. if (IsPlayerAttachedObjectSlotUsed(playerid, id)){
  22669. RemovePlayerAttachedObject(playerid, id);
  22670. }
  22671. format(string, sizeof(string), "You dropped your %s", ClothingData[playerid][id][attachment_name]);
  22672. SendClientMessage(playerid, COLOR_WHITE, string);
  22673. new
  22674. query[128]
  22675. ;
  22676. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM player_clothing WHERE id = %i", ClothingData[playerid][id][attachment_SQLID]);
  22677. mysql_pquery(m_Handle, query);
  22678. ClothingData[playerid][id][attachment_SQLID] = 0;
  22679. }
  22680. return true;
  22681. }
  22682. //Faction Commands
  22683. CMD:factions(playerid, params[])
  22684. {
  22685. if(!pLoggedIn[playerid])return true;
  22686. new string[2200];
  22687. for(new i = 1; i < MAX_FACTIONS; i++)
  22688. {
  22689. if(FactionData[i][factionID] != 0){
  22690. format(string, sizeof(string), "%s{ADC3E7}%d\t\t%s\t\t\t[%d out of %d]\n", string, i, FactionData[i][factionName], CountOnlineMembers(i), CountFactionMembers(i));
  22691. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Factions", string, ">>>", "");
  22692. }
  22693. }
  22694. return true;
  22695. }
  22696. CMD:f(playerid, params[])return cmd_faction(playerid, params);
  22697. CMD:faction(playerid, params[])
  22698. {
  22699. if(!pLoggedIn[playerid])return true;
  22700. new string[128];
  22701. if(!PlayerData[playerid][pFaction]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  22702. if(PlayerData[playerid][pFactionChat] == 1) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You disabled your faction chat. Use /togfam.");
  22703. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionChatrank])
  22704. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have faction chat permission.");
  22705. if(isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /faction [faction chat text]");
  22706. if(FactionData[PlayerData[playerid][pFaction]][factionChatStatus])
  22707. {
  22708. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank] && !PlayerData[playerid][pAdminDuty])
  22709. {
  22710. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your factions chat is disabled right now.");
  22711. }
  22712. else
  22713. {
  22714. format(string, sizeof(string), "**(( %s %s: %s ))**", ReturnRank(playerid), ReturnName(playerid, 1), params);
  22715. SendFactionMessage(playerid, string);
  22716. }
  22717. }
  22718. else
  22719. {
  22720. format(string, sizeof(string), "**(( %s %s: %s ))**", ReturnRank(playerid), ReturnName(playerid, 1), params);
  22721. SendFactionMessage(playerid, string);
  22722. }
  22723. return true;
  22724. }
  22725. CMD:factionon(playerid, params[])
  22726. {
  22727. if(!pLoggedIn[playerid]) return true;
  22728. new factionid, string[256];
  22729. if(sscanf(params, "I(-1)", factionid)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /factionon [faction id]");
  22730. if(factionid == -1)
  22731. {
  22732. if(!PlayerData[playerid][pFaction]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  22733. format(string, sizeof(string), "Members of %s online:", FactionData[PlayerData[playerid][pFaction]][factionName]);
  22734. SendClientMessage(playerid, COLOR_GREY, string);
  22735. foreach(new i : Player)
  22736. {
  22737. if(PlayerData[i][pFaction] == PlayerData[playerid][pFaction])
  22738. {
  22739. if(PlayerData[i][pLAWduty])
  22740. {
  22741. if(PlayerData[i][pAdminDuty])
  22742. {
  22743. format(string, sizeof(string), "(ID: %d){FF9900} %s %s", i, ReturnRank(i), ReturnName(i, 1));
  22744. SendClientMessage(playerid, COLOR_GREY, string);
  22745. }
  22746. else
  22747. {
  22748. format(string, sizeof(string), "(ID: %d){8D8DFF} %s %s", i, ReturnRank(i), ReturnName(i, 1));
  22749. SendClientMessage(playerid, COLOR_GREY, string);
  22750. }
  22751. }
  22752. else
  22753. {
  22754. if(PlayerData[i][pAdminDuty])
  22755. {
  22756. format(string, sizeof(string), "(ID: %d){FF9900} %s %s", i, ReturnRank(i), ReturnName(i, 1));
  22757. SendClientMessage(playerid, COLOR_GREY, string);
  22758. }
  22759. else
  22760. {
  22761. format(string, sizeof(string), "(ID: %d) %s %s", i, ReturnRank(i), ReturnName(i, 1));
  22762. SendClientMessage(playerid, COLOR_GREY, string);
  22763. }
  22764. }
  22765. }
  22766. }
  22767. }
  22768. else{
  22769. if(factionid < 1 || factionid > MAX_FACTIONS)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction id.");
  22770. if(!FactionData[factionid][factionID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction id.");
  22771. format(string, sizeof(string), "[ ! ]{FFFFFF} The {FF6347}%s{FFFFFF} has {FF6347}%d{FFFFFF} out of {FF6347}%d{FFFFFF} members online.", FactionData[factionid][factionName], CountOnlineMembers(factionid), CountFactionMembers(factionid));
  22772. SendClientMessage(playerid, COLOR_ADM, string);
  22773. }
  22774. return true;
  22775. }
  22776. CMD:nofam(playerid, params[])
  22777. {
  22778. if(!pLoggedIn[playerid])return true;
  22779. if(!PlayerData[playerid][pFaction])
  22780. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22781. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22782. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to tog the faction chat.");
  22783. new string[128], faction = PlayerData[playerid][pFaction];
  22784. if(!FactionData[faction][factionChatStatus])
  22785. {
  22786. format(string, sizeof(string), "%s turned the /f chat off.", ReturnName(playerid, 1));
  22787. SendFactionMessageEx(playerid, COLOR_ADM, string);
  22788. FactionData[faction][factionChatStatus] = true;
  22789. }
  22790. else
  22791. {
  22792. format(string, sizeof(string), "%s turned the /f chat on.", ReturnName(playerid, 1));
  22793. SendFactionMessageEx(playerid, COLOR_ADM, string);
  22794. FactionData[faction][factionChatStatus] = false;
  22795. }
  22796. return true;
  22797. }
  22798. CMD:togfam(playerid, params[])
  22799. {
  22800. if (!PlayerData[playerid][pFactionChat])
  22801. {
  22802. PlayerData[playerid][pFactionChat] = 1;
  22803. SendClientMessage(playerid, COLOR_ADM, "You toggled your faction chat off.");
  22804. }
  22805. else
  22806. {
  22807. PlayerData[playerid][pFactionChat] = 0;
  22808. SendClientMessage(playerid, COLOR_ADM, "You toggled your faction chat on.");
  22809. }
  22810. return true;
  22811. }
  22812. CMD:chatcolor(playerid, params[])
  22813. {
  22814. if(!pLoggedIn[playerid]) return true;
  22815. if(!PlayerData[playerid][pFaction]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22816. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22817. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22818. new string[128], color, faction = PlayerData[playerid][pFaction];
  22819. if(sscanf(params, "x", color))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /chatcolor [hex code]");
  22820. format(string, sizeof(string), "[ ! ]{FFFFFF} Chat color changed from %x to %x.", FactionData[PlayerData[playerid][pFaction]][factionChatColor], color);
  22821. SendClientMessage(playerid, COLOR_ADM, string);
  22822. FactionData[PlayerData[playerid][pFaction]][factionChatColor] = color;
  22823. SaveSQLInt(faction, "factions", "ChatColor", FactionData[faction][factionChatColor]);
  22824. return true;
  22825. }
  22826. CMD:ranknames(playerid, params[])
  22827. {
  22828. if(!PlayerData[playerid][pFaction])
  22829. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22830. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22831. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22832. new string[128], rank[60], rankn, faction = PlayerData[playerid][pFaction];
  22833. if(sscanf(params, "ds[60]", rankn, rank))
  22834. {
  22835. SendClientMessage(playerid, COLOR_ADM, "USAGE: /ranknames [rank_id] [rank_name]");
  22836. SendClientMessage(playerid, COLOR_ADM, "In order to remove a rank, set it to \"NotSet\". ");
  22837. return 1;
  22838. }
  22839. if(rankn > 20 || rankn < 1)
  22840. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid rank.");
  22841. if(strlen(rank) > 60)
  22842. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Your rank name needs to be less than 60 characters.");
  22843. format(string, sizeof(string), "[ ! ]{FFFFFF} You altered rank (%d) %s to %s!", rankn, FactionRanks[faction][rankn], rank);
  22844. SendClientMessage(playerid, COLOR_ADM, string);
  22845. FactionRanks[faction][rankn] = rank;
  22846. SaveFactionRanks(faction);
  22847. return true;
  22848. }
  22849. CMD:editrank(playerid, params[])
  22850. {
  22851. if(!pLoggedIn[playerid]) return true;
  22852. if(!PlayerData[playerid][pFaction]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22853. if(PlayerData[playerid][pFactionRank] != 1)
  22854. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Only rank 1 in factions may edit the edit rank.");
  22855. new string[128], rank, faction = PlayerData[playerid][pFaction];
  22856. if(sscanf(params, "d", rank))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /editrank [rank id]");
  22857. FactionData[faction][factionEditrank] = rank;
  22858. SaveSQLInt(faction, "factions", "EditRank", FactionData[faction][factionEditrank]);
  22859. format(string, sizeof(string), "[ ! ]{FFFFFF} Your factions {FF6347}edit rank{FFFFFF} is now {FF6347}%d{FFFFFF}.", rank);
  22860. SendClientMessage(playerid, COLOR_ADM, string);
  22861. return true;
  22862. }
  22863. CMD:towrank(playerid, params[])
  22864. {
  22865. if(!pLoggedIn[playerid])return true;
  22866. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22867. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22868. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22869. new string[128], rank, faction = PlayerData[playerid][pFaction];
  22870. if(sscanf(params, "d", rank))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /towrank [rank id]");
  22871. FactionData[faction][factionTowrank] = rank;
  22872. SaveSQLInt(faction, "factions", "TowRank", FactionData[faction][factionTowrank]);
  22873. format(string, sizeof(string), "[ ! ]{FFFFFF} Your factions {FF6347}tow rank{FFFFFF} is now {FF6347}%d{FFFFFF}.", rank);
  22874. SendClientMessage(playerid, COLOR_ADM, string);
  22875. return true;
  22876. }
  22877. CMD:chatrank(playerid, params[])
  22878. {
  22879. if(!pLoggedIn[playerid])return true;
  22880. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22881. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22882. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22883. new string[128], rank, faction = PlayerData[playerid][pFaction];
  22884. if(sscanf(params, "d", rank))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /chatrank [rank id]");
  22885. FactionData[faction][factionChatrank] = rank;
  22886. SaveSQLInt(faction, "factions", "ChatRank", FactionData[faction][factionChatrank]);
  22887. format(string, sizeof(string), "[ ! ]{FFFFFF} Your factions {FF6347}chat rank{FFFFFF} is now {FF6347}%d{FFFFFF}.", rank);
  22888. SendClientMessage(playerid, COLOR_ADM, string);
  22889. return true;
  22890. }
  22891. CMD:joinrank(playerid, params[])
  22892. {
  22893. if(!pLoggedIn[playerid])return true;
  22894. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  22895. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22896. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22897. new string[128], rank, faction = PlayerData[playerid][pFaction];
  22898. if(sscanf(params, "d", rank))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /joinrank [rank id]");
  22899. FactionData[faction][factionMaxRanks] = rank;
  22900. SaveSQLInt(faction, "factions", "MaxRanks", FactionData[faction][factionChatrank]);
  22901. format(string, sizeof(string), "[ ! ]{FFFFFF} Your factions {FF6347}join rank{FFFFFF} is now {FF6347}%d{FFFFFF}.", rank);
  22902. SendClientMessage(playerid, COLOR_ADM, string);
  22903. return true;
  22904. }
  22905. CMD:rank(playerid, params[])
  22906. {
  22907. if(!pLoggedIn[playerid])return true;
  22908. new string[128], playerb, newrank, faction = PlayerData[playerid][pFaction];
  22909. if(!PlayerData[playerid][pFaction])
  22910. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  22911. if(PlayerData[playerid][pFactionRank] > FactionData[faction][factionEditrank])
  22912. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22913. if(sscanf(params, "ud", playerb, newrank))
  22914. {
  22915. for(new i = 1; i < MAX_FACTION_RANKS; i++)
  22916. {
  22917. if(!strcmp(FactionRanks[faction][i], "NotSet"))
  22918. continue;
  22919. format(string, sizeof(string), "-> Rank %i: %s", i, FactionRanks[faction][i]);
  22920. SendClientMessage(playerid, COLOR_YELLOW, string);
  22921. }
  22922. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /rank [playerid/PartofName] [rank id]");
  22923. return 1;
  22924. }
  22925. if(newrank > 20 || newrank < 1)
  22926. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid rank.");
  22927. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "You have specified an invalid player.");
  22928. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "That player hasn't logged in yet.");
  22929. if(PlayerData[playerb][pFaction] != faction)
  22930. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't in your faction.");
  22931. if(PlayerData[playerb][pFactionRank] < PlayerData[playerid][pFactionRank])
  22932. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You can't alter that players rank.");
  22933. format(string, sizeof(string), "-> You upgraded %s's rank from %s to %s!", ReturnName(playerb, 1), FactionRanks[faction][PlayerData[playerb][pFactionRank]], FactionRanks[faction][newrank]);
  22934. SendClientMessage(playerid, COLOR_YELLOW, string);
  22935. format(string, sizeof(string), "-> Your rank was upgraded from %s to %s by %s!", FactionRanks[faction][PlayerData[playerb][pFactionRank]], FactionRanks[faction][newrank], ReturnName(playerid, 1));
  22936. SendClientMessage(playerb, COLOR_YELLOW, string);
  22937. PlayerData[playerb][pFactionRank] = newrank;
  22938. return true;
  22939. }
  22940. CMD:factionspawn(playerid, params[])
  22941. {
  22942. new string[128], faction = PlayerData[playerid][pFaction];
  22943. if(!pLoggedIn[playerid])return true;
  22944. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  22945. if(PlayerData[playerid][pFactionRank] > FactionData[faction][factionEditrank])
  22946. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to edit.");
  22947. new Float:Pos[4];
  22948. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  22949. GetPlayerFacingAngle(playerid, Pos[3]);
  22950. FactionSpawn[0] = Pos[0];
  22951. FactionSpawn[1] = Pos[1];
  22952. FactionSpawn[2] = Pos[2];
  22953. FactionSpawn[3] = Pos[3];
  22954. FactionData[faction][factionSpawn][0] = FactionSpawn[0];
  22955. FactionData[faction][factionSpawn][1] = FactionSpawn[1];
  22956. FactionData[faction][factionSpawn][2] = FactionSpawn[2];
  22957. FactionData[faction][factionSpawn][3] = FactionSpawn[3];
  22958. SaveSQLFloat(faction, "factions", "SpawnX", FactionSpawn[0]);
  22959. SaveSQLFloat(faction, "factions", "SpawnY", FactionSpawn[1]);
  22960. SaveSQLFloat(faction, "factions", "SpawnZ", FactionSpawn[2]);
  22961. SaveSQLFloat(faction, "factions", "SpawnA", FactionSpawn[3]);
  22962. format(string, sizeof(string), "[ ! ]{FFFFFF} The {FF6346}%s's{FFFFFF} faction spawn was changed.", FactionData[faction][factionName]);
  22963. SendClientMessage(playerid, COLOR_ADM, string);
  22964. return true;
  22965. }
  22966. CMD:setpspawn(playerid, params[])
  22967. {
  22968. if(!PlayerData[playerid][pFaction])
  22969. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  22970. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  22971. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Your rank doesn't have permission to edit.");
  22972. new
  22973. id, factionid = PlayerData[playerid][pFaction];
  22974. if(sscanf(params, "i", id))
  22975. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setpspawn [1/2/3]");
  22976. switch(id)
  22977. {
  22978. case 1:
  22979. {
  22980. GetPlayerPos(playerid, FactionData[factionid][factionSpawnEx1][0], FactionData[factionid][factionSpawnEx1][1], FactionData[factionid][factionSpawnEx1][2]);
  22981. SendClientMessage(playerid, COLOR_ADM, "You set your factions 1st secondary spawn.");
  22982. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn1X", FactionData[factionid][factionSpawnEx1][0]);
  22983. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn1Y", FactionData[factionid][factionSpawnEx1][1]);
  22984. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn1Z", FactionData[factionid][factionSpawnEx1][2]);
  22985. }
  22986. case 2:
  22987. {
  22988. GetPlayerPos(playerid, FactionData[factionid][factionSpawnEx2][0], FactionData[factionid][factionSpawnEx2][1], FactionData[factionid][factionSpawnEx2][2]);
  22989. SendClientMessage(playerid, COLOR_ADM, "You set your factions 2nd secondary spawn.");
  22990. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn2X", FactionData[factionid][factionSpawnEx2][0]);
  22991. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn2Y", FactionData[factionid][factionSpawnEx2][1]);
  22992. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn2Z", FactionData[factionid][factionSpawnEx2][2]);
  22993. }
  22994. case 3:
  22995. {
  22996. GetPlayerPos(playerid, FactionData[factionid][factionSpawnEx3][0], FactionData[factionid][factionSpawnEx3][1], FactionData[factionid][factionSpawnEx3][2]);
  22997. SendClientMessage(playerid, COLOR_ADM, "You set your factions 3rd secondary spawn.");
  22998. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn3X", FactionData[factionid][factionSpawnEx3][0]);
  22999. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn3Y", FactionData[factionid][factionSpawnEx3][1]);
  23000. SaveSQLFloat(FactionData[factionid][factionID], "factions", "ExSpawn3Z", FactionData[factionid][factionSpawnEx3][2]);
  23001. }
  23002. default: SendClientMessage(playerid, COLOR_ADM, "You specified an invalid spawn. [1-3]");
  23003. }
  23004. return 1;
  23005. }
  23006. CMD:factionname(playerid, params[])
  23007. {
  23008. if(!pLoggedIn[playerid])return true;
  23009. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  23010. if(PlayerData[playerid][pFactionRank] != 1)
  23011. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Only rank 1 in factions may edit the factions name.");
  23012. new faction = PlayerData[playerid][pFaction], string[128], name[128];
  23013. if(sscanf(params, "s[128]", name))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /factionname [factions name]");
  23014. format(string, sizeof(string), "[ ! ]{FFFFFF} The {FF6346}%s{FFFFFF} was changed to {FF6346}%s{FFFFFF}.", FactionData[faction][factionName], name);
  23015. SendClientMessage(playerid, COLOR_ADM, string);
  23016. format(FactionData[faction][factionName], 128, "%s", name);
  23017. SaveFaction(faction);
  23018. return true;
  23019. }
  23020. CMD:factionabbrev(playerid, params[])
  23021. {
  23022. if(!pLoggedIn[playerid])return true;
  23023. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  23024. if(PlayerData[playerid][pFactionRank] != 1)
  23025. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Only rank 1 in factions may edit the factions abbreviation.");
  23026. new faction = PlayerData[playerid][pFaction], string[128], name[128];
  23027. if(sscanf(params, "s[128]", name))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /factionabbrev [factions abbrev]");
  23028. format(string, sizeof(string), "[ ! ]{FFFFFF} The abbreviation {FF6346}%s{FFFFFF} was changed to {FF6346}%s{FFFFFF}.", FactionData[faction][factionAbbrev], name);
  23029. SendClientMessage(playerid, COLOR_ADM, string);
  23030. format(FactionData[faction][factionAbbrev], 128, "%s", name);
  23031. SaveFaction(faction);
  23032. return true;
  23033. }
  23034. CMD:invite(playerid, params[])
  23035. {
  23036. if(!pLoggedIn[playerid])return true;
  23037. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  23038. new playerb, string[128], faction = PlayerData[playerid][pFaction];
  23039. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /invite [playerid/PartofName]");
  23040. if(PlayerData[playerid][pFactionRank] > FactionData[faction][factionEditrank])
  23041. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have access to this command.");
  23042. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "You have specified an invalid player.");
  23043. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "That player hasn't logged in yet.");
  23044. if(PlayerData[playerb][pFaction] != 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player's already in a faction.");
  23045. format(string, sizeof(string), "%s has invited you to join %s, type /accept to accept the invitation.", ReturnName(playerid, 0), FactionData[faction][factionName]);
  23046. SendClientMessage(playerb, COLOR_YELLOW, string);
  23047. format(string, sizeof(string), "You invited %s to join %s, they have to /accept to join.", ReturnName(playerb, 0), FactionData[faction][factionName]);
  23048. SendClientMessage(playerid, COLOR_YELLOW, string);
  23049. PlayerData[playerb][pFactionOffer] = faction;
  23050. return true;
  23051. }
  23052. CMD:uninvite(playerid, params[])
  23053. {
  23054. if(!pLoggedIn[playerid])return true;
  23055. if(!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not in any faction.");
  23056. new playerb, string[128];
  23057. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /uninvite [playerid/PartofName]");
  23058. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  23059. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have access to this command.");
  23060. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_GREY, "You have specified an invalid player.");
  23061. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_GREY, "That player hasn't logged in yet.");
  23062. if(PlayerData[playerb][pFaction] == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't in any faction.");
  23063. if(PlayerData[playerid][pFaction] != PlayerData[playerb][pFaction])
  23064. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't in your faction.");
  23065. if(PlayerData[playerid][pFactionRank] > PlayerData[playerb][pFactionRank])
  23066. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't uninvite a higher rank.");
  23067. format(string, sizeof(string), "%s uninvited you from the %s.", ReturnName(playerid, 0), FactionData[PlayerData[playerid][pFaction]][factionName]);
  23068. SendClientMessage(playerb, COLOR_YELLOW, string);
  23069. format(string, sizeof(string), "You uninvited %s from the faction.", ReturnName(playerb, 0));
  23070. SendClientMessage(playerid, COLOR_YELLOW, string);
  23071. if(FactionData[PlayerData[playerb][pFaction]][factionCopPerms]) {
  23072. if(PlayerData[playerb][pLAWduty] == 1) {
  23073. PlayerData[playerb][pLAWduty] = false;
  23074. SetPlayerColor(playerb, COLOR_WHITE);
  23075. SetPlayerArmour(playerb, 0);
  23076. }
  23077. }
  23078. PlayerData[playerb][pFaction] = 0;
  23079. PlayerData[playerb][pFactionRank] = 0;
  23080. SaveSQLInt(PlayerData[playerb][pSQLID], "players", "Faction", PlayerData[playerb][pFaction]);
  23081. PlayerData[playerb][pSkin] = 264;
  23082. SetPlayerSkin(playerb, 264);
  23083. return true;
  23084. }
  23085. CMD:ouninvite(playerid, params[])
  23086. {
  23087. if(!PlayerData[playerid][pFaction])
  23088. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  23089. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  23090. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have access to this command.");
  23091. if(isnull(params))
  23092. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /ouninvite [character name]");
  23093. if(!ReturnSQLFromName(params))
  23094. return SendClientMessage(playerid, COLOR_ADM, "That person doesn't exist in the database.");
  23095. foreach(new i : Player)
  23096. {
  23097. if(!strcmp(ReturnName(i), params, true))
  23098. {
  23099. SendClientMessage(playerid, COLOR_ADM, "That player's online.");
  23100. return 1;
  23101. }
  23102. }
  23103. new query[230];
  23104. new faction_id, rank_id;
  23105. mysql_format(m_Handle, query, sizeof query, "SELECT Faction, FactionRank FROM players WHERE id = %i", ReturnSQLFromName(params));
  23106. new Cache:cache = mysql_query(m_Handle, query);
  23107. cache_get_value_name_int(0, "Faction", faction_id);
  23108. cache_get_value_name_int(0, "FactionRank", rank_id);
  23109. if(faction_id != PlayerData[playerid][pFaction])
  23110. {
  23111. SendClientMessage(playerid, COLOR_ADM, "That player isn't in your faction.");
  23112. cache_delete(cache);
  23113. return 1;
  23114. }
  23115. if(rank_id < PlayerData[playerid][pFactionRank])
  23116. {
  23117. SendClientMessage(playerid, COLOR_ADM, "That players rank exceeds yours.");
  23118. cache_delete(cache);
  23119. return 1;
  23120. }
  23121. format(query, sizeof query, "Are you sure you want to uninvite %s from your faction?", params);
  23122. ConfirmDialog(playerid, "Confirmation", query, "OnOfflineUninvite", ReturnSQLFromName(params));
  23123. cache_delete(cache);
  23124. return true;
  23125. }
  23126. CMD:accept(playerid, params[])
  23127. {
  23128. if(!pLoggedIn[playerid])return true;
  23129. new string[128];
  23130. if(!PlayerData[playerid][pFactionOffer])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't invited to a faction.");
  23131. PlayerData[playerid][pFaction] = PlayerData[playerid][pFactionOffer];
  23132. PlayerData[playerid][pFactionRank] = FactionData[PlayerData[playerid][pFactionOffer]][factionMaxRanks];
  23133. PlayerData[playerid][pFactionOffer] = false;
  23134. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Faction", PlayerData[playerid][pFaction]);
  23135. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "FactionRank", PlayerData[playerid][pFactionRank]);
  23136. format(string, sizeof(string), "You are now a member of %s!", FactionData[PlayerData[playerid][pFaction]][factionName]);
  23137. SendClientMessage(playerid, COLOR_YELLOW, string);
  23138. return true;
  23139. }
  23140. // Cop Commands
  23141. CMD:callsign(playerid, params[]) {
  23142. if(!IsPoliceFaction(playerid))
  23143. return UnAuthMessage(playerid);
  23144. if(isnull(params))
  23145. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /callsign [_callsign_]");
  23146. if (strlen(params) > 14) {
  23147. adminWarn(1, sprintf("%s [ID: %d] has attempted to use the callsign: %s. Take action if a trollish callsign is used."));
  23148. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That callsign is too long!");
  23149. }
  23150. //new
  23151. //callsign = -1,
  23152. //str[128];
  23153. /*for(new i = 0; i < sizeof(g_CallsignData); i++)
  23154. {
  23155. if(strfind(params, g_CallsignData[i][Callsign], true) != -1)
  23156. {
  23157. callsign = i;
  23158. }
  23159. }
  23160. if(callsign == -1) return SendClientMessage(playerid, COLOR_ADM, "ERROR: That isn't a recognized callsign.");*/
  23161. format(PlayerData[playerid][pCallsign], 60, "%s", params);
  23162. if(!PlayerData[playerid][pLAWduty])
  23163. Message(playerid, COLOR_COP, "** HQ: %s %s is now under callsign %s! **", ReturnRank(playerid), ReturnName(playerid, 0), params);
  23164. SendLawMessage(COLOR_COP, sprintf("** HQ: %s %s is now under callsign %s! **", ReturnRank(playerid), ReturnName(playerid, 0), params));
  23165. adminWarn(1, sprintf("%s [ID: %d] has went on-duty using callsign: %s. Take action if a trollish callsign is used.", ReturnName(playerid, 1), playerid, params));
  23166. SendClientMessage(playerid, COLOR_ADM, "Make sure you've /carsign'ed.");
  23167. return 1;
  23168. }
  23169. CMD:duty(playerid, params[])
  23170. {
  23171. new string[128], myfaction = PlayerData[playerid][pFaction];
  23172. if (!myfaction)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23173. if (!IsLAWFaction(playerid))
  23174. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't in a faction with permissions.");
  23175. if(!IsPlayerInRangeOfPoint(playerid, 4.0, FactionData[myfaction][factionSpawn][0], FactionData[myfaction][factionSpawn][1], FactionData[myfaction][factionSpawn][2]) && !InFactionProperty(playerid))
  23176. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't at your faction spawn.");
  23177. if(IsPoliceFaction(playerid)){
  23178. if(PlayerData[playerid][pLAWduty])
  23179. return SendClientMessage(playerid, COLOR_WHITE, "You're already on duty.");
  23180. if(isnull(PlayerData[playerid][pCallsign]))
  23181. {
  23182. format(string, sizeof(string), "** HQ: %s %s is now On Duty! **", ReturnRank(playerid), ReturnName(playerid, 0));
  23183. SendLawMessage(COLOR_COP, string);
  23184. }
  23185. else{
  23186. format(string, sizeof(string), "** HQ: %s %s is now On Duty as %s! **", ReturnRank(playerid), ReturnName(playerid, 0), PlayerData[playerid][pCallsign]);
  23187. SendLawMessage(COLOR_COP, string);
  23188. }
  23189. PlayerData[playerid][pLAWduty] = true;
  23190. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s takes equipment from their locker.", ReturnName(playerid, 0));
  23191. format(string, sizeof(string), "You were given: Spraycan, Nitestick, Desert Eagle(60), Health(%d)", PlayerData[playerid][pMaxHealth]);
  23192. SendClientMessage(playerid, COLOR_WHITE, string);
  23193. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  23194. SetPlayerArmour(playerid, 100);
  23195. ClearPlayerWeapons(playerid, 2);
  23196. GivePlayerGun(playerid, 24, 100, WEAPON_SERVER_GIVEN);
  23197. GivePlayerGun(playerid, 3, 1, WEAPON_SERVER_GIVEN);
  23198. GivePlayerGun(playerid, 41, 350, WEAPON_SERVER_GIVEN);
  23199. if(PlayerData[playerid][pHelperDuty]){
  23200. SetPlayerColor(playerid, COLOR_HELPER);
  23201. }
  23202. else{
  23203. if(PlayerData[playerid][pAdminDuty]){
  23204. SetPlayerColor(playerid, COLOR_ADMIN);
  23205. }
  23206. else{
  23207. SetPlayerColor(playerid, COLOR_COP);
  23208. }
  23209. }
  23210. }
  23211. else if(IsMedicFaction(playerid))
  23212. {
  23213. if(PlayerData[playerid][pHelperDuty]){
  23214. SetPlayerColor(playerid, COLOR_HELPER);
  23215. }
  23216. else{
  23217. if(PlayerData[playerid][pAdminDuty]){
  23218. SetPlayerColor(playerid, COLOR_ADMIN);
  23219. }
  23220. else{
  23221. SetPlayerColor(playerid, COLOR_EMT);
  23222. }
  23223. }
  23224. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  23225. PlayerData[playerid][pMEDduty] = true;
  23226. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s takes their uniform out their locker.", ReturnName(playerid, 0));
  23227. format(string, sizeof(string), "** HQ: %s %s is now On Duty! **", ReturnRank(playerid), ReturnName(playerid, 0));
  23228. SendFDMessage(COLOR_EMT, string);
  23229. }
  23230. return true;
  23231. }
  23232. CMD:offduty(playerid, params[])
  23233. {
  23234. new string[128], myfaction = PlayerData[playerid][pFaction];
  23235. if (!myfaction)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23236. if (!IsLAWFaction(playerid))
  23237. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't in a faction with permissions.");
  23238. if(!IsPlayerInRangeOfPoint(playerid, 4.0, FactionData[myfaction][factionSpawn][0], FactionData[myfaction][factionSpawn][1], FactionData[myfaction][factionSpawn][2]) && !InFactionProperty(playerid))
  23239. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't at your faction spawn.");
  23240. if(IsPoliceFaction(playerid)){
  23241. if(isnull(PlayerData[playerid][pCallsign]))
  23242. {
  23243. format(string, sizeof(string), "** HQ: %s %s is now Off Duty! **", ReturnRank(playerid), ReturnName(playerid, 0));
  23244. SendLawMessage(COLOR_COP, string);
  23245. }
  23246. else{
  23247. format(string, sizeof(string), "** HQ: %s %s is now Off Duty from %s! **", ReturnRank(playerid), ReturnName(playerid, 0), PlayerData[playerid][pCallsign]);
  23248. SendLawMessage(COLOR_COP, string);
  23249. }
  23250. format(PlayerData[playerid][pCallsign], 128, "");
  23251. PlayerData[playerid][pLAWduty] = false;
  23252. if(PlayerData[playerid][pSWATduty]) { PlayerData[playerid][pSWATduty] = false; }
  23253. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s puts their equipment in the locker.", ReturnName(playerid, 0));
  23254. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  23255. SetPlayerArmour(playerid, 0);
  23256. ClearPlayerWeapons(playerid, 2);
  23257. if(PlayerData[playerid][pHelperDuty]){
  23258. SetPlayerColor(playerid, COLOR_HELPER);
  23259. }
  23260. else{
  23261. if(PlayerData[playerid][pAdminDuty]){
  23262. SetPlayerColor(playerid, COLOR_ADMIN);
  23263. }
  23264. else{
  23265. SetPlayerColor(playerid, COLOR_WHITE);
  23266. }
  23267. }
  23268. if(GetPlayerSkin(playerid) != PlayerData[playerid][pSkin])
  23269. SetPlayerSkin(playerid, PlayerData[playerid][pSkin]);
  23270. }
  23271. else if(IsMedicFaction(playerid))
  23272. {
  23273. if(!PlayerData[playerid][pMEDduty])
  23274. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't on duty right now.");
  23275. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  23276. format(string, sizeof(string), "** HQ: %s %s is now Off Duty! **", ReturnRank(playerid), ReturnName(playerid, 0));
  23277. SendFDMessage(COLOR_EMT, string);
  23278. PlayerData[playerid][pMEDduty] = false;
  23279. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s puts their uniform back into their locker.", ReturnName(playerid, 0));
  23280. if(PlayerData[playerid][pHelperDuty]){
  23281. SetPlayerColor(playerid, COLOR_HELPER);
  23282. }
  23283. else{
  23284. if(PlayerData[playerid][pAdminDuty]){
  23285. SetPlayerColor(playerid, COLOR_ADMIN);
  23286. }
  23287. else{
  23288. SetPlayerColor(playerid, COLOR_WHITE);
  23289. }
  23290. }
  23291. if(GetPlayerSkin(playerid) != PlayerData[playerid][pSkin])
  23292. SetPlayerSkin(playerid, PlayerData[playerid][pSkin]);
  23293. }
  23294. return 1;
  23295. }
  23296. CMD:uniform(playerid, params[])
  23297. {
  23298. new myfaction = PlayerData[playerid][pFaction];
  23299. if (!myfaction) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23300. if (!FactionData[myfaction][factionCopPerms] && !FactionData[myfaction][factionMedPerms] && !FactionData[myfaction][factionNewsPerms]) return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED: Your faction doesn't have access to this.");
  23301. new found;
  23302. if (!IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawn][0], FactionData[myfaction][factionSpawn][1], FactionData[myfaction][factionSpawn][2]))
  23303. {
  23304. if(PlayerData[playerid][pSpawnPrecinct] != 0)
  23305. {
  23306. switch(PlayerData[playerid][pSpawnPrecinct])
  23307. {
  23308. case 1:
  23309. {
  23310. if(IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawnEx1][0], FactionData[myfaction][factionSpawnEx1][1], FactionData[myfaction][factionSpawnEx1][2]))
  23311. {
  23312. found++;
  23313. }
  23314. }
  23315. case 2:
  23316. {
  23317. if(IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawnEx2][0], FactionData[myfaction][factionSpawnEx2][1], FactionData[myfaction][factionSpawnEx2][2]))
  23318. {
  23319. found++;
  23320. }
  23321. }
  23322. case 3:
  23323. {
  23324. if(IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawnEx3][0], FactionData[myfaction][factionSpawnEx3][1], FactionData[myfaction][factionSpawnEx3][2]))
  23325. {
  23326. found++;
  23327. }
  23328. }
  23329. }
  23330. }
  23331. }
  23332. else found++;
  23333. if(!found) return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near a faction spawn.");
  23334. if(FactionData[myfaction][factionCopPerms] == 1){
  23335. ShowPlayerDialog(playerid, DIALOG_PDSKINS, DIALOG_STYLE_TABLIST_HEADERS, "Select a skin",
  23336. "Model\tRace\tSex\n\
  23337. 11: LSPD\tCaucasian\tMale\n\
  23338. 12: LSPD (No Belt)\tCaucasian\tMale\n\
  23339. 13: SFPD\tCaucasian\tMale\n\
  23340. 14: SFPD (No Belt)\tCaucasian\tMale\n\
  23341. 15: LSPD\tCaucasian\tFemale\n\
  23342. 16: LSPD\tAfrican American\tFemale\n\
  23343. 17: TENPENNY\tAfrican American\tMale\n\
  23344. 18: HERNANDEZ\tHispanic\tMale\n\
  23345. 19: PULASKI\tCaucasian\tMale\n\
  23346. 20: Biker\tAfrican American\tMale\n\
  23347. 21: Pilot\tCaucasian\tMale\n\
  23348. 22: Lady\tCaucasian\tFemale",
  23349. "Select", "Cancel");
  23350. }
  23351. if(FactionData[myfaction][factionCopPerms] == 2) {
  23352. ShowPlayerDialog(playerid, DIALOG_SDSKINS, DIALOG_STYLE_TABLIST_HEADERS, "Select a skin",
  23353. "Model\tRace\tSex\n\
  23354. 11: Cadet\tCaucasian\tMale\n\
  23355. 12: LVPD\tCaucasian\tMale\n\
  23356. 13: LVPD\tCaucasian\tMale\n\
  23357. 14: LVPD\tCaucasian\tFemale\n\
  23358. 15: CSHER\tCaucasian\tMale\n\
  23359. 16: CSHER\tCacuasian\tMale\n\
  23360. 17: DSHER\tCacuasian\tMale\n\
  23361. 18: DSHER\tCacuasian\tMale\n\
  23362. 30: STAFF\tCaucasian\tFemale\n\
  23363. 31: WFYST\tCaucasian\tFemale\n\
  23364. 32: Biker\tAfrican American\tMale\n\
  23365. 34: Pilot\tCaucasian\tMale\n\
  23366. 35: Lady\tCaucasian\tMale",
  23367. "Select", "Cancel");
  23368. }
  23369. if(FactionData[myfaction][factionMedPerms]) {
  23370. ShowPlayerDialog(playerid, DIALOG_FDSKINS, DIALOG_STYLE_TABLIST_HEADERS, "Select a skin",
  23371. "Model\tRace\tSex\n\
  23372. 1: Paramedic\tAfrican American\tMale\n\
  23373. 2: Paramedic\tHispanic\tMale\n\
  23374. 3: Paramedic\tCaucasian\tMale\n\
  23375. 4: Paramedic\tCaucasian\tFemale\n\
  23376. 5: Firefighter\tCaucasian\tMale\n\
  23377. 6: Firefighter\tAfrican American\tMale\n\
  23378. 7: Firefighter\tHispanic\tMale\n",
  23379. "Select", "Cancel");
  23380. }
  23381. if (FactionData[myfaction][factionNewsPerms]) {
  23382. SendClientMessage(playerid, COLOR_ADM, "A list of skins for the news faction will be added soon!");
  23383. }
  23384. return true;
  23385. }
  23386. CMD:m(playerid, params[]) return cmd_megaphone(playerid, params);
  23387. CMD:megaphone(playerid, params[])
  23388. {
  23389. new
  23390. myfaction = PlayerData[playerid][pFaction];
  23391. if (!PlayerData[playerid][pFaction])
  23392. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23393. if (!FactionData[myfaction][factionCopPerms] && !FactionData[myfaction][factionMedPerms])
  23394. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your faction doesn't have access to this.");
  23395. if (!IsPlayerInAnyVehicle(playerid))
  23396. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in a vehicle.");
  23397. new
  23398. vehicleid = GetPlayerVehicleID(playerid);
  23399. if (isnull(params))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /megaphone [text]");
  23400. if(!IsValidFactionCar(vehicleid) || IsValidFactionCar(vehicleid) && !FactionData[FactionCar[vehicleid][carFaction]][factionCopPerms] && !FactionData[FactionCar[vehicleid][carFaction]][factionMedPerms])
  23401. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't megaphone in this vehicle.");
  23402. SendNearbyMessage(playerid, 40.0, COLOR_YELLOW, "[ %s:o< %s ]", ReturnName(playerid, 0), params);
  23403. return true;
  23404. }
  23405. CMD:dep(playerid, params[])return cmd_department(playerid, params);
  23406. CMD:department(playerid, params[])
  23407. {
  23408. if(!pLoggedIn[playerid])return true;
  23409. new string[128], myfaction = PlayerData[playerid][pFaction];
  23410. if (!PlayerData[playerid][pFaction]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23411. if (!FactionData[myfaction][factionCopPerms] && !FactionData[myfaction][factionMedPerms]) return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your faction doesn't have access to this.");
  23412. if (isnull(params)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /department [text]");
  23413. foreach(new i : Player) {
  23414. if(FactionData[myfaction][factionCopPerms] || FactionData[myfaction][factionMedPerms]){
  23415. if(strlen(params) > 80)
  23416. {
  23417. format(string, sizeof(string), "** [%s] %s %s: %.80s...", FactionData[myfaction][factionAbbrev], ReturnRank(playerid), ReturnName(playerid, 0), params);
  23418. SendClientMessage(i, COLOR_DEPT, string);
  23419. format(string, sizeof(string), "** [%s] %s %s: ...%s", FactionData[myfaction][factionAbbrev], ReturnRank(playerid), ReturnName(playerid, 0), params[80]);
  23420. SendClientMessage(i, COLOR_DEPT, string);
  23421. }
  23422. else
  23423. {
  23424. format(string, sizeof(string), "** [%s] %s %s: %s", FactionData[myfaction][factionAbbrev], ReturnRank(playerid), ReturnName(playerid, 0), params);
  23425. SendClientMessage(i, COLOR_DEPT, string);
  23426. }
  23427. }
  23428. }
  23429. new Float:posx, Float:posy, Float:posz;
  23430. GetPlayerPos(playerid, posx,posy,posz);
  23431. foreach(new i : Player)
  23432. {
  23433. if(i == playerid)
  23434. continue;
  23435. else if(IsPlayerInRangeOfPoint(i, 20.0, posx,posy,posz))
  23436. {
  23437. format(string, sizeof(string), "%s says (radio): %s", ReturnName(playerid, 0), params);
  23438. SendClientMessage(i, COLOR_WHITE, string);
  23439. }
  23440. }
  23441. return true;
  23442. }
  23443. CMD:deplow(playerid, params[])return cmd_departmentlow(playerid, params);
  23444. CMD:departmentlow(playerid, params[])
  23445. {
  23446. if(!pLoggedIn[playerid]) return true;
  23447. new string[128];
  23448. new myfaction = PlayerData[playerid][pFaction];
  23449. if (!PlayerData[playerid][pFaction]) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23450. if (!FactionData[myfaction][factionCopPerms] && !FactionData[myfaction][factionMedPerms]) return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your faction doesn't have access to this.");
  23451. if (isnull(params)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /department [text]");
  23452. foreach(new i : Player){
  23453. new faction = PlayerData[i][pFaction];
  23454. if(FactionData[faction][factionCopPerms] || FactionData[faction][factionMedPerms]){
  23455. if(strlen(params) > 80)
  23456. {
  23457. format(string, sizeof(string), "** [%s] %s %s: %.80s...", FactionData[faction][factionAbbrev], ReturnRank(playerid), ReturnName(playerid, 0), params);
  23458. SendClientMessage(i, COLOR_DEPT, string);
  23459. format(string, sizeof(string), "** [%s] %s %s: ...%s", FactionData[faction][factionAbbrev], ReturnRank(playerid), ReturnName(playerid, 0), params[80]);
  23460. SendClientMessage(i, COLOR_DEPT, string);
  23461. }
  23462. else
  23463. {
  23464. format(string, sizeof(string), "** [%s] %s %s: %s", FactionData[faction][factionAbbrev], ReturnRank(playerid), ReturnName(playerid, 0), params);
  23465. SendClientMessage(i, COLOR_DEPT, string);
  23466. }
  23467. }
  23468. }
  23469. new Float:posx, Float:posy, Float:posz;
  23470. GetPlayerPos(playerid, posx,posy,posz);
  23471. foreach(new i : Player)
  23472. {
  23473. if(i == playerid)
  23474. continue;
  23475. else if(IsPlayerInRangeOfPoint(i, 5.0, posx,posy,posz))
  23476. {
  23477. format(string, sizeof(string), "%s says (radio): %s", ReturnName(playerid, 0), params);
  23478. SendClientMessage(i, COLOR_GREY, string);
  23479. }
  23480. }
  23481. return true;
  23482. }
  23483. CMD:jail(playerid, params[])
  23484. {
  23485. if(!IsPoliceFaction(playerid))
  23486. return UnAuthMessage(playerid);
  23487. if(!PlayerData[playerid][pLAWduty])
  23488. return UnAuthMessage(playerid);
  23489. if(!IsPlayerInDynamicArea(playerid, JailCenterArea) && !IsPlayerInRangeOfPoint(playerid, 20.0, 265.4598, 82.0945, 1001.0391))
  23490. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near the jail zone.");
  23491. new
  23492. playerb, time,
  23493. str[128];
  23494. if(sscanf(params, "ui", playerb, time))
  23495. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /jail [playerid/PartofName] [time]");
  23496. if(!IsPlayerConnected(playerb))
  23497. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a player that doesn't exist.");
  23498. if(!GetDistanceBetweenPlayers(playerid, playerb, 5) && (!IsPlayerInDynamicArea(playerb, JailCenterArea) || !IsPlayerInRangeOfPoint(playerb, 20.0, 265.4598, 82.0945, 1001.0391)))
  23499. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  23500. PauseAntiCheat(playerb);
  23501. PlayerData[playerb][pPhoneOff] = true;
  23502. PlayerData[playerb][pICJailTime] = time * 60;
  23503. PlayerData[playerb][pICJailed] = 1;
  23504. if(PlayerData[playerb][pActiveListing])
  23505. PlayerData[playerb][pActiveListing] = 0;
  23506. PlayerData[playerb][pJailTimes]++;
  23507. new
  23508. jail_str[90];
  23509. TotalJailees++;
  23510. format(jail_str, 90, "%03d", TotalJailees);
  23511. PlayerData[playerb][pICJail3D] = CreateDynamic3DTextLabel(jail_str, 0x1E0C95FF, 0.0, 0.0, -0.10, 20.0, playerb);
  23512. format(str, sizeof(str), "[Jail] %s %s has just arrested %s!", ReturnRank(playerid), ReturnName(playerid), ReturnName(playerb));
  23513. SendLawMessage(COLOR_ADM, str);
  23514. format(str, sizeof(str), "[Jail] You were arrested by %s for (%d) minutes!", ReturnName(playerid), time);
  23515. SendClientMessage(playerb, COLOR_ADM, str);
  23516. switch (random(20))
  23517. {
  23518. case 0: SetPlayerPos(playerb, 2590.0229, -1503.2241, -48.9141);
  23519. case 1: SetPlayerPos(playerb, 2590.1672, -1506.9596, -48.9141);
  23520. case 2: SetPlayerPos(playerb, 2590.0635, -1510.7051, -48.9141);
  23521. case 3: SetPlayerPos(playerb, 2590.1028, -1514.3425, -48.9141);
  23522. case 4: SetPlayerPos(playerb, 2590.0334, -1517.9042, -48.9141);
  23523. case 5: SetPlayerPos(playerb, 2587.8289, -1524.1613, -48.9141);
  23524. case 6: SetPlayerPos(playerb, 2584.0989, -1524.1598, -48.9141);
  23525. case 7: SetPlayerPos(playerb, 2580.5696, -1524.3359, -48.9141);
  23526. case 8: SetPlayerPos(playerb, 2576.5071, -1517.0680, -48.9141);
  23527. case 9: SetPlayerPos(playerb, 2576.0381, -1513.3489, -48.9141);
  23528. case 10: SetPlayerPos(playerb, 2575.9680, -1509.6672, -48.9141);
  23529. case 11: SetPlayerPos(playerb, 2576.0254, -1506.0710, -48.9141);
  23530. case 12: SetPlayerPos(playerb, 2575.9700, -1502.2760, -48.9141);
  23531. case 13: SetPlayerPos(playerb, 2587.6892, -1527.3584, -45.2369);
  23532. case 14: SetPlayerPos(playerb, 2584.1965, -1527.5685, -45.2369);
  23533. case 15: SetPlayerPos(playerb, 2580.3389, -1527.7498, -45.2369);
  23534. case 16: SetPlayerPos(playerb, 2572.9805, -1513.4121, -45.2373);
  23535. case 17: SetPlayerPos(playerb, 2572.5332, -1516.9791, -45.2373);
  23536. case 18: SetPlayerPos(playerb, 2572.8823, -1502.3632, -45.2369);
  23537. case 19: SetPlayerPos(playerb, 2572.8594, -1506.0131, -45.2369);
  23538. }
  23539. SavePlayer(playerb);
  23540. return 1;
  23541. }
  23542. CMD:roadblock(playerid, params[])
  23543. {
  23544. if(!IsLAWFaction(playerid))
  23545. return UnAuthMessage(playerid);
  23546. if(!PlayerData[playerid][pLAWduty] && PlayerData[playerid][pMEDduty])
  23547. return UnAuthMessage(playerid);
  23548. if(PlayerData[playerid][pAddingRoadblock])
  23549. return SendClientMessage(playerid, COLOR_ADM, "Stop adding a roadblock first...");
  23550. ShowPlayerDialog(playerid, DIALOG_ROADBLOCKS, DIALOG_STYLE_LIST, "Roadblocks Menu", "Deploy Roadblock\nRoadblock List", "Select", "Cancel");
  23551. return 1;
  23552. }
  23553. CMD:disband(playerid, params[])
  23554. {
  23555. if(!IsLAWFaction(playerid))
  23556. return UnAuthMessage(playerid);
  23557. if(!PlayerData[playerid][pLAWduty] && PlayerData[playerid][pMEDduty])
  23558. return UnAuthMessage(playerid);
  23559. new
  23560. id, str[128];
  23561. if( (id = IsPlayerNearRoadblock(playerid)) != -1)
  23562. {
  23563. format(str, sizeof(str), "Are you sure you want to disband '{ADC3E7}%s{FFFFFF}'?", GetRoadblockNameFromModel(Roadblocks[id][RoadblocksModelID]));
  23564. ConfirmDialog(playerid, "Confirmation", str, "OnRoadblockDisband", id);
  23565. }
  23566. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a roadblock.");
  23567. return 1;
  23568. }
  23569. CMD:fine(playerid, params[])
  23570. {
  23571. if(!IsLAWFaction(playerid))
  23572. return UnAuthMessage(playerid);
  23573. if(!PlayerData[playerid][pLAWduty] && PlayerData[playerid][pMEDduty])
  23574. return UnAuthMessage(playerid);
  23575. new
  23576. playerb, amount, reason[128], query[256];
  23577. if (sscanf(params, "uds[128]", playerb, amount, reason))
  23578. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /fine [playerid/PartofName] [amount] [reason]");
  23579. if(!IsPlayerConnected(playerb))
  23580. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You have specified an invalid player.");
  23581. if(!pLoggedIn[playerb])
  23582. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That player isn't logged in.");
  23583. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  23584. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  23585. if(strlen(reason) < 3)
  23586. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You need to specify a reason.");
  23587. if(amount < 1)
  23588. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You can't issue an amount less than a dollar.");
  23589. new
  23590. id = -1;
  23591. for (new i = 0; i < 30; i++)
  23592. {
  23593. if(Fines[playerb][i][Fine_ID])
  23594. continue;
  23595. id = i;
  23596. break;
  23597. }
  23598. if(id == -1)
  23599. return SendClientMessage(playerid, COLOR_ADM, "This player has 30 fines...");
  23600. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO player_fines (player_dbid, issuer_name, fine_amount, fine_reason, fine_date) VALUES(%i, '%e', %i, '%e', '%e')", PlayerData[playerb][pSQLID], ReturnName(playerid, 1), amount, reason, ReturnDate());
  23601. mysql_tquery(m_Handle, query, "OnFineIssued", "iisi", playerid, playerb, reason, amount);
  23602. return 1;
  23603. }
  23604. CMD:vfine(playerid, params[])
  23605. {
  23606. if(!IsLAWFaction(playerid))
  23607. return UnAuthMessage(playerid);
  23608. if(!PlayerData[playerid][pLAWduty] && PlayerData[playerid][pMEDduty])
  23609. return UnAuthMessage(playerid);
  23610. new
  23611. targetid, amount, reason[128];
  23612. if(sscanf(params, "iis[128]", targetid, amount, reason))
  23613. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /vfine [vehicleid] [amount] [reason]");
  23614. if(!IsValidVehicle(targetid))
  23615. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified a vehicle that doesn't exist.");
  23616. new
  23617. Float:x,
  23618. Float:y,
  23619. Float:z;
  23620. GetVehiclePos(targetid, x, y, z);
  23621. if(!IsPlayerInRangeOfPoint(playerid, 6.0, x, y, z))
  23622. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near that vehicle.");
  23623. if(!IsValidPlayerCar(targetid))
  23624. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't fine this vehicle.");
  23625. if(amount < 1)
  23626. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You can't issue an amount less than a dollar.");
  23627. new
  23628. id = -1,
  23629. query[256];
  23630. for(new i = 0; i < 30; i++)
  23631. {
  23632. if(VehicleFines[targetid][i][Fine_ID])
  23633. continue;
  23634. id = i;
  23635. break;
  23636. }
  23637. if(id == -1)
  23638. return SendClientMessage(playerid, COLOR_ADM, "This vehicle has 30 fines...");
  23639. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO vehicle_fines (vehicle_dbid, issuer_name, fine_amount, fine_reason, fine_date) VALUES(%i, '%e', %i, '%e', '%e')", CarData[targetid][carID], ReturnName(playerid), amount, reason, ReturnDate());
  23640. mysql_tquery(m_Handle, query, "OnVehicleFineIssued", "iisi", playerid, targetid, reason, amount);
  23641. return 1;
  23642. }
  23643. CMD:charity(playerid, params[]) {
  23644. if(!pLoggedIn[playerid])
  23645. return true;
  23646. new amount;
  23647. if (sscanf(params, "d", amount))
  23648. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} /charity [amount]");
  23649. if (amount > PlayerData[playerid][pMoney])
  23650. return SendClientMessage(playerid, COLOR_ADM, "SERVER:{FFFFFF} You can only charity what you have, not what you don't have.");
  23651. GiveMoney(playerid, -amount);
  23652. SendClientMessage(playerid, COLOR_GREY, sprintf("You have donated $%d to charity, on %s.", amount, ReturnDateEx()));
  23653. adminWarn(1, sprintf("%s has charitied $%d (%s)", ReturnName(playerid, 1), amount, ReturnDateEx()));
  23654. return 1;
  23655. }
  23656. CMD:handcuff(playerid, params[])
  23657. {
  23658. if(!pLoggedIn[playerid])return true;
  23659. new playerb, string[128], faction = PlayerData[playerid][pFaction];
  23660. if(!faction && !PlayerData[playerid][pAdminDuty])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23661. if(!FactionData[faction][factionCopPerms] && !PlayerData[playerid][pAdminDuty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your faction doesn't have access to this.");
  23662. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /handcuff [playerid/PartofName]");
  23663. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid player.");
  23664. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't logged in.");
  23665. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  23666. new
  23667. bool:canHandcuff;
  23668. if(GetPlayerSpecialAction(playerb) == SPECIAL_ACTION_HANDSUP)
  23669. canHandcuff = true;
  23670. if(GetPlayerSpecialAction(playerb) == SPECIAL_ACTION_DUCK)
  23671. canHandcuff = true;
  23672. if(GetPlayerAnimationIndex(playerb) == 1151)
  23673. canHandcuff = true;
  23674. if(GetPlayerAnimationIndex(playerb) == 1150)
  23675. canHandcuff = true;
  23676. if(GetPlayerAnimationIndex(playerb) == 960)
  23677. canHandcuff = true;
  23678. if(GetPlayerAnimationIndex(playerb) == 1701)
  23679. canHandcuff = true;
  23680. if(!canHandcuff)
  23681. return SendClientMessage(playerid, COLOR_ADM, "That player needs to be crouched, have their hands up or be on the floor.");
  23682. if(!PlayerData[playerb][pHandcuff])
  23683. {
  23684. ToggleHandcuffs(playerb, true);
  23685. format(string, sizeof(string), "SERVER: %s handcuffed you.", ReturnName(playerid, 0));
  23686. SendClientMessage(playerb, COLOR_WHITE, string);
  23687. }
  23688. else SendClientMessage(playerid, COLOR_WHITE, "That player's already handcuffed.");
  23689. return true;
  23690. }
  23691. CMD:unhandcuff(playerid, params[])
  23692. {
  23693. if(!pLoggedIn[playerid])return true;
  23694. new playerb, string[128], faction = PlayerData[playerid][pFaction];
  23695. if(!faction && !PlayerData[playerid][pAdminDuty])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23696. if(!FactionData[faction][factionCopPerms] && !PlayerData[playerid][pAdminDuty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your faction doesn't have access to this.");
  23697. if(sscanf(params, "u", playerb))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /unhandcuff [playerid/PartofName]");
  23698. if(!IsPlayerConnected(playerb))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You have specified an invalid player.");
  23699. if(!pLoggedIn[playerb])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player isn't logged in.");
  23700. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  23701. if(PlayerData[playerb][pHandcuff]){
  23702. ToggleHandcuffs(playerb, false);
  23703. format(string, sizeof(string), "SERVER: %s unhandcuffed you.", ReturnName(playerid, 0));
  23704. SendClientMessage(playerb, COLOR_WHITE, string);
  23705. }
  23706. else{
  23707. SendClientMessage(playerid, COLOR_WHITE, "That player's not handcuffed.");
  23708. }
  23709. return true;
  23710. }
  23711. CMD:taser(playerid, params[])
  23712. {
  23713. if(!PlayerData[playerid][pLAWduty])
  23714. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have access to this.");
  23715. if(!PlayerHasWeapon(playerid, 24) && !PlayerData[playerid][pTaser])
  23716. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have a taser equipped.");
  23717. if(!PlayerData[playerid][pTaser])
  23718. {
  23719. SavePlayerTaser[playerid] = ReturnWeaponAmmo(playerid, 24);
  23720. TakePlayerWeapon(playerid, 24);
  23721. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s takes out their taser.", ReturnName(playerid, 0));
  23722. GivePlayerGun(playerid, 23, 5, WEAPON_SERVER_GIVEN);
  23723. PlayerData[playerid][pTaser] = true;
  23724. }
  23725. else
  23726. {
  23727. TakePlayerWeapon(playerid, 23);
  23728. GivePlayerGun(playerid, 24, SavePlayerTaser[playerid], WEAPON_SERVER_GIVEN);
  23729. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s puts their taser away.", ReturnName(playerid, 0));
  23730. PlayerData[playerid][pTaser] = false;
  23731. }
  23732. return 1;
  23733. }
  23734. CMD:rb(playerid, params[])return cmd_rubberbullets(playerid, params);
  23735. CMD:rubberbullets(playerid, params[])
  23736. {
  23737. if(!PlayerData[playerid][pLAWduty])
  23738. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have access to this.");
  23739. if(!PlayerHasWeapon(playerid, 25) || PlayerHasWeapon(playerid, 25) && IsSaveableWeapon(playerid, 25) && !PlayerData[playerid][pRubberbullet])
  23740. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have a Shotgun equipped.");
  23741. if(!PlayerData[playerid][pRubberbullet])
  23742. {
  23743. PlayerData[playerid][pRubberbullet] = true;
  23744. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You've changed to LESS LETHAL AMMO / RUBBER BULLETS.");
  23745. }
  23746. else
  23747. {
  23748. PlayerData[playerid][pRubberbullet] = false;
  23749. SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You've changed to LETHAL AMMUNITION.");
  23750. }
  23751. return 1;
  23752. }
  23753. CMD:tackle(playerid, params[]) {
  23754. if(!PlayerData[playerid][pLAWduty])
  23755. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have access to this.");
  23756. PlayerData[playerid][pTackle] = (PlayerData[playerid][pTackle] ? (PlayerData[playerid][pTackle] = false) : (PlayerData[playerid][pTackle] = true));
  23757. SendClientMessage(playerid, COLOR_YELLOW, sprintf("SERVER: You have now %s tackling mode! Use /tackle to turn it %s again.", (PlayerData[playerid][pTackle] ? ("enabled") : ("disabled")), (PlayerData[playerid][pTackle] ? ("off") : ("on"))));
  23758. return 1;
  23759. }
  23760. CMD:towcars(playerid, params[])
  23761. {
  23762. if(!pLoggedIn[playerid])return true;
  23763. new string[128], count = 0, factionid = PlayerData[playerid][pFaction];
  23764. if( !factionid && !PlayerData[playerid][pAdminDuty] ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23765. if( factionid && !PlayerData[playerid][pAdminDuty] ) {
  23766. if( PlayerData[playerid][pFactionRank] > FactionData[factionid][factionTowrank] ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your rank doesn't have permission to do this.");
  23767. for(new i = 1, j = GetVehiclePoolSize(); i <= j; i++)
  23768. {
  23769. if(!IsValidFactionCar(i))
  23770. continue;
  23771. if(FactionCar[i][carFaction] != PlayerData[playerid][pFaction])
  23772. continue;
  23773. if(IsVehicleOccupied(i))
  23774. continue;
  23775. count++;
  23776. if(FactionCar[i][carSirenOn])
  23777. {
  23778. DestroyDynamicObject(FactionCar[i][carSirenObject]);
  23779. FactionCar[i][carSirenOn] = false;
  23780. }
  23781. SetVehicleToRespawn(i);
  23782. }
  23783. if(count){
  23784. format(string, sizeof(string), "<< %s returned all faction vehicles to their parking place >>", ReturnName(playerid, 1));
  23785. SendFactionMessageEx(playerid, COLOR_ADM, string);
  23786. }
  23787. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: No faction vehicles were available for respawn.");
  23788. }
  23789. else if(PlayerData[playerid][pAdminDuty]) {
  23790. new towid;
  23791. if(sscanf(params, "d", towid)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /towcars [factionid] ");
  23792. if ( !FactionData[towid][factionID] || towid < 1 || towid > MAX_FACTIONS) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid faction ID.");
  23793. for(new i = 1, j = GetVehiclePoolSize(); i <= j; i++)
  23794. {
  23795. if(!IsValidFactionCar(i))
  23796. continue;
  23797. if(FactionCar[i][carFaction] != towid)
  23798. continue;
  23799. if(IsVehicleOccupied(i))
  23800. continue;
  23801. count++;
  23802. if(FactionCar[i][carSirenOn])
  23803. {
  23804. DestroyDynamicObject(FactionCar[i][carSirenObject]);
  23805. FactionCar[i][carSirenOn] = false;
  23806. }
  23807. SetVehicleToRespawn(i);
  23808. }
  23809. if(count){
  23810. format(string, sizeof(string), "<< Administrator %s returned all faction vehicles to their parking place >>", ReturnName(playerid, 1));
  23811. SendMessageToFaction(towid, COLOR_ADM, string);
  23812. }
  23813. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: No faction vehicles were available for respawn.");
  23814. }
  23815. return true;
  23816. }
  23817. CMD:fmembers(playerid, params[])
  23818. {
  23819. if(!PlayerData[playerid][pFaction])
  23820. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  23821. ShowFactionMembers(playerid, 1);
  23822. return 1;
  23823. }
  23824. CMD:hq(playerid, params[])
  23825. {
  23826. if(!pLoggedIn[playerid])return true;
  23827. new string[128], factionid = PlayerData[playerid][pFaction];
  23828. if( !factionid ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23829. if( !FactionData[factionid][factionCopPerms] && !FactionData[factionid][factionMedPerms] && !FactionData[factionid][factionNewsPerms])
  23830. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your faction can't do this.");
  23831. if(isnull(params)) return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /hq [text]");
  23832. format(string, sizeof(string), "HQ: %s %s: %s", ReturnRank(playerid), ReturnName(playerid, 0), params);
  23833. SendFactionMessageEx(playerid, COLOR_CYAN, string);
  23834. FactionNotifyBeep(playerid);
  23835. return true;
  23836. }
  23837. CMD:swat(playerid, params[])
  23838. {
  23839. if(!pLoggedIn[playerid])return true;
  23840. new string[128], factionid = PlayerData[playerid][pFaction];
  23841. if( !factionid ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  23842. if( !FactionData[factionid][factionCopPerms] )return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your faction can't do this.");
  23843. if (!IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[factionid][factionSpawn][0], FactionData[factionid][factionSpawn][1], FactionData[factionid][factionSpawn][2]))
  23844. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near your faction spawn.");
  23845. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You must be on duty before SWATing up.");
  23846. SetPlayerSkin(playerid, 285);
  23847. PauseAntiCheat(playerid);
  23848. ArmorGiven[playerid] = 1;
  23849. SetPlayerArmour(playerid, 150);
  23850. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  23851. format(string, sizeof(string), "** HQ: %s %s is now ready for tactical duty! **", ReturnRank(playerid), ReturnName(playerid, 0));
  23852. SendLawMessage(COLOR_COP, string);
  23853. PlayerData[playerid][pSWATduty] = true;
  23854. return true;
  23855. }
  23856. CMD:trace(playerid, params[])
  23857. {
  23858. if(!pLoggedIn[playerid])return true;
  23859. new string[128], phone, playerb;
  23860. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't use this feature.");
  23861. if(sscanf(params, "d", phone))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /trace [phone number]");
  23862. if(PlayerData[playerid][pIsTracing])return SendClientMessage(playerid, COLOR_ADM, "TRACE:{FFFFFF} You're in the progress of a trace. Please wait.");
  23863. playerb = IsValidNumber(phone);
  23864. PlayerData[playerid][pTraceNum] = playerb;
  23865. format(string, sizeof(string), "** HQ: %s %s initiated a trace on 555-%d! **", ReturnRank(playerid), ReturnName(playerid, 0), phone);
  23866. SendLawMessage(COLOR_COP, string);
  23867. PlayerTextDrawShow(playerid, Trace_PTD[playerid][0]);
  23868. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated");
  23869. SetTimerEx("TracingSteps", 4000, false, "i", playerid);
  23870. PlayerData[playerid][pIsTracing] = true;
  23871. return true;
  23872. }
  23873. CMD:ftrace(playerid, params[])return cmd_factiontrace(playerid, params);
  23874. CMD:factiontrace(playerid, params[])
  23875. {
  23876. if(!pLoggedIn[playerid])return true;
  23877. new string[128], phone, playerb;
  23878. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't use this feature.");
  23879. if(sscanf(params, "d", phone))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /factiontrace [phone number]");
  23880. if(PlayerData[playerid][pIsTracing])return SendClientMessage(playerid, COLOR_ADM, "TRACE:{FFFFFF} You're in the progress of a trace. Please wait.");
  23881. playerb = IsValidNumber(phone);
  23882. PlayerData[playerid][pTraceNum] = playerb;
  23883. format(string, sizeof(string), "** HQ: %s %s initiated a wide-trace on 555-%d! **", ReturnRank(playerid), ReturnName(playerid, 0), phone);
  23884. SendLawMessage(COLOR_COP, string);
  23885. PlayerTextDrawShow(playerid, Trace_PTD[playerid][0]);
  23886. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated");
  23887. SetTimerEx("TracingSteps", 4000, false, "i", playerid);
  23888. PlayerData[playerid][pIsTracing] = 2;
  23889. return true;
  23890. }
  23891. CMD:apb(playerid, params[])
  23892. {
  23893. if(!pLoggedIn[playerid])return true;
  23894. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't use this feature.");
  23895. new string[128], sub_string[128];
  23896. if(sscanf(params, "s[128]S()[128]", string, sub_string))
  23897. {
  23898. SendClientMessage(playerid, COLOR_ADM, "___________________________________");
  23899. SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb [action]");
  23900. SendClientMessage(playerid, COLOR_ADM, "[Display] /apb display");
  23901. SendClientMessage(playerid, COLOR_ADM, "[Details] /apb details [number]");
  23902. SendClientMessage(playerid, COLOR_ADM, "[Clear] /apb clear [number]");
  23903. SendClientMessage(playerid, COLOR_ADM, "[Modify] /apb modify [number] [text]");
  23904. SendClientMessage(playerid, COLOR_ADM, "[Create] /apb create [suspect]//[charges]");
  23905. SendClientMessage(playerid, COLOR_ADM, "[Example] /apb create John Doe, Red Sentinel // Murder");
  23906. SendClientMessage(playerid, COLOR_ADM, "___________________________________");
  23907. return true;
  23908. }
  23909. if(!strcmp(string, "display")){
  23910. format(string, sizeof(string), "___________All Point Bulletins(%d)_________", CountAllBulletins());
  23911. SendClientMessage(playerid, COLOR_ADM, string);
  23912. for(new i = 1; i < MAX_APBS; i++)
  23913. {
  23914. if(APBData[i][bulletinExists])
  23915. {
  23916. format(string, sizeof(string), "%d. APB: %s", i, APBData[i][bulletinDetails]);
  23917. SendClientMessage(playerid, COLOR_ADM, string);
  23918. }
  23919. }
  23920. SendClientMessage(playerid, COLOR_ADM, "_______________________________________");
  23921. }
  23922. else if(!strcmp(string, "details")){
  23923. new number;
  23924. if(sscanf(sub_string, "d", number))
  23925. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb details [number]");
  23926. if(!APBData[number][bulletinExists])return SendClientMessage(playerid, COLOR_ADM, "SERVER: There isn't an APB there.");
  23927. format(string, sizeof(string), "___________All Point Bulletin Number %d_________", number);
  23928. SendClientMessage(playerid, COLOR_ADM, string);
  23929. format(string, sizeof(string), "APB: %s", APBData[number][bulletinDetails]);
  23930. SendClientMessage(playerid, COLOR_ADM, string);
  23931. format(string, sizeof(string), "___________ISSUED BY: %s_________", APBData[number][bulletinBy]);
  23932. SendClientMessage(playerid, COLOR_ADM, string);
  23933. }
  23934. else if(!strcmp(string, "clear")){
  23935. new number;
  23936. if(sscanf(sub_string, "d", number))
  23937. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb clear [number]");
  23938. if(!APBData[number][bulletinExists])return SendClientMessage(playerid, COLOR_ADM, "SERVER: There isn't an APB there.");
  23939. format(string, sizeof(string), "%s %s cleared All Points Bulletin number %d!", ReturnRank(playerid), ReturnName(playerid, 0), number);
  23940. SendLawMessage(COLOR_ADM, string);
  23941. APBData[number][bulletinExists] = false;
  23942. APBData[number][bulletinID] = 0;
  23943. format(APBData[number][bulletinDetails], 128, " ");
  23944. }
  23945. else if(!strcmp(string, "modify")){
  23946. new number, newtext[128];
  23947. if(sscanf(sub_string, "ds[128]", number, newtext))
  23948. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb modify [number] [text]");
  23949. if(!APBData[number][bulletinExists])return SendClientMessage(playerid, COLOR_ADM, "SERVER: There isn't an APB there.");
  23950. if(number > MAX_APBS || number < 1)return SendClientMessage(playerid, COLOR_ADM, "SERVER: There isn't an APB there.");
  23951. format(APBData[number][bulletinDetails], 128, "%s", newtext);
  23952. format(APBData[number][bulletinBy], 128, "%s", ReturnName(playerid, 1));
  23953. format(string, sizeof(string), "%s %s modified All Points Bulletin number %d!", ReturnRank(playerid), ReturnName(playerid, 0), number);
  23954. SendLawMessage(COLOR_ADM, string);
  23955. }
  23956. else if(!strcmp(string, "create")){
  23957. new text[128], new_id;
  23958. if(sscanf(sub_string, "s[128]", text))
  23959. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /apb create [text]");
  23960. for(new i = 1; i < MAX_APBS; i++)
  23961. {
  23962. if(!APBData[i][bulletinExists])
  23963. {
  23964. new_id = i;
  23965. break;
  23966. }
  23967. }
  23968. if(new_id == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There are one too many APBs right now.");
  23969. APBData[new_id][bulletinID] = new_id;
  23970. APBData[new_id][bulletinExists] = true;
  23971. format(APBData[new_id][bulletinDetails], 128, "%s", text);
  23972. format(APBData[new_id][bulletinBy], 128, "%s", ReturnName(playerid, 1));
  23973. format(string, sizeof(string), "%s %s added a new All Points Bulletin ( /apb details %d )!", ReturnRank(playerid), ReturnName(playerid, 0), new_id);
  23974. SendLawMessage(COLOR_ADM, string);
  23975. }
  23976. return true;
  23977. }
  23978. CMD:togcolor(playerid, params[])
  23979. {
  23980. if(!pLoggedIn[playerid])return true;
  23981. if(!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't use this right now.");
  23982. if(PlayerData[playerid][pTogColor])
  23983. {
  23984. SetPlayerColor(playerid, COLOR_COP);
  23985. SendClientMessage(playerid, COLOR_YELLOW, "-> Your color is now back to on duty.");
  23986. PlayerData[playerid][pTogColor] = false;
  23987. }
  23988. else
  23989. {
  23990. SetPlayerColor(playerid, COLOR_WHITE);
  23991. SendClientMessage(playerid, COLOR_YELLOW, "-> Your color is now off. You will seem off duty.");
  23992. PlayerData[playerid][pTogColor] = true;
  23993. }
  23994. return true;
  23995. }
  23996. CMD:gov(playerid, params[])
  23997. {
  23998. new factionid = PlayerData[playerid][pFaction], string[128];
  23999. if(!FactionData[factionid][factionCopPerms] && !FactionData[factionid][factionMedPerms])
  24000. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have permission to use this command.");
  24001. if(PlayerData[playerid][pFactionRank] > FactionData[factionid][factionEditrank])
  24002. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your rank doesn't have permission to do this.");
  24003. if(isnull(params))
  24004. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /gov [text]");
  24005. if(strlen(params) > 80)
  24006. {
  24007. format(string, sizeof(string), "[Government Announcement] %.80s", params);
  24008. SendClientMessageToAll(COLOR_COP, string);
  24009. format(string, sizeof(string), "[Government Announcement] ...%s", params[80]);
  24010. SendClientMessageToAll(COLOR_COP, string);
  24011. }
  24012. else
  24013. {
  24014. format(string, sizeof(string), "[Government Announcement] %s", params);
  24015. SendClientMessageToAll(COLOR_COP, string);
  24016. }
  24017. format(string, sizeof(string), "Announcement by %s[ID: %i]", ReturnName(playerid, 1), playerid);
  24018. SendAdminMessage(COLOR_YELLOW, string);
  24019. return true;
  24020. }
  24021. CMD:live(playerid, params[])
  24022. {
  24023. new factionid = PlayerData[playerid][pFaction];
  24024. if(!FactionData[factionid][factionNewsPerms])
  24025. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have permission to use this command.");
  24026. if(isnull(params))
  24027. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /live [text]");
  24028. new string[128];
  24029. if(strlen(params) > 80)
  24030. {
  24031. format(string, sizeof(string), "[San Andreas Network] %s: %.80s", ReturnName(playerid), params);
  24032. SendClientMessageToAll(COLOR_SAN, string);
  24033. format(string, sizeof(string), "[San Andreas Network] %s: ...%s", ReturnName(playerid), params[80]);
  24034. SendClientMessageToAll(COLOR_SAN, string);
  24035. }
  24036. else
  24037. {
  24038. format(string, sizeof(string), "[San Andreas Network] %s: %s", ReturnName(playerid), params);
  24039. SendClientMessageToAll(COLOR_SAN, string);
  24040. }
  24041. format(string, sizeof(string), "SAN Announcement by %s[ID: %i]", ReturnName(playerid, 1), playerid);
  24042. SendAdminMessage(COLOR_YELLOW, string);
  24043. return true;
  24044. }
  24045. /*CMD:inviteguest(playerid, params[]) {
  24046. }*/
  24047. CMD:factionbank(playerid, params[])
  24048. {
  24049. if(!IsLAWFaction(playerid))
  24050. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Your faction doesn't have a bank.");
  24051. new factionid = PlayerData[playerid][pFaction];
  24052. if(PlayerData[playerid][pFactionRank] > FactionData[factionid][factionEditrank])
  24053. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your rank doesn't have permission to do this.");
  24054. new specifier[60], method[30];
  24055. if(sscanf(params, "s[60]S()[30]", specifier, method))
  24056. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /factionbank [deposit/withdraw/balance]");
  24057. if(!strcmp(specifier, "deposit"))
  24058. {
  24059. new quantity;
  24060. if(sscanf(method, "i", quantity))
  24061. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /factionbank deposit [quantity]");
  24062. if(quantity > PlayerData[playerid][pMoney] || quantity < 1)
  24063. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have that quantity.");
  24064. GiveMoney(playerid, -quantity);
  24065. FactionData[factionid][factionBank]+= quantity;
  24066. Message(playerid, COLOR_ACTION, "You deposited $%s into the %s's bank! (%s)", MoneyFormat(quantity), ReturnFactionName(factionid), ReturnDateEx());
  24067. }
  24068. else if(!strcmp(specifier, "withdraw"))
  24069. {
  24070. new quantity;
  24071. if(PlayerData[playerid][pFactionRank] != 1)
  24072. return SendClientMessage(playerid, COLOR_ADM, "ERROR: Only your factions Rank 1 can withdraw.");
  24073. if(sscanf(method, "i", quantity))
  24074. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /factionbank withdraw [quantity]");
  24075. if(quantity > FactionData[factionid][factionBank] || quantity < 1)
  24076. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have that much in the bank.");
  24077. GiveMoney(playerid, quantity);
  24078. FactionData[factionid][factionBank]-= quantity;
  24079. Message(playerid, COLOR_ACTION, "You withdrew $%s from the %s's bank. (%s)", MoneyFormat(quantity), ReturnFactionName(factionid), ReturnDateEx());
  24080. }
  24081. else if(!strcmp(specifier, "balance"))
  24082. return Message(playerid, COLOR_ACTION, "The %s has: $%s in their bank. (%s)", ReturnFactionName(factionid), MoneyFormat(FactionData[factionid][factionBank]), ReturnDateEx());
  24083. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  24084. return 1;
  24085. }
  24086. CMD:take(playerid, params[])
  24087. {
  24088. if(!PlayerData[playerid][pLAWduty])
  24089. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You are not authorized to use this.");
  24090. new playerb, specifier[90], b_string[128], string[128];
  24091. if(sscanf(params, "us[90]S()[128]", playerb, specifier, b_string))
  24092. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /take [playerid OR name] [weapons, license, drugs]");
  24093. if(!IsPlayerConnected(playerb))
  24094. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid player.");
  24095. if(!pLoggedIn[playerb])
  24096. return SendClientMessage(playerid, COLOR_ADM, "You specified a player that isn't logged in.");
  24097. if(!strcmp(specifier, "weapons"))
  24098. {
  24099. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player.");
  24100. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's weapons!", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  24101. ClearPlayerWeapons(playerb, 0);
  24102. format(string, sizeof string, "Took %s's weapons", ReturnName(playerb));
  24103. LogPlayerAction(playerid, string);
  24104. format(string, sizeof string, "Weapons taken by %s", ReturnName(playerid));
  24105. LogPlayerAction(playerb, string);
  24106. printf("[Debug] %s took %s's weapons with /take.", ReturnName(playerid), ReturnName(playerb));
  24107. }
  24108. else if(!strcmp(specifier, "license"))
  24109. {
  24110. new lictype[90];
  24111. if(sscanf(b_string, "s[90]", lictype))
  24112. return SendClientMessage(playerid, COLOR_ADM, "CMD: /take [playerid OR name] license [driver, weapons]");
  24113. if(!strcmp(b_string, "driver"))
  24114. {
  24115. format(string, sizeof(string), "** HQ Announcement: %s %s revoked %s's driver's license! **", ReturnRank(playerid), ReturnName(playerid, 1), ReturnName(playerb, 1));
  24116. SendLawMessage(COLOR_COP, string);
  24117. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's driver's license!", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  24118. PlayerData[playerb][pDriversLicense] = false;
  24119. // Log later.
  24120. }
  24121. else if(!strcmp(b_string, "weapons"))
  24122. {
  24123. format(string, sizeof(string), "** HQ Announcement: %s %s revoked %s's weapons license! **", ReturnRank(playerid), ReturnName(playerid, 1), ReturnName(playerb, 1));
  24124. SendLawMessage(COLOR_COP, string);
  24125. format(string, sizeof(string), "-> %s %s revoked your weapons license.", ReturnRank(playerid), ReturnName(playerid, 1));
  24126. SendClientMessage(playerb, COLOR_YELLOW, string);
  24127. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's weapons license!", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  24128. PlayerData[playerb][pWeaponsLicense] = false;
  24129. // Log later.
  24130. }
  24131. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  24132. }
  24133. else if(!strcmp(specifier, "drugs"))
  24134. {
  24135. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s %s took %s's drug packages.", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb, 0));
  24136. printf("[Debug] %s took %s's drugs with /take.", ReturnName(playerid), ReturnName(playerb));
  24137. format(string, sizeof string, "Took %s's drug packages", ReturnName(playerb));
  24138. LogPlayerAction(playerid, string);
  24139. format(string, sizeof string, "Drug packages taken by %s", ReturnName(playerid));
  24140. LogPlayerAction(playerb, string);
  24141. for(new i = 0; i < 10; i++) {
  24142. RemoveDrugPackage(playerb, i);
  24143. }
  24144. return 1;
  24145. }
  24146. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  24147. return true;
  24148. }
  24149. CMD:grantpf(playerid, params[])
  24150. {
  24151. if(!pLoggedIn[playerid])return true;
  24152. if(!PlayerData[playerid][pLAWduty])
  24153. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You are not authorized to use this.");
  24154. new playerb, string[128];
  24155. if(sscanf(params, "u", playerb))
  24156. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /grantpf [playerid/PartofName]");
  24157. if(!IsPlayerConnected(playerb))
  24158. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid player.");
  24159. if(!pLoggedIn[playerb])
  24160. return SendClientMessage(playerid, COLOR_ADM, "You specified a player that isn't logged in.");
  24161. if(PlayerData[playerb][pWeaponsLicense])
  24162. return SendClientMessage(playerid, COLOR_GREY, "They already have a weapons license.");
  24163. PlayerData[playerb][pWeaponsLicense] = true;
  24164. format(string, sizeof(string), "-> %s %s granted you a weapons license.", ReturnRank(playerid), ReturnName(playerid, 1));
  24165. SendClientMessage(playerb, COLOR_YELLOW, string);
  24166. format(string, sizeof(string), "** HQ Announcement: %s %s granted %s a weapons license! **", ReturnRank(playerid), ReturnName(playerid, 1), ReturnName(playerb, 1));
  24167. SendLawMessage(COLOR_COP, string);
  24168. // Log it later.
  24169. return true;
  24170. }
  24171. CMD:siren(playerid, params[])
  24172. {
  24173. if(!IsPlayerInAnyVehicle(playerid))
  24174. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  24175. if(!IsLAWFaction(playerid))
  24176. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't authorized to use this command.");
  24177. new vehicleid = GetPlayerVehicleID(playerid);
  24178. if (!FactionCar[vehicleid][carSirenOn])
  24179. {
  24180. new
  24181. model = GetVehicleModel(vehicleid),
  24182. preset = -1;
  24183. for(new i = 0; i < sizeof(g_SirenPresets); i++)
  24184. {
  24185. if(model == g_SirenPresets[i][SirenForModel])
  24186. {
  24187. preset = i;
  24188. }
  24189. }
  24190. if(preset == -1) return SendClientMessage(playerid, COLOR_ADM, "SERVER: Sirens aren't compatible on this vehicle!");
  24191. FactionCar[vehicleid][carSirenObject] = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 20.0);
  24192. AttachDynamicObjectToVehicle(FactionCar[vehicleid][carSirenObject], vehicleid, g_SirenPresets[preset][PosX], g_SirenPresets[preset][PosY], g_SirenPresets[preset][PosZ], 0.0, 0.0, 0.0);
  24193. FactionCar[vehicleid][carSirenOn] = true;
  24194. GameTextForPlayer(playerid, "~g~SIREN IS ON", 3000, 4);
  24195. }
  24196. else
  24197. {
  24198. DestroyDynamicObject(FactionCar[vehicleid][carSirenObject]);
  24199. FactionCar[vehicleid][carSirenOn] = false;
  24200. GameTextForPlayer(playerid, "~r~SIREN IS OFF", 3000, 4);
  24201. }
  24202. return true;
  24203. }
  24204. CMD:badge(playerid, params[])
  24205. {
  24206. new playerb, string[128];
  24207. if (sscanf(params, "u", playerb))
  24208. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /badge [playerid/PartofName]");
  24209. if (!IsPlayerConnected(playerb))
  24210. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  24211. if (!pLoggedIn[playerb])
  24212. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  24213. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  24214. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You must be closer to that player to show your badge.");
  24215. if (!PlayerData[playerid][pFaction])
  24216. return SendClientMessage(playerid, COLOR_ADM, "You aren't in any agency.");
  24217. if (!FactionData[PlayerData[playerid][pFaction]][factionCopPerms] && !FactionData[PlayerData[playerid][pFaction]][factionMedPerms] && !FactionData[PlayerData[playerid][pFaction]][factionNewsPerms])
  24218. return SendClientMessage(playerid, COLOR_ADM, "You don't have a badge.");
  24219. if (playerb == playerid)
  24220. {
  24221. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s looks at their badge.", ReturnName(playerid, 0));
  24222. }
  24223. else
  24224. {
  24225. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s shows %s their badge.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  24226. }
  24227. SendClientMessage(playerb, COLOR_COP, "______________________________________");
  24228. format (string, sizeof(string), " Name: %s", ReturnNameLetter(playerid));
  24229. SendClientMessage(playerb, COLOR_GRAD2, string);
  24230. format (string, sizeof(string), " Rank: %s", ReturnRank(playerid));
  24231. SendClientMessage(playerb, COLOR_GRAD2, string);
  24232. format (string, sizeof(string), " Agency: %s", ReturnFactionName(PlayerData[playerid][pFaction]));
  24233. SendClientMessage(playerb, COLOR_GRAD2, string);
  24234. SendClientMessage(playerb, COLOR_COP, "______________________________________");
  24235. return true;
  24236. }
  24237. CMD:carsign(playerid, params[])
  24238. {
  24239. if (!IsLAWFaction(playerid))
  24240. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24241. if(!IsPlayerInAnyVehicle(playerid))
  24242. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  24243. new vehicleid = GetPlayerVehicleID(playerid);
  24244. if (!IsValidFactionCar(vehicleid))
  24245. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You may only carsign faction vehicles.");
  24246. if (isnull(params))
  24247. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /carsign [carsign text]");
  24248. if (IsPoliceFaction(playerid)) {
  24249. if (strlen(params) > 5) {
  24250. adminWarn(1, sprintf("%s [ID: %d] has attempted to use the callsign: %s. Take action if a trollish callsign is used."));
  24251. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That callsign is too long!");
  24252. }
  24253. }
  24254. if (!FactionCar[vehicleid][carHasCallsign])
  24255. {
  24256. FactionCar[vehicleid][carHasCallsign] = true;
  24257. SendClientMessage(playerid, COLOR_ADM, "/remove_carsign to remove the carsign. Added.");
  24258. SendClientMessage(playerid, COLOR_ADM, "Make sure you've /callsign'ed.");
  24259. format(FactionCar[vehicleid][carsCallsignText], 90, "%s", params);
  24260. FactionCar[vehicleid][carsCallsign] = CreateDynamic3DTextLabel(params, 0xFFFFFFFF, -0.7, -1.9, -0.3, 25.0, .attachedvehicle = GetPlayerVehicleID(playerid));
  24261. }
  24262. else
  24263. {
  24264. DestroyDynamic3DTextLabel(FactionCar[vehicleid][carsCallsign]);
  24265. format(FactionCar[vehicleid][carsCallsignText], 90, "%s", params);
  24266. FactionCar[vehicleid][carsCallsign] = CreateDynamic3DTextLabel(params, 0xFFFFFFFF, -0.7, -1.9, -0.3, 25.0, .attachedvehicle = GetPlayerVehicleID(playerid));
  24267. }
  24268. printf("[DEBUG] %s created 3DText Carsign with vehicleid %d. Text: %s", ReturnName(playerid), vehicleid, params);
  24269. return true;
  24270. }
  24271. CMD:remove_carsign(playerid, params[])
  24272. {
  24273. if (!IsLAWFaction(playerid))
  24274. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24275. if(!IsPlayerInAnyVehicle(playerid))
  24276. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  24277. new vehicleid = GetPlayerVehicleID(playerid);
  24278. if (!IsValidFactionCar(vehicleid))
  24279. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You may only remove carsigns from faction vehicles.");
  24280. if (!FactionCar[vehicleid][carHasCallsign])
  24281. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This vehicle isn't using a carsign.");
  24282. DestroyDynamic3DTextLabel(FactionCar[vehicleid][carsCallsign]);
  24283. FactionCar[vehicleid][carHasCallsign] = false;
  24284. SendClientMessage(playerid, COLOR_ADM, "Carsign has been removed. /carsign to re-add.");
  24285. return true;
  24286. }
  24287. CMD:impound(playerid, params[])
  24288. {
  24289. if (!IsPoliceFaction(playerid))
  24290. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24291. if(!PlayerData[playerid][pLAWduty])
  24292. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24293. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  24294. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  24295. new vehicleid = GetPlayerVehicleID(playerid), string[128];
  24296. if(!IsValidPlayerCar(vehicleid) || IsValidRentalCar(vehicleid) || IsValidFactionCar(vehicleid))
  24297. return SendClientMessage(playerid, COLOR_ADM, "This vehicle can't be impounded.");
  24298. if(!IsPlayerInDynamicArea(playerid, ImpoundLotArea))
  24299. return SendClientMessage(playerid, COLOR_ADM, "You aren't in the impound lot area.");
  24300. GetPlayerPos(playerid, CarData[vehicleid][carImpoundPos][0], CarData[vehicleid][carImpoundPos][1], CarData[vehicleid][carImpoundPos][2]);
  24301. CarData[vehicleid][carImpounded] = true;
  24302. SaveCar(vehicleid);
  24303. format(string, sizeof(string), "You impounded %s's %s.", ReturnSQLName(CarData[vehicleid][carOwnerID]), ReturnVehicleName(vehicleid));
  24304. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  24305. foreach(new i : Player) if(PlayerData[i][pSQLID] == CarData[vehicleid][carOwnerID])
  24306. {
  24307. format(string, sizeof(string), "Your %s was impounded by %s.", ReturnVehicleName(vehicleid), ReturnName(playerid, 1));
  24308. SendClientMessage(i, COLOR_DARKGREEN, string);
  24309. }
  24310. return 1;
  24311. }
  24312. CMD:mdc(playerid, params[])
  24313. {
  24314. if (!IsPoliceFaction(playerid))
  24315. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't authorized to use this.");
  24316. if(!IsPlayerInAnyVehicle(playerid))
  24317. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a vehicle.");
  24318. if(GetPlayerVehicleSeat(playerid) > 1)
  24319. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't use the MDC from back there.");
  24320. new
  24321. vehicleid = GetPlayerVehicleID(playerid)
  24322. ;
  24323. if(!IsValidFactionCar(vehicleid) || IsValidFactionCar(vehicleid) && !FactionData[FactionCar[vehicleid][carFaction]][factionCopPerms])
  24324. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle doesn't have a MDC.");
  24325. ShowPlayerMDC(playerid);
  24326. return 1;
  24327. }
  24328. /*
  24329. CMD:mdc(playerid, params[])
  24330. {
  24331. if (!IsPoliceFaction(playerid))
  24332. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You aren't authorized to use this.");
  24333. if(!IsPlayerInAnyVehicle(playerid))
  24334. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a vehicle.");
  24335. if(GetPlayerVehicleSeat(playerid) > 1)
  24336. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't use the MDC from back there.");
  24337. new vehicleid = GetPlayerVehicleID(playerid);
  24338. if(!IsValidFactionCar(vehicleid) || IsValidFactionCar(vehicleid) && !FactionData[FactionCar[vehicleid][carFaction]][factionCopPerms])
  24339. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle doesn't have a MDC.");
  24340. SetPVarInt(playerid, "UsingMDC", 1);
  24341. SetPVarInt(playerid, "LastPage_ID", 10);
  24342. ToggleMDC(playerid, true);
  24343. UpdateMDC(playerid, 0);
  24344. SelectTextDraw(playerid, COLOR_GREY);
  24345. //ShowPlayerMDC(playerid);
  24346. return 1;
  24347. }
  24348. */
  24349. CMD:wanted(playerid, params[])
  24350. {
  24351. if (!IsPoliceFaction(playerid))
  24352. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24353. if(!PlayerData[playerid][pLAWduty])
  24354. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24355. new
  24356. playerb,
  24357. reason[128],
  24358. add_query[256];
  24359. if(sscanf(params, "us[128]", playerb, reason))
  24360. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /wanted [playerid/PartofName] [reason]");
  24361. if(!IsPlayerConnected(playerb))
  24362. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  24363. if(!pLoggedIn[playerb])
  24364. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That player hasn't logged in yet.");
  24365. if(strlen(reason) < 3 || strlen(reason) > 128)
  24366. return SendClientMessage(playerid, COLOR_ADM, "The reason must be between 3 to 128 characters.");
  24367. mysql_format(m_Handle, add_query, sizeof(add_query), "INSERT INTO criminal_record (player_name, entry_reason, entry_date, entry_by) VALUES('%e', '%e', '%e', '%e')", ReturnName(playerb, 0), reason, ReturnDate(), ReturnName(playerid, 1));
  24368. mysql_tquery(m_Handle, add_query, "OnPlayerAddCharge", "ii", playerid, playerb);
  24369. return 1;
  24370. }
  24371. CMD:setp(playerid, params[])
  24372. {
  24373. if (!IsPoliceFaction(playerid))
  24374. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFFF} You aren't authorized to use this.");
  24375. new
  24376. id;
  24377. if(sscanf(params, "i", id))
  24378. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /setp [precinct id, 1-3]");
  24379. if(id < 1 || id > 3)
  24380. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid precinct.");
  24381. switch(id)
  24382. {
  24383. case 1:
  24384. {
  24385. if(!FactionData[PlayerData[playerid][pFaction]][factionSpawnEx1][0])
  24386. return SendClientMessage(playerid, COLOR_ADM, "That precinct hasn't been configured yet.");
  24387. }
  24388. case 2:
  24389. {
  24390. if(!FactionData[PlayerData[playerid][pFaction]][factionSpawnEx2][0])
  24391. return SendClientMessage(playerid, COLOR_ADM, "That precinct hasn't been configured yet.");
  24392. }
  24393. case 3:
  24394. {
  24395. if(!FactionData[PlayerData[playerid][pFaction]][factionSpawnEx3][0])
  24396. return SendClientMessage(playerid, COLOR_ADM, "That precinct hasn't been configured yet.");
  24397. }
  24398. }
  24399. PlayerData[playerid][pSpawnPrecinct] = id;
  24400. Message(playerid, COLOR_ADM, "[ ! ] Your precinct spawn is now set (%d). You will spawn there on login.", id);
  24401. return 1;
  24402. }
  24403. //FD Commands:
  24404. CMD:finishop(playerid, params[])
  24405. {
  24406. if(!IsMedicFaction(playerid))
  24407. return UnAuthMessage(playerid);
  24408. if(!PlayerData[playerid][pMEDduty])
  24409. return UnAuthMessage(playerid);
  24410. new
  24411. playerb,
  24412. str[128];
  24413. if(sscanf(params, "u", playerb))
  24414. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /finishop [playerid/PartofName]");
  24415. if(!IsPlayerConnected(playerb))
  24416. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You specified an invalid player.");
  24417. if(playerb == playerid)
  24418. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't heal yourself.");
  24419. if(!GetDistanceBetweenPlayers(playerid, playerb, 6.0) && !IsPlayerInDynamicArea(playerb, HospitalArea))
  24420. return SendClientMessage(playerid, COLOR_GREY, "SERVER: You aren't near that player.");
  24421. if(GetPlayerTeam(playerb) != STATE_WOUNDED)
  24422. return SendClientMessage(playerid, COLOR_GREY, "SERVER: The player needs to be brutally wounded.");
  24423. PlayerData[playerb][pBrutallyWounded] = 0;
  24424. SetPlayerTeam(playerb, STATE_ALIVE);
  24425. SetPlayerHealth(playerb, 50);
  24426. format(str, sizeof(str), "** HQ: %s %s finished an operation on %s! **", ReturnRank(playerid), ReturnName(playerid, 0), ReturnName(playerb));
  24427. SendFDMessage(COLOR_EMT, str);
  24428. format(str, sizeof(str), "%s revived %s with \"/finishop\".", ReturnName(playerid), ReturnName(playerb));
  24429. adminWarn(1, str);
  24430. Message(playerid, COLOR_EMT, "SERVER: You finished the operation on %s.", ReturnName(playerb, 0));
  24431. Message(playerb, COLOR_EMT, "SERVER: You were operated on by %s.", ReturnName(playerid, 0));
  24432. return 1;
  24433. }
  24434. CMD:putinambu(playerid, params[])
  24435. {
  24436. if(!IsMedicFaction(playerid))
  24437. return UnAuthMessage(playerid);
  24438. if(!PlayerData[playerid][pMEDduty])
  24439. return UnAuthMessage(playerid);
  24440. new
  24441. playerb, str[128],
  24442. vehicleid = GetPlayerVehicleID(playerid);
  24443. if(GetVehicleModel(vehicleid) != 416)
  24444. return SendClientMessage(playerid, COLOR_GREY, "SERVER: You aren't inside an ambulance.");
  24445. if(sscanf(params, "u", playerb))
  24446. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /putinambu [playerid/PartofName]");
  24447. if(!GetDistanceBetweenPlayers(playerid, playerb, 6.0) && !IsPlayerInDynamicArea(playerb, HospitalArea))
  24448. return SendClientMessage(playerid, COLOR_GREY, "SERVER: You aren't near that player.");
  24449. if(GetPlayerTeam(playerb) != STATE_WOUNDED)
  24450. return SendClientMessage(playerid, COLOR_GREY, "SERVER: The player needs to be brutally wounded.");
  24451. new
  24452. seat_available = -1;
  24453. foreach(new i : Player) if(IsPlayerInVehicle(i, vehicleid))
  24454. {
  24455. if(GetPlayerVehicleSeat(i) != 2)
  24456. {
  24457. seat_available = 2;
  24458. }
  24459. else if(GetPlayerVehicleSeat(i) != 3)
  24460. {
  24461. seat_available = 3;
  24462. }
  24463. }
  24464. if(seat_available == -1)
  24465. return SendClientMessage(playerid, COLOR_ADM, "SERVER: There's no room in your Ambulance.");
  24466. format(str, sizeof(str), "puts %s into the ambulance.", ReturnName(playerb, 0));
  24467. cmd_me(playerid, str);
  24468. PutPlayerInVehicle(playerb, vehicleid, seat_available);
  24469. PlayerData[playerb][pInsideAmbulance] = 1;
  24470. return 1;
  24471. }
  24472. //
  24473. CMD:buydrink(playerid, params[])
  24474. {
  24475. if(!IsPlayerInBusiness(playerid))
  24476. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in an establishment.");
  24477. new id = IsPlayerInBusiness(playerid);
  24478. if(BusinessData[id][businessType] != BIZ_CLUB)
  24479. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This isn't a club.");
  24480. if(3 > PlayerData[playerid][pMoney])
  24481. return SendClientMessage(playerid, COLOR_ADM, "You can't afford a drink. ($3)");
  24482. SendClientMessage(playerid, COLOR_YELLOW, "You bought a Drink! Use /usedrink, /givedrink!");
  24483. GiveMoney(playerid, -3);
  24484. PlayerData[playerid][pDrinks]++;
  24485. return 1;
  24486. }
  24487. //Business commands
  24488. CMD:buybiz(playerid, params[])
  24489. {
  24490. if(!pLoggedIn[playerid])return true;
  24491. if(CountPlayerBusinesses(playerid) == 1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already own a business.");
  24492. new string[128], bizid = 0;
  24493. for(new i = 0; i < MAX_BUSINESS; i++){
  24494. if(BusinessData[i][businessID] != 0){
  24495. if(IsPlayerInRangeOfPoint(playerid, 3.0, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2])){
  24496. bizid = i;
  24497. }
  24498. }
  24499. }
  24500. if(bizid == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near any businesses.");
  24501. if(BusinessData[bizid][businessOwnerSQL] != 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't buy a business that's already owned.");
  24502. if(BusinessData[bizid][businessType] == 8 || BusinessData[bizid][businessType] == 9)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't buy this type of business.");
  24503. if(PlayerData[playerid][pMoney] < BusinessData[bizid][businessMarketPrice]){
  24504. format(string, sizeof(string), "Insufficient amount. This business cost $%s. Please arrange a sufficient payment.", MoneyFormat(BusinessData[bizid][businessMarketPrice]));
  24505. SendClientMessage(playerid, COLOR_ADM, string);
  24506. return true;
  24507. }
  24508. if(PlayerData[playerid][pLevel] < BusinessData[bizid][businessLevel])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't the level required for this business.");
  24509. GiveMoney(playerid, -BusinessData[bizid][businessMarketPrice]);
  24510. BusinessData[bizid][businessOwnerSQL] = PlayerData[playerid][pSQLID];
  24511. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  24512. GameTextForPlayer(playerid, "Congratulations!~n~You're now the owner of this business!", 4000, 5);
  24513. SaveSQLInt(BusinessData[bizid][businessID], "businesses", "OwnerSQL", BusinessData[bizid][businessOwnerSQL]);
  24514. DestroyDynamicPickup(BusinessData[bizid][businessPickup]);
  24515. BusinessData[bizid][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[bizid][businessExt][0], BusinessData[bizid][businessExt][1], BusinessData[bizid][businessExt][2], 0);
  24516. return true;
  24517. }
  24518. CMD:sellbiz(playerid, params[])
  24519. {
  24520. if(!pLoggedIn[playerid])return true;
  24521. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a business.");
  24522. new string[128], confirm[60];
  24523. if(sscanf(params, "s[60]", confirm))return SendClientMessage(playerid, COLOR_ADM, "SERVER:{FFFFFF} You're about to sell your business. Type /sellbiz confirm to confirm.");
  24524. if(strmatch(confirm, "confirm")){
  24525. for(new i = 0; i < MAX_BUSINESS; i++){
  24526. if(BusinessData[i][businessID] != 0){
  24527. if(IsPlayerInRangeOfPoint(playerid, 3.0, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2])){
  24528. if(BusinessData[i][businessOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24529. BusinessData[i][businessOwnerSQL] = 0;
  24530. SaveSQLInt(BusinessData[i][businessID], "businesses", "OwnerSQL", 0);
  24531. GameTextForPlayer(playerid, "You sold your business!", 3000, 5);
  24532. format(string, sizeof(string), "SERVER:{FFFFFF} You sold your business. You were paid $%s of the market price.", MoneyFormat(BusinessData[i][businessMarketPrice] / 2));
  24533. SendClientMessage(playerid, COLOR_ADM, string);
  24534. GiveMoney(playerid, BusinessData[i][businessMarketPrice] / 2);
  24535. }
  24536. }
  24537. }
  24538. }
  24539. return true;
  24540. }
  24541. CMD:bizinfo(playerid, params[])
  24542. {
  24543. if(!pLoggedIn[playerid])return true;
  24544. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't own a business.");
  24545. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your business.");
  24546. new bizid = IsPlayerInBusiness(playerid), string[128], lockString[40];
  24547. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24548. if(BusinessData[bizid][businessLocked])
  24549. format(lockString, sizeof(lockString), "Yes");
  24550. else
  24551. format(lockString, sizeof(lockString), "No");
  24552. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________________________________");
  24553. format(string, sizeof(string), "*** %s ***", BusinessData[bizid][businessName]);
  24554. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  24555. format(string, sizeof(string), "Owner:[%s] Level:[%d] Value:[%d] Type:[%d] Locked:[%s] ID:[%d]", ReturnName(playerid, 1), BusinessData[bizid][businessLevel],
  24556. BusinessData[bizid][businessMarketPrice], BusinessData[bizid][businessType], lockString, BusinessData[bizid][businessID]);
  24557. SendClientMessage(playerid, COLOR_WHITE, string);
  24558. format(string, sizeof(string), "Cashbox:[%s] Entrance Fee:[%s] Products[%d / 500]", MoneyFormat(BusinessData[bizid][businessCashbox]), MoneyFormat(BusinessData[bizid][businessFee]), BusinessData[bizid][businessProduct]);
  24559. SendClientMessage(playerid, COLOR_WHITE, string);
  24560. SendClientMessage(playerid, COLOR_WHITE, "Employees: /hirelist");
  24561. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________________________________");
  24562. return true;
  24563. }
  24564. CMD:bizcashbox(playerid, params[])
  24565. {
  24566. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't own a business.");
  24567. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your business.");
  24568. new bizid = IsPlayerInBusiness(playerid),
  24569. specifier[30],
  24570. type[30];
  24571. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])
  24572. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't own this business.");
  24573. if(sscanf(params, "s[30]S()[30]", specifier, type))
  24574. {
  24575. SendClientMessage(playerid, COLOR_DARKGREEN, "____________________________________________");
  24576. Message(playerid, COLOR_ADM, "You have: $%s inside your business.", MoneyFormat(BusinessData[bizid][businessCashbox]));
  24577. SendClientMessage(playerid, COLOR_GREY, "Use /bizcashbox [withdraw/deposit] to handle it.");
  24578. return 1;
  24579. }
  24580. if(!strcmp(specifier, "withdraw"))
  24581. {
  24582. new amount;
  24583. if(sscanf(type, "i", amount))
  24584. return SendClientMessage(playerid, COLOR_DARKGREEN, "USAGE: /bizcashbox withdraw [amount]");
  24585. if(amount < 1 || amount > BusinessData[bizid][businessCashbox])
  24586. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid amount.");
  24587. WriteLog("business_logs/cashbox_withdraw.txt", "[%s] %s withdrew $%s from the $%s cashbox. [New amount: $%s]", ReturnDateLog(), ReturnName(playerid), MoneyFormat(amount), MoneyFormat(BusinessData[bizid][businessCashbox]), (BusinessData[bizid][businessCashbox]-amount));
  24588. GiveMoney(playerid, amount);
  24589. BusinessData[bizid][businessCashbox]-= amount;
  24590. Message(playerid, COLOR_DARKGREEN, "You withdrew $%s from your business. (Total: $%s)", MoneyFormat(amount), MoneyFormat(BusinessData[bizid][businessCashbox]));
  24591. }
  24592. else if(!strcmp(specifier, "deposit"))
  24593. {
  24594. new amount;
  24595. if(sscanf(type, "i", amount))
  24596. return SendClientMessage(playerid, COLOR_DARKGREEN, "USAGE: /bizcashbox deposit [amount]");
  24597. if(amount < 1 || amount > PlayerData[playerid][pMoney])
  24598. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid amount.");
  24599. WriteLog("business_logs/cashbox_deposit.txt", "[%s] %s deposited %s into the %s cashbox. [New cashbox: $%s - New on hand: $%s]",
  24600. ReturnDateLog(), ReturnName(playerid), MoneyFormat(amount), MoneyFormat(BusinessData[bizid][businessCashbox]), MoneyFormat((BusinessData[bizid][businessCashbox]+amount)), MoneyFormat((PlayerData[playerid][pMoney]-amount)));
  24601. GiveMoney(playerid, -amount);
  24602. BusinessData[bizid][businessCashbox]+= amount;
  24603. Message(playerid, COLOR_DARKGREEN, "You deposited $%s into your business. (Total: $%s)", MoneyFormat(amount), MoneyFormat(BusinessData[bizid][businessCashbox]));
  24604. }
  24605. else return SendClientMessage(playerid, COLOR_ADM, "ERROR: Invalid Parameter.");
  24606. return 1;
  24607. }
  24608. CMD:bizfee(playerid, params[])
  24609. {
  24610. if(!pLoggedIn[playerid])return true;
  24611. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a business.");
  24612. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in your business.");
  24613. new bizid = IsPlayerInBusiness(playerid), string[128], fee;
  24614. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24615. if(sscanf(params, "d", fee))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /bizfee [0-50]");
  24616. if(fee < 0 || fee > 50)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Business fee must be between 0 and 50.");
  24617. BusinessData[bizid][businessFee] = fee;
  24618. SaveSQLInt(BusinessData[bizid][businessID], "businesses", "Fee", BusinessData[bizid][businessFee]);
  24619. format(string, sizeof(string), "Your businesses' fee was set to $%d!", fee);
  24620. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  24621. return true;
  24622. }
  24623. CMD:bizname(playerid, params[])
  24624. {
  24625. if(!pLoggedIn[playerid])return true;
  24626. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a business.");
  24627. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in your business.");
  24628. new bizid = IsPlayerInBusiness(playerid), string[128], bName[128];
  24629. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24630. if(sscanf(params, "s[128]", bName))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /bizfee [business name]");
  24631. format(BusinessData[bizid][businessName], 128, "%s", bName);
  24632. SaveBusiness(bizid);
  24633. format(string, sizeof(string), "Your business is now named %s!", bName);
  24634. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  24635. return true;
  24636. }
  24637. CMD:hirelist(playerid, params[])
  24638. {
  24639. if(!pLoggedIn[playerid])return true;
  24640. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a business.");
  24641. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in your business.");
  24642. new bizid = IsPlayerInBusiness(playerid);
  24643. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24644. ShowBusinessEmployees(playerid, bizid);
  24645. return true;
  24646. }
  24647. CMD:hire(playerid, params[])
  24648. {
  24649. if(CountPlayerBusinesses(playerid) == 0)
  24650. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a business.");
  24651. if(!IsPlayerInBusiness(playerid))
  24652. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in your business.");
  24653. new
  24654. bizid = IsPlayerInBusiness(playerid),
  24655. playerb;
  24656. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])
  24657. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24658. if(!isnull(params) && !strcmp(params, "cancel"))
  24659. {
  24660. if(OfferedHireTo[playerid] == INVALID_PLAYER_ID)
  24661. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You haven't made an offer to anyone.");
  24662. Message(OfferedHireTo[playerid], COLOR_ADM, "SERVER: %s cancelled their offer for you.", ReturnName(playerid));
  24663. Message(playerid, COLOR_ADM, "SERVER: You cancelled your offer to %s.", ReturnName(OfferedHireTo[playerid]));
  24664. OfferedHireBy[OfferedHireTo[playerid]] = INVALID_PLAYER_ID;
  24665. OfferedHireTo[playerid] = INVALID_PLAYER_ID;
  24666. OfferedHireBusinessID[playerid] = 0;
  24667. return 1;
  24668. }
  24669. if(OfferedHireTo[playerid] != INVALID_PLAYER_ID)
  24670. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You have a pending offer. Wait for them to accept or cancel.");
  24671. if(sscanf(params, "u", playerb))
  24672. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /hire [playerid/PartofName]");
  24673. if(!IsPlayerConnected(playerb))
  24674. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  24675. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  24676. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near that player.");
  24677. if(OfferedHireBy[playerb] != INVALID_PLAYER_ID)
  24678. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This player already has an offer.");
  24679. Message(playerid, COLOR_ADM, "You offered %s to work for %s.", ReturnName(playerb, 0), BusinessData[bizid][businessName]);
  24680. SendClientMessage(playerid, COLOR_ADM, "Use /hire cancel to disregard the offer.");
  24681. Message(playerb, COLOR_ADM, "%s offered you a job at %s. Use /hireaccept YES to work there or /hireaccept NO.", ReturnName(playerid, 0), BusinessData[bizid][businessName]);
  24682. OfferedHireBusinessID[playerid] = BusinessData[bizid][businessID];
  24683. OfferedHireBy[playerb] = playerid;
  24684. OfferedHireTo[playerid] = playerb;
  24685. return 1;
  24686. }
  24687. CMD:hireaccept(playerid, params[])
  24688. {
  24689. if(OfferedHireBy[playerid] == INVALID_PLAYER_ID)
  24690. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Nobody offered you a job.");
  24691. if(!strcmp(params, "yes", true))
  24692. {
  24693. Message(playerid, COLOR_ADM, "You accepted %s's offer and are now working at their business!", ReturnName(OfferedHireBy[playerid]));
  24694. Message(OfferedHireBy[playerid], COLOR_ADM, "%s accepted your job offer.", ReturnName(playerid));
  24695. PlayerData[playerid][pWorkOn] = OfferedHireBusinessID[OfferedHireBy[playerid]];
  24696. OfferedHireTo[OfferedHireBy[playerid]] = INVALID_PLAYER_ID;
  24697. OfferedHireBusinessID[OfferedHireBy[playerid]] = 0;
  24698. OfferedHireBy[playerid] = INVALID_PLAYER_ID;
  24699. }
  24700. else if(!strcmp(params, "no", true))
  24701. {
  24702. Message(playerid, COLOR_ADM, "You declined %s's offer.", ReturnName(OfferedHireBy[playerid]));
  24703. Message(OfferedHireBy[playerid], COLOR_ADM, "%s declined your job offer.", ReturnName(playerid));
  24704. OfferedHireTo[OfferedHireBy[playerid]] = INVALID_PLAYER_ID;
  24705. OfferedHireBusinessID[OfferedHireBy[playerid]] = 0;
  24706. OfferedHireBy[playerid] = INVALID_PLAYER_ID;
  24707. }
  24708. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: It's either a YES or a NO.");
  24709. return 1;
  24710. }
  24711. CMD:quitwork(playerid, params[])
  24712. {
  24713. if(!PlayerData[playerid][pWorkOn])
  24714. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't hired by any business.");
  24715. Message(playerid, COLOR_ADM, "You quit your job at %s.", BusinessData[PlayerData[playerid][pWorkOn]][businessName]);
  24716. PlayerData[playerid][pWorkOn] = 0;
  24717. SavePlayer(playerid);
  24718. return 1;
  24719. }
  24720. CMD:fire(playerid, params[])
  24721. {
  24722. if(CountPlayerBusinesses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a business.");
  24723. if(!IsPlayerInBusiness(playerid))return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in your business.");
  24724. new bizid = IsPlayerInBusiness(playerid),
  24725. playerb;
  24726. if(BusinessData[bizid][businessOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this business.");
  24727. if(sscanf(params, "u", playerb))
  24728. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /fire [playerid/PartofName]");
  24729. if(!IsPlayerConnected(playerb))
  24730. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid player.");
  24731. if(!pLoggedIn[playerb])
  24732. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That player isn't logged in.");
  24733. if(PlayerData[playerb][pWorkOn] != BusinessData[bizid][businessID])
  24734. return SendClientMessage(playerid, COLOR_ADM, "ERROR: That player isn't one of your workers.");
  24735. PlayerData[playerb][pWorkOn] = 0;
  24736. SavePlayer(playerb);
  24737. Message(playerb, COLOR_ADM, "%s fired you from their business.", ReturnName(playerid));
  24738. Message(playerid, COLOR_ADM, "You fired %s.", ReturnName(playerb));
  24739. return 1;
  24740. }
  24741. //Property Commands
  24742. CMD:buyhouse(playerid, params[])
  24743. {
  24744. if(!pLoggedIn[playerid])return true;
  24745. if(CountPlayerHouses(playerid) == 3)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You own maximum amount of houses.");
  24746. new string[128], propertyID = 0;
  24747. for(new i = 0; i < MAX_PROPERTY; i++){
  24748. if(PropertyData[i][propertyid] != 0){
  24749. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2])){
  24750. if(GetPlayerInterior(playerid) == PropertyData[i][propertyExteriorID] && GetPlayerVirtualWorld(playerid) == PropertyData[i][propertyExteriorWorld]){
  24751. propertyID = i;
  24752. }
  24753. }
  24754. }
  24755. }
  24756. if(propertyID == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near any properties.");
  24757. if(PropertyData[propertyID][propertyOwnerSQL] != 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't buy property that's already owned.");
  24758. if(PlayerData[playerid][pMoney] < PropertyData[propertyID][propertyMarketPrice]){
  24759. format(string, sizeof(string), "Insufficient amount. This house cost $%s. Please arrange a sufficient payment.", MoneyFormat(PropertyData[propertyID][propertyMarketPrice]));
  24760. SendClientMessage(playerid, COLOR_ADM, string);
  24761. return true;
  24762. }
  24763. if(PlayerData[playerid][pLevel] < PropertyData[propertyID][propertyLevel])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't the level required for this property.");
  24764. GiveMoney(playerid, -PropertyData[propertyID][propertyMarketPrice]);
  24765. PropertyData[propertyID][propertyOwnerSQL] = PlayerData[playerid][pSQLID];
  24766. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  24767. GameTextForPlayer(playerid, "Congratulations!~n~You're now the owner of this property!", 4000, 5);
  24768. DestroyDynamic3DTextLabel(PropertyData[propertyID][ForSaleSign]);
  24769. SaveSQLInt(PropertyData[propertyID][propertyid], "properties", "OwnerSQL", PropertyData[propertyID][propertyOwnerSQL]);
  24770. WriteLog("property_logs/buyproperty_log.txt", "[%s] %s bought Property ID %i for $%s", ReturnDate(), ReturnName(playerid), propertyID, MoneyFormat(PropertyData[propertyID][propertyMarketPrice]));
  24771. return true;
  24772. }
  24773. CMD:sellhouse(playerid, params[])
  24774. {
  24775. if(!pLoggedIn[playerid])return true;
  24776. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own a house.");
  24777. new string[128], confirm[60];
  24778. if(sscanf(params, "s[60]", confirm))return SendClientMessage(playerid, COLOR_ADM, "SERVER:{FFFFFF} You're about to sell your house. Type /sellhouse confirm to confirm. ");
  24779. if(strmatch(confirm, "confirm")){
  24780. for(new i = 0; i < MAX_PROPERTY; i++){
  24781. if(PropertyData[i][propertyid] != 0){
  24782. if(IsPlayerInRangeOfPoint(playerid, 4.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2]))
  24783. {
  24784. if(PropertyData[i][propertyOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this house.");
  24785. PropertyData[i][propertyOwnerSQL] = 0;
  24786. SaveSQLInt(PropertyData[i][propertyid], "properties", "OwnerSQL", 0);
  24787. DestroyDynamic3DTextLabel(PropertyData[i][ForSaleSign]);
  24788. if(PropertyData[i][propertyType] == 1){
  24789. format(string, sizeof(string), "Complex[%d] For Sale:\nPrice: $%d\nLevel: %d", i, PropertyData[i][propertyMarketPrice], PropertyData[i][propertyLevel]);
  24790. PropertyData[i][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_TEXTDRAW, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 15.0);
  24791. }
  24792. else if(PropertyData[i][propertyType] == 2){
  24793. format(string, sizeof(string), "Apartment[%d] For Sale:\nPrice: $%d\nLevel: %d", i, PropertyData[i][propertyMarketPrice], PropertyData[i][propertyLevel]);
  24794. PropertyData[i][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 20.0, .worldid = PropertyData[i][propertyExteriorWorld]);
  24795. }
  24796. else if(PropertyData[i][propertyType] == 3){
  24797. format(string, sizeof(string), "House[%d] For Sale:\nPrice: $%d\nLevel: %d", i, PropertyData[i][propertyMarketPrice], PropertyData[i][propertyLevel]);
  24798. PropertyData[i][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 15.0);
  24799. }
  24800. PlayerData[playerid][pSpawnSelect] = 0;
  24801. GameTextForPlayer(playerid, "You sold your property!", 3000, 5);
  24802. format(string, sizeof(string), "SERVER:You sold your house. You were paid $%s of the market price.", MoneyFormat(PropertyData[i][propertyMarketPrice] / 2));
  24803. SendClientMessage(playerid, COLOR_ADM, string);
  24804. GiveMoney(playerid, PropertyData[i][propertyMarketPrice] / 2);
  24805. WriteLog("property_logs/sellproperty_log.txt", "[%s] %s sold Property ID %i for $%s", ReturnDate(), ReturnName(playerid), i, MoneyFormat(PropertyData[i][propertyMarketPrice] / 2));
  24806. SavePlayer(playerid);
  24807. return true;
  24808. }
  24809. }
  24810. }
  24811. }
  24812. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't near a house.");
  24813. return true;
  24814. }
  24815. CMD:home(playerid, params[])
  24816. {
  24817. if(!pLoggedIn[playerid])return true;
  24818. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any houses.");
  24819. for(new i = 0; i < MAX_PROPERTY; i++)
  24820. {
  24821. if(PropertyData[i][propertyid] != 0){
  24822. if(PropertyData[i][propertyOwnerSQL] == PlayerData[playerid][pSQLID]){
  24823. SetPlayerCheckpoint(playerid, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 3.0);
  24824. GameTextForPlayer(playerid, "~r~Waypoint ~y~set to your home!", 4000, 4);
  24825. }
  24826. }
  24827. }
  24828. return true;
  24829. }
  24830. CMD:cmdspot(playerid, params[])
  24831. {
  24832. if(!pLoggedIn[playerid])return true;
  24833. new hid = IsPlayerInProperty(playerid);
  24834. if(hid == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't do this right now.");
  24835. if (PropertyData[hid][propertyOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this house.");
  24836. GetPlayerPos(playerid, Resources[playerid][CmdSpot][0], Resources[playerid][CmdSpot][1], Resources[playerid][CmdSpot][2]);
  24837. PropertyData[hid][propertyCheckPos][0] = Resources[playerid][CmdSpot][0];
  24838. PropertyData[hid][propertyCheckPos][1] = Resources[playerid][CmdSpot][1];
  24839. PropertyData[hid][propertyCheckPos][2] = Resources[playerid][CmdSpot][2];
  24840. SaveSQLFloat(PropertyData[hid][propertyid], "properties", "CheckPosX", Resources[playerid][CmdSpot][0]);
  24841. SaveSQLFloat(PropertyData[hid][propertyid], "properties", "CheckPosY", Resources[playerid][CmdSpot][1]);
  24842. SaveSQLFloat(PropertyData[hid][propertyid], "properties", "CheckPosZ", Resources[playerid][CmdSpot][2]);
  24843. SendClientMessage(playerid, COLOR_WHITE, "You've set a new spot to perform certain commands at.");
  24844. SendClientMessage(playerid, COLOR_WHITE, "/takegun, /place");
  24845. return true;
  24846. }
  24847. CMD:check(playerid, params[])
  24848. {
  24849. if(!pLoggedIn[playerid])return true;
  24850. new string[2000], hid = IsPlayerInProperty(playerid);
  24851. string[0] = 0;
  24852. if(IsPlayerInAnyVehicle(playerid))
  24853. {
  24854. new vehicleid = GetPlayerVehicleID(playerid);
  24855. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid))
  24856. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This command can only be used for private vehicles. You are in a public static vehicle.");
  24857. if(IsValidPlayerCar(vehicleid))
  24858. {
  24859. for(new i = 1; i < 5; i++)
  24860. {
  24861. if(!CarData[vehicleid][carWeapons][i])
  24862. format(string, sizeof(string), "%s%d. [Empty]\n", string, i);
  24863. else
  24864. format(string, sizeof(string), "%s%d. %s[Ammo: %d]\n", string, i, ReturnWeaponName(CarData[vehicleid][carWeapons][i]), CarData[vehicleid][carWeaponsAmmo][i]);
  24865. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Trunk", string, ">>>", "");
  24866. }
  24867. }
  24868. else if(IsValidFactionCar(vehicleid))
  24869. {
  24870. if(FactionCar[vehicleid][carFaction] > 0 && FactionCar[vehicleid][carFaction] == PlayerData[playerid][pFaction] && FactionCar[vehicleid][carGunRack])
  24871. {
  24872. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Trunk", "1. Shotgun[Ammo: 100]\n2. MP5[Ammo:200]\n3. M4[Ammo:200]\n4. SPAZ[Ammo:100]\n5. Sniper[Ammo:50]\n6. Camera\n7. Pepperspray", "Ok", "");
  24873. }
  24874. }
  24875. }
  24876. if(hid && IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[hid][propertyCheckPos][0], PropertyData[hid][propertyCheckPos][1], PropertyData[hid][propertyCheckPos][2])){
  24877. for(new i = 0; i < 21; i ++)
  24878. {
  24879. if(!PropertyData[hid][propertyWeapons][i])
  24880. format(string, sizeof(string), "%s%d. [Empty]\n", string, i);
  24881. else
  24882. format(string, sizeof(string), "%s%d. %s[Ammo:%d]\n", string, i, ReturnWeaponName(PropertyData[hid][propertyWeapons][i]), PropertyData[hid][propertyAmmo][i]);
  24883. }
  24884. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "House Weapon Storage(Capacity of 20)", string, ">>>", "");
  24885. }
  24886. return true;
  24887. }
  24888. CMD:checkdrugs(playerid, params[])
  24889. {
  24890. new id;
  24891. if( (id = IsPlayerInProperty(playerid)) != 0)
  24892. {
  24893. new nearest_id = -1;
  24894. for (new i = 0; i < 10; i++) if (HousePackages[id][i][packageType] != -1)
  24895. {
  24896. if (IsPlayerInRangeOfPoint(playerid, 2.5, HousePackages[id][i][packagePos][0], HousePackages[id][i][packagePos][1], HousePackages[id][i][packagePos][2])) {
  24897. nearest_id = i;
  24898. }
  24899. }
  24900. if (nearest_id == -1)
  24901. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You are not near a drug package.");
  24902. new string[128], Float:total;
  24903. for (new i = 0; i < 20; i++) {
  24904. total += PackageDrugs[id][nearest_id][i][drugQuantity];
  24905. }
  24906. format(string, sizeof(string), "%s (%.1fg / %.1fg):", GetPackageName(HousePackages[id][nearest_id][packageType]), total, GetHousePackageCapacity(HousePackages[id][nearest_id][packageType]));
  24907. SendClientMessage(playerid, COLOR_ADM, string);
  24908. for (new i = 0; i < 20; i++) if (PackageDrugs[id][nearest_id][i][drugQuantity] > 0)
  24909. {
  24910. format(string, sizeof(string), "[{FFFFFF} %d. %s (%s: %.1f%s/%.1f%s) {FF6347}]",
  24911. i, GetPackageType(PackageDrugs[id][nearest_id][i][drugPackage]), ReturnDrugsName(PackageDrugs[id][nearest_id][i][drugType]), PackageDrugs[id][nearest_id][i][drugQuantity], (IsPill(PackageDrugs[id][nearest_id][i][drugType]) == 1) ? (" Pills") : ("g"),
  24912. GetPackageCapacity(PackageDrugs[id][nearest_id][i][drugPackage], PackageDrugs[id][nearest_id][i][drugType]), (IsPill(PackageDrugs[id][nearest_id][i][drugType]) == 1) ? (" Pills") : ("g"));
  24913. SendClientMessage(playerid, COLOR_ADM, string);
  24914. }
  24915. }
  24916. else SendClientMessage(playerid, COLOR_ADM, "You aren't inside a house.");
  24917. return 1;
  24918. }
  24919. CMD:buildpackage(playerid, params[])
  24920. {
  24921. new id;
  24922. if( (id = IsPlayerInProperty(playerid)) != 0)
  24923. {
  24924. new package_id, object;
  24925. if (sscanf(params, "dd", package_id, object))
  24926. {
  24927. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /buildpackage [player_package_id] [object]");
  24928. SendClientMessage(playerid, COLOR_ADM, "OBJECTS: 0 - Cluckin' Bell Burger Box 1 - Burgershot Cup 2 - Cok'O'Pops 3 - Shoe Box 4 - Milk Carton 5 - Wrapped Package 6 - Pizza Box");
  24929. SendClientMessage(playerid, COLOR_ADM, "7 - Cardboard Box 8 - Cigarette Pack");
  24930. return 1;
  24931. }
  24932. if (package_id < 0 || package_id > 9 || DrugData[playerid][package_id][drugQuantity] == 0)
  24933. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a package in that slot.");
  24934. if (object < 0 || object > 8)
  24935. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid object ID specified.");
  24936. if (DrugData[playerid][package_id][drugQuantity] > GetHousePackageCapacity(object))
  24937. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Specified package doesn't fit in the object.");
  24938. for (new i = 0; i < 10; i++)
  24939. {
  24940. printf("%d", HousePackages[id][i][packageType]);
  24941. if (HousePackages[id][i][packageType] == -1)
  24942. {
  24943. new Float:x, Float:y, Float:z, string[256];
  24944. GetPlayerPos(playerid, x, y, z);
  24945. HousePackages[id][i][packageType] = object;
  24946. HousePackages[id][i][packagePos][0] = x;
  24947. HousePackages[id][i][packagePos][1] = y;
  24948. HousePackages[id][i][packagePos][2] = z;
  24949. mysql_format(m_Handle, string, sizeof(string), "INSERT INTO house_packages (housesqlid, type, posX, posY, posZ, rotX, rotY, royZ) VALUES (%d, %d, %.3f, %.3f, %.3f, 0.0, 0.0, 0.0)", PropertyData[id][propertyid], object, x, y, z);
  24950. mysql_tquery(m_Handle, string);
  24951. PackageDrugs[id][i][0][drugPackage] = DrugData[playerid][package_id][drugPackage];
  24952. PackageDrugs[id][i][0][drugType] = DrugData[playerid][package_id][drugType];
  24953. PackageDrugs[id][i][0][drugQuantity] = DrugData[playerid][package_id][drugQuantity];
  24954. PackageDrugs[id][i][0][drugStrength] = DrugData[playerid][package_id][drugStrength];
  24955. mysql_format(m_Handle, string, sizeof(string), "INSERT INTO house_packages_drugs (housesqlid, packageid, type, package, quantity, strength) VALUES (%d, 0, %d, %d, %.1f, %d)", PropertyData[id][propertyid], i, PackageDrugs[id][i][0][drugPackage],
  24956. PackageDrugs[id][i][0][drugType], PackageDrugs[id][i][0][drugQuantity], PackageDrugs[id][i][0][drugStrength]);
  24957. mysql_tquery(m_Handle, string);
  24958. format(string, sizeof(string), "[ ! ]{FFFFFF} You have put a{FF6347} %s{FFFFFF} in a {FF6347}%s.", GetPackageType(DrugData[playerid][package_id][drugPackage]), GetPackageName(object));
  24959. SendClientMessage(playerid, COLOR_ADM, string),
  24960. SendClientMessage(playerid, COLOR_ADM, "HINT:{FFFFFF} Use /adjustpackage to reposition the package.");
  24961. SendClientMessage(playerid, COLOR_ADM, "WARNING: The placement of drug packages is actively logged and monitored. Any misuse of this feature will result");
  24962. SendClientMessage(playerid, COLOR_ADM, "in a server ban.");
  24963. HousePackages[id][i][packageObject] = CreateDynamicObject(GetPackageModel(HousePackages[id][i][packageType]), HousePackages[id][i][packagePos][0], HousePackages[id][i][packagePos][1], HousePackages[id][i][packagePos][2],
  24964. HousePackages[id][i][packagePos][3], HousePackages[id][i][packagePos][4], HousePackages[id][i][packagePos][5], PropertyData[id][propertyInteriorWorld], PropertyData[id][propertyInteriorID]);
  24965. RemoveDrugPackage(playerid, package_id);
  24966. return 1;
  24967. }
  24968. }
  24969. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This house can't hold any more drug packages.");
  24970. }
  24971. else SendClientMessage(playerid, COLOR_ADM, "You aren't inside a house.");
  24972. return 1;
  24973. }
  24974. CMD:adjustpackage(playerid, params[])
  24975. {
  24976. if (PlayerData[playerid][pAdjustPackage] != -1)
  24977. return SendClientMessage(playerid, COLOR_ADM, "You are already adjusting a package.");
  24978. if(PlayerData[playerid][pEditingFurniture] && PlayerData[playerid][pEditingDuplicate])
  24979. return SendClientMessage(playerid, COLOR_ADM, "You are adjusting furniture at the moment.");
  24980. new id;
  24981. if( (id = IsPlayerInProperty(playerid)) != 0)
  24982. {
  24983. new nearest_id = -1;
  24984. for (new i = 0; i < 10; i++) if (HousePackages[id][i][packageType] != -1)
  24985. {
  24986. if (IsPlayerInRangeOfPoint(playerid, 2.5, HousePackages[id][i][packagePos][0], HousePackages[id][i][packagePos][1], HousePackages[id][i][packagePos][2])) {
  24987. nearest_id = i;
  24988. }
  24989. }
  24990. if (nearest_id == -1)
  24991. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You are not near a drug package.");
  24992. PlayerData[playerid][pAdjustPackage] = nearest_id;
  24993. EditDynamicObject(playerid, HousePackages[id][nearest_id][packageObject]);
  24994. }
  24995. else SendClientMessage(playerid, COLOR_ADM, "You aren't inside a house.");
  24996. return 1;
  24997. }
  24998. CMD:place(playerid, params[])
  24999. {
  25000. new
  25001. string[128],
  25002. id,
  25003. slot_id,
  25004. weapon_id,
  25005. ammo
  25006. ;
  25007. if((id = IsPlayerInProperty(playerid)) != 0)
  25008. {
  25009. if(!IsPlayerInRangeOfPoint(playerid, 4.0, PropertyData[id][propertyCheckPos][0], PropertyData[id][propertyCheckPos][1], PropertyData[id][propertyCheckPos][2]))
  25010. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't near the command spot.");
  25011. if(GetPlayerWeapon(playerid) == 0)
  25012. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't holding your weapon.");
  25013. weapon_id = ReturnWeapon(playerid);
  25014. if(weapon_id == -1)
  25015. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't holding a weapon.");
  25016. ammo = ReturnWeaponAmmo(playerid, weapon_id);
  25017. slot_id = House_ReturnWeaponSlot(id);
  25018. PropertyData[id][propertyWeapons][slot_id] = weapon_id;
  25019. PropertyData[id][propertyAmmo][slot_id] = ammo;
  25020. TakePlayerWeapon(playerid, weapon_id);
  25021. SaveProperty(id);
  25022. format(string, sizeof(string), "* %s stores a %s in the house.", ReturnName(playerid, 0), ReturnWeaponName(weapon_id));
  25023. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25024. SendClientMessage(playerid, COLOR_EMOTE, string);
  25025. WriteLog("weapon_logs/property_place.txt", "[%s] %s (DBID: %i) placed %s (Ammo: %i) in Property %i", ReturnDate(), ReturnName(playerid), PlayerData[playerid][pSQLID], ReturnWeaponName(weapon_id), ammo, id);
  25026. return 1;
  25027. }
  25028. if(IsPlayerInAnyVehicle(playerid))
  25029. {
  25030. id = GetPlayerVehicleID(playerid);
  25031. if(!IsValidFactionCar(id) && !IsValidPlayerCar(id))
  25032. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This command can only be used for private vehicles. You are in a public static vehicle.");
  25033. if(IsValidPlayerCar(id))
  25034. {
  25035. if(sscanf(params, "i", weapon_id))
  25036. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /place [weapon id]");
  25037. if(!PlayerHasWeapon(playerid, weapon_id))
  25038. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have that weapon.");
  25039. slot_id = Car_ReturnWeaponSlot(id);
  25040. if(slot_id == -1)
  25041. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This vehicle is at full capacity.");
  25042. ammo = ReturnWeaponAmmo(playerid, weapon_id);
  25043. if(SlotBeingUsed[id][slot_id])
  25044. return SendClientMessage(playerid, COLOR_ADM, "You can't place your weapon there right now.");
  25045. PlayerPlacingWeapon[playerid] = 1;
  25046. PlayerPlacingWeaponSlot[playerid] = slot_id;
  25047. PlayerPlacingWeaponID[playerid] = weapon_id;
  25048. PlayerPlacingWeaponAmmo[playerid] = ammo;
  25049. SlotBeingUsed[id][slot_id] = 1;
  25050. PlayerPlacingInVehicle[playerid] = id;
  25051. new
  25052. Float:x[3];
  25053. GetPlayerPos(playerid, x[0], x[1], x[2]);
  25054. CarData[id][carWeaponObject][slot_id] = CreateDynamicObject(ReturnWeaponsModel(weapon_id), x[0], x[1], x[2], 80.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  25055. EditDynamicObject(playerid, CarData[id][carWeaponObject][slot_id]);
  25056. SendClientMessage(playerid, COLOR_ADM, "INFO: Hold {FFFFFF}W{FF6347} or {FFFFFF}SPACE{FF6347} to move your camera.");
  25057. Message(playerid, COLOR_YELLOW, "You're storing a %s with %i Ammo.", ReturnWeaponName(weapon_id), ammo);
  25058. RemovePlayerWeapon(playerid, weapon_id);
  25059. /*CarData[id][carWeapons][slot_id] = weapon_id;
  25060. CarData[id][carWeaponsAmmo][slot_id] = ammo;
  25061. TakePlayerWeapon(playerid, weapon_id);
  25062. SaveCar(id);
  25063. format(string, sizeof(string), "* %s stores a %s in the %s.", ReturnName(playerid, 0), ReturnWeaponName(weapon_id), ReturnVehicleName(id));
  25064. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 2000);
  25065. format(string, sizeof(string), "[ ! ] You have stored a %s in the %s.", ReturnWeaponName(weapon_id), ReturnVehicleName(id));
  25066. SendClientMessage(playerid, COLOR_YELLOW, string);
  25067. format(string, sizeof(string), "%s put a %s[%d] (slot %d)", ReturnName(playerid), ReturnWeaponName(weapon_id), ammo, slot_id);
  25068. LogVehicleAction(id, string);
  25069. WriteLog("weapon_logs/vehicle_place.txt", "[%s] %s (DBID: %i) placed %s (Ammo: %i) in Vehicle DBID %i", ReturnDate(), ReturnName(playerid), PlayerData[playerid][pSQLID], ReturnWeaponName(weapon_id), ammo, CarData[id][carID]);*/
  25070. return 1;
  25071. }
  25072. if(IsValidFactionCar(id) && FactionData[FactionCar[id][carFaction]][factionCopPerms])
  25073. {
  25074. if(sscanf(params, "i", weapon_id))
  25075. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /place [weapon id]");
  25076. if(weapon_id != 25 && weapon_id != 29 && weapon_id != 27 && weapon_id != 31 && weapon_id != 34 && weapon_id != 41 && weapon_id != 43)
  25077. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You can't put that in this car.");
  25078. switch(weapon_id)
  25079. {
  25080. case 25:
  25081. {
  25082. if(!PlayerHasWeapon(playerid, 25) && !IsSaveableWeapon(playerid, 25))
  25083. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have this weapon.");
  25084. TakePlayerWeapon(playerid, 25);
  25085. format(string, sizeof(string), "* %s places their Shotgun in the %s.", ReturnName(playerid, 0), ReturnVehicleName(id));
  25086. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25087. SendClientMessage(playerid, COLOR_EMOTE, string);
  25088. }
  25089. case 29:
  25090. {
  25091. if(!PlayerHasWeapon(playerid, 29) && !IsSaveableWeapon(playerid, 29))
  25092. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have this weapon.");
  25093. TakePlayerWeapon(playerid, 29);
  25094. format(string, sizeof(string), "* %s places their MP5 in the %s.", ReturnName(playerid, 0), ReturnVehicleName(id));
  25095. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25096. SendClientMessage(playerid, COLOR_EMOTE, string);
  25097. }
  25098. case 31:
  25099. {
  25100. if(!PlayerHasWeapon(playerid, 31) && !IsSaveableWeapon(playerid, 31))
  25101. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have this weapon.");
  25102. TakePlayerWeapon(playerid, 31);
  25103. format(string, sizeof(string), "* %s places their M4 in the %s.", ReturnName(playerid, 0), ReturnVehicleName(id));
  25104. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25105. SendClientMessage(playerid, COLOR_EMOTE, string);
  25106. }
  25107. case 34:
  25108. {
  25109. if(!PlayerHasWeapon(playerid, 34) && !IsSaveableWeapon(playerid, 34))
  25110. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have this weapon.");
  25111. TakePlayerWeapon(playerid, 34);
  25112. format(string, sizeof(string), "* %s places their Sniper Rifle in the %s.", ReturnName(playerid, 0), ReturnVehicleName(id));
  25113. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25114. SendClientMessage(playerid, COLOR_EMOTE, string);
  25115. }
  25116. case 41:
  25117. {
  25118. if(!PlayerHasWeapon(playerid, 41) && !IsSaveableWeapon(playerid, 41))
  25119. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have this weapon.");
  25120. TakePlayerWeapon(playerid, 41);
  25121. format(string, sizeof(string), "* %s places their Spray Can in the %s.", ReturnName(playerid, 0), ReturnVehicleName(id));
  25122. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25123. SendClientMessage(playerid, COLOR_EMOTE, string);
  25124. }
  25125. case 43:
  25126. {
  25127. if(!PlayerHasWeapon(playerid, 45) && !IsSaveableWeapon(playerid, 45))
  25128. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have this weapon.");
  25129. TakePlayerWeapon(playerid, 45);
  25130. format(string, sizeof(string), "* %s places their Camera in the %s.", ReturnName(playerid, 0), ReturnVehicleName(id));
  25131. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25132. SendClientMessage(playerid, COLOR_EMOTE, string);
  25133. }
  25134. }
  25135. return 1;
  25136. }
  25137. }
  25138. SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't place your weapon anywhere.");
  25139. return 1;
  25140. }
  25141. CMD:takegun(playerid, params[])
  25142. {
  25143. if(!pLoggedIn[playerid])return true;
  25144. new string[128], hid = IsPlayerInProperty(playerid), slotid;
  25145. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[hid][propertyCheckPos][0], PropertyData[hid][propertyCheckPos][1], PropertyData[hid][propertyCheckPos][2]))
  25146. {
  25147. if(sscanf(params, "d", slotid))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /takegun slot_id");
  25148. if(!PropertyData[hid][propertyWeapons][slotid])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} There's nothing in that slot.");
  25149. if(slotid < 0 || slotid > 20)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That slot doesn't exist.");
  25150. GivePlayerGun(playerid, PropertyData[hid][propertyWeapons][slotid], PropertyData[hid][propertyAmmo][slotid], WEAPON_UNKNOWN_GIVEN);
  25151. format(string, sizeof(string), "* %s takes a %s from the house.", ReturnName(playerid, 0), ReturnWeaponName(PropertyData[hid][propertyWeapons][slotid]));
  25152. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25153. SendClientMessage(playerid, COLOR_EMOTE, string);
  25154. WriteLog("weapon_logs/property_take.txt", "[%s] %s took %s (Ammo: %d) from Property DBID %d", ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(PropertyData[hid][propertyWeapons][slotid]),
  25155. PropertyData[hid][propertyAmmo][slotid], hid);
  25156. PropertyData[hid][propertyWeapons][slotid] = 0;
  25157. PropertyData[hid][propertyAmmo][slotid] = 0;
  25158. SaveProperty(hid);
  25159. return true;
  25160. }
  25161. if(IsPlayerInAnyVehicle(playerid)) {
  25162. new vehicleid = GetPlayerVehicleID(playerid), w_slot_id;
  25163. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid))
  25164. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This command can only be used for private vehicles. You are in a public static vehicle.");
  25165. if ( IsValidPlayerCar(vehicleid) ) {
  25166. if(sscanf(params, "d", w_slot_id)) return SendClientMessage(playerid, COLOR_ADM, "USAGE: /takegun slot_id");
  25167. if ( w_slot_id < 1 || w_slot_id > 4 ) return SendClientMessage(playerid, COLOR_ADM, "ERROR: That slot doesn't exist.");
  25168. if ( !CarData[vehicleid][carWeapons][w_slot_id] ) return SendClientMessage(playerid, COLOR_ADM, "ERROR: There's nothing in that slot.");
  25169. GivePlayerGun(playerid, CarData[vehicleid][carWeapons][w_slot_id], CarData[vehicleid][carWeaponsAmmo][w_slot_id], WEAPON_UNKNOWN_GIVEN);
  25170. format(string, sizeof(string), "* %s takes a %s from the %s.", ReturnName(playerid, 0), ReturnWeaponName(CarData[vehicleid][carWeapons][w_slot_id]), ReturnVehicleName(vehicleid));
  25171. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25172. SendClientMessage(playerid, COLOR_EMOTE, string);
  25173. WriteLog("weapon_logs/vehicle_take.txt", "[%s] %s took %s (Ammo: %d) from %s (Vehicle DBID %d)", ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(CarData[vehicleid][carWeapons][w_slot_id]),
  25174. CarData[vehicleid][carWeaponsAmmo][w_slot_id], ReturnVehicleName(vehicleid), CarData[vehicleid][carID]);
  25175. format(string, sizeof(string), "%s took a %s[%d] (slot %d)", ReturnName(playerid), ReturnWeaponName(CarData[vehicleid][carWeapons][w_slot_id]), CarData[vehicleid][carWeaponsAmmo][w_slot_id], w_slot_id);
  25176. LogVehicleAction(vehicleid, string);
  25177. if(IsValidDynamicObject(CarData[vehicleid][carWeaponObject][w_slot_id]))
  25178. DestroyDynamicObject(CarData[vehicleid][carWeaponObject][w_slot_id]);
  25179. CarData[vehicleid][carWeapons][w_slot_id] = 0;
  25180. CarData[vehicleid][carWeaponsAmmo][w_slot_id] = 0;
  25181. SaveCar(vehicleid);
  25182. return true;
  25183. }
  25184. else if( IsValidFactionCar(vehicleid) ) {
  25185. if(FactionCar[vehicleid][carFaction] != PlayerData[playerid][pFaction])
  25186. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't have the keys to this vehicle.");
  25187. if(FactionCar[vehicleid][carGunRack]) {
  25188. if(sscanf(params, "d", w_slot_id)) return SendClientMessage(playerid, COLOR_WHITE, "/takegun slot_id (ID List in /check.)");
  25189. if ( w_slot_id < 0 || w_slot_id > 7 ) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That slot ID does not exist.");
  25190. switch ( w_slot_id ) {
  25191. case 1: {
  25192. GivePlayerGun(playerid, 25, 100, WEAPON_SERVER_GIVEN);
  25193. format(string, sizeof(string), "* %s takes a Shotgun from the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  25194. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25195. SendClientMessage(playerid, COLOR_EMOTE, string);
  25196. }
  25197. case 2: {
  25198. GivePlayerGun(playerid, 29, 200, WEAPON_SERVER_GIVEN);
  25199. format(string, sizeof(string), "* %s takes a MP5 from the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  25200. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25201. SendClientMessage(playerid, COLOR_EMOTE, string);
  25202. }
  25203. case 3: {
  25204. GivePlayerGun(playerid, 31, 200, WEAPON_SERVER_GIVEN);
  25205. format(string, sizeof(string), "* %s takes a M4 from the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  25206. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25207. SendClientMessage(playerid, COLOR_EMOTE, string);
  25208. }
  25209. case 4: { return SendClientMessage(playerid, COLOR_ADM, "SERVER: This is not available right now. "); }
  25210. case 5: {
  25211. GivePlayerGun(playerid, 34, 200, WEAPON_SERVER_GIVEN);
  25212. format(string, sizeof(string), "* %s takes a Sniper Rifle from the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  25213. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25214. SendClientMessage(playerid, COLOR_EMOTE, string);
  25215. }
  25216. case 6: {
  25217. GivePlayerGun(playerid, 43, 100, WEAPON_SERVER_GIVEN);
  25218. format(string, sizeof(string), "* %s takes a Camera from the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  25219. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25220. SendClientMessage(playerid, COLOR_EMOTE, string);
  25221. }
  25222. case 7: {
  25223. GivePlayerGun(playerid, 41, 200, WEAPON_SERVER_GIVEN);
  25224. format(string, sizeof(string), "* %s takes a Spray Can from the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  25225. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 25.0, 3000);
  25226. SendClientMessage(playerid, COLOR_EMOTE, string);
  25227. }
  25228. }
  25229. return true;
  25230. }
  25231. else {
  25232. SendClientMessage(playerid, COLOR_ADM, "SERVER: Unavailable Feature.");
  25233. return true;
  25234. }
  25235. }
  25236. }
  25237. SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't do this right now.");
  25238. return true;
  25239. }
  25240. CMD:myhouse(playerid, params[])
  25241. {
  25242. if( CountPlayerHouses(playerid) == 0 )
  25243. return SendClientMessage(playerid, COLOR_ADM, "You don't own a house.");
  25244. new prim_str[30], sub_str[30], thr_str[30];
  25245. new id;
  25246. if( !IsPlayerInProperty(playerid) )
  25247. return SendClientMessage(playerid, COLOR_ADM, "You aren't inside a house.");
  25248. id = IsPlayerInProperty(playerid);
  25249. if( PropertyData[id][propertyOwnerSQL] != PlayerData[playerid][pSQLID] )
  25250. return SendClientMessage(playerid, COLOR_ADM, "You don't own this house.");
  25251. if( sscanf(params, "s[30]S()[30]S()[30]", prim_str, sub_str, thr_str) )
  25252. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /myhouse [info, cashbox]");
  25253. if(!strcmp(prim_str, "info", true))
  25254. {
  25255. new garage_id;
  25256. for(new i; i < MAX_PROPERTY_GARAGES; i++)
  25257. {
  25258. if(GarageData[i][garagePropertyID] == id)
  25259. garage_id = i;
  25260. }
  25261. Message(playerid, COLOR_GREY, "Your House ID is: %i", id);
  25262. Message(playerid, COLOR_GREY, "Garage ID:[%s] Market price:[$%s] Level:[%i]", (garage_id != 0) ? (MoneyFormat(garage_id)) : ("None"), MoneyFormat(PropertyData[id][propertyMarketPrice]), PropertyData[id][propertyLevel]);
  25263. }
  25264. else if(!strcmp(prim_str, "cashbox", true))
  25265. {
  25266. new ink[32], quantity;
  25267. if(sscanf(sub_str, "s[32]", ink))
  25268. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /myhouse cashbox [ take, put, info ]");
  25269. if(!strcmp(ink, "take", true))
  25270. {
  25271. if(sscanf(thr_str, "i", quantity))
  25272. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /myhouse cashbox take [quantity]");
  25273. if( quantity < 1 || quantity > PropertyData[id][propertyMoney] )
  25274. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid amount.");
  25275. WriteLog("property_logs/cashboxtake_log.txt", "[%s] %s took $%s from Property %i's Cashbox. [Previous cashbox: $%i - Onhand now: $%i]", ReturnDateLog(), ReturnName(playerid), MoneyFormat(quantity), PropertyData[id][propertyid], (PropertyData[id][propertyMoney]-quantity), (PlayerData[playerid][pMoney]+quantity));
  25276. Message(playerid, COLOR_GREY, "[%s] You took $%s from the $%s in your cashbox.", ReturnDateLog(), MoneyFormat(quantity), MoneyFormat(PropertyData[id][propertyMoney]));
  25277. GiveMoney( playerid, quantity );
  25278. PropertyData[id][propertyMoney]-= quantity;
  25279. SaveSQLInt(PropertyData[id][propertyid], "properties", "Money", PropertyData[id][propertyMoney]);
  25280. }
  25281. else if(!strcmp(ink, "put", true))
  25282. {
  25283. if(sscanf(thr_str, "i", quantity))
  25284. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /myhouse cashbox put [quantity]");
  25285. if( quantity < 1 || quantity > PlayerData[playerid][pMoney] )
  25286. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid amount.");
  25287. WriteLog("property_logs/cashboxput_log.txt", "[%s] %s put $%s into Property %i's Cashbox. [Previous cashbox: $%i - Previous Onhand: $%i - Onhand now: $%i]", ReturnDateLog(), ReturnName(playerid), MoneyFormat(quantity), PropertyData[id][propertyid], PropertyData[id][propertyMoney], PlayerData[playerid][pMoney], (PlayerData[playerid][pMoney]-quantity));
  25288. Message(playerid, COLOR_GREY, "[%s] You put $%s into the current $%s cashbox.", ReturnDateLog(), MoneyFormat(quantity), MoneyFormat(PropertyData[id][propertyMoney]));
  25289. PropertyData[id][propertyMoney]+= quantity;
  25290. GiveMoney( playerid, -quantity );
  25291. SaveSQLInt(PropertyData[id][propertyid], "properties", "Money", PropertyData[id][propertyMoney]);
  25292. }
  25293. else if(!strcmp(ink, "info", true))
  25294. {
  25295. Message(playerid, COLOR_GREY, "As of %s, you have $%s in your cashbox.", ReturnDateLog(), MoneyFormat(PropertyData[id][propertyMoney]));
  25296. }
  25297. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  25298. }
  25299. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  25300. return 1;
  25301. }
  25302. CMD:setrentable(playerid, params[])
  25303. {
  25304. if(!pLoggedIn[playerid])return true;
  25305. new hid = IsPlayerInProperty(playerid);
  25306. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any houses.");
  25307. if (!hid)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be inside your house.");
  25308. if(PropertyData[hid][propertyOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this house.");
  25309. if(PropertyData[hid][propertyRentable] == 0){
  25310. PropertyData[hid][propertyRentable] = 1;
  25311. SaveSQLInt(PropertyData[hid][propertyid], "properties", "Rentable", PropertyData[hid][propertyRentable]);
  25312. SendClientMessage(playerid, COLOR_DARKGREEN, "Your house is now rentable. Use `/setrent` to set the rent.");
  25313. }
  25314. else{
  25315. PropertyData[hid][propertyRentable] = 0;
  25316. SaveSQLInt(PropertyData[hid][propertyid], "properties", "Rentable", PropertyData[hid][propertyRentable]);
  25317. SendClientMessage(playerid, COLOR_DARKGREEN, "Your house is no longer rentable.");
  25318. }
  25319. return true;
  25320. }
  25321. CMD:setrent(playerid, params[])
  25322. {
  25323. if(!pLoggedIn[playerid])return true;
  25324. new string[128], rent, hid = IsPlayerInProperty(playerid);
  25325. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any houses.");
  25326. if (!hid)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be inside your house.");
  25327. if(PropertyData[hid][propertyOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this house.");
  25328. if(sscanf(params, "d", rent))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /setrent [$1-$500]");
  25329. if(rent < 0 || rent > 500)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} The rent must be at least $1 and not greater than $500.");
  25330. PropertyData[hid][propertyRentPrice] = rent;
  25331. SaveSQLInt(PropertyData[hid][propertyid], "properties", "RentPrice", PropertyData[hid][propertyRentPrice]);
  25332. format(string, sizeof(string), "Your houses rent is now $%s.", MoneyFormat(rent));
  25333. SendClientMessage(playerid, COLOR_ADM, string);
  25334. WriteLog("property_logs/setrent_log.txt", "[%s] %s set their House DBID %i rent to $%s", ReturnDate(), ReturnName(playerid), hid, MoneyFormat(rent));
  25335. return true;
  25336. }
  25337. CMD:rentroom(playerid, params[])
  25338. {
  25339. if(!pLoggedIn[playerid])return true;
  25340. new string[128];
  25341. if(PlayerData[playerid][pRenting])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can only rent at one house.");
  25342. for(new i = 0; i < MAX_PROPERTY; i++)
  25343. {
  25344. if(PropertyData[i][propertyid] != 0){
  25345. if(IsPlayerInRangeOfPoint(playerid, 3.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2])){
  25346. if(!PropertyData[i][propertyRentable])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This house isn't rentable.");
  25347. if(PropertyData[i][propertyOwnerSQL] == PlayerData[playerid][pSQLID])
  25348. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't rent at your own home.");
  25349. PlayerData[playerid][pRenting] = PropertyData[i][propertyid];
  25350. GiveMoney(playerid, -PropertyData[i][propertyRentPrice]);
  25351. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "Renting", PlayerData[playerid][pRenting]);
  25352. format(string, sizeof(string), "You're now renting at this house. Cost: $%s.", MoneyFormat(PropertyData[i][propertyRentPrice]));
  25353. SendClientMessage(playerid, COLOR_ADM, string);
  25354. WriteLog("property_logs/rentroom_log.txt", "[%s] %s is renting house ID %d", ReturnDate(), ReturnName(playerid, 1), i);
  25355. return true;
  25356. }
  25357. }
  25358. }
  25359. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You're not near a house.");
  25360. return true;
  25361. }
  25362. CMD:unrentroom(playerid, params[])
  25363. {
  25364. if(!pLoggedIn[playerid])return true;
  25365. if(!PlayerData[playerid][pRenting])
  25366. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't renting anywhere.");
  25367. PlayerData[playerid][pRenting] = false;
  25368. cmd_setspawn(playerid, "1");
  25369. return true;
  25370. }
  25371. CMD:tenants(playerid, params[])
  25372. {
  25373. if(!pLoggedIn[playerid])return true;
  25374. new hid = IsPlayerInProperty(playerid);
  25375. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any houses.");
  25376. if (!hid)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be inside your house.");
  25377. if(PropertyData[hid][propertyOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this house.");
  25378. ShowTenantNames(playerid, hid);
  25379. return true;
  25380. }
  25381. CMD:evictall(playerid, params[])
  25382. {
  25383. if(!pLoggedIn[playerid])return true;
  25384. new hid = IsPlayerInProperty(playerid);
  25385. if(CountPlayerHouses(playerid) == 0)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any houses.");
  25386. if (!hid)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be inside your house.");
  25387. if(PropertyData[hid][propertyOwnerSQL] != PlayerData[playerid][pSQLID])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this house.");
  25388. new confirm[90];
  25389. if(sscanf(params, "s[90]", confirm))return SendClientMessage(playerid, COLOR_ADM, "SERVER:{FFFFFF} Are you sure you want to evict all your tenants? Type /evictall `confirm` to continue.");
  25390. if(strmatch(confirm, "confirm")){
  25391. EvictAllTenants(playerid, hid);
  25392. }
  25393. return true;
  25394. }
  25395. CMD:knock(playerid, params[])
  25396. {
  25397. new
  25398. string[128],
  25399. idx;
  25400. if(IsPlayerNearProperty(playerid))
  25401. {
  25402. idx = IsPlayerNearProperty(playerid);
  25403. foreach(new i : Player)
  25404. {
  25405. if(IsPlayerInProperty(i) == idx)
  25406. {
  25407. format(string, sizeof(string), "* %s knocks on the door.", ReturnPlayerMask(playerid));
  25408. SendClientMessage(i, COLOR_EMOTE, string);
  25409. }
  25410. }
  25411. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s knocks on the door.", ReturnPlayerMask(playerid));
  25412. return 1;
  25413. }
  25414. if(IsPlayerNearBusiness(playerid))
  25415. {
  25416. idx = IsPlayerNearBusiness(playerid);
  25417. foreach(new i : Player)
  25418. {
  25419. if(IsPlayerInBusiness(i) == idx)
  25420. {
  25421. format(string, sizeof(string), "* %s knocks on the door.", ReturnPlayerMask(playerid));
  25422. SendClientMessage(i, COLOR_EMOTE, string);
  25423. }
  25424. }
  25425. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s knocks on the door.", ReturnPlayerMask(playerid));
  25426. return 1;
  25427. }
  25428. SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a door.");
  25429. return 1;
  25430. }
  25431. CMD:ds(playerid, params[])
  25432. {
  25433. if(isnull(params))
  25434. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ds [door shout text]");
  25435. new
  25436. string[128],
  25437. idx;
  25438. if(IsPlayerNearProperty(playerid))
  25439. {
  25440. idx = IsPlayerNearProperty(playerid);
  25441. foreach(new i : Player)
  25442. {
  25443. if(IsPlayerInProperty(i) == idx)
  25444. {
  25445. if(strlen(params) > 90)
  25446. {
  25447. format(string, sizeof(string), "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25448. SendClientMessage(i, COLOR_GRAD1, string);
  25449. format(string, sizeof(string), "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25450. SendClientMessage(i, COLOR_GRAD1, string);
  25451. }
  25452. else
  25453. {
  25454. format(string, sizeof(string), "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25455. SendClientMessage(i, COLOR_GRAD1, string);
  25456. }
  25457. }
  25458. }
  25459. if(strlen(params) > 90)
  25460. {
  25461. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25462. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25463. }
  25464. else SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25465. return 1;
  25466. }
  25467. if(IsPlayerInProperty(playerid))
  25468. {
  25469. idx = IsPlayerInProperty(playerid);
  25470. if(!IsPlayerInRangeOfPoint(playerid, 8.0, PropertyData[idx][propertyInterior][0], PropertyData[idx][propertyInterior][1], PropertyData[idx][propertyInterior][2]))
  25471. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near the properties door.");
  25472. foreach(new i : Player)
  25473. {
  25474. if(IsPlayerNearProperty(i) == idx)
  25475. {
  25476. if(strlen(params) > 90)
  25477. {
  25478. format(string, sizeof(string), "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25479. SendClientMessage(i, COLOR_GRAD1, string);
  25480. format(string, sizeof(string), "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25481. SendClientMessage(i, COLOR_GRAD1, string);
  25482. }
  25483. else
  25484. {
  25485. format(string, sizeof(string), "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25486. SendClientMessage(i, COLOR_GRAD1, string);
  25487. }
  25488. }
  25489. }
  25490. if(strlen(params) > 90)
  25491. {
  25492. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25493. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25494. }
  25495. else SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25496. return 1;
  25497. }
  25498. if(IsPlayerNearBusiness(playerid))
  25499. {
  25500. idx = IsPlayerNearBusiness(playerid);
  25501. foreach(new i : Player)
  25502. {
  25503. if(IsPlayerInBusiness(i) == idx)
  25504. {
  25505. if(strlen(params) > 90)
  25506. {
  25507. format(string, sizeof(string), "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25508. SendClientMessage(i, COLOR_GRAD1, string);
  25509. format(string, sizeof(string), "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25510. SendClientMessage(i, COLOR_GRAD1, string);
  25511. }
  25512. else
  25513. {
  25514. format(string, sizeof(string), "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25515. SendClientMessage(i, COLOR_GRAD1, string);
  25516. }
  25517. }
  25518. }
  25519. if(strlen(params) > 90)
  25520. {
  25521. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25522. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25523. }
  25524. else SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25525. return 1;
  25526. }
  25527. if(IsPlayerInBusiness(playerid))
  25528. {
  25529. idx = IsPlayerInBusiness(playerid);
  25530. if(!IsPlayerInRangeOfPoint(playerid, 8.0, BusinessData[idx][businessInt][0], BusinessData[idx][businessInt][1], BusinessData[idx][businessInt][2]))
  25531. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near this business' door.");
  25532. foreach(new i : Player)
  25533. {
  25534. if(IsPlayerNearBusiness(i) == idx)
  25535. {
  25536. if(strlen(params) > 90)
  25537. {
  25538. format(string, sizeof(string), "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25539. SendClientMessage(i, COLOR_GRAD1, string);
  25540. format(string, sizeof(string), "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25541. SendClientMessage(i, COLOR_GRAD1, string);
  25542. }
  25543. else
  25544. {
  25545. format(string, sizeof(string), "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25546. SendClientMessage(i, COLOR_GRAD1, string);
  25547. }
  25548. }
  25549. }
  25550. if(strlen(params) > 90)
  25551. {
  25552. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %.90s", ReturnPlayerMask(playerid), params);
  25553. SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): ... %s", ReturnPlayerMask(playerid), params[90]);
  25554. }
  25555. else SendNearbyMessage(playerid, 20.0, COLOR_GRAD1, "%s shouts (door): %s", ReturnPlayerMask(playerid), params);
  25556. return 1;
  25557. }
  25558. SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a door.");
  25559. return 1;
  25560. }
  25561. CMD:ddo(playerid, params[])
  25562. {
  25563. if(isnull(params))
  25564. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /ddo [door emote text]");
  25565. new
  25566. string[128],
  25567. idx;
  25568. if(IsPlayerNearProperty(playerid))
  25569. {
  25570. idx = IsPlayerNearProperty(playerid);
  25571. foreach(new i : Player)
  25572. {
  25573. if(IsPlayerInProperty(i) == idx)
  25574. {
  25575. if(strlen(params) > 90)
  25576. {
  25577. format(string, sizeof(string), "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25578. SendClientMessage(i, COLOR_EMOTE, string);
  25579. format(string, sizeof(string), "* [Door] ... %s (( %s ))", params[90], ReturnPlayerMask(playerid));
  25580. SendClientMessage(i, COLOR_EMOTE, string);
  25581. }
  25582. else
  25583. {
  25584. format(string, sizeof(string), "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25585. SendClientMessage(i, COLOR_EMOTE, string);
  25586. }
  25587. }
  25588. }
  25589. if(strlen(params) > 90)
  25590. {
  25591. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25592. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] ... %s (( %s ))", params, ReturnPlayerMask(playerid));
  25593. }
  25594. else SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25595. return 1;
  25596. }
  25597. if(IsPlayerInProperty(playerid))
  25598. {
  25599. idx = IsPlayerInProperty(playerid);
  25600. if(!IsPlayerInRangeOfPoint(playerid, 8.0, PropertyData[idx][propertyInterior][0], PropertyData[idx][propertyInterior][1], PropertyData[idx][propertyInterior][2]))
  25601. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near the properties door.");
  25602. foreach(new i : Player)
  25603. {
  25604. if(IsPlayerNearProperty(i) == idx)
  25605. {
  25606. if(strlen(params) > 90)
  25607. {
  25608. format(string, sizeof(string), "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25609. SendClientMessage(i, COLOR_EMOTE, string);
  25610. format(string, sizeof(string), "* [Door] ... %s (( %s ))", params[90], ReturnPlayerMask(playerid));
  25611. SendClientMessage(i, COLOR_EMOTE, string);
  25612. }
  25613. else
  25614. {
  25615. format(string, sizeof(string), "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25616. SendClientMessage(i, COLOR_EMOTE, string);
  25617. }
  25618. }
  25619. }
  25620. if(strlen(params) > 90)
  25621. {
  25622. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25623. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] ... %s (( %s ))", params, ReturnPlayerMask(playerid));
  25624. }
  25625. else SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25626. return 1;
  25627. }
  25628. if(IsPlayerNearBusiness(playerid))
  25629. {
  25630. idx = IsPlayerNearBusiness(playerid);
  25631. foreach(new i : Player)
  25632. {
  25633. if(IsPlayerInBusiness(i) == idx)
  25634. {
  25635. if(strlen(params) > 90)
  25636. {
  25637. format(string, sizeof(string), "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25638. SendClientMessage(i, COLOR_EMOTE, string);
  25639. format(string, sizeof(string), "* [Door] ... %s (( %s ))", params[90], ReturnPlayerMask(playerid));
  25640. SendClientMessage(i, COLOR_EMOTE, string);
  25641. }
  25642. else
  25643. {
  25644. format(string, sizeof(string), "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25645. SendClientMessage(i, COLOR_EMOTE, string);
  25646. }
  25647. }
  25648. }
  25649. if(strlen(params) > 90)
  25650. {
  25651. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25652. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] ... %s (( %s ))", params, ReturnPlayerMask(playerid));
  25653. }
  25654. else SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25655. return 1;
  25656. }
  25657. if(IsPlayerInBusiness(playerid))
  25658. {
  25659. idx = IsPlayerInBusiness(playerid);
  25660. if(!IsPlayerInRangeOfPoint(playerid, 8.0, BusinessData[idx][businessInt][0], BusinessData[idx][businessInt][1], BusinessData[idx][businessInt][2]))
  25661. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near this business' door.");
  25662. foreach(new i : Player)
  25663. {
  25664. if(IsPlayerNearBusiness(i) == idx)
  25665. {
  25666. if(strlen(params) > 90)
  25667. {
  25668. format(string, sizeof(string), "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25669. SendClientMessage(i, COLOR_EMOTE, string);
  25670. format(string, sizeof(string), "* [Door] ... %s (( %s ))", params[90], ReturnPlayerMask(playerid));
  25671. SendClientMessage(i, COLOR_EMOTE, string);
  25672. }
  25673. else
  25674. {
  25675. format(string, sizeof(string), "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25676. SendClientMessage(i, COLOR_EMOTE, string);
  25677. }
  25678. }
  25679. }
  25680. if(strlen(params) > 90)
  25681. {
  25682. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %.90s ...", params, ReturnPlayerMask(playerid));
  25683. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] ... %s (( %s ))", params, ReturnPlayerMask(playerid));
  25684. }
  25685. else SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* [Door] %s (( %s ))", params, ReturnPlayerMask(playerid));
  25686. return 1;
  25687. }
  25688. SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a door.");
  25689. return true;
  25690. }
  25691. CMD:door(playerid, params[])
  25692. {
  25693. if (PlayerData[playerid][pBrutallyWounded])
  25694. return SendClientMessage(playerid, COLOR_ADM, "You're dead right now.");
  25695. if (IsPoliceFaction(playerid))
  25696. {
  25697. if (IsPlayerInRangeOfPoint(playerid, 2.0, 2577.50000, -1484.82642, -49.92000))
  25698. {
  25699. if (PDDoor[1] == 1)
  25700. {
  25701. SetDynamicObjectRot(PDDoor[0], 0.00000, 0.00000, -90.00000);
  25702. PDDoor[1] = 0;
  25703. }
  25704. else
  25705. {
  25706. SetDynamicObjectRot(PDDoor[0], 0.00000, 0.00000, -180.00000);
  25707. PDDoor[1] = 1;
  25708. }
  25709. return 1;
  25710. }
  25711. else if (IsPlayerInRangeOfPoint(playerid, 2.0, 2595.95532, -1487.13977, -49.92000))
  25712. {
  25713. if (PDDoor[3] == 1)
  25714. {
  25715. SetDynamicObjectRot(PDDoor[2], 0.00000, 0.00000, 180.00000);
  25716. PDDoor[3] = 0;
  25717. }
  25718. else
  25719. {
  25720. SetDynamicObjectRot(PDDoor[2], 0.00000, 0.00000, 90.00000);
  25721. PDDoor[3] = 1;
  25722. }
  25723. return 1;
  25724. }
  25725. else if (IsPlayerInRangeOfPoint(playerid, 2.5, 2571.82983, -1532.14771, -47.34000))
  25726. {
  25727. if (PDDoor[5] == 1)
  25728. {
  25729. PDDoor[4] = CreateDynamicObject(2930, 2571.82983, -1532.14771, -47.34000, 0.00000, 0.00000, 90.00000);
  25730. PDDoor[5] = 0;
  25731. }
  25732. else
  25733. {
  25734. DestroyDynamicObject(PDDoor[4]);
  25735. PDDoor[5] = 1;
  25736. }
  25737. return 1;
  25738. }
  25739. else if (IsPlayerInRangeOfPoint(playerid, 2.5, 2578.28296, -1496.61218, -47.34000))
  25740. {
  25741. if (PDDoor[7] == 1)
  25742. {
  25743. PDDoor[6] = CreateDynamicObject(2930, 2578.28296, -1496.61218, -47.34000, 0.00000, 0.00000, 90.00000);
  25744. PDDoor[7] = 0;
  25745. }
  25746. else
  25747. {
  25748. DestroyDynamicObject(PDDoor[6]);
  25749. PDDoor[7] = 1;
  25750. }
  25751. return 1;
  25752. }
  25753. else if (IsPlayerInRangeOfPoint(playerid, 2.5, 2587.85669, -1496.61206, -47.34000))
  25754. {
  25755. if (PDDoor[9] == 1)
  25756. {
  25757. PDDoor[8] = CreateDynamicObject(2930, 2587.85669, -1496.61206, -47.34000, 0.00000, 0.00000, 90.00000);
  25758. PDDoor[9] = 0;
  25759. }
  25760. else
  25761. {
  25762. DestroyDynamicObject(PDDoor[8]);
  25763. PDDoor[9] = 1;
  25764. }
  25765. return 1;
  25766. }
  25767. else if (IsPlayerInRangeOfPoint(playerid, 2.5, 2593.54297, -1497.40930, -47.34000))
  25768. {
  25769. if (PDDoor[11] == 1)
  25770. {
  25771. PDDoor[10] = CreateDynamicObject(2930, 2593.54297, -1497.40930, -47.34000, 0.00000, 0.00000, 0.00000);
  25772. PDDoor[11] = 0;
  25773. }
  25774. else
  25775. {
  25776. DestroyDynamicObject(PDDoor[10]);
  25777. PDDoor[11] = 1;
  25778. }
  25779. return 1;
  25780. }
  25781. else if (IsPlayerInRangeOfPoint(playerid, 2.5, 2580.86865, -1535.06982, -47.34000))
  25782. {
  25783. if (PDDoor[13] == 1)
  25784. {
  25785. PDDoor[12] = CreateDynamicObject(2930, 2580.86865, -1535.06982, -47.34000, 0.00000, 0.00000, 90.00000);
  25786. PDDoor[13] = 0;
  25787. }
  25788. else
  25789. {
  25790. DestroyDynamicObject(PDDoor[12]);
  25791. PDDoor[13] = 1;
  25792. }
  25793. return 1;
  25794. }
  25795. else if (IsPlayerInRangeOfPoint(playerid, 2.5, 2587.29785, -1535.08044, -47.34000))
  25796. {
  25797. if (PDDoor[15] == 1)
  25798. {
  25799. PDDoor[14] = CreateDynamicObject(2930, 2587.29785, -1535.08044, -47.34000, 0.00000, 0.00000, 90.00000);
  25800. PDDoor[15] = 0;
  25801. }
  25802. else
  25803. {
  25804. DestroyDynamicObject(PDDoor[14]);
  25805. PDDoor[15] = 1;
  25806. }
  25807. return 1;
  25808. }
  25809. }
  25810. new bool:nearbyDoor = false, bool:nearbyFurniture = false, nearbyFurnitureID;
  25811. for (new i = 0; i < MAX_FURNITURE; i++) {
  25812. if (FurnitureData[i][furnitureExists])
  25813. {
  25814. if(IsPlayerInRangeOfPoint(playerid, 3.0, FurnitureData[i][furniturePos][0], FurnitureData[i][furniturePos][1], FurnitureData[i][furniturePos][2]))
  25815. {
  25816. nearbyFurniture = true;
  25817. nearbyFurnitureID = i;
  25818. }
  25819. }
  25820. }
  25821. if (nearbyFurniture == false)
  25822. {
  25823. return SendClientMessage(playerid, COLOR_ADM, "You aren't near any furniture.");
  25824. }
  25825. else
  25826. {
  25827. for (new i = 0; i < sizeof(g_aFurnitureData); i++)
  25828. {
  25829. if (FurnitureData[nearbyFurnitureID][furnituresModel] == g_aFurnitureData[i][furnitureModel])
  25830. {
  25831. if (g_aFurnitureData[i][furnitureCategory] == FURNITURE_CATEGORY_DOORS)
  25832. {
  25833. nearbyDoor = true;
  25834. }
  25835. }
  25836. }
  25837. }
  25838. if (nearbyDoor == false)
  25839. {
  25840. return SendClientMessage(playerid, COLOR_ADM, "You aren't near a door.");
  25841. }
  25842. else
  25843. {
  25844. if (FurnitureData[nearbyFurnitureID][furnitureDoorLock])
  25845. return SendClientMessage(playerid, COLOR_YELLOW, "Door is locked.");
  25846. if (!FurnitureData[nearbyFurnitureID][furnitureDoorOpen])
  25847. {
  25848. FurnitureData[nearbyFurnitureID][furnitureDoorOpen] = true;
  25849. SetDynamicObjectRot(FurnitureData[nearbyFurnitureID][furnitureObject], FurnitureData[nearbyFurnitureID][furnitureRot][0], FurnitureData[nearbyFurnitureID][furnitureRot][1], 90.0);
  25850. }
  25851. else
  25852. {
  25853. FurnitureData[nearbyFurnitureID][furnitureDoorOpen] = false;
  25854. SetDynamicObjectRot(FurnitureData[nearbyFurnitureID][furnitureObject], FurnitureData[nearbyFurnitureID][furnitureRot][0], FurnitureData[nearbyFurnitureID][furnitureRot][1], FurnitureData[nearbyFurnitureID][furnitureRot][2]);
  25855. }
  25856. }
  25857. return true;
  25858. }
  25859. CMD:furniture(playerid, params[])
  25860. {
  25861. if (PlayerData[playerid][pEditingFurniture] && PlayerData[playerid][pEditingDuplicate])
  25862. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You can't do this while editing objects.");
  25863. new property_id = IsPlayerInProperty(playerid), owner_id, count;
  25864. foreach(new i : Player)
  25865. {
  25866. if(PlayerData[i][pSQLID] == PropertyData[property_id][propertyOwnerSQL])
  25867. {
  25868. owner_id = i;
  25869. }
  25870. }
  25871. if(PropertyData[property_id][propertyOwnerSQL] == PlayerData[playerid][pSQLID])
  25872. {
  25873. return ShowPlayerDialog(playerid, DIALOG_FURNITURE, DIALOG_STYLE_LIST, "Furniture Main Menu:", "Buy Furniture\nCurrent Furniture\nInformation", "Select", ">>");
  25874. }
  25875. else
  25876. {
  25877. for(new i = 0; i < MAX_GRANT_BUILD; i++)
  25878. {
  25879. if(BuildData[owner_id][i][GrantedSQLID] == PlayerData[playerid][pSQLID])
  25880. {
  25881. count++;
  25882. }
  25883. }
  25884. if (count){
  25885. return ShowPlayerDialog(playerid, DIALOG_FURNITURE, DIALOG_STYLE_LIST, "Furniture Main Menu:", "Buy Furniture\nCurrent Furniture\nInformation", "Select", ">>");
  25886. }
  25887. else SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You don't own this house OR have grantbuild permissions.");
  25888. }
  25889. return true;
  25890. }
  25891. CMD:heal(playerid, params[])
  25892. {
  25893. new string[128], id = IsPlayerInProperty(playerid), found, myfaction = PlayerData[playerid][pFaction];
  25894. if(IsPoliceFaction(playerid))
  25895. {
  25896. if (!IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawn][0], FactionData[myfaction][factionSpawn][1], FactionData[myfaction][factionSpawn][2]))
  25897. {
  25898. if(PlayerData[playerid][pSpawnPrecinct] != 0)
  25899. {
  25900. switch(PlayerData[playerid][pSpawnPrecinct])
  25901. {
  25902. case 1:
  25903. {
  25904. if(IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawnEx1][0], FactionData[myfaction][factionSpawnEx1][1], FactionData[myfaction][factionSpawnEx1][2]))
  25905. {
  25906. found++;
  25907. }
  25908. }
  25909. case 2:
  25910. {
  25911. if(IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawnEx2][0], FactionData[myfaction][factionSpawnEx2][1], FactionData[myfaction][factionSpawnEx2][2]))
  25912. {
  25913. found++;
  25914. }
  25915. }
  25916. case 3:
  25917. {
  25918. if(IsPlayerInRangeOfPoint(playerid, 5.0, FactionData[myfaction][factionSpawnEx3][0], FactionData[myfaction][factionSpawnEx3][1], FactionData[myfaction][factionSpawnEx3][2]))
  25919. {
  25920. found++;
  25921. }
  25922. }
  25923. }
  25924. }
  25925. }
  25926. else
  25927. {
  25928. found++;
  25929. }
  25930. }
  25931. if(found)
  25932. {
  25933. PauseAntiCheat(playerid);
  25934. SendClientMessage(playerid, COLOR_WHITE, "You have been healed to max health and supplied with body armor.");
  25935. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  25936. SetPlayerArmour(playerid, 100);
  25937. LogPlayerAction(playerid, "Healed and got 100 Armor");
  25938. return 1;
  25939. }
  25940. if(!id) return SendClientMessage(playerid, COLOR_ADM, "ERROR: You can't do this right now.");
  25941. if(PropertyData[id][propertyFaction] != 0)
  25942. {
  25943. if(PlayerData[playerid][pFaction] != PropertyData[id][propertyFaction])
  25944. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You can't heal in here.");
  25945. if(FactionData[PropertyData[id][propertyFaction]][factionCopPerms])
  25946. {
  25947. if(PlayerData[playerid][pLAWduty])
  25948. {
  25949. PauseAntiCheat(playerid);
  25950. ArmorGiven[playerid] = 1;
  25951. SendClientMessage(playerid, COLOR_WHITE, "You have been healed to max health and supplied with body armor.");
  25952. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  25953. SetPlayerArmour(playerid, 100);
  25954. LogPlayerAction(playerid, "Healed and got 100 Armor");
  25955. }
  25956. else
  25957. {
  25958. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  25959. SendClientMessage(playerid, COLOR_WHITE, "You have been healed to max health.");
  25960. LogPlayerAction(playerid, "Healed to max health");
  25961. }
  25962. }
  25963. else if(FactionData[PropertyData[id][propertyFaction]][factionMedPerms])
  25964. {
  25965. if(PlayerData[playerid][pMEDduty] && IsPlayerInDynamicArea(playerid, HospitalArea))
  25966. {
  25967. new
  25968. playerb;
  25969. if(sscanf(params, "u", playerb))
  25970. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /heal [playerid/PartofName]");
  25971. if(playerb == playerid)
  25972. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't heal yourself.");
  25973. if(!GetDistanceBetweenPlayers(playerid, playerb, 6.0) && !IsPlayerInDynamicArea(playerb, HospitalArea))
  25974. return SendClientMessage(playerid, COLOR_GREY, "SERVER: You aren't near that player.");
  25975. format(string, sizeof(string), "%s healed you to 100 percent health.", ReturnName(playerid));
  25976. SendClientMessage(playerb, COLOR_EMT, string);
  25977. SetPlayerHealth(playerb, 100);
  25978. SendClientMessage(playerid, COLOR_EMT, "The player was healed to 100 percent health.");
  25979. format(string, sizeof(string), "Healed to 100 health by %s", ReturnName(playerid));
  25980. LogPlayerAction(playerb, string);
  25981. format(string, sizeof(string), "Healed %s to 100 health", ReturnName(playerb));
  25982. LogPlayerAction(playerid, string);
  25983. format(string, sizeof(string), "%s healed (/heal) %s to 100 health.", ReturnName(playerid), ReturnName(playerb));
  25984. adminWarn(1, string);
  25985. }
  25986. else
  25987. {
  25988. SendClientMessage(playerid, COLOR_ADM, "You can't heal in here right now.");
  25989. }
  25990. }
  25991. else
  25992. {
  25993. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  25994. SendClientMessage(playerid, COLOR_WHITE, "You have been healed to max health.");
  25995. LogPlayerAction(playerid, "Healed to max health");
  25996. }
  25997. }
  25998. else
  25999. {
  26000. SetPlayerHealth(playerid, PlayerData[playerid][pMaxHealth]);
  26001. SendClientMessage(playerid, COLOR_WHITE, "You have healed to max health.");
  26002. format(string, sizeof(string), "(( * %s healed to their max health. ))", ReturnName(playerid, 1));
  26003. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 4000);
  26004. LogPlayerAction(playerid, "Healed to max health");
  26005. }
  26006. if (PlayerData[playerid][pLegShot]) PlayerData[playerid][pLegShot] = false;
  26007. return true;
  26008. }
  26009. CMD:grantbuild(playerid, params[])
  26010. {
  26011. if (CountPlayerHouses(playerid) == 0)
  26012. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any properties. ");
  26013. if (!IsPlayerInProperty(playerid))
  26014. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't inside your property.");
  26015. new property = IsPlayerInProperty(playerid), playerb, string[128], newid = GetFreeBuildSlot(playerid), count = 0;
  26016. if (PlayerData[playerid][pSQLID] != PropertyData[property][propertyOwnerSQL])
  26017. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this property.");
  26018. if (sscanf(params, "u", playerb))
  26019. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /grantbuild [playerid/PartofName]");
  26020. if (!IsPlayerConnected(playerb))
  26021. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26022. if (!pLoggedIn[playerb])
  26023. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  26024. if (playerb == playerid)
  26025. return SendClientMessage(playerid, COLOR_ADM, "?");
  26026. if (IsPlayerInProperty(playerb) != property)
  26027. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player needs to be inside your house.");
  26028. if(newid == -1)return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your properties at maximum capacity.");
  26029. for(new i = 0; i < MAX_GRANT_BUILD; i++)
  26030. {
  26031. if(BuildData[playerid][i][GrantedSQLID] != PlayerData[playerb][pSQLID])
  26032. {
  26033. BuildData[playerid][newid][GrantedSQLID] = PlayerData[playerb][pSQLID];
  26034. count++;
  26035. }
  26036. }
  26037. if(count) {
  26038. format(string, sizeof(string), "SERVER: You gave %s grantbuild permissions.", ReturnName(playerb, 1));
  26039. SendClientMessage(playerid, COLOR_YELLOW, string);
  26040. format(string, sizeof(string), "SERVER: %s granted you build permission.", ReturnName(playerid, 1));
  26041. SendClientMessage(playerb, COLOR_YELLOW, string);
  26042. format(string, sizeof(string), "(( * %s gave %s grant build. ))", ReturnName(playerid, 1), ReturnName(playerb, 1));
  26043. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26044. WriteLog("property_logs/grantbuild_log.txt", "[%s] %s granted %s permissions", ReturnDate(), ReturnName(playerid), ReturnName(playerb));
  26045. }
  26046. else SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player already has build permissions.");
  26047. return true;
  26048. }
  26049. CMD:removebuild(playerid, params[])
  26050. {
  26051. if (CountPlayerHouses(playerid) == 0)
  26052. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any properties. ");
  26053. if (!IsPlayerInProperty(playerid))
  26054. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't inside your property.");
  26055. new property = IsPlayerInProperty(playerid), playerb, count = 0;
  26056. if (PlayerData[playerid][pSQLID] != PropertyData[property][propertyOwnerSQL])
  26057. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this property.");
  26058. if (sscanf(params, "u", playerb))
  26059. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /removebuild [playerid/PartofName]");
  26060. if (!IsPlayerConnected(playerb))
  26061. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26062. if (!pLoggedIn[playerb])
  26063. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  26064. for(new i = 0; i < MAX_GRANT_BUILD; i++)
  26065. {
  26066. if(BuildData[playerid][i][GrantedSQLID] == PlayerData[playerb][pSQLID])
  26067. {
  26068. BuildData[playerid][i][GrantedSQLID] = 0;
  26069. count++;
  26070. }
  26071. }
  26072. if(count) {
  26073. return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: You removed that players build permission to your house.");
  26074. }
  26075. else SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That player doesn't have grant build permissions to your house.");
  26076. return true;
  26077. }
  26078. CMD:houseitems(playerid, params[])
  26079. {
  26080. if (CountPlayerHouses(playerid) == 0)
  26081. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any properties. ");
  26082. if (!IsPlayerInProperty(playerid))
  26083. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't inside your property.");
  26084. new property = IsPlayerInProperty(playerid), a_string[128], b_string[128];
  26085. if (PlayerData[playerid][pSQLID] != PropertyData[property][propertyOwnerSQL])
  26086. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this property.");
  26087. if (!PropertyData[property][propertyHasXMR])
  26088. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your property doesn't have XMR.");
  26089. if(sscanf(params, "s[128]S()[128]", a_string, b_string))
  26090. {
  26091. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /houseitems [item]");
  26092. SendClientMessage(playerid, COLOR_GREY, "|_________House Items_________|");
  26093. SendClientMessage(playerid, COLOR_GREY, "| 1. XMR <House /setstation>");
  26094. return true;
  26095. }
  26096. if(!strcmp(a_string, "xmr"))
  26097. {
  26098. new option[40];
  26099. if(sscanf(b_string, "s[128]", option))
  26100. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /houseitems xmr [adjust / remove]");
  26101. if(!strcmp(option, "adjust"))
  26102. {
  26103. EditDynamicObject(playerid, PropertyData[property][propertyXMRObject]);
  26104. PlayerData[playerid][pEditingXMR] = true;
  26105. PlayerData[playerid][pEditingDuplicate] = false;
  26106. DisplayFurnitureMessage(playerid);
  26107. }
  26108. else if(!strcmp(option, "remove"))
  26109. {
  26110. PropertyData[property][propertyHasXMR] = false;
  26111. DestroyDynamicObject(PropertyData[property][propertyXMRObject]);
  26112. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} You removed your properties XMR.");
  26113. }
  26114. }
  26115. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  26116. return true;
  26117. }
  26118. CMD:houseupgrade(playerid, params[])
  26119. {
  26120. if (CountPlayerHouses(playerid) == 0)
  26121. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own any properties. ");
  26122. if (!IsPlayerInProperty(playerid))
  26123. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't inside your property.");
  26124. new property = IsPlayerInProperty(playerid), a_string[128], b_string[128];
  26125. if (PlayerData[playerid][pSQLID] != PropertyData[property][propertyOwnerSQL])
  26126. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't own this property.");
  26127. if(sscanf(params, "s[128]S()[128]", a_string, b_string))
  26128. {
  26129. SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /houseupgrade [upgrade]");
  26130. SendClientMessage(playerid, COLOR_GREY, "|_________Available Upgrades_________|");
  26131. SendClientMessage(playerid, COLOR_GREY, "| 1. XMR <Ability to /setstation in property>");
  26132. return true;
  26133. }
  26134. if(!strcmp(a_string, "xmr"))
  26135. {
  26136. if (PlayerData[playerid][pMoney] < 5000)
  26137. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} This upgrade costs $5,000. You don't have enough money.");
  26138. if (PropertyData[property][propertyHasXMR])
  26139. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Your house already has an XMR.");
  26140. new Float:x, Float:y, Float:z;
  26141. GetPlayerPos(playerid, x, y, z);
  26142. PlayerData[playerid][pAddingXMR] = true;
  26143. PlayerData[playerid][pXMRObject] = CreateDynamicObject(2103, x, y, z, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  26144. EditDynamicObject(playerid, PlayerData[playerid][pXMRObject]);
  26145. DisplayFurnitureMessage(playerid);
  26146. }
  26147. else return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid Parameter.");
  26148. return true;
  26149. }
  26150. //Toll booth commands
  26151. CMD:toll(playerid, params[])
  26152. {
  26153. if (!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You're not authorized to use this.");
  26154. if (!PlayerData[playerid][pLAWduty])return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You're not authorized to use this.");
  26155. new string[1200];
  26156. format(string, sizeof(string), "Welcome to the toll booth management menu!\n\nFrom this menu you can toggle the locked status of tolls and\nview some information on a specific toll around San Andreas.\n\nThis front screen will also display financial and statistical data\nof all toll booth's including visits, taxations and payments made\nfor the past 60 minutes.\n\n{85A82B}Statistical Information:\n{FFFFFF}Booths Opened: %d Payments: %d Times Locked: %d",
  26157. ReturnTollsOpened(), totalTollPayment, tollTimesLocked);
  26158. ShowPlayerDialog(playerid, DIALOG_TOLLS, DIALOG_STYLE_MSGBOX, "Tollbooth Management", string, "Proceed", "Cancel");
  26159. return true;
  26160. }
  26161. CMD:opentoll(playerid, params[])
  26162. {
  26163. for (new i = 1; i < MAX_TOLLS ; i++)
  26164. {
  26165. if(!TollsData[i][tollID])
  26166. continue;
  26167. if(IsPlayerInRangeOfPoint(playerid, 5.0, TollsData[i][tollPointA][0], TollsData[i][tollPointA][1], TollsData[i][tollPointA][2]) || IsPlayerInRangeOfPoint(playerid, 5.0, TollsData[i][tollPointB][0], TollsData[i][tollPointB][1], TollsData[i][tollPointB][2]))
  26168. {
  26169. if(TollsData[i][tollStatus] == 1)
  26170. return SendClientMessage(playerid, COLOR_ADM, "TOLL BOOTH:{FFFFFF} These tolls are already open!");
  26171. if(TollsData[i][tollLocked] && !PlayerData[playerid][pLAWduty] && !PlayerData[playerid][pMEDduty])
  26172. return SendClientMessage(playerid, COLOR_ADM, "TOLL BOOTH:{FFFFFF} This toll booth is closed right now. Sorry.");
  26173. if(PlayerData[playerid][pMoney] < TollsData[i][tollPrice] && !PlayerData[playerid][pLAWduty])
  26174. return SendClientMessage(playerid, COLOR_ADM, "TOLL BOOTH:{FFFFFF} Sorry, you need to pay to open these tolls.");
  26175. SendClientMessage(playerid, COLOR_ADM, "TOLL BOOTH:{FFFFFF} The toll bars have been lifted for 6 seconds. Pass through before it closes!");
  26176. GiveMoney(playerid, -TollsData[i][tollPrice]);
  26177. TollsData[i][tollStatus] = 1;
  26178. totalTollPayment+= TollsData[i][tollPrice];
  26179. switch(i)
  26180. {
  26181. case TOLL_LSLV:
  26182. {
  26183. TollsData[i][tollTimer] = SetTimerEx("TIMER_LSLVTolls", 6000, false, "i", i);
  26184. SetDynamicObjectRot(tollObject1, 0.000000, 0.000000, 169.43664550781);
  26185. SetDynamicObjectRot(tollObject2, 0.000000, 0.000000, 348.10229492188);
  26186. }
  26187. case TOLL_RODEO:
  26188. {
  26189. TollsData[i][tollTimer] = SetTimerEx("TIMER_RodeoTolls", 6000, false, "i", i);
  26190. SetDynamicObjectRot(tollObject3, 0.000000, 0.000000, 23.81982421875);
  26191. SetDynamicObjectRot(tollObject4, 0.000000, 0.000000, 214.37744140625);
  26192. }
  26193. case TOLL_FLINT:
  26194. {
  26195. TollsData[i][tollTimer] = SetTimerEx("TIMER_FlintTolls", 6000, false, "i", i);
  26196. SetDynamicObjectRot(tollObject5, 0.000000, 0.000000, 270.67565917969); // Right side barrier.
  26197. SetDynamicObjectRot(tollObject6, 0.000000, 0.000000, 87.337799072266); // Left side barrier.
  26198. }
  26199. }
  26200. }
  26201. }
  26202. return 1;
  26203. }
  26204. /*CMD:barrier(playerid, params[])
  26205. {
  26206. if (!PlayerData[playerid][pFaction])return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any faction.");
  26207. if (IsPoliceFaction(playerid))
  26208. {
  26209. if (IsPlayerInRangeOfPoint(playerid, 6.0, 1544.692016, -1630.910156, 13.144363))
  26210. {
  26211. if (PDToll[1] == 1)
  26212. {
  26213. MoveDynamicObject(PDToll[0], 1544.692016, -1630.910156, 13.144363, 0.001, 0.0, 90.0, 90.0);
  26214. PDToll[1] = 0;
  26215. }
  26216. else
  26217. {
  26218. MoveDynamicObject(PDToll[0], 1544.692016, -1630.910156, 13.143363, 0.001, 0.0, 0.0, 90.0);
  26219. PDToll[1] = 1;
  26220. }
  26221. }
  26222. else SendClientMessage(playerid, COLOR_ADM, "You're not near a barrier.");
  26223. }
  26224. return 1;
  26225. }*/
  26226. //Job commands
  26227. CMD:jobhelp(playerid, params[])
  26228. {
  26229. if (!PlayerData[playerid][pJob])
  26230. return SendClientMessage(playerid, COLOR_ADM, "You're Unemployed.");
  26231. new string[128];
  26232. if (PlayerData[playerid][pJob]) {
  26233. format(string, sizeof(string), "%s Commands:", ReturnJobName(PlayerData[playerid][pJob]));
  26234. SendClientMessage(playerid, COLOR_ADM, string);
  26235. switch (PlayerData[playerid][pJob]){
  26236. case 1:{
  26237. SendClientMessage(playerid, COLOR_GREY, " /paintcar");
  26238. SendClientMessage(playerid, COLOR_GREY, " /tow");
  26239. SendClientMessage(playerid, COLOR_GREY, " /fix");
  26240. }
  26241. case 2:{
  26242. SendClientMessage(playerid, COLOR_GREY, " None.");
  26243. }
  26244. case 3:{
  26245. SendClientMessage(playerid, COLOR_GREY, " /taxi");
  26246. }
  26247. case 4:{
  26248. SendClientMessage(playerid, COLOR_GREY, " /renttruck");
  26249. SendClientMessage(playerid, COLOR_GREY, " /unrenttruck");
  26250. SendClientMessage(playerid, COLOR_GREY, " /truckermission");
  26251. SendClientMessage(playerid, COLOR_GREY, " /endmission");
  26252. }
  26253. }
  26254. }
  26255. if (PlayerData[playerid][pSidejob]) {
  26256. format(string, sizeof(string), "%s Commands:", ReturnJobName(PlayerData[playerid][pSidejob]));
  26257. SendClientMessage(playerid, COLOR_ADM, string);
  26258. switch (PlayerData[playerid][pSidejob]){
  26259. case 1:{
  26260. SendClientMessage(playerid, COLOR_GREY, " /paintcar");
  26261. SendClientMessage(playerid, COLOR_GREY, " /tow");
  26262. SendClientMessage(playerid, COLOR_GREY, " /fix");
  26263. }
  26264. case 2:{
  26265. SendClientMessage(playerid, COLOR_GREY, " None.");
  26266. }
  26267. case 3:{
  26268. SendClientMessage(playerid, COLOR_GREY, " /taxi");
  26269. }
  26270. case 4:{
  26271. SendClientMessage(playerid, COLOR_GREY, " /renttruck");
  26272. SendClientMessage(playerid, COLOR_GREY, " /unrenttruck");
  26273. SendClientMessage(playerid, COLOR_GREY, " /truckermission");
  26274. SendClientMessage(playerid, COLOR_GREY, " /endmission");
  26275. }
  26276. }
  26277. }
  26278. return true;
  26279. }
  26280. /*CMD:sidejob(playerid, params[])
  26281. {
  26282. if (!PlayerData[playerid][pJob])
  26283. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a job to switch.");
  26284. if (PlayerData[playerid][pSidejob])
  26285. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already have a side job. Use /quitsidejob");
  26286. PlayerData[playerid][pSidejob] = PlayerData[playerid][pJob];
  26287. PlayerData[playerid][pJob] = 0;
  26288. new string[128];
  26289. format(string, sizeof(string), "[ ! ]{FFFFFF} You're now a %s as a side job.", ReturnJobName(PlayerData[playerid][pSidejob]));
  26290. SendClientMessage(playerid, COLOR_ADM, string);
  26291. return true;
  26292. }*/
  26293. CMD:quitjob(playerid, params[])
  26294. {
  26295. if (!PlayerData[playerid][pJob])
  26296. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a job to quit.");
  26297. SendClientMessage(playerid, COLOR_ADM, sprintf("[ ! ]{FFFFFF} You left your job as a %s.", ReturnJobName(PlayerData[playerid][pJob])));
  26298. PlayerData[playerid][pJob] = 0;
  26299. PlayerData[playerid][pJobLevel] = 1;
  26300. return true;
  26301. }
  26302. CMD:quitsidejob(playerid, params[])
  26303. {
  26304. if (!PlayerData[playerid][pSidejob])
  26305. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have a job to quit.");
  26306. new string[128];
  26307. format(string, sizeof(string), "[ ! ]{FFFFFF} You left your job as a %s.", ReturnJobName(PlayerData[playerid][pSidejob]));
  26308. SendClientMessage(playerid, COLOR_ADM, string);
  26309. PlayerData[playerid][pSidejob] = 0;
  26310. PlayerData[playerid][pSidejobLevel] = 1;
  26311. return true;
  26312. }
  26313. CMD:switchjob(playerid, params[])
  26314. {
  26315. new type;
  26316. if (sscanf(params, "i", type))
  26317. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /switchjob [(1)job / (2)sidejob]");
  26318. switch (type)
  26319. {
  26320. case 1:
  26321. {
  26322. if (PlayerData[playerid][pSidejob])
  26323. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already have a Side job. ");
  26324. PlayerData[playerid][pSidejob] = PlayerData[playerid][pJob];
  26325. PlayerData[playerid][pSidejobLevel] = PlayerData[playerid][pJobLevel];
  26326. PlayerData[playerid][pJob] = 0;
  26327. PlayerData[playerid][pJobLevel] = 1;
  26328. SendClientMessage(playerid, COLOR_YELLOW, "You've switched sidejobs!");
  26329. return true;
  26330. }
  26331. case 2:
  26332. {
  26333. if (PlayerData[playerid][pJob])
  26334. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You already have a Job.");
  26335. PlayerData[playerid][pJob] = PlayerData[playerid][pSidejob];
  26336. PlayerData[playerid][pJobLevel] = PlayerData[playerid][pSidejobLevel];
  26337. PlayerData[playerid][pSidejob] = 0;
  26338. PlayerData[playerid][pSidejobLevel] = 1;
  26339. SendClientMessage(playerid, COLOR_YELLOW, "You've switched jobs!");
  26340. return true;
  26341. }
  26342. }
  26343. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid job title.");
  26344. return true;
  26345. }
  26346. /*CMD:weaponjob(playerid, params[])
  26347. {
  26348. if (PlayerData[playerid][pJob])
  26349. return SendClientMessage(playerid, COLOR_ADM, "You need to quit your job first.");
  26350. if (!IsPlayerInRangeOfPoint(playerid, 5.0, 2520.1699, -1485.2290, 23.9977))
  26351. return SendClientMessage(playerid, COLOR_ADM, "You aren't near the Weapons Job point.");
  26352. PlayerData[playerid][pJob] = WEAPON_DEALER_JOB;
  26353. JobGetMessage(playerid);
  26354. return true;
  26355. }*/
  26356. CMD:mechanicjob(playerid, params[])
  26357. {
  26358. if (PlayerData[playerid][pJob])
  26359. return SendClientMessage(playerid, COLOR_ADM, "You need to quit your job first.");
  26360. if (!IsPlayerInRangeOfPoint(playerid, 7.0, 83.5813, -149.3909, 2.5845))
  26361. return SendClientMessage(playerid, COLOR_ADM, "You aren't near the Mechanic Job point.");
  26362. PlayerData[playerid][pJob] = MECHANIC_JOB;
  26363. JobGetMessage(playerid);
  26364. return true;
  26365. }
  26366. //Mechanic Job Commands
  26367. CMD:paintcar(playerid, params[])
  26368. {
  26369. if (PlayerData[playerid][pSidejob] != MECHANIC_JOB && PlayerData[playerid][pJob] != MECHANIC_JOB)
  26370. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have the Mechanic job.");
  26371. new
  26372. string[128],
  26373. vehicleid = GetPlayerVehicleID(playerid),
  26374. playerb,
  26375. color1,
  26376. color2,
  26377. elsevehicle = GetPlayerVehicleID(playerb);
  26378. if(GetVehicleModel(vehicleid) != 525)
  26379. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a Towtruck.");
  26380. if (sscanf(params, "uii", playerb, color1, color2))
  26381. return SendClientMessage(playerid, COLOR_ADM, "USAGE: /paintcar [playerid/PartofName] [color1] [color2]");
  26382. if(color1 < 0 || color1 > 255)
  26383. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid color number.");
  26384. if(color2 < 0 || color2 > 255)
  26385. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Invalid color number.");
  26386. if (!IsPlayerConnected(playerb))
  26387. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26388. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  26389. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near that player.");
  26390. if(!IsPlayerInAnyVehicle(playerb))
  26391. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That player isn't in any vehicle.");
  26392. if(!IsValidPlayerCar(elsevehicle) && !IsValidFactionCar(elsevehicle))
  26393. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That players car colors can't be changed.");
  26394. format (string, sizeof(string), "SERVER: You offered to repaint %s's vehicles bodywork.", ReturnName(playerb, 0));
  26395. SendClientMessage(playerid, COLOR_YELLOW, string);
  26396. format (string, sizeof(string), "SERVER: %s offered to repaint your vehicle, press \"Y\" to accept and \"N\" to decline.", ReturnName(playerid, 1));
  26397. SendClientMessage(playerb, COLOR_YELLOW, string);
  26398. paintjobOffered[playerb][0] = true;
  26399. paintjobOffered[playerb][1] = playerid;
  26400. paintjobColors[playerid][0] = color1;
  26401. paintjobColors[playerid][1] = color2;
  26402. return true;
  26403. }
  26404. CMD:tow(playerid, params[])
  26405. {
  26406. if (PlayerData[playerid][pSidejob] != MECHANIC_JOB && PlayerData[playerid][pJob] != MECHANIC_JOB)
  26407. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have the Mechanic job.");
  26408. new
  26409. vehicleid = GetPlayerVehicleID(playerid),
  26410. elsevehicle = INVALID_VEHICLE_ID,
  26411. string[128]
  26412. ;
  26413. if(GetVehicleModel(vehicleid) != 525)
  26414. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a Towtruck.");
  26415. if(!IsTrailerAttachedToVehicle(vehicleid))
  26416. {
  26417. new
  26418. Float:x,
  26419. Float:y,
  26420. Float:z
  26421. ;
  26422. for(new i = 1; i <= GetVehiclePoolSize(); i++)
  26423. {
  26424. if(i == vehicleid)
  26425. continue;
  26426. GetVehiclePos(i, x, y, z);
  26427. if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z))
  26428. {
  26429. elsevehicle = i;
  26430. }
  26431. }
  26432. if(elsevehicle == INVALID_VEHICLE_ID)
  26433. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near a vehicle.");
  26434. if(IsTrailerAttachedToVehicle(elsevehicle))
  26435. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That vehicles already attached to another towtruck.");
  26436. if(IsHelicopter(elsevehicle) || NoEngineCar(elsevehicle))
  26437. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This isn't towable.");
  26438. AttachTrailerToVehicle(elsevehicle, vehicleid);
  26439. format(string, sizeof(string), "You attached a %s to your Towtruck.", ReturnVehicleName(elsevehicle));
  26440. SendClientMessage(playerid, COLOR_ACTION, string);
  26441. }
  26442. else
  26443. {
  26444. elsevehicle = DetachTrailerFromVehicle(vehicleid);
  26445. format(string, sizeof(string), "You deattached the %s from your Towtruck.", ReturnVehicleName(elsevehicle));
  26446. SendClientMessage(playerid, COLOR_ACTION, string);
  26447. }
  26448. return 1;
  26449. }
  26450. CMD:fix(playerid, params[])
  26451. {
  26452. if (PlayerData[playerid][pSidejob] != MECHANIC_JOB && PlayerData[playerid][pJob] != MECHANIC_JOB) return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have the Mechanic Job.");
  26453. new string[128], vehicleid = GetPlayerVehicleID(playerid), targetid, vehicleidtarget = GetPlayerVehicleID(targetid);
  26454. if(GetVehicleModel(vehicleid) != 525) {
  26455. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You must be in a tow truck to use this command.");
  26456. }
  26457. if(sscanf(params, "u", targetid)) {
  26458. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fix [playerid] ((This must be roleplayed and the player needs to use /pay to pay you for your services))");
  26459. }
  26460. if(!IsPlayerInAnyVehicle(targetid)) {
  26461. return SendClientMessage(playerid, COLOR_ADM, "The player isn't in a vehicle");
  26462. }
  26463. if(!GetDistanceBetweenPlayers(playerid, targetid, 4.5)) {
  26464. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near that player.");
  26465. }
  26466. if(!IsValidPlayerCar(targetid)) {
  26467. return SendClientMessage(playerid, COLOR_ADM, "SERVER: That players car can't be repaired changed.");
  26468. }
  26469. else {
  26470. RepairVehicle(vehicleidtarget);
  26471. SetVehicleHealth(vehicleidtarget, 1000);
  26472. format (string, sizeof(string), "* %s has repaired %s's vehicle.", ReturnName(playerid, 0), ReturnName(targetid, 0));
  26473. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26474. }
  26475. return 1;
  26476. }
  26477. CMD:mydrugs(playerid, params[])
  26478. {
  26479. new string[100];
  26480. format(string, sizeof(string), "%s's Drugs:", ReturnName(playerid, 0));
  26481. SendClientMessage(playerid, COLOR_ADM, string);
  26482. for (new i = 0; i < 10; i++) if (DrugData[playerid][i][drugQuantity] > 0)
  26483. {
  26484. format(string, sizeof(string), "[{FFFFFF} %d. %s (%s: %.1f%s/%.1f%s) (Strength: %d) {FF6347}]",
  26485. i, GetPackageType(DrugData[playerid][i][drugPackage]), ReturnDrugsName(DrugData[playerid][i][drugType]), DrugData[playerid][i][drugQuantity], (IsPill(DrugData[playerid][i][drugType]) == 1) ? (" Pills") : ("g"),
  26486. GetPackageCapacity(DrugData[playerid][i][drugPackage], DrugData[playerid][i][drugType]), (IsPill(DrugData[playerid][i][drugType]) == 1) ? (" Pills") : ("g"), DrugData[playerid][i][drugStrength]);
  26487. SendClientMessage(playerid, COLOR_ADM, string);
  26488. }
  26489. return 1;
  26490. }
  26491. /*
  26492. CMD:testdrug(playerid, params[])
  26493. {
  26494. DrugData[playerid][0][drugType] = DRUG_TYPE_COCAINE;
  26495. DrugData[playerid][0][drugPackage] = 0;
  26496. DrugData[playerid][0][drugQuantity] = 7.0;
  26497. DrugData[playerid][0][drugStrength] = 100;
  26498. return 1;
  26499. }
  26500. */
  26501. CMD:transferdrug(playerid, params[])
  26502. {
  26503. new id;
  26504. if (sscanf(params, "d", id))
  26505. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /transferdrug [package_id]");
  26506. if (id < 0 || id > 9 || DrugData[playerid][id][drugQuantity] == 0)
  26507. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid package ID specified.");
  26508. PlayerData[playerid][pTransferDrug] = id;
  26509. ShowPlayerDialog(playerid, DIALOG_TRANSFER_DRUG, DIALOG_STYLE_LIST, "Transfer Drug", "Transfer to a new package\nTransfer to an existing package", "Next", "Exit");
  26510. return 1;
  26511. }
  26512. CMD:givedrug(playerid, params[])
  26513. {
  26514. new playerb, package_id, string[100];
  26515. if (sscanf(params, "ud", playerb, package_id))
  26516. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /givedrug [playerid/PartofName] [package_id]");
  26517. if (!IsPlayerConnected(playerb))
  26518. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26519. if (!pLoggedIn[playerb])
  26520. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  26521. if(!GetDistanceBetweenPlayers(playerid, playerb, 5.0))
  26522. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't close enough to that player.");
  26523. if (package_id < 0 || package_id > 9 || DrugData[playerid][package_id][drugQuantity] == 0)
  26524. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid package ID specified.");
  26525. if (CountPackages(playerb) == 10){
  26526. format (string, sizeof(string), "%s can't hold anymore drug packages.", ReturnName(playerb, 0));
  26527. SendClientMessage(playerid, COLOR_ADM, string);
  26528. return true;
  26529. }
  26530. if(playerb == playerid)
  26531. return SendClientMessage(playerid, COLOR_ADM, "You can't give yourself drugs.");
  26532. WriteLog("drug_logs/givedrug.txt", "[%s] %s gave %s %.1f %s of %s in a %s.", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), DrugData[playerid][package_id][drugQuantity], (IsPill(DrugData[playerid][package_id][drugType]) == 1) ? ("Pills") : ("grams"), ReturnDrugsName(DrugData[playerid][package_id][drugType]), GetPackageType(DrugData[playerid][package_id][drugPackage]));
  26533. GiveDrugPackage(playerb, DrugData[playerid][package_id][drugPackage], DrugData[playerid][package_id][drugType], DrugData[playerid][package_id][drugQuantity], DrugData[playerid][package_id][drugStrength]);
  26534. RemoveDrugPackage(playerid, package_id);
  26535. format (string, sizeof(string), "* %s has given %s a drug package.", ReturnName(playerid, 0), ReturnName(playerb, 0));
  26536. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26537. SendClientMessage(playerid, COLOR_YELLOW, "You've given this person your drug package.");
  26538. SendClientMessage(playerb, COLOR_YELLOW, "You've been given a drug package.");
  26539. return true;
  26540. }
  26541. CMD:dropdrug(playerid, params[])
  26542. {
  26543. new package_id, string[64];
  26544. if (sscanf(params, "d", package_id))
  26545. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /dropdrug [package_id]");
  26546. if (package_id < 0 || package_id > 9 || DrugData[playerid][package_id][drugQuantity] == 0)
  26547. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid package ID specified.");
  26548. format (string, sizeof(string), "* %s throws their drug package away.", ReturnName(playerid, 0));
  26549. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26550. SendClientMessage(playerid, COLOR_YELLOW, "You've thrown your drug package away.");
  26551. RemoveDrugPackage(playerid, package_id);
  26552. return 1;
  26553. }
  26554. CMD:usedrug(playerid, params[])
  26555. {
  26556. new package_id, Float:amount, string[128], effect_time;
  26557. if(sscanf(params, "df", package_id, amount))
  26558. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /usedrug [package_id] [amount|");
  26559. if (package_id < 0 || package_id > 9 || DrugData[playerid][package_id][drugQuantity] == 0)
  26560. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid package ID specified.");
  26561. if (IsPill(DrugData[playerid][package_id][drugType]) && amount != 1.0)
  26562. {
  26563. format(string, sizeof(string), "ERROR:{FFFFFF} You can only take 1.0 of %s at one time.", ReturnDrugsName(DrugData[playerid][package_id][drugType]));
  26564. SendClientMessage(playerid, COLOR_ADM, string);
  26565. return 1;
  26566. }
  26567. if (!IsPill(DrugData[playerid][package_id][drugType]) && amount < 0.1)
  26568. {
  26569. format(string, sizeof(string), "ERROR:{FFFFFF} The minimum amount of %s you can take at one time is 0.1.", ReturnDrugsName(DrugData[playerid][package_id][drugType]));
  26570. SendClientMessage(playerid, COLOR_ADM, string);
  26571. return 1;
  26572. }
  26573. if (!IsPill(DrugData[playerid][package_id][drugType]) && amount > 0.3)
  26574. {
  26575. format(string, sizeof(string), "ERROR:{FFFFFF} The maximum amount of %s you can take at one time is 0.3.", ReturnDrugsName(DrugData[playerid][package_id][drugType]));
  26576. SendClientMessage(playerid, COLOR_ADM, string);
  26577. return 1;
  26578. }
  26579. if (amount > DrugData[playerid][package_id][drugQuantity])
  26580. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have that much in the package.");
  26581. if (PlayerData[playerid][pDrugEffect] != -1)
  26582. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You are already on drugs.");
  26583. format(string, sizeof(string), "Used drug %s", ReturnDrugsName(DrugData[playerid][package_id][drugType]));
  26584. LogPlayerAction(playerid, string);
  26585. format(string, sizeof(string), "You've taken %.1f%s of %s.", amount, (IsPill(DrugData[playerid][package_id][drugType]) == 1) ? (" pill") : ("g"), ReturnDrugsName(DrugData[playerid][package_id][drugType]));
  26586. SendClientMessage(playerid, COLOR_YELLOW, string);
  26587. if (DrugData[playerid][package_id][drugType] == DRUG_TYPE_MARIJUANA) {
  26588. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
  26589. }
  26590. switch (DrugData[playerid][package_id][drugType])
  26591. {
  26592. case DRUG_TYPE_MARIJUANA: effect_time = floatround(15.0 * amount);
  26593. case DRUG_TYPE_CRACK: effect_time = floatround(60.0 * amount);
  26594. case DRUG_TYPE_COCAINE: effect_time = floatround(50.0 * amount);
  26595. case DRUG_TYPE_ECSTASY: effect_time = floatround(70.0 * amount);
  26596. case DRUG_TYPE_LSD: effect_time = floatround(75.0 * amount);
  26597. case DRUG_TYPE_METH: effect_time = floatround(80.0 * amount);
  26598. case DRUG_TYPE_PCP: effect_time = floatround(75.0 * amount);
  26599. case DRUG_TYPE_HEROIN: effect_time = floatround(80.0 * amount);
  26600. case DRUG_TYPE_ASPIRIN: effect_time = floatround(50.0 * amount);
  26601. case DRUG_TYPE_HALOP: effect_time = floatround(50.0 * amount);
  26602. case DRUG_TYPE_MORPHINE: effect_time = floatround(45.0 * amount);
  26603. case DRUG_TYPE_XANAX: effect_time = floatround(40.0 * amount);
  26604. case DRUG_TYPE_MDMA: effect_time = floatround(70.0 * amount);
  26605. case DRUG_TYPE_PHENETOLE: effect_time = floatround(70.0 * amount);
  26606. case DRUG_TYPE_STEROIDS: effect_time = floatround(60.0 * amount);
  26607. }
  26608. PlayerData[playerid][pDrugEffect] = DrugData[playerid][package_id][drugType];
  26609. PlayerData[playerid][pDrugTime] = effect_time;
  26610. PlayerData[playerid][pDrugStrength] = DrugData[playerid][package_id][drugStrength];
  26611. DrugData[playerid][package_id][drugQuantity] -= amount;
  26612. if (DrugData[playerid][package_id][drugQuantity] == 0) {
  26613. RemoveDrugPackage(playerid, package_id);
  26614. }
  26615. else
  26616. {
  26617. mysql_format(m_Handle, string, sizeof(string), "UPDATE player_drugs SET quantity = %.1f WHERE playersqlid = %d AND slot = %d", DrugData[playerid][package_id][drugQuantity], PlayerData[playerid][pSQLID], package_id);
  26618. mysql_tquery(m_Handle, string);
  26619. }
  26620. return 1;
  26621. }
  26622. //Weapon packages commands
  26623. CMD:mypackages(playerid, params[])
  26624. {
  26625. new playerb, string[128];
  26626. if (sscanf(params, "U(-1)", playerb))
  26627. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /mypackages [playerid OR name to display]");
  26628. if (playerb == -1) { return DisplayWeaponPackages(playerid, playerid); }
  26629. if (!IsPlayerConnected(playerb) && playerb != -1)
  26630. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26631. if (!pLoggedIn[playerb] && playerb != -1)
  26632. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  26633. if (playerb != -1) {
  26634. if(!GetDistanceBetweenPlayers(playerid, playerb, 4.5)) return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be closer to that player.");
  26635. format(string, sizeof(string), "You're viewing %s's weapon packages.", ReturnName(playerid, 0));
  26636. SendClientMessage(playerb, COLOR_ADM, string);
  26637. DisplayWeaponPackages(playerid, playerb);
  26638. }
  26639. return true;
  26640. }
  26641. CMD:sw(playerid, params[])return cmd_sellweapon(playerid, params);
  26642. CMD:sellweapon(playerid, params[])
  26643. {
  26644. new string[128], playerb, packageid;
  26645. if (sscanf(params, "ud", playerb, packageid))
  26646. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sellweapon [playerid/PartofName] [package id]");
  26647. /*if (PlayerData[playerid][pJob] != WEAPON_DEALER_JOB && PlayerData[playerid][pSidejob] != WEAPON_DEALER_JOB)
  26648. return SendClientMessage(playerid, COLOR_ADM, "You aren't a Weapons Dealer.");*/
  26649. if (!PackageData[playerid][packageWeapon][packageid])
  26650. return SendClientMessage(playerid, COLOR_ADM, "You don't have a package in that slot.");
  26651. if (!IsPlayerConnected(playerb))
  26652. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26653. if (!pLoggedIn[playerb])
  26654. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  26655. if (!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  26656. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be closer to that player.");
  26657. if (packageid > MAX_WEAPON_PACKAGES || packageid < 1)
  26658. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid package slot.");
  26659. if(PlayerPlacingWeapon[playerb] || PlayerEditingWeapon[playerb])
  26660. return SendClientMessage(playerid, COLOR_ADM, "That player can't receive weapons right now.");
  26661. format(string, sizeof(string), "Unpackaged %s (%d Ammo) package to %s", ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], ReturnName(playerb, 1));
  26662. LogPlayerAction(playerid, string);
  26663. format (string, sizeof(string), "* %s gives %s to %s.", ReturnName(playerid, 0), ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), ReturnName(playerb, 0));
  26664. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26665. format (string, sizeof(string), "[Weapon] You've given %s and %d Ammo to %s.",
  26666. ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], ReturnName(playerb, 0));
  26667. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  26668. GivePlayerGun(playerb, PackageData[playerid][packageWeapon][packageid], PackageData[playerid][packageAmmo][packageid], PlayerData[playerid][pSQLID]);
  26669. WriteLog("weapon_logs/packages/sellweapon.txt", "[%s] %s gave %s : %s and %d Ammo",
  26670. ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]),
  26671. PackageData[playerid][packageAmmo][packageid]);
  26672. PackageData[playerid][packageWeapon][packageid] = 0;
  26673. PackageData[playerid][packageAmmo][packageid] = 0;
  26674. return true;
  26675. }
  26676. CMD:sp(playerid, params[])return cmd_sellpackage(playerid, params);
  26677. CMD:sellpackage(playerid, params[])
  26678. {
  26679. new string[128], playerb, packageid, free_id;
  26680. if (sscanf(params, "ud", playerb, packageid))
  26681. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /sellpackage [playerid/PartofName] [package id]");
  26682. /*if (PlayerData[playerid][pJob] != WEAPON_DEALER_JOB && PlayerData[playerid][pSidejob] != WEAPON_DEALER_JOB)
  26683. return SendClientMessage(playerid, COLOR_ADM, "You aren't a Weapons Dealer.");*/
  26684. if (!PackageData[playerid][packageWeapon][packageid])
  26685. return SendClientMessage(playerid, COLOR_ADM, "You don't have a package in that slot.");
  26686. if (!IsPlayerConnected(playerb))
  26687. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified an invalid player.");
  26688. if (!pLoggedIn[playerb])
  26689. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You specified a player that isn't logged in.");
  26690. if (!GetDistanceBetweenPlayers(playerid, playerb, 4.5))
  26691. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You need to be closer to that player.");
  26692. if (free_id == -1)
  26693. return SendClientMessage(playerid, COLOR_ADM, "That player can't carry any more packages.");
  26694. if (packageid > MAX_WEAPON_PACKAGES || packageid < 1)
  26695. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid package slot.");
  26696. free_id = ReturnFreePackage(playerb);
  26697. PackageData[playerb][packageWeapon][free_id] = PackageData[playerid][packageWeapon][packageid];
  26698. PackageData[playerb][packageAmmo][free_id] = PackageData[playerid][packageAmmo][packageid];
  26699. format(string, sizeof(string), "Gave package %s (%d Ammo) to %s", ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], ReturnName(playerb));
  26700. LogPlayerAction(playerid, string);
  26701. format (string, sizeof(string), "[Package] You've given %s and %d Ammo to %s.",
  26702. ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], ReturnName(playerb, 0));
  26703. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  26704. format (string, sizeof(string), "[Package] You've received %s and %d Ammo from %s.",
  26705. ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], ReturnName(playerid, 0));
  26706. SendClientMessage(playerb, COLOR_DARKGREEN, string);
  26707. format(string, sizeof(string), "* %s gave %s an unassembled %s.", ReturnName(playerid, 0), ReturnName(playerb, 0),
  26708. ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]));
  26709. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26710. WriteLog("weapon_logs/packages/sellpackage.txt", "[%s] %s gave %s : %s and %d Ammo", ReturnDate(),
  26711. ReturnName(playerid, 1), ReturnName(playerb, 1), ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]),
  26712. PackageData[playerid][packageAmmo][packageid]);
  26713. PackageData[playerid][packageWeapon][packageid] = 0;
  26714. PackageData[playerid][packageAmmo][packageid] = 0;
  26715. return true;
  26716. }
  26717. CMD:vehpackages(playerid, params[])
  26718. {
  26719. if (!IsPlayerInAnyVehicle(playerid))
  26720. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  26721. new
  26722. vehicleid = GetPlayerVehicleID(playerid)
  26723. ;
  26724. if (!IsValidPlayerCar(vehicleid))
  26725. return SendClientMessage(playerid, COLOR_ADM, "This vehicle can't hold any weapon packages.");
  26726. DisplayVehiclePackages(playerid, vehicleid);
  26727. return true;
  26728. }
  26729. CMD:pw(playerid, params[])return cmd_putweapon(playerid, params);
  26730. CMD:putweapon(playerid, params[])
  26731. {
  26732. new string[128], packageid, vehicleid = GetPlayerVehicleID(playerid), slotid = ReturnCarFreePackage(vehicleid);
  26733. if (!IsPlayerInAnyVehicle(playerid))
  26734. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  26735. if (!IsValidPlayerCar(vehicleid))
  26736. return SendClientMessage(playerid, COLOR_ADM, "You can't put weapon packages in this vehicle.");
  26737. if (sscanf(params, "d", packageid))
  26738. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /putweapon [Weapon Slot ID]");
  26739. if(!PackageData[playerid][packageWeapon][packageid])
  26740. return SendClientMessage(playerid, COLOR_ADM, "You don't have a package in that slot.");
  26741. if(packageid > 20 || packageid < 1)
  26742. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid package slot.");
  26743. if (slotid == -1)
  26744. return SendClientMessage(playerid, COLOR_ADM, "This vehicle is full and can't store anymore weapons.");
  26745. CarData[vehicleid][carPackagesAmmo][slotid] = PackageData[playerid][packageAmmo][packageid];
  26746. CarData[vehicleid][carPackages][slotid] = PackageData[playerid][packageWeapon][packageid];
  26747. format(string, sizeof(string), "Stored %s (%d) package in VehicleDB %i", ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], CarData[vehicleid][carID]);
  26748. LogPlayerAction(playerid, string);
  26749. format(string, sizeof(string), "[Package] You've put %s and %d ammo in the vehicle.",
  26750. ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid]);
  26751. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  26752. format(string, sizeof(string), "* %s puts something in the vehicle.", ReturnName(playerid, 0));
  26753. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  26754. format(string, sizeof(string), "%s put %s[%d] package (slot %i)", ReturnName(playerid), ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], slotid);
  26755. LogVehicleAction(vehicleid, string);
  26756. WriteLog("weapon_logs/packages/putweapon.txt", "[%s] %s put %s and %d Ammo in vehicle (SQL ID: %d)",
  26757. ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(PackageData[playerid][packageWeapon][packageid]), PackageData[playerid][packageAmmo][packageid], CarData[vehicleid][carID]);
  26758. PackageData[playerid][packageWeapon][packageid] = 0;
  26759. PackageData[playerid][packageAmmo][packageid] = 0;
  26760. return true;
  26761. }
  26762. CMD:paw(playerid, params[])return cmd_putallweapons(playerid, params);
  26763. CMD:putallweapons(playerid, params[])
  26764. {
  26765. new
  26766. string[128],
  26767. vehicleid = GetPlayerVehicleID(playerid)
  26768. ;
  26769. if (!IsPlayerInAnyVehicle(playerid))
  26770. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  26771. if (!IsValidPlayerCar(vehicleid))
  26772. return SendClientMessage(playerid, COLOR_ADM, "You can't put weapon packages in this vehicle.");
  26773. if (ReturnCarFreePackage(vehicleid) == -1)
  26774. return SendClientMessage(playerid, COLOR_ADM, "This vehicle is full and can't store anymore weapons.");
  26775. if(CountPlayerPackages(playerid) == 0)
  26776. return SendClientMessage(playerid, COLOR_ADM, "You don't have any packages to place.");
  26777. new totalCount, vehicleSpace = 0, playerSpace = 0;
  26778. for (new i = 1; i < MAX_WEAPON_PACKAGES; i ++)
  26779. {
  26780. if ( !CarData[vehicleid][carPackages][i] )
  26781. {
  26782. vehicleSpace++;
  26783. for ( new j = 1; j < MAX_WEAPON_PACKAGES; j ++ )
  26784. {
  26785. if ( PackageData[playerid][packageWeapon][j] )
  26786. {
  26787. playerSpace++;
  26788. totalCount++;
  26789. CarData[vehicleid][carPackages][i] = PackageData[playerid][packageWeapon][j];
  26790. CarData[vehicleid][carPackagesAmmo][i] = PackageData[playerid][packageAmmo][j];
  26791. WriteLog("weapon_logs/packages/putweapon.txt", "[%s] %s put %s and %d Ammo in vehicle (SQL ID: %d) [/paw]",
  26792. ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(PackageData[playerid][packageWeapon][j]), PackageData[playerid][packageAmmo][j], CarData[vehicleid][carID]);
  26793. PackageData[playerid][packageWeapon][j] = 0;
  26794. PackageData[playerid][packageAmmo][j] = 0;
  26795. if(playerSpace % vehicleSpace == 0)
  26796. break;
  26797. }
  26798. }
  26799. }
  26800. }
  26801. format(string, sizeof(string), "%s took %i weapon packages", ReturnName(playerid), totalCount);
  26802. LogVehicleAction(vehicleid, string);
  26803. format(string, sizeof(string), "Stored %i weapon packages in VehicleDB %i", totalCount, CarData[vehicleid][carID]);
  26804. LogPlayerAction(playerid, string);
  26805. format(string, sizeof(string), "[Weapons] You put %i weapon packages into the vehicle.", totalCount);
  26806. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  26807. return true;
  26808. }
  26809. CMD:vehdrugs(playerid, params[])
  26810. {
  26811. new vehicleid = GetPlayerVehicleID(playerid), string[128];
  26812. if(!IsPlayerInAnyVehicle(playerid))
  26813. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  26814. if(!IsValidPlayerCar(vehicleid))
  26815. return SendClientMessage(playerid, COLOR_ADM, "This vehicle can't store drug packages.");
  26816. format (string, sizeof(string), "%s's Drug Packages:", ReturnVehicleName(vehicleid));
  26817. SendClientMessage(playerid, COLOR_ADM, string);
  26818. for (new i = 0; i < 10; i++)
  26819. {
  26820. if (CarDrugData[vehicleid][i][drugQuantity] > 0)
  26821. {
  26822. format(string, sizeof(string), "[ {FFFFFF}%d. %s (%s: %.1f%s/%.1f%s) (Strength: %d) {FF6347}]",
  26823. i, GetPackageType(CarDrugData[vehicleid][i][drugPackage]), ReturnDrugsName(CarDrugData[vehicleid][i][drugType]), CarDrugData[vehicleid][i][drugQuantity], (IsPill(CarDrugData[vehicleid][i][drugType]) == 1) ? (" Pills") : ("g"),
  26824. GetPackageCapacity(CarDrugData[vehicleid][i][drugPackage], CarDrugData[vehicleid][i][drugType]), (IsPill(CarDrugData[vehicleid][i][drugType]) == 1) ? (" Pills") : ("g"), CarDrugData[vehicleid][i][drugStrength]);
  26825. SendClientMessage(playerid, COLOR_WHITE, string);
  26826. }
  26827. }
  26828. return true;
  26829. }
  26830. /*CMD:pad(playerid, params[])return cmd_placealldrugs(playerid, params);
  26831. CMD:placealldrugs(playerid, params[])
  26832. {
  26833. new string[128], vehicleid = GetPlayerVehicleID(playerid);
  26834. if (!IsPlayerInAnyVehicle(playerid))
  26835. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  26836. if (!IsValidPlayerCar(vehicleid))
  26837. return SendClientMessage(playerid, COLOR_ADM, "This vehicle can't hold drug packages.");
  26838. if(CountPackages(playerid) == 0)
  26839. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You don't have any drugs.");
  26840. if(VehicleHasDrugs(vehicleid) == 10)
  26841. return SendClientMessage(playerid, COLOR_ADM, "ERROR: This vehicle can't hold anymore drug packages.");
  26842. new success;
  26843. for (new i = 0; i < 10; i++) if (DrugData[playerid][i][drugQuantity] > 0)
  26844. {
  26845. success = AddVehicleDrug(vehicleid, DrugData[playerid][i][drugPackage], DrugData[playerid][i][drugType], DrugData[playerid][i][drugQuantity], DrugData[playerid][i][drugStrength]);
  26846. if (success == 1) {
  26847. RemoveDrugPackage(playerid, i);
  26848. }
  26849. }
  26850. WriteLog("drug_logs/putdrug.txt", "[%s] %s stored all of their drug packages into Vehicle DBID %i [/pad]", ReturnDate(), ReturnName(playerid), CarData[vehicleid][carID]);
  26851. format(string, sizeof(string), "%s stored all of their drug packages", ReturnName(playerid));
  26852. LogVehicleAction(vehicleid, string);
  26853. if (CountPackages(playerid) == 0)
  26854. SendClientMessage(playerid, COLOR_YELLOW, "You've stored all of your drug packages into the vehicle.");
  26855. else
  26856. SendClientMessage(playerid, COLOR_YELLOW, "You've stored all drug packages you could fit into the vehicle.");
  26857. format (string, sizeof(string), "* %s puts something in the vehicle.", ReturnName(playerid, 0));
  26858. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 10.0, 3000);
  26859. return 1;
  26860. }
  26861. CMD:tad(playerid, params[]) return cmd_takealldrugs(playerid, params);
  26862. CMD:takealldrugs(playerid, params[])
  26863. {
  26864. new
  26865. string[128],
  26866. vehicleid = GetPlayerVehicleID(playerid)
  26867. ;
  26868. if (!IsPlayerInAnyVehicle(playerid))
  26869. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  26870. if (!IsValidPlayerCar(vehicleid))
  26871. return SendClientMessage(playerid, COLOR_ADM, "This vehicle doesn't hold drug packages.");
  26872. if(CountPackages(playerid) == 10)
  26873. return SendClientMessage(playerid, COLOR_ADM, "You can't hold anymore drug packages.");
  26874. if(!VehicleHasDrugs(vehicleid))
  26875. return SendClientMessage(playerid, COLOR_ADM, "This vehicle doesn't have drug packages.");
  26876. new success;
  26877. for (new i = 0; i < 10; i++) if (CarDrugData[vehicleid][i][drugQuantity] > 0)
  26878. {
  26879. success = GiveDrugPackage(playerid, CarDrugData[vehicleid][i][drugPackage], CarDrugData[vehicleid][i][drugType], CarDrugData[vehicleid][i][drugQuantity], CarDrugData[vehicleid][i][drugStrength]);
  26880. if (success == 1) {
  26881. RemoveVehicleDrug(vehicleid, i);
  26882. }
  26883. }
  26884. WriteLog("drug_logs/putdrug.txt", "[%s] %s took all drug packages from Vehicle DBID %i [/tad]", ReturnDate(), ReturnName(playerid), CarData[vehicleid][carID]);
  26885. format(string, sizeof(string), "%s took all drug packages", ReturnName(playerid));
  26886. LogVehicleAction(vehicleid, string);
  26887. if (VehicleHasDrugs(vehicleid) == 0)
  26888. SendClientMessage(playerid, COLOR_YELLOW, "You've taken all drug packages from the vehicle.");
  26889. else
  26890. SendClientMessage(playerid, COLOR_YELLOW, "You've taken all drug packages from the vehicle you could carry.");
  26891. format (string, sizeof(string), "* %s takes something from the vehicle.", ReturnName(playerid, 0));
  26892. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 10.0, 3000);
  26893. return 1;
  26894. }*/
  26895. CMD:pd(playerid, params[])return cmd_placedrug(playerid, params);
  26896. CMD:placedrug(playerid, params[])
  26897. {
  26898. if (IsPlayerInAnyVehicle(playerid))
  26899. {
  26900. new string[128], vehicleid = GetPlayerVehicleID(playerid);
  26901. if (!IsValidPlayerCar(vehicleid))
  26902. return SendClientMessage(playerid, COLOR_ADM, "This vehicle can't hold drug packages.");
  26903. new package_id;
  26904. if (sscanf(params, "d", package_id))return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /putdrug [package_id]");
  26905. if (package_id < 0 || package_id > 9 || DrugData[playerid][package_id][drugQuantity] == 0)
  26906. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid package ID specified.");
  26907. /*if (PlayerData[playerid][pTransferList][0] != -1) {
  26908. adminWarn(1, sprintf("%s has attempted to duplicate drug package ID %d.", ReturnName(playerid, 1), package_id));
  26909. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Nice try sunshine, you've been reported to admins.");
  26910. }*/
  26911. if (VehicleHasDrugs(vehicleid) == 10)
  26912. return SendClientMessage(playerid, COLOR_ADM, "This car is full of drug packages.");
  26913. AddVehicleDrug(vehicleid, DrugData[playerid][package_id][drugPackage], DrugData[playerid][package_id][drugType], DrugData[playerid][package_id][drugQuantity], DrugData[playerid][package_id][drugStrength]);
  26914. format (string, sizeof(string), "* %s puts something in the vehicle.", ReturnName(playerid, 0));
  26915. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 10.0, 3000);
  26916. SendClientMessage(playerid, COLOR_YELLOW, "You've stored a drug package in the vehicle.");
  26917. format(string, sizeof(string), "%s stored %s (type: %s) (quantity: %.1f) (strength: %d)", ReturnName(playerid), GetPackageType(DrugData[playerid][package_id][drugPackage]), ReturnDrugsName(DrugData[playerid][package_id][drugType]), DrugData[playerid][package_id][drugQuantity], DrugData[playerid][package_id][drugStrength]);
  26918. LogVehicleAction(vehicleid, string);
  26919. WriteLog("drug_logs/putdrug.txt", "[%s] %s stored %s (type: %s) (quantity: %.1f) (strength: %d) (vehicledbid: %d)", ReturnDate(), ReturnName(playerid), GetPackageType(DrugData[playerid][package_id][drugPackage]), ReturnDrugsName(DrugData[playerid][package_id][drugType]), DrugData[playerid][package_id][drugQuantity], DrugData[playerid][package_id][drugStrength], CarData[vehicleid][carID]);
  26920. RemoveDrugPackage(playerid, package_id);
  26921. }
  26922. else
  26923. {
  26924. new id;
  26925. if( (id = IsPlayerInProperty(playerid)) != 0)
  26926. {
  26927. new nearest_id = -1, string[128];
  26928. for (new i = 0; i < 10; i++) if (HousePackages[id][i][packageType] != -1)
  26929. {
  26930. if (IsPlayerInRangeOfPoint(playerid, 2.5, HousePackages[id][i][packagePos][0], HousePackages[id][i][packagePos][1], HousePackages[id][i][packagePos][2])) {
  26931. nearest_id = i;
  26932. }
  26933. }
  26934. if (nearest_id == -1)
  26935. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You are not near a drug package.");
  26936. new package_id, Float:total, slots_used;
  26937. if (sscanf(params, "d", package_id))
  26938. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /putdrug [package_id]");
  26939. if (package_id < 0 || package_id > 9 || DrugData[playerid][package_id][drugQuantity] == 0)
  26940. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} Invalid package ID specified.");
  26941. for (new i = 0; i < 20; i++) if (PackageDrugs[id][nearest_id][i][drugQuantity] > 0)
  26942. {
  26943. total += PackageDrugs[id][nearest_id][i][drugQuantity];
  26944. slots_used++;
  26945. }
  26946. if (slots_used == 20)
  26947. {
  26948. format(string, sizeof(string), "This %s is full of drug packages.", GetPackageName(HousePackages[id][nearest_id][packageType]));
  26949. SendClientMessage(playerid, COLOR_ADM, string);
  26950. return 1;
  26951. }
  26952. if (total + DrugData[playerid][package_id][drugQuantity] > GetHousePackageCapacity(HousePackages[id][nearest_id][packageType]))
  26953. {
  26954. format(string, sizeof(string), "You can't fit this drug package in the %s.", GetPackageName(HousePackages[id][nearest_id][packageType]));
  26955. SendClientMessage(playerid, COLOR_ADM, string);
  26956. return 1;
  26957. }
  26958. for (new i = 0; i < 20; i++) if (PackageDrugs[id][nearest_id][i][drugQuantity] == 0)
  26959. {
  26960. PackageDrugs[id][nearest_id][i][drugPackage] = DrugData[playerid][package_id][drugPackage];
  26961. PackageDrugs[id][nearest_id][i][drugType] = DrugData[playerid][package_id][drugType];
  26962. PackageDrugs[id][nearest_id][i][drugQuantity] = DrugData[playerid][package_id][drugQuantity];
  26963. PackageDrugs[id][nearest_id][i][drugStrength] = DrugData[playerid][package_id][drugStrength];
  26964. mysql_format(m_Handle, string, sizeof(string), "INSERT INTO house_packages_drugs VALUES (%d, %d, %d, %d, %d, %.1f, %d)", PropertyData[id][propertyid], nearest_id, i,
  26965. DrugData[playerid][package_id][drugPackage], DrugData[playerid][package_id][drugType], DrugData[playerid][package_id][drugQuantity], DrugData[playerid][package_id][drugStrength]);
  26966. mysql_tquery(m_Handle, string);
  26967. format(string, sizeof(string), "You've stored a drug package in a %s.", GetPackageName(HousePackages[id][nearest_id][packageType]));
  26968. SendClientMessage(playerid, COLOR_YELLOW, string);
  26969. format (string, sizeof(string), "* %s stores a drug package in a %s.", ReturnName(playerid, 0), GetPackageName(HousePackages[id][nearest_id][packageType]));
  26970. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 10.0, 3000);
  26971. RemoveDrugPackage(playerid, package_id);
  26972. return 1;
  26973. }
  26974. }
  26975. else SendClientMessage(playerid, COLOR_ADM, "You must be in a house or a vehicle to use this command.");
  26976. }
  26977. return 1;
  26978. }
  26979. CMD:td(playerid, params[]) return cmd_takedrug(playerid, params);
  26980. CMD:takedrug(playerid, params[])
  26981. {
  26982. if (IsPlayerInAnyVehicle(playerid))
  26983. {
  26984. new string[128], index, vehicleid = GetPlayerVehicleID(playerid);
  26985. if (!IsValidPlayerCar(vehicleid))
  26986. return SendClientMessage(playerid, COLOR_ADM, "This vehicle doesn't hold drug packages.");
  26987. if(CountPackages(playerid) == 10)
  26988. return SendClientMessage(playerid, COLOR_ADM, "You can't hold anymore drug packages.");
  26989. if(!VehicleHasDrugs(vehicleid))
  26990. return SendClientMessage(playerid, COLOR_ADM, "This vehicle doesn't have drug packages.");
  26991. if(sscanf(params, "i", index))
  26992. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /takedrug [slot]");
  26993. if(index < 0 || index > 9)
  26994. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid slot.");
  26995. if(CarDrugData[vehicleid][index][drugQuantity] == 0)
  26996. return SendClientMessage(playerid, COLOR_ADM, "ERROR: There's no drug package in that slot.");
  26997. GiveDrugPackage(playerid, CarDrugData[vehicleid][index][drugPackage], CarDrugData[vehicleid][index][drugType], CarDrugData[vehicleid][index][drugQuantity], CarDrugData[vehicleid][index][drugStrength]);
  26998. format(string, sizeof(string), "%s took %s (type: %s) (quantity: %.1f) (strength: %d)", ReturnName(playerid), GetPackageType(CarDrugData[vehicleid][index][drugPackage]), ReturnDrugsName(CarDrugData[vehicleid][index][drugType]), CarDrugData[vehicleid][index][drugQuantity], CarDrugData[vehicleid][index][drugStrength]);
  26999. LogVehicleAction(vehicleid, string);
  27000. WriteLog("drug_logs/putdrug.txt", "[%s] %s took %s (type: %s) (quantity: %.1f) (strength: %d) (vehicledbid: %d)", ReturnDate(), ReturnName(playerid), GetPackageType(CarDrugData[vehicleid][index][drugPackage]), ReturnDrugsName(CarDrugData[vehicleid][index][drugType]), CarDrugData[vehicleid][index][drugQuantity], CarDrugData[vehicleid][index][drugStrength], CarData[vehicleid][carID]);
  27001. SendClientMessage(playerid, COLOR_YELLOW, "You've taken a drug package from the vehicle.");
  27002. format (string, sizeof(string), "* %s takes something from the vehicle.", ReturnName(playerid, 0));
  27003. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 10.0, 3000);
  27004. RemoveVehicleDrug(vehicleid, index);
  27005. }
  27006. else
  27007. {
  27008. new id;
  27009. if( (id = IsPlayerInProperty(playerid)) != 0)
  27010. {
  27011. new nearest_id = -1, index, string[128], not_empty;
  27012. for (new i = 0; i < 10; i++) if (HousePackages[id][i][packageType] != -1)
  27013. {
  27014. if (IsPlayerInRangeOfPoint(playerid, 2.5, HousePackages[id][i][packagePos][0], HousePackages[id][i][packagePos][1], HousePackages[id][i][packagePos][2])) {
  27015. nearest_id = i;
  27016. }
  27017. }
  27018. if (nearest_id == -1)
  27019. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You are not near a drug package.");
  27020. if(CountPackages(playerid) == 10)
  27021. return SendClientMessage(playerid, COLOR_ADM, "You can't hold anymore drug packages.");
  27022. if(sscanf(params, "i", index))
  27023. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /takedrug [slot]");
  27024. if(index < 0 || index > 20)
  27025. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You specified an invalid slot.");
  27026. if(PackageDrugs[id][nearest_id][index][drugQuantity] == 0)
  27027. return SendClientMessage(playerid, COLOR_ADM, "ERROR: There's no drug package in that slot.");
  27028. GiveDrugPackage(playerid, PackageDrugs[id][nearest_id][index][drugPackage], PackageDrugs[id][nearest_id][index][drugType], PackageDrugs[id][nearest_id][index][drugQuantity], PackageDrugs[id][nearest_id][index][drugStrength]);
  27029. format(string, sizeof(string), "You've taken a drug package from a %s.", GetPackageName(HousePackages[id][nearest_id][packageType]));
  27030. SendClientMessage(playerid, COLOR_YELLOW, string);
  27031. format (string, sizeof(string), "* %s takes a drug package from a %s.", ReturnName(playerid, 0), GetPackageName(HousePackages[id][nearest_id][packageType]));
  27032. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 10.0, 3000);
  27033. PackageDrugs[id][nearest_id][index][drugPackage] = 0;
  27034. PackageDrugs[id][nearest_id][index][drugType] = 0;
  27035. PackageDrugs[id][nearest_id][index][drugQuantity] = 0.0;
  27036. PackageDrugs[id][nearest_id][index][drugStrength] = 0;
  27037. mysql_format(m_Handle, string, sizeof(string), "DELETE FROM house_packages_drugs WHERE housesqlid = %d AND packageid = %d AND id = %d", PropertyData[id][propertyid], nearest_id, index);
  27038. mysql_tquery(m_Handle, string);
  27039. for (new i = 0; i < 20; i++) if (PackageDrugs[id][nearest_id][i][drugQuantity] > 0)
  27040. {
  27041. not_empty = 1;
  27042. break;
  27043. }
  27044. if (not_empty == 0)
  27045. {
  27046. HousePackages[id][nearest_id][packageType] = -1;
  27047. HousePackages[id][nearest_id][packagePos][0] = 0.0;
  27048. HousePackages[id][nearest_id][packagePos][1] = 0.0;
  27049. HousePackages[id][nearest_id][packagePos][2] = 0.0;
  27050. HousePackages[id][nearest_id][packagePos][3] = 0.0;
  27051. HousePackages[id][nearest_id][packagePos][4] = 0.0;
  27052. HousePackages[id][nearest_id][packagePos][5] = 0.0;
  27053. mysql_format(m_Handle, string, sizeof(string), "DELETE FROM house_packages WHERE housesqlid = %d AND id = %d", PropertyData[id][propertyid], nearest_id);
  27054. mysql_tquery(m_Handle, string);
  27055. DestroyDynamicObject(HousePackages[id][nearest_id][packageObject]);
  27056. }
  27057. }
  27058. else SendClientMessage(playerid, COLOR_ADM, "You must be in a house or a vehicle to use this command.");
  27059. }
  27060. return 1;
  27061. }
  27062. CMD:tw(playerid, params[])return cmd_takeweapon(playerid, params);
  27063. CMD:takeweapon(playerid, params[])
  27064. {
  27065. new string[128], slotid, vehicleid = GetPlayerVehicleID(playerid), yourslot = ReturnFreePackage(playerid);
  27066. if (!IsPlayerInAnyVehicle(playerid))
  27067. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  27068. if (!IsValidPlayerCar(vehicleid))
  27069. return SendClientMessage(playerid, COLOR_ADM, "You can't put weapon packages in this vehicle.");
  27070. if (sscanf(params, "d", slotid))
  27071. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /takeweapon [vehicle slot]");
  27072. if (slotid > 20 || slotid < 1)
  27073. return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid package slot.");
  27074. if (yourslot == -1)
  27075. return SendClientMessage(playerid, COLOR_ADM, "You can't carry anymore weapon packages.");
  27076. if (!CarData[vehicleid][carPackages][slotid])
  27077. return SendClientMessage(playerid, COLOR_ADM, "This vehicle slot doesn't have a package.");
  27078. WriteLog("weapon_logs/packages/takeweapon.txt", "[%s] %s took %s and %d Ammo from vehicle (SQLID: %d)",
  27079. ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(CarData[vehicleid][carPackages][slotid]),
  27080. CarData[vehicleid][carPackagesAmmo][slotid], CarData[vehicleid][carID]);
  27081. format (string, sizeof(string), "[Package] You've taken %s and %d ammo from the vehicle.", ReturnWeaponName(CarData[vehicleid][carPackages][slotid]), CarData[vehicleid][carPackagesAmmo][slotid]);
  27082. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  27083. format (string, sizeof(string), "* %s takes something from the vehicle.", ReturnName(playerid, 0));
  27084. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  27085. format(string, sizeof(string), "%s took %s[%d] package (slot %d)", ReturnName(playerid), ReturnWeaponName(CarData[vehicleid][carPackages][slotid]), CarData[vehicleid][carPackagesAmmo][slotid], slotid);
  27086. LogVehicleAction(vehicleid, string);
  27087. format(string, sizeof(string), "Took %s (%d) package from VehicleDB %i", ReturnWeaponName(CarData[vehicleid][carPackages][slotid]), CarData[vehicleid][carPackagesAmmo][slotid], CarData[vehicleid][carID]);
  27088. LogPlayerAction(playerid, string);
  27089. PackageData[playerid][packageWeapon][yourslot] = CarData[vehicleid][carPackages][slotid];
  27090. PackageData[playerid][packageAmmo][yourslot] = CarData[vehicleid][carPackagesAmmo][slotid];
  27091. CarData[vehicleid][carPackages][slotid] = 0;
  27092. CarData[vehicleid][carPackagesAmmo][slotid] = 0;
  27093. return true;
  27094. }
  27095. CMD:taw(playerid, params[])return cmd_takeallweapons(playerid, params);
  27096. CMD:takeallweapons(playerid, params[])
  27097. {
  27098. new
  27099. string[128],
  27100. vehicleid = GetPlayerVehicleID(playerid);
  27101. if (!IsPlayerInAnyVehicle(playerid))
  27102. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You aren't in any vehicle.");
  27103. if (!IsValidPlayerCar(vehicleid))
  27104. return SendClientMessage(playerid, COLOR_ADM, "You can't put weapon packages in this vehicle.");
  27105. if (ReturnFreePackage(playerid) == -1)
  27106. return SendClientMessage(playerid, COLOR_ADM, "You can't carry anymore weapon packages.");
  27107. if(!VehicleHasPackages(vehicleid))
  27108. return SendClientMessage(playerid, COLOR_ADM, "SERVER: This vehicle doesn't have packages.");
  27109. new takeCount, playerSpace = 0, vehicleSpace = 0;
  27110. for (new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  27111. {
  27112. if (!PackageData[playerid][packageWeapon][i])
  27113. {
  27114. playerSpace++;
  27115. for (new j = 1; j < MAX_WEAPON_PACKAGES; j ++)
  27116. {
  27117. if (CarData[vehicleid][carPackages][j])
  27118. {
  27119. vehicleSpace++;
  27120. takeCount++;
  27121. PackageData[playerid][packageWeapon][i] = CarData[vehicleid][carPackages][j];
  27122. PackageData[playerid][packageAmmo][i] = CarData[vehicleid][carPackagesAmmo][j];
  27123. WriteLog("weapon_logs/packages/takeweapon.txt", "[%s] %s took %s and %d Ammo from vehicle (SQLID: %d) [/taw]",
  27124. ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(CarData[vehicleid][carPackages][j]),
  27125. CarData[vehicleid][carPackagesAmmo][j], CarData[vehicleid][carID]);
  27126. CarData[vehicleid][carPackages][j] = 0;
  27127. CarData[vehicleid][carPackagesAmmo][j] = 0;
  27128. if(playerSpace % vehicleSpace == 0) break;
  27129. }
  27130. }
  27131. }
  27132. }
  27133. format(string, sizeof(string), "Took %i weapon packages from VehicleDB %i", takeCount, CarData[vehicleid][carID]);
  27134. LogPlayerAction(playerid, string);
  27135. format(string, sizeof(string), "%s took %i weapon packages", ReturnName(playerid), takeCount);
  27136. LogVehicleAction(vehicleid, string);
  27137. format(string, sizeof(string), "[Weapons] You took %i packages from the vehicle.", takeCount);
  27138. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  27139. return true;
  27140. }
  27141. //Animation commands
  27142. CMD:anims(playerid, params[])
  27143. {
  27144. GameTextForPlayer(playerid, "~p~ANIMATIONS AVAILABLE: ~n~~r~/STOPANIM TO STOP", 2500, 4);
  27145. SendClientMessage(playerid, COLOR_DARKGREEN, "|_______________Animations_______________|");
  27146. SendClientMessage(playerid, COLOR_GRAD1, "/stopanim, /dance, /dance2, /dance3, /dance4, /carry, /handsup, /fall, /frontfall, /flip");
  27147. SendClientMessage(playerid, COLOR_GRAD2, "/kickdoor, /injured, /cpr, /fastaim, /washhands, /shadowbox, /sit, /seat, /camera1-3, /tired ");
  27148. SendClientMessage(playerid, COLOR_GRAD1, "/gsign1-9, /salute, /no, /yes, /traffic1-4, /crouchshoot, /crouchreload, /reload");
  27149. SendClientMessage(playerid, COLOR_GRAD2, "/forwardlook, /forwardpanic, /forwardwave, /wave, /crossarms, /crossarms2, /caranim, /comecross ");
  27150. SendClientMessage(playerid, COLOR_GRAD1, "/point, /scratchballs, /cry, /mourn, /pray, /provoke, /riot, /fucku, /rap1-3, /lean1-2, /smoke");
  27151. SendClientMessage(playerid, COLOR_GRAD2, "/no2, /wave2, /stomp, /riflestance, /aimwalk, /sipdrink, /laugh");
  27152. SendClientMessage(playerid, COLOR_DARKGREEN, "|________________________________________|");
  27153. return true;
  27154. }
  27155. CMD:sa(playerid, params[])return cmd_stopanim(playerid, params);
  27156. CMD:stopanim(playerid, params[])
  27157. {
  27158. if(IsPlayerHoldingCrate(playerid) != -1)return SendClientMessage(playerid, COLOR_ADM, "You're holding a crate right now.");
  27159. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't do this right now.");
  27160. ApplyAnimation(playerid, "CARRY", "crry_prtial", 4, 0, 0, 0, 0, 0, 1);
  27161. if (!PlayerData[playerid][pHandcuff] && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DRINK_BEER && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DRINK_WINE && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DRINK_SPRUNK)
  27162. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  27163. PlayerData[playerid][pPlayingAnimation] = false;
  27164. return true;
  27165. }
  27166. CMD:dance(playerid, params[])
  27167. {
  27168. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27169. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE1);
  27170. return true;
  27171. }
  27172. CMD:dance2(playerid, params[])
  27173. {
  27174. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27175. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE2);
  27176. return true;
  27177. }
  27178. CMD:dance3(playerid, params[])
  27179. {
  27180. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27181. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE3);
  27182. return true;
  27183. }
  27184. CMD:dance4(playerid, params[])
  27185. {
  27186. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27187. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE4);
  27188. return true;
  27189. }
  27190. CMD:carry(playerid, params[])
  27191. {
  27192. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27193. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  27194. return true;
  27195. }
  27196. CMD:handsup(playerid, params[])
  27197. {
  27198. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27199. if (PlayerData[playerid][pHandcuff])return SendClientMessage(playerid, COLOR_ADM, "You can't do this right now.");
  27200. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_HANDSUP);
  27201. return true;
  27202. }
  27203. CMD:fall(playerid, params[])
  27204. {
  27205. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27206. PlayAnimation(playerid, "parachute", "FALL_skyDive_DIE", 4.1, 0, 0, 0, 1, 0, 1);
  27207. return true;
  27208. }
  27209. CMD:frontfall(playerid, params[])
  27210. {
  27211. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27212. PlayAnimation(playerid, "PED", "FLOOR_HIT_F", 4.1, 0, 0, 0, 1, 0, 1);
  27213. return true;
  27214. }
  27215. CMD:flip(playerid, params[])
  27216. {
  27217. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27218. PlayAnimation(playerid, "PED", "FLOOR_HIT", 4.1, 0, 0, 0, 1, 0, 1);
  27219. return true;
  27220. }
  27221. CMD:kickdoor(playerid, params[])
  27222. {
  27223. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27224. PlayAnimation(playerid, "POLICE", "DOOR_KICK", 4.1, 0, 0, 0, 1, 0, 1);
  27225. return true;
  27226. }
  27227. CMD:injured(playerid, params[])
  27228. {
  27229. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27230. PlayAnimation(playerid, "CRACK", "crckidle1", 4.1, 0, 0, 0, 1, 0, 1);
  27231. return true;
  27232. }
  27233. CMD:cpr(playerid, params[])
  27234. {
  27235. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27236. PlayAnimation(playerid, "MEDIC", "CPR", 4.1, 0, 0, 0, 1, 0, 1);
  27237. return true;
  27238. }
  27239. CMD:fastaim(playerid, params[])
  27240. {
  27241. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27242. PlayAnimation(playerid, "SNIPER", "WEAPON_SNIPER", 4.1, 0, 0, 0, 1, 0, 1);
  27243. return true;
  27244. }
  27245. CMD:copaim(playerid, params[])
  27246. {
  27247. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27248. PlayAnimation(playerid, "PED", "ARRESTGUN", 4.1, 0, 0, 0, 1, 0, 1);
  27249. return true;
  27250. }
  27251. CMD:washhands(playerid, params[])
  27252. {
  27253. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27254. PlayAnimation(playerid, "INT_HOUSE", "WASH_UP", 4.1, 1, 0, 0, 1, 0, 1);
  27255. return true;
  27256. }
  27257. CMD:shadowbox(playerid, params[])
  27258. {
  27259. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27260. PlayAnimation(playerid, "GYMNASIUM", "GYMSHADOWBOX", 4.1, 1, 0, 0, 1, 0, 1);
  27261. return true;
  27262. }
  27263. CMD:sit(playerid, params[])
  27264. {
  27265. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27266. PlayAnimation(playerid, "BEACH", "PARKSIT_M_LOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27267. return true;
  27268. }
  27269. CMD:seat(playerid, params[])
  27270. {
  27271. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27272. PlayAnimation(playerid, "PED", "SEAT_DOWN", 4.1, 0, 0, 0, 1, 0, 1);
  27273. return true;
  27274. }
  27275. CMD:forwardlook(playerid, params[])
  27276. {
  27277. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27278. PlayAnimation(playerid, "BD_FIRE", "BD_PANIC_02", 4.1, 0, 0, 0, 1, 0, 1);
  27279. return true;
  27280. }
  27281. CMD:forwardpanic(playerid, params[])
  27282. {
  27283. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27284. PlayAnimation(playerid, "BD_FIRE", "BD_PANIC_03", 4.1, 0, 0, 0, 1, 0, 1);
  27285. return true;
  27286. }
  27287. CMD:forwardwave(playerid, params[])
  27288. {
  27289. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27290. PlayAnimation(playerid, "BD_FIRE", "BD_PANIC_01", 4.1, 0, 0, 0, 1, 0, 1);
  27291. return true;
  27292. }
  27293. CMD:camera1(playerid, params[])
  27294. {
  27295. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27296. PlayAnimation(playerid, "CAMERA", "CAMCRCH_CMON", 4.1, 0, 0, 0, 1, 0, 1);
  27297. return true;
  27298. }
  27299. CMD:camera2(playerid, params[])
  27300. {
  27301. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27302. PlayAnimation(playerid, "CAMERA", "CAMCRCH_IDLELOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27303. return true;
  27304. }
  27305. CMD:camera3(playerid, params[])
  27306. {
  27307. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27308. PlayAnimation(playerid, "CAMERA", "CAMSTND_TO_CAMCRCH", 4.1, 0, 0, 0, 1, 0, 1);
  27309. return true;
  27310. }
  27311. CMD:tired(playerid, params[])
  27312. {
  27313. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27314. PlayAnimation(playerid, "FAT", "IDLE_TIRED", 4.1, 1, 0, 0, 1, 0, 1);
  27315. return true;
  27316. }
  27317. CMD:gsign1(playerid, params[])
  27318. {
  27319. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27320. PlayAnimation(playerid, "GHANDS", "GSIGN1", 4.1, 0, 0, 0, 0, 0, 1);
  27321. return true;
  27322. }
  27323. CMD:gsign2(playerid, params[])
  27324. {
  27325. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27326. PlayAnimation(playerid, "GHANDS", "GSIGN1LH", 4.1, 0, 0, 0, 0, 0, 1);
  27327. return true;
  27328. }
  27329. CMD:gsign3(playerid, params[])
  27330. {
  27331. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27332. PlayAnimation(playerid, "GHANDS", "GSIGN2", 4.1, 0, 0, 0, 0, 0, 1);
  27333. return true;
  27334. }
  27335. CMD:gsign4(playerid, params[])
  27336. {
  27337. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27338. PlayAnimation(playerid, "GHANDS", "GSIGN2LH", 4.1, 0, 0, 0, 0, 0, 1);
  27339. return true;
  27340. }
  27341. CMD:gsign5(playerid, params[])
  27342. {
  27343. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27344. PlayAnimation(playerid, "GHANDS", "GSIGN3", 4.1, 0, 0, 0, 0, 0, 1);
  27345. return true;
  27346. }
  27347. CMD:gsign6(playerid, params[])
  27348. {
  27349. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27350. PlayAnimation(playerid, "GHANDS", "GSIGN3LH", 4.1, 0, 0, 0, 0, 0, 1);
  27351. return true;
  27352. }
  27353. CMD:gsign7(playerid, params[])
  27354. {
  27355. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27356. PlayAnimation(playerid, "GHANDS", "GSIGN4", 4.1, 0, 0, 0, 0, 0, 1);
  27357. return true;
  27358. }
  27359. CMD:gsign8(playerid, params[])
  27360. {
  27361. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27362. PlayAnimation(playerid, "GHANDS", "GSIGN4LH", 4.1, 0, 0, 0, 1, 0, 1);
  27363. return true;
  27364. }
  27365. CMD:gsign9(playerid, params[])
  27366. {
  27367. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27368. PlayAnimation(playerid, "GHANDS", "GSIGN5", 4.1, 0, 0, 0, 0, 0, 1);
  27369. return true;
  27370. }
  27371. CMD:salute(playerid, params[])
  27372. {
  27373. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27374. PlayAnimation(playerid, "GHANDS", "GSIGN5LH", 4.1, 0, 0, 0, 0, 0, 1);
  27375. return true;
  27376. }
  27377. CMD:no(playerid, params[])
  27378. {
  27379. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27380. PlayAnimation(playerid, "GANGS", "INVITE_NO", 4.1, 0, 0, 0, 0, 0, 1);
  27381. return true;
  27382. }
  27383. CMD:yes(playerid, params[])
  27384. {
  27385. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27386. PlayAnimation(playerid, "GANGS", "INVITE_YES", 4.1, 0, 0, 0, 0, 0, 1);
  27387. return true;
  27388. }
  27389. CMD:traffic1(playerid, params[])
  27390. {
  27391. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27392. PlayAnimation(playerid, "POLICE", "COPTRAF_AWAY", 4.1, 1, 0, 0, 0, 0, 1);
  27393. return true;
  27394. }
  27395. CMD:traffic2(playerid, params[])
  27396. {
  27397. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27398. PlayAnimation(playerid, "POLICE", "COPTRAF_COME", 4.1, 1, 0, 0, 0, 0, 1);
  27399. return true;
  27400. }
  27401. CMD:traffic3(playerid, params[])
  27402. {
  27403. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27404. PlayAnimation(playerid, "POLICE", "COPTRAF_LEFT", 4.1, 1, 0, 0, 0, 0, 1);
  27405. return true;
  27406. }
  27407. CMD:traffic4(playerid, params[])
  27408. {
  27409. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27410. PlayAnimation(playerid, "POLICE", "COPTRAF_STOP", 4.1, 1, 0, 0, 0, 0, 1);
  27411. return true;
  27412. }
  27413. CMD:crouchshoot(playerid, params[])
  27414. {
  27415. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27416. PlayAnimation(playerid, "PYTHON", "PYTHON_CROUCHFIRE", 4.1, 1, 0, 0, 0, 0, 1);
  27417. return true;
  27418. }
  27419. CMD:crouchreload(playerid, params[])
  27420. {
  27421. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27422. PlayAnimation(playerid, "PYTHON", "PYTHON_CROUCHRELOAD", 4.1, 0, 0, 0, 1, 0, 1);
  27423. return true;
  27424. }
  27425. CMD:reload(playerid, params[])
  27426. {
  27427. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27428. PlayAnimation(playerid, "PYTHON", "PYTHON_RELOAD", 4.1, 0, 0, 0, 0, 0, 1);
  27429. return true;
  27430. }
  27431. CMD:wave(playerid, params[])
  27432. {
  27433. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27434. PlayAnimation(playerid, "PED", "ENDCHAT_03", 4.1, 0, 0, 0, 0, 0, 1);
  27435. return true;
  27436. }
  27437. CMD:crossarms(playerid, params[])
  27438. {
  27439. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27440. PlayAnimation(playerid, "OTB", "WTCHRACE_IN", 4.1, 0, 0, 0, 1, 0, 1);
  27441. return true;
  27442. }
  27443. CMD:crossarms2(playerid, params[])
  27444. {
  27445. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27446. PlayAnimation(playerid, "OTB", "WTCHRACE_LOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27447. return true;
  27448. }
  27449. CMD:point(playerid, params[])
  27450. {
  27451. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27452. PlayAnimation(playerid, "ON_LOOKERS", "POINT_LOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27453. return true;
  27454. }
  27455. CMD:scratchballs(playerid, params[])
  27456. {
  27457. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27458. PlayAnimation(playerid, "MISC", "SCRATCHBALLS_01", 4.1, 0, 0, 0, 0, 0, 1);
  27459. return true;
  27460. }
  27461. CMD:caranim(playerid, params[])
  27462. {
  27463. if (PlayerData[playerid][pBrutallyWounded])
  27464. return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27465. if (!IsPlayerInAnyVehicle(playerid))
  27466. return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27467. new anim[40];
  27468. if(sscanf(params, "s[40]", anim))
  27469. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /caranim [relax / tap]");
  27470. if(!strcmp(anim, "relax")) {
  27471. PlayAnimation(playerid, "LOWRIDER", "SIT_RELAXED", 4.1, 0, 0, 0, 1, 0, 1);
  27472. }
  27473. else if(!strcmp(anim, "tap")) {
  27474. PlayAnimation(playerid, "LOWRIDER", "TAP_HAND", 4.1, 1, 0, 0, 1, 0, 1);
  27475. }
  27476. else return SendClientMessage(playerid, COLOR_ADM, "You specified an invalid animation.");
  27477. return true;
  27478. }
  27479. CMD:cry(playerid, params[])
  27480. {
  27481. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27482. PlayAnimation(playerid, "GRAVEYARD", "MRNF_LOOP", 4.1, 1, 0, 0, 0, 0, 1);
  27483. return true;
  27484. }
  27485. CMD:mourn(playerid, params[])
  27486. {
  27487. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27488. PlayAnimation(playerid, "GRAVEYARD", "MRNM_LOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27489. return true;
  27490. }
  27491. CMD:pray(playerid, params[])
  27492. {
  27493. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27494. PlayAnimation(playerid, "GRAVEYARD", "PRST_LOOPA", 4.1, 1, 0, 0, 0, 0, 1);
  27495. return true;
  27496. }
  27497. CMD:provoke(playerid, params[])
  27498. {
  27499. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27500. PlayAnimation(playerid, "RIOT", "RIOT_CHALLENGE", 4.1, 0, 0, 0, 0, 0, 1);
  27501. return true;
  27502. }
  27503. CMD:riot(playerid, params[])
  27504. {
  27505. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27506. PlayAnimation(playerid, "RIOT", "RIOT_ANGRY_B", 4.1, 1, 0, 0, 0, 0, 1);
  27507. return true;
  27508. }
  27509. CMD:fucku(playerid, params[])
  27510. {
  27511. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27512. PlayAnimation(playerid, "RIOT", "RIOT_FUKU", 4.1, 0, 0, 0, 0, 0, 1);
  27513. return true;
  27514. }
  27515. CMD:rap1(playerid, params[])
  27516. {
  27517. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27518. PlayAnimation(playerid, "RAPPING", "RAP_A_LOOP", 4.1, 1, 0, 0, 1, 0, 1);
  27519. return true;
  27520. }
  27521. CMD:rap2(playerid, params[])
  27522. {
  27523. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27524. PlayAnimation(playerid, "RAPPING", "RAP_B_LOOP", 4.1, 1, 0, 0, 1, 0, 1);
  27525. return true;
  27526. }
  27527. CMD:rap3(playerid, params[])
  27528. {
  27529. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27530. PlayAnimation(playerid, "RAPPING", "RAP_C_LOOP", 4.1, 1, 0, 0, 1, 0, 1);
  27531. return true;
  27532. }
  27533. CMD:lean1(playerid, params[])
  27534. {
  27535. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27536. PlayAnimation(playerid, "SMOKING", "F_SMKLEAN_LOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27537. return true;
  27538. }
  27539. CMD:lean2(playerid, params[])
  27540. {
  27541. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27542. PlayAnimation(playerid, "SMOKING", "M_SMKLEAN_LOOP", 4.1, 0, 0, 0, 1, 0, 1);
  27543. return true;
  27544. }
  27545. CMD:smoke(playerid, params[])
  27546. {
  27547. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27548. PlayAnimation(playerid, "SMOKING", "M_SMK_DRAG", 4.1, 1, 0, 0, 0, 0, 1);
  27549. return true;
  27550. }
  27551. CMD:comecross(playerid, params[])
  27552. {
  27553. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27554. PlayAnimation(playerid, "OTB", "WTCHRACE_CMON", 4.1, 0, 0, 0, 1, 0, 1);
  27555. return true;
  27556. }
  27557. CMD:no2(playerid, params[])
  27558. {
  27559. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27560. PlayAnimation(playerid, "PED", "ENDCHAT_02", 4.1, 0, 0, 0, 0, 0, 1);
  27561. return true;
  27562. }
  27563. CMD:wave2(playerid, params[])
  27564. {
  27565. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27566. PlayAnimation(playerid, "PED", "ENDCHAT_01", 4.1, 0, 0, 0, 0, 0, 1);
  27567. return true;
  27568. }
  27569. CMD:stomp(playerid, params[])
  27570. {
  27571. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27572. PlayAnimation(playerid, "PED", "FIGHTA_G", 4.1, 0, 0, 0, 0, 0, 1);
  27573. return true;
  27574. }
  27575. CMD:riflestance(playerid, params[])
  27576. {
  27577. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27578. PlayAnimation(playerid, "PED", "IDLE_ARMED", 4.1, 1, 0, 0, 0, 0, 1);
  27579. return true;
  27580. }
  27581. CMD:aimwalk(playerid, params[])
  27582. {
  27583. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27584. PlayAnimation(playerid, "POLICE", "COP_MOVE_FWD", 4.1, 1, 1, 1, 0, 0, 1);
  27585. return true;
  27586. }
  27587. CMD:sipdrink(playerid, params[])
  27588. {
  27589. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27590. PlayAnimation(playerid, "BAR", "DNK_STNDM_LOOP", 4.1, 0, 0, 0, 0, 0, 1);
  27591. return true;
  27592. }
  27593. CMD:laugh(playerid, params[])
  27594. {
  27595. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27596. PlayAnimation(playerid, "RAPPING", "Laugh_01", 4.1, 0, 0, 0, 0, 0, 1);
  27597. return true;
  27598. }
  27599. CMD:servedrink(playerid, params[])
  27600. {
  27601. if (!AnimationCheck(playerid))return SendClientMessage(playerid, COLOR_ADM, "You can't use this animation right now.");
  27602. PlayAnimation(playerid, "RAPPING", "VEND_Drink2_P", 4.1, 0, 0, 0, 0, 0, 1);
  27603. return 1;
  27604. }
  27605. //Public functions
  27606. Server:SaveSQLInt(sqlid, table[], row[], value)
  27607. {
  27608. new query[128];
  27609. mysql_format(m_Handle, query, sizeof(query), "UPDATE %e SET %e = %i WHERE id = %i", table, row, value, sqlid);
  27610. mysql_pquery(m_Handle, query);
  27611. return true;
  27612. }
  27613. Server:SaveSQLFloat(sqlid, table[], row[], Float:value)
  27614. {
  27615. new query[128];
  27616. mysql_format(m_Handle, query, sizeof(query), "UPDATE %e SET %e = %f WHERE id = %i", table, row, value, sqlid);
  27617. mysql_pquery(m_Handle, query);
  27618. return true;
  27619. }
  27620. Server:FunctionPlayers()
  27621. {
  27622. foreach(new i : Player)
  27623. {
  27624. if(GetTickCount() > (PlayerData[i][pPauseCheck]+2000))
  27625. PlayerData[i][pPauseTime] ++;
  27626. else PlayerData[i][pPauseTime] = 0;
  27627. if(PlayerData[i][pLogintime] > 0){
  27628. PlayerData[i][pLogintime]++;
  27629. if(PlayerData[i][pLogintime] == 60){
  27630. SendClientMessage(i, COLOR_ADM, "-> You failed to login in 60 seconds and were kicked.");
  27631. KickEx(i);
  27632. }
  27633. }
  27634. /*if (IsPlayerAwaitingRegistration(playerid)) {
  27635. if (IsPlayerRegWait[playerid] > 0) {
  27636. PlayerRegWait[playerid] --;
  27637. } else {
  27638. adminWarn(1, sprintf("%s (id: %d) has submitted a registration quiz. /review %d to answer it.", ReturnName(playerid, 1), playerid, playerid));
  27639. PlayerRegWait[playerid] = 60;
  27640. }
  27641. } else {
  27642. if (PlayerRegWait[playerid] > 0) PlayerRegWait[playerid] = 0;
  27643. }*/
  27644. if(!PlayerIsTased[i])
  27645. {
  27646. SetPlayerDrunkLevel(i, 2000);
  27647. }
  27648. if(PlayerDesyncNotify[i] != 0)
  27649. {
  27650. PlayerDesyncNotify[i]--;
  27651. }
  27652. if(PlayerJustDied[i] != 0)
  27653. {
  27654. PlayerJustDied[i]--;
  27655. }
  27656. if(pLoggedIn[i])
  27657. {
  27658. if(PlayerData[i][pAjailed]){
  27659. PlayerData[i][pAjailTime]--;
  27660. if(PlayerData[i][pAjailTime] == 0){
  27661. PlayerData[i][pAjailed] = false;
  27662. SendPlayer(i, 1553.0421, -1675.4706, 16.1953, 0, 0);
  27663. SendClientMessage(i, COLOR_GREY, "You have paid your debt to society.");
  27664. new string[128];
  27665. format(string, sizeof(string), "%s was released from admin jail", ReturnName(i, 1), i);
  27666. adminWarn(1, string);
  27667. }
  27668. }
  27669. if(PlayerData[i][pExecuteTime]){
  27670. PlayerData[i][pExecuteTime]++;
  27671. if(PlayerData[i][pExecuteTime] == 5){
  27672. PlayerData[i][pExecuteTime] = 0;
  27673. }
  27674. }
  27675. PlayerData[i][pPlayTime]++;
  27676. if(PlayerData[i][pPlayTime] >= 3600) {
  27677. PlayerData[i][pPlayTime] = 0;
  27678. switch(PlayerData[i][pDonator])
  27679. {
  27680. case 4: {
  27681. if (DoubleEXP) PlayerData[i][pExp] += 8;
  27682. else PlayerData[i][pExp] += 4;
  27683. }
  27684. case 3: {
  27685. if (DoubleEXP) PlayerData[i][pExp] += 6;
  27686. else PlayerData[i][pExp] += 3;
  27687. }
  27688. case 1 .. 2: {
  27689. if (DoubleEXP) PlayerData[i][pExp] += 4;
  27690. else PlayerData[i][pExp] += 2;
  27691. }
  27692. default: {
  27693. if (DoubleEXP) PlayerData[i][pExp] += 2;
  27694. else PlayerData[i][pExp] += 1;
  27695. }
  27696. }
  27697. PlayerData[i][pHoursPlayed]++;
  27698. }
  27699. if(GetPlayerTeam(i) == STATE_WOUNDED)
  27700. {
  27701. if(GetPlayerAnimationIndex(i) != 1701 && !PlayerData[i][pInsideAmbulance])
  27702. ApplyAnimation(i, "WUZI", "CS_Dead_Guy", 4.0, 0, 0, 0, 1, 0, 1);
  27703. if(!PlayerData[i][pInsideAmbulance] && !IsPlayerInRangeOfPoint(i, 3.0, PlayerData[i][pPos][0], PlayerData[i][pPos][1], PlayerData[i][pPos][2]) || GetPlayerVirtualWorld(i) != PlayerData[i][pWorld])
  27704. {
  27705. SetPlayerPos(i, PlayerData[i][pPos][0], PlayerData[i][pPos][1], PlayerData[i][pPos][2]);
  27706. SetPlayerFacingAngle(i, PlayerData[i][pPos][3]);
  27707. SetPlayerInterior(i, PlayerData[i][pInterior]);
  27708. SetPlayerVirtualWorld(i, PlayerData[i][pWorld]);
  27709. }
  27710. }
  27711. if(GetPlayerTeam(i) == STATE_DEAD && gettime() - _respawn_timer[i] >= 60)
  27712. {
  27713. if(!DeathTimeNotice[i])
  27714. {
  27715. DeathTimeNotice[i] = 30;
  27716. SendClientMessage(i, COLOR_YELLOW, "[ ! ] Your respawn time is up. You can use /respawnme to respawn.");
  27717. }
  27718. }
  27719. if(PlayerPlacingWeapon[i])
  27720. {
  27721. if(!IsValidVehicle(PlayerPlacingInVehicle[i]) || !IsPlayerInAnyVehicle(i))
  27722. {
  27723. GivePlayerWeapon(i, PlayerPlacingWeaponID[i], PlayerPlacingWeaponAmmo[i]);
  27724. CancelEdit(i);
  27725. if(IsValidDynamicObject(CarData[ PlayerPlacingInVehicle[i] ][carWeaponObject][PlayerPlacingWeaponSlot[i]]))
  27726. DestroyDynamicObject(CarData[ PlayerPlacingInVehicle[i] ][carWeaponObject][PlayerPlacingWeaponSlot[i]]);
  27727. PlayerPlacingWeapon[i] = 0; PlayerPlacingWeaponID[i] = 0;
  27728. PlayerPlacingWeaponAmmo[i] = 0;
  27729. SlotBeingUsed[ PlayerPlacingInVehicle[i] ][ PlayerPlacingWeaponSlot[i] ] = 0;
  27730. PlayerPlacingWeaponSlot[i] = 0; PlayerPlacingInVehicle[i] = 0;
  27731. SendClientMessage(i, COLOR_ADM, "The vehicle you were placing your weapon in was despawned.");
  27732. }
  27733. }
  27734. if(PlayerEditingWeapon[i])
  27735. {
  27736. if(!IsValidVehicle(PlayerPlacingInVehicle[i]) || !IsPlayerInAnyVehicle(i))
  27737. {
  27738. CancelEdit(i);
  27739. SendClientMessage(i, COLOR_ADM, "The vehicles weapon you were editing was despawned.");
  27740. }
  27741. }
  27742. if(SpectatorWait[i] != 0)
  27743. {
  27744. SpectatorWait[i]--;
  27745. }
  27746. if(DeathTimeNotice[i] != 0)
  27747. {
  27748. DeathTimeNotice[i]--;
  27749. }
  27750. if( _taking_license_test[i] && _taking_license_time[i] <= 80 ) {
  27751. _taking_license_time[i]--;
  27752. new string[128];
  27753. format(string, sizeof(string), "~w~%d", _taking_license_time[i]);
  27754. GameTextForPlayer(i, string, 1000, 3);
  27755. if( _taking_license_test[i] && _taking_license_time[i] == 0 ) {
  27756. SetVehicleToRespawn(_taking_license_vehicle[i]);
  27757. SendClientMessage(i, COLOR_ADM, "You ran out of time and failed your driver license test.");
  27758. _taking_license_point[i] = 0;
  27759. _taking_license_test[i] = false;
  27760. _taking_license_vehicle[i] = 0;
  27761. _taking_license_time[i] = 0;
  27762. }
  27763. }
  27764. if( PlayerData[i][pHUDToggled] ) {
  27765. UpdatePlayerHud( i, GetPlayerVehicleID( i ) );
  27766. }
  27767. PlayerData[i][pEnterVehicle] = 0;
  27768. if(PlayerData[i][pICJailed])
  27769. {
  27770. PlayerData[i][pICJailTime]--;
  27771. if(PlayerData[i][pICJailTime] < 1)
  27772. {
  27773. if(!PlayerData[i][pICJailNotify])
  27774. {
  27775. SendClientMessage(i, COLOR_ADM, "[-] Your jail time is up. /releaseme");
  27776. PlayerData[i][pICJailNotify] = 1;
  27777. }
  27778. }
  27779. }
  27780. if(PlayerIsTased[i] > 0)
  27781. {
  27782. PlayerIsTased[i]--;
  27783. }
  27784. if(ACPausedForPlayer[i] != 0)
  27785. {
  27786. ACPausedForPlayer[i]--;
  27787. }
  27788. if(PauseMessage[i] != 0)
  27789. {
  27790. PauseMessage[i]--;
  27791. }
  27792. if (PlayerData[i][pDrugEffect] != -1)
  27793. {
  27794. new Float:health, Float:health_gain;
  27795. switch (PlayerData[i][pDrugEffect])
  27796. {
  27797. case DRUG_TYPE_MARIJUANA: health_gain = 0.01;
  27798. case DRUG_TYPE_CRACK: health_gain = 0.02;
  27799. case DRUG_TYPE_COCAINE: health_gain = 0.02;
  27800. case DRUG_TYPE_ECSTASY: health_gain = 0.03;
  27801. case DRUG_TYPE_LSD: health_gain = 0.04;
  27802. case DRUG_TYPE_METH: health_gain = 0.04;
  27803. case DRUG_TYPE_PCP: health_gain = 0.03;
  27804. case DRUG_TYPE_HEROIN: health_gain = 0.04;
  27805. case DRUG_TYPE_ASPIRIN: health_gain = 0.02;
  27806. case DRUG_TYPE_HALOP: health_gain = 0.01;
  27807. case DRUG_TYPE_MORPHINE : health_gain = 0.01;
  27808. case DRUG_TYPE_XANAX: health_gain = 0.01;
  27809. case DRUG_TYPE_MDMA: health_gain = 0.03;
  27810. case DRUG_TYPE_PHENETOLE: health_gain = 0.03;
  27811. case DRUG_TYPE_STEROIDS: health_gain = 0.03;
  27812. }
  27813. health_gain *= float(PlayerData[i][pDrugStrength]);
  27814. GetPlayerHealth(i, health);
  27815. health += health_gain;
  27816. if (health > 175.0) health = 175.0;
  27817. SetPlayerHealth(i, health);
  27818. PlayerData[i][pDrugTime]--;
  27819. if (PlayerData[i][pDrugTime] == 0)
  27820. {
  27821. PlayerData[i][pDrugEffect] = -1;
  27822. PlayerData[i][pDrugStrength] = 0;
  27823. }
  27824. }
  27825. new Float:Armor;
  27826. if(ACPausedForPlayer[i] == 0)
  27827. {
  27828. new cash = GetPlayerMoney(i);
  27829. new antistring[128];
  27830. if(cash > PlayerData[i][pMoney])
  27831. {
  27832. if(PauseMessage[i] == 0)
  27833. {
  27834. format(antistring, 128, "%s[ID: %i] could be spawning money. (Client: $%s Server: $%s)", ReturnName(i), i, MoneyFormat(cash), MoneyFormat(PlayerData[i][pMoney]));
  27835. adminWarn(1, antistring);
  27836. PauseMessage[i] = 5;
  27837. }
  27838. }
  27839. if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK && PlayerData[i][pJetpack] == 0)
  27840. {
  27841. if(PauseMessage[i] == 0)
  27842. {
  27843. format(antistring, 128, "%s[ID: %i] has a Jetpack spawned.", ReturnName(i), i);
  27844. adminWarn(1, antistring);
  27845. PauseMessage[i] = 5;
  27846. }
  27847. }
  27848. GetPlayerArmour(i, Armor);
  27849. if(Armor > 50 && !PlayerData[i][pLAWduty] && !ArmorGiven[i] && !PlayerData[i][pAdmin])
  27850. {
  27851. if(PauseMessage[i] == 0)
  27852. {
  27853. format(antistring, 128, "%s[ID: %i] may have spawned armor. ARMOR: %f", ReturnName(i), i, Armor);
  27854. adminWarn(1, antistring);
  27855. PauseMessage[i] = 5;
  27856. }
  27857. }
  27858. else if(PlayerData[i][pLAWduty] && PlayerData[i][pSWATduty] && !ArmorGiven[i] && Armor > 200 && !PlayerData[i][pAdmin])
  27859. {
  27860. if(PauseMessage[i] == 0)
  27861. {
  27862. format(antistring, 128, "%s[ID: %i] may have spawned armor. ARMOR: %f", ReturnName(i), i, Armor);
  27863. adminWarn(1, antistring);
  27864. PauseMessage[i] = 5;
  27865. }
  27866. }
  27867. }
  27868. }
  27869. }
  27870. return true;
  27871. }
  27872. Server:Fuel()
  27873. {
  27874. for(new i = 1, j = GetVehiclePoolSize(); i <= j; i++)
  27875. {
  27876. if(IsValidPlayerCar(i) && !AdminCar[i] && !IsValidFactionCar(i) && CarEngine[i] && GetVehicleSpeed(i) > 1)
  27877. {
  27878. static marker_time;
  27879. if(!marker_time)
  27880. marker_time = gettime();
  27881. if(gettime() - marker_time > 240)
  27882. {
  27883. DecreaseFuel(i);
  27884. marker_time = 0;
  27885. }
  27886. }
  27887. }
  27888. }
  27889. /*Server:DecreaseFuel(vehicleid)
  27890. {
  27891. new Float:g_fuel_deduction_rate_petrol = 0.004,
  27892. Float:g_fuel_deduction_rate_diesel = 0.002,
  27893. Float:g_vehicle_model_mass,
  27894. Float:g_total_loss;
  27895. GetVehicleMass(vehicleid, g_vehicle_model_mass);
  27896. if(GetVehicleModelInfoAsInt(GetVehicleModel(vehicleid), "TransMissionData_nEngineType") == 'P')
  27897. g_total_loss = (g_vehicle_model_mass/30.0) * g_fuel_deduction_rate_petrol;
  27898. else if(GetVehicleModelInfoAsInt(GetVehicleModel(vehicleid), "TransMissionData_nEngineType") == 'D')
  27899. g_total_loss = (g_vehicle_model_mass/30.0) * g_fuel_deduction_rate_diesel;
  27900. else g_total_loss = (g_vehicle_model_mass/30.0) * 0.009+0.002; // 0.004 -> 0.009, 10.0 -> 30.0
  27901. CarData[vehicleid][carFuel]-= g_total_loss;
  27902. if(CarData[vehicleid][carFuel] < 1)
  27903. {
  27904. ToggleVehicleEngine(vehicleid, false);
  27905. foreach(new i : Player) if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
  27906. SendClientMessage(i, COLOR_ADM, "Your car ran out of fuel!");
  27907. }
  27908. return 1;
  27909. }*/
  27910. Server:DecreaseFuel(vehicleid)
  27911. {
  27912. new
  27913. Float:g_fuel_deduction_rate_petrol = 0.074,
  27914. Float:g_fuel_deduction_rate_diesel = 0.072,
  27915. Float:g_vehicle_model_mass,
  27916. Float:g_total_loss;
  27917. GetVehicleMass(vehicleid, g_vehicle_model_mass);
  27918. if(GetVehicleModelInfoAsInt(GetVehicleModel(vehicleid), "TransMissionData_nEngineType") == 'P')
  27919. g_total_loss = (g_vehicle_model_mass/30.0) * g_fuel_deduction_rate_petrol;
  27920. else if(GetVehicleModelInfoAsInt(GetVehicleModel(vehicleid), "TransMissionData_nEngineType") == 'D')
  27921. g_total_loss = (g_vehicle_model_mass/30.0) * g_fuel_deduction_rate_diesel;
  27922. else g_total_loss = (g_vehicle_model_mass/30.0) * 0.079+0.052; // 0.004 -> 0.009, 10.0 -> 30.0
  27923. CarData[vehicleid][carFuel]-= g_total_loss;
  27924. if(CarData[vehicleid][carFuel] < 1)
  27925. {
  27926. ToggleVehicleEngine(vehicleid, false);
  27927. foreach(new i : Player) if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
  27928. SendClientMessage(i, COLOR_ADM, "Your car ran out of fuel!");
  27929. }
  27930. return 1;
  27931. }
  27932. new TriggeredWeapon[MAX_PLAYERS] = 0;
  27933. new TriggeredAmmo[MAX_PLAYERS] = 0;
  27934. Server:WeaponCheats()
  27935. {
  27936. if(WEAPON_ANTI_CHEAT)
  27937. {
  27938. foreach(new i : Player)
  27939. {
  27940. if(!pLoggedIn[i])
  27941. continue;
  27942. if(NetStats_GetConnectedTime(i) - PlayerConnectionTick[i] < 300)
  27943. continue;
  27944. if(gettime() - PlayerData[i][pPauseWepAC] < 4 && PlayerData[i][pPauseWepAC] != 0)
  27945. continue;
  27946. if(ACPausedForPlayer[i])
  27947. continue;
  27948. new string[128]; new weapon_id, ammo;
  27949. new LOCAL_CHEAT_DETECTED;
  27950. new WEAPON_FOUND;
  27951. new WEAPON_INDEX;
  27952. for(new w = 0; w < 13; w++)
  27953. {
  27954. GetPlayerWeaponData(i, w, weapon_id, ammo);
  27955. if(weapon_id > 0 && ammo > 0)
  27956. {
  27957. WEAPON_INDEX = GetWeaponIndex(weapon_id);
  27958. if(Weapon[i][WEAPON_INDEX][eWeaponID] != weapon_id)
  27959. {
  27960. LOCAL_CHEAT_DETECTED = 1;
  27961. WEAPON_FOUND = weapon_id;
  27962. if(!TriggeredWeapon[i])
  27963. TriggeredWeapon[i] = gettime();
  27964. break;
  27965. }
  27966. }
  27967. }
  27968. if(LOCAL_CHEAT_DETECTED)
  27969. {
  27970. if(gettime() - TriggeredWeapon[i] > 5)
  27971. {
  27972. format(string, sizeof(string), "%s(ID: %i) may be WEAPON HACKING. (Weapon: %s)", ReturnName(i), i, ReturnWeaponName(WEAPON_FOUND));
  27973. adminWarn(1, string);
  27974. TriggeredWeapon[i] = gettime();
  27975. }
  27976. }
  27977. }
  27978. }
  27979. }
  27980. static const s_TopSpeed[212] = {
  27981. 157, 147, 186, 110, 133, 164, 110, 148, 100, 158, 129, 221, 168, 110, 105, 192, 154, 270,
  27982. 115, 149, 145, 154, 140, 99, 135, 270, 173, 165, 157, 201, 190, 130, 94, 110, 167, 0, 149,
  27983. 158, 142, 168, 136, 145, 139, 126, 110, 164, 270, 270, 111, 0, 0, 193, 270, 60, 135, 157,
  27984. 106, 95, 157, 136, 270, 160, 111, 142, 145, 145, 147, 140, 144, 270, 157, 110, 190, 190,
  27985. 149, 173, 270, 186, 117, 140, 184, 73, 156, 122, 190, 99, 64, 270, 270, 139, 157, 149, 140,
  27986. 270, 214, 176, 162, 270, 108, 123, 140, 145, 216, 216, 173, 140, 179, 166, 108, 79, 101, 270,
  27987. 270, 270, 120, 142, 157, 157, 164, 270, 270, 160, 176, 151, 130, 160, 158, 149, 176, 149, 60,
  27988. 70, 110, 167, 168, 158, 173, 0, 0, 270, 149, 203, 164, 151, 150, 147, 149, 142, 270, 153, 145,
  27989. 157, 121, 270, 144, 158, 113, 113, 156, 178, 169, 154, 178, 270, 145, 165, 160, 173, 146, 0, 0,
  27990. 93, 60, 110, 60, 158, 158, 270, 130, 158, 153, 151, 136, 85, 0, 153, 142, 165, 108, 162, 0, 0,
  27991. 270, 270, 130, 190, 175, 175, 175, 158, 151, 110, 169, 171, 148, 152, 0, 0, 0, 108, 0, 0
  27992. }; //Credits to Emmet (Extended Vehicle function)
  27993. Server:Float:GetVehicleTopSpeed(vehicleid)
  27994. {
  27995. new model = GetVehicleModel(vehicleid);
  27996. if (model)
  27997. {
  27998. return float(s_TopSpeed[(model - 400)]);
  27999. }
  28000. return 0.0;
  28001. }
  28002. new SpeedCount [MAX_PLAYERS];
  28003. Server:SpeedCheats()
  28004. {
  28005. foreach (new i : Player)
  28006. {
  28007. if(!pLoggedIn[i])
  28008. continue;
  28009. if(GetPlayerState(i) != PLAYER_STATE_DRIVER)
  28010. continue;
  28011. if(GetVehicleSpeedMPH(GetPlayerVehicleID(i)) == 0)
  28012. continue;
  28013. new vehicleid = GetPlayerVehicleID(i);
  28014. new Float: topSpeed;
  28015. topSpeed = GetVehicleTopSpeed(vehicleid);
  28016. new playerSpeed;
  28017. playerSpeed = GetVehicleSpeedMPH(vehicleid);
  28018. if(playerSpeed > topSpeed)
  28019. {
  28020. SpeedCount [i] ++;
  28021. }
  28022. if(SpeedCount[i] == 3)
  28023. {
  28024. new string[200];
  28025. format(string, sizeof(string), "%s exceeded their vehicles top speed. Vehicle:%s Top: %.0f Their speed: %i", ReturnName(i), ReturnVehicleName(vehicleid), topSpeed, playerSpeed);
  28026. adminWarn(1, string);
  28027. SpeedCount[i] = 0;
  28028. }
  28029. }
  28030. return 1;
  28031. }
  28032. Server:AmmoCheats()
  28033. {
  28034. if(AMMO_ANTI_CHEAT)
  28035. {
  28036. foreach(new i : Player)
  28037. {
  28038. if(!pLoggedIn[i])
  28039. continue;
  28040. if(NetStats_GetConnectedTime(i) - PlayerConnectionTick[i] < 300)
  28041. continue;
  28042. if(gettime() - PlayerData[i][pPauseWepAC] < 4 && PlayerData[i][pPauseWepAC] != 0)
  28043. continue;
  28044. if(ACPausedForPlayer[i])
  28045. continue;
  28046. new string[128]; new weapon_id, ammo;
  28047. new LOCAL_CHEAT_DETECTED;
  28048. new WEAPON_FOUND;
  28049. new WEAPON_AMMO;
  28050. new WEAPON_INDEX;
  28051. for(new w = 0; w < 13; w++)
  28052. {
  28053. GetPlayerWeaponData(i, w, weapon_id, ammo);
  28054. if(weapon_id > 0 && ammo > 0)
  28055. {
  28056. if(weapon_id == 41)
  28057. continue;
  28058. WEAPON_INDEX = GetWeaponIndex(weapon_id);
  28059. if(Weapon[i][WEAPON_INDEX][eWeaponID] == weapon_id && ammo - 1 > Weapon[i][WEAPON_INDEX][eWeaponAmmo])
  28060. {
  28061. LOCAL_CHEAT_DETECTED = 1;
  28062. WEAPON_FOUND = weapon_id;
  28063. WEAPON_AMMO = ammo;
  28064. if(!TriggeredAmmo[i])
  28065. TriggeredAmmo[i] = gettime();
  28066. break;
  28067. }
  28068. }
  28069. }
  28070. if(LOCAL_CHEAT_DETECTED)
  28071. {
  28072. if(gettime() - TriggeredAmmo[i] > 5)
  28073. {
  28074. format(string, sizeof(string), "%s(ID: %i) may be AMMO HACKING. Weapon:%s, Ammo: %d, Real Ammo:%d", ReturnName(i), i, ReturnWeaponName(WEAPON_FOUND), WEAPON_AMMO, Weapon[i][WEAPON_INDEX][eWeaponAmmo]);
  28075. adminWarn(1, string);
  28076. TriggeredAmmo[i] = gettime();
  28077. }
  28078. }
  28079. }
  28080. }
  28081. }
  28082. /*public OnPlayerTeleport(playerid, Float:distance) {
  28083. if (ACPausedForPlayer[playerid] > 0) return 1;
  28084. if (PlayerData[playerid][pAdmin] == 0) {
  28085. adminWarn(1, sprintf("%s [ID: %d] is likely using TP hacks! (distance from last pos: %0.2f)", ReturnName(playerid, 1), playerid, distance));
  28086. } else if (PlayerData[playerid][pAdmin] < 4) {
  28087. adminWarn(4, sprintf("%s [ID: %d] is likely using TP hacks! (distance from last pos: %0.2f)", ReturnName(playerid, 1), playerid, distance));
  28088. }
  28089. return 1;
  28090. }*/
  28091. public OnPlayerFly(playerid) {
  28092. adminWarn(1, sprintf("%s [ID: %d] is likely using fly hacks!", ReturnName(playerid, 1), playerid));
  28093. return 1;
  28094. }
  28095. forward OnFakeKillDetected(playerid);
  28096. public OnFakeKillDetected(playerid) {
  28097. adminWarn(1, sprintf("%s [ID: %d] is likely using fake kill hacks!", ReturnName(playerid, 1), playerid));
  28098. return 1;
  28099. }
  28100. Server:OnPlayerNearBusiness()
  28101. {
  28102. new string[128];
  28103. foreach(new i : Player)
  28104. {
  28105. if(pLoggedIn[i])
  28106. {
  28107. for(new b = 0; b < MAX_BUSINESS; b++){
  28108. if(BusinessData[b][businessID] != 0){
  28109. if(IsPlayerInRangeOfPoint(i, 2.0, BusinessData[b][businessExt][0], BusinessData[b][businessExt][1], BusinessData[b][businessExt][2]) && TruckerMissionStep[i] != 2){
  28110. if (!BusinessData[b][businessOwnerSQL]){
  28111. if (BusinessData[b][businessType] == 8 || BusinessData[b][businessType] == 9)
  28112. format(string, sizeof(string), "%s~n~~w~Entrance Fee : ~g~$%d~n~~p~To use /enter", BusinessData[b][businessName], BusinessData[b][businessFee]);
  28113. else
  28114. format(string, sizeof(string), "%s~n~~w~This business is for sale~n~Price : ~g~$%d~w~ Level : %d~n~~p~To buy use /buybiz", BusinessData[b][businessName], BusinessData[b][businessMarketPrice], BusinessData[b][businessLevel]);
  28115. GameTextForPlayer(i, string, 5000, 3);
  28116. }
  28117. else{
  28118. format(string, sizeof(string), "%s~n~~w~Owned By : %s~n~Entrance Fee : ~g~$%d~n~~p~To use /enter", BusinessData[b][businessName], ReturnSQLName(BusinessData[b][businessOwnerSQL]), BusinessData[b][businessFee]);
  28119. GameTextForPlayer(i, string, 5000, 3);
  28120. }
  28121. }
  28122. }
  28123. }
  28124. }
  28125. }
  28126. return true;
  28127. }
  28128. Server:OnPlayerNearPNS()
  28129. {
  28130. new string[128];
  28131. foreach(new i : Player)
  28132. {
  28133. if(pLoggedIn[i])
  28134. {
  28135. for(new p = 0; p < MAX_PAYNSPRAY; p++){
  28136. if(PNSData[p][pnsID] != 0){
  28137. if(IsPlayerInRangeOfPoint(i, 2.0, PNSData[p][pnsEntrance][0], PNSData[p][pnsEntrance][1], PNSData[p][pnsEntrance][2])){
  28138. format(string, sizeof(string), "%s", PNSData[p][pnsName]);
  28139. GameTextForPlayer(i, string, 1500, 1);
  28140. }
  28141. }
  28142. }
  28143. }
  28144. }
  28145. return true;
  28146. }
  28147. Server:OnPlayerNearPickup()
  28148. {
  28149. new string[128];
  28150. foreach(new i : Player)
  28151. {
  28152. if(pLoggedIn[i])
  28153. {
  28154. for(new h = 0; h < MAX_PROPERTY; h++){
  28155. if(PropertyData[h][propertyid] != 0){
  28156. if(PropertyData[h][propertyType] == 2){
  28157. if(IsPlayerInRangeOfPoint(i, 1.5, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2])){
  28158. if(GetPlayerVirtualWorld(i) == PropertyData[h][propertyExteriorWorld]){
  28159. if (!PlayerData[i][pCheckpoint]){
  28160. if(PropertyData[h][propertyOwnerSQL] == PlayerData[i][pSQLID]){
  28161. SendClientMessage(i, COLOR_DARKGREEN, "Welcome to your apartment!");
  28162. SendClientMessage(i, COLOR_WHITE, "Available commands: /enter, /knock, /ds, /ddo");
  28163. PlayerData[i][pCheckpoint] = h;
  28164. }
  28165. else{
  28166. PlayerData[i][pCheckpoint] = h;
  28167. if(PropertyData[h][propertyRentable] && PlayerData[i][pRenting] != h){
  28168. SendClientMessage(i, COLOR_WHITE, "Want to rent here? Use /rentroom");
  28169. }
  28170. if(PropertyData[h][propertyOwnerSQL] == 0){
  28171. SendClientMessage(i, COLOR_DARKGREEN, "Would you like to buy this?");
  28172. format(string, sizeof(string), "Price: $%d", PropertyData[h][propertyMarketPrice]);
  28173. SendClientMessage(i, COLOR_DARKGREEN, string);
  28174. }
  28175. else{
  28176. format(string, sizeof(string), "You're standing on %s's porch.", ReturnSQLName(PropertyData[h][propertyOwnerSQL]));
  28177. SendClientMessage(i, COLOR_DARKGREEN, string);
  28178. }
  28179. SendClientMessage(i, COLOR_WHITE, "Available commands: /enter, /knock, /ds, /ddo");
  28180. if(PropertyData[h][propertyOwnerSQL] == 0){
  28181. SendClientMessage(i, COLOR_WHITE, "/buyhouse");
  28182. }
  28183. if(PlayerData[i][pAdminDuty])
  28184. {
  28185. Message(i, COLOR_YELLOW, "PROPERTY ID: [%i] DBID: [%i]", h, PropertyData[h][propertyid]);
  28186. Message(i, COLOR_YELLOW, "USER ID: [%i] ", PropertyData[h][propertyOwnerSQL]);
  28187. }
  28188. }
  28189. }
  28190. }
  28191. }
  28192. }
  28193. else if(PropertyData[h][propertyType] == 3){
  28194. if(IsPlayerInRangeOfPoint(i, 1.5, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2])){
  28195. if(GetPlayerVirtualWorld(i) == PropertyData[h][propertyExteriorWorld]){
  28196. if (!PlayerData[i][pCheckpoint]){
  28197. if(PropertyData[h][propertyOwnerSQL] == PlayerData[i][pSQLID]){
  28198. SendClientMessage(i, COLOR_DARKGREEN, "Welcome to your house's porch!");
  28199. SendClientMessage(i, COLOR_WHITE, "Available commands: /enter, /knock, /ds, /ddo");
  28200. PlayerData[i][pCheckpoint] = h;
  28201. }
  28202. else{
  28203. PlayerData[i][pCheckpoint] = h;
  28204. if(PropertyData[h][propertyRentable] && PlayerData[i][pRenting] != h){
  28205. SendClientMessage(i, COLOR_WHITE, "Want to rent here? Use /rentroom");
  28206. }
  28207. if(PropertyData[h][propertyOwnerSQL] == 0){
  28208. SendClientMessage(i, COLOR_DARKGREEN, "Would you like to buy this?");
  28209. format(string, sizeof(string), "Price: $%d", PropertyData[h][propertyMarketPrice]);
  28210. SendClientMessage(i, COLOR_DARKGREEN, string);
  28211. }
  28212. else{
  28213. format(string, sizeof(string), "You're standing on %s's porch.", ReturnSQLName(PropertyData[h][propertyOwnerSQL]));
  28214. SendClientMessage(i, COLOR_DARKGREEN, string);
  28215. }
  28216. SendClientMessage(i, COLOR_WHITE, "Available commands: /enter, /knock, /ds, /ddo");
  28217. if(PropertyData[h][propertyOwnerSQL] == 0){
  28218. SendClientMessage(i, COLOR_WHITE, "/buyhouse");
  28219. }
  28220. if(PlayerData[i][pAdminDuty])
  28221. {
  28222. Message(i, COLOR_YELLOW, "PROPERTY ID: [%i] DBID: [%i]", h, PropertyData[h][propertyid]);
  28223. Message(i, COLOR_YELLOW, "USER ID: [%i] ", PropertyData[h][propertyOwnerSQL]);
  28224. }
  28225. }
  28226. }
  28227. }
  28228. }
  28229. }
  28230. else if(PropertyData[h][propertyType] == 1){
  28231. if(IsPlayerInRangeOfPoint(i, 1.5, PropertyData[h][propertyExterior][0], PropertyData[h][propertyExterior][1], PropertyData[h][propertyExterior][2])){
  28232. if(GetPlayerVirtualWorld(i) == PropertyData[h][propertyExteriorWorld]){
  28233. if (!PlayerData[i][pCheckpoint]){
  28234. if(PropertyData[h][propertyOwnerSQL] == PlayerData[i][pSQLID]){
  28235. SendClientMessage(i, COLOR_DARKGREEN, "Welcome to your apartment complex!");
  28236. SendClientMessage(i, COLOR_WHITE, "Available commands: /enter, /knock, /ds, /ddo");
  28237. PlayerData[i][pCheckpoint] = h;
  28238. }
  28239. else{
  28240. PlayerData[i][pCheckpoint] = h;
  28241. if(PropertyData[h][propertyRentable] && PlayerData[i][pRenting] != h){
  28242. SendClientMessage(i, COLOR_WHITE, "Want to rent here? Use /rentroom");
  28243. }
  28244. if(PropertyData[h][propertyOwnerSQL] == 0){
  28245. SendClientMessage(i, COLOR_DARKGREEN, "Would you like to buy this?");
  28246. format(string, sizeof(string), "Price: $%d", PropertyData[h][propertyMarketPrice]);
  28247. SendClientMessage(i, COLOR_DARKGREEN, string);
  28248. }
  28249. else{
  28250. if(PropertyData[h][propertyFaction] != 0){
  28251. SendClientMessage(i, COLOR_DARKGREEN, "You're standing at Confidentials apartment complex.");
  28252. }
  28253. else {
  28254. if(PropertyData[h][propertyOwnerSQL] != 0)
  28255. {
  28256. format(string, sizeof(string), "You're standing at %s's apartment complex.", ReturnSQLName(PropertyData[h][propertyOwnerSQL]));
  28257. SendClientMessage(i, COLOR_DARKGREEN, string);
  28258. }
  28259. else SendClientMessage(i, COLOR_DARKGREEN, "Would you like to buy this?");
  28260. }
  28261. }
  28262. SendClientMessage(i, COLOR_WHITE, "Available commands: /enter, /knock, /ds, /ddo");
  28263. if(PropertyData[h][propertyOwnerSQL] == 0){
  28264. SendClientMessage(i, COLOR_WHITE, "/buyhouse");
  28265. }
  28266. if(PlayerData[i][pAdminDuty])
  28267. {
  28268. Message(i, COLOR_YELLOW, "PROPERTY ID: [%i] DBID: [%i]", h, PropertyData[h][propertyid]);
  28269. Message(i, COLOR_YELLOW, "USER ID: [%i] ", PropertyData[h][propertyOwnerSQL]);
  28270. }
  28271. }
  28272. }
  28273. }
  28274. }
  28275. }
  28276. }
  28277. }
  28278. }
  28279. }
  28280. return true;
  28281. }
  28282. Server:OnPlayerNearTolls()
  28283. {
  28284. new string[128];
  28285. foreach(new i : Player){
  28286. for(new t = 0; t < MAX_TOLLS; t++){
  28287. if(TollsData[t][tollID] != 0){
  28288. if(IsPlayerInRangeOfPoint(i, 3.0, TollsData[t][tollPointA][0], TollsData[t][tollPointA][1], TollsData[t][tollPointA][2]) || IsPlayerInRangeOfPoint(i, 3.0, TollsData[t][tollPointB][0], TollsData[t][tollPointB][1], TollsData[t][tollPointB][2])){
  28289. if (PlayerData[i][pLAWduty]){
  28290. if(GetPlayerState(i) == PLAYER_STATE_DRIVER){
  28291. SendClientMessage(i, COLOR_ADM, "TOLL BOOTH:{FFFFFF} This toll will be free for you, /opentoll if you want to pass.");
  28292. }
  28293. }
  28294. else{
  28295. if(GetPlayerState(i) == PLAYER_STATE_DRIVER){
  28296. format(string, sizeof(string), "TOLL BOOTH:{FFFFFF} This toll will cost $%d, /opentoll if you want to pass.", TollsData[t][tollPrice]);
  28297. SendClientMessage(i, COLOR_ADM, string);
  28298. }
  28299. }
  28300. }
  28301. }
  28302. }
  28303. }
  28304. return true;
  28305. }
  28306. Server:RefreshPlayer()
  28307. {
  28308. foreach(new i : Player){
  28309. if (PlayerData[i][pCheckpoint] && PlayerData[i][pCheckpoint] != WEAPON_ORDER_NUMBER){
  28310. new cp = PlayerData[i][pCheckpoint];
  28311. if(!IsPlayerInRangeOfPoint(i, 2.0, PropertyData[cp][propertyExterior][0], PropertyData[cp][propertyExterior][1], PropertyData[cp][propertyExterior][2])){
  28312. PlayerData[i][pCheckpoint] = false;
  28313. DisablePlayerCheckpoint(i);
  28314. }
  28315. }
  28316. }
  28317. return true;
  28318. }
  28319. Server:OnPlayerTasered(playerid)
  28320. {
  28321. SetPlayerDrunkLevel(playerid, 1000);
  28322. TogglePlayerControllable(playerid, 1);
  28323. ApplyAnimation(playerid, "PED", "KO_skid_front", 4.1, 0, 1, 1, 1, 0);
  28324. ApplyAnimation(playerid, "PED", "KO_skid_front", 4.1, 0, 1, 1, 1, 0);
  28325. return 1;
  28326. }
  28327. Server:OnPlayerRubberbulleted(playerid)
  28328. {
  28329. SetPlayerDrunkLevel(playerid, 1000);
  28330. TogglePlayerControllable(playerid, 1);
  28331. ApplyAnimation(playerid, "SWEET", "Sweet_injuredloop", 4.1, 0, 1, 1, 1, 0);
  28332. ApplyAnimation(playerid, "SWEET", "Sweet_injuredloop", 4.1, 0, 1, 1, 1, 0);
  28333. return 1;
  28334. }
  28335. forward OnPlayerTackled(playerid, tackler, bool:tackled);
  28336. public OnPlayerTackled(playerid, tackler, bool:tackled) {
  28337. if (tackled) {
  28338. SetPlayerDrunkLevel(playerid, 1000);
  28339. TogglePlayerControllable(playerid, 1);
  28340. ApplyAnimation(playerid, "PED", "KO_skid_front", 4.1, 0, 1, 1, 1, 0);
  28341. ApplyAnimation(playerid, "PED", "KO_skid_front", 4.1, 0, 1, 1, 1, 0);
  28342. } else {
  28343. TogglePlayerControllable(tackler, 1);
  28344. ApplyAnimation(tackler, "PED", "FLOOR_HIT", 4.1, 0, 1, 1, 1, 0);
  28345. ApplyAnimation(tackler, "PED", "FLOOR_HIT", 4.1, 0, 1, 1, 1, 0);
  28346. }
  28347. return 1;
  28348. }
  28349. Server:FunctionPaychecks()
  28350. {
  28351. new hour, minute, second;
  28352. gettime(hour, minute, second);
  28353. if(minute == 00 && second == 59){
  28354. CallPaycheck();
  28355. SetWorldTime(hour+1);
  28356. }
  28357. return true;
  28358. }
  28359. Server:OnVehicleUpdate()
  28360. {
  28361. foreach(new i : Player){
  28362. if(pLoggedIn[i]){
  28363. if(GetPlayerState(i) == PLAYER_STATE_DRIVER){
  28364. new string[128], tmpcar = GetPlayerVehicleID(i), Float:vehicleHealth;
  28365. GetVehicleHealth(tmpcar, vehicleHealth);
  28366. if(vehicleHealth <= 248){
  28367. if(CarData[tmpcar][carID] != 0){
  28368. new Float:life_deplete;
  28369. life_deplete = CarData[tmpcar][carEngine] / 1.30;
  28370. if(life_deplete < 1.00)
  28371. CarData[tmpcar][carEngine] = 0.0;
  28372. else CarData[tmpcar][carEngine] = life_deplete;
  28373. CarData[tmpcar][carBattery]-= 10.00;
  28374. CarData[tmpcar][carTimeDestroyed]++;
  28375. CarData[tmpcar][carLastHealth] = 1000;
  28376. SaveCar(tmpcar);
  28377. if(DoesVehicleHaveCrate(tmpcar))
  28378. {
  28379. ClearActiveCrate(tmpcar);
  28380. }
  28381. format(string, sizeof(string), "%s (ID %d) was destroyed with %s as the driver", ReturnVehicleName(tmpcar), tmpcar, ReturnName(i, 1));
  28382. adminWarn(1, string);
  28383. format(string, sizeof(string), "Destroyed. %s was driver", ReturnName(i, 1));
  28384. LogVehicleAction(tmpcar, string);
  28385. for(new b = 1; b < 5; b++)
  28386. {
  28387. if(IsValidDynamicObject(CarData[tmpcar][carWeaponObject][b]))
  28388. DestroyDynamicObject(CarData[tmpcar][carWeaponObject][b]);
  28389. }
  28390. foreach(new n : Player){
  28391. if(strfind(ReturnName(n, 1), ReturnSQLName(CarData[tmpcar][carOwnerID]), true) != -1) {
  28392. format(string, sizeof(string), "Your %s has been destroyed.", ReturnVehicleName(tmpcar));
  28393. SendClientMessage(n, COLOR_ADM, string);
  28394. format(string, sizeof(string), "LIFESPAN: Engine Health reduced to {FFFFFF}%.2f. {FF6346}Battery Health reduced to {FFFFFF}%.2f{FF6346}.", CarData[tmpcar][carEngine], CarData[tmpcar][carBattery]);
  28395. SendClientMessage(n, COLOR_ADM, string);
  28396. _has_vehicle_spawned[n] = false;
  28397. }
  28398. else{
  28399. new
  28400. query[128];
  28401. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET HasCarSpawned = 0 WHERE id = %i LIMIT 1", CarData[tmpcar][carOwnerID]);
  28402. mysql_pquery(m_Handle, query);
  28403. }
  28404. }
  28405. foreach(new f : Player) if(PlayerBreakInVehicle[f] == tmpcar)
  28406. {
  28407. if(IsValidDynamic3DTextLabel(BreakInTextDraw[f]))
  28408. {
  28409. DestroyDynamic3DTextLabel(BreakInTextDraw[f]);
  28410. }
  28411. BreakInLevel[f] = 0;
  28412. KillTimer(BreakInTDTimer[f]);
  28413. //Clearing variables:
  28414. PlayerBreakInVehicle[f] = INVALID_VEHICLE_ID;
  28415. PlayerBreakingIn[f] = 0;
  28416. BreakInError[f] = 0;
  28417. BreakInLevel[f] = 0;
  28418. ActiveLockTD[f] = 0;
  28419. }
  28420. DefaultVehicleValues(tmpcar);
  28421. DestroyVehicle(tmpcar);
  28422. }
  28423. }
  28424. }
  28425. }
  28426. }
  28427. return true;
  28428. }
  28429. Server:TIMER_StopPlateShow(playerid)
  28430. {
  28431. for(new i = 0; i < 2; i++)
  28432. {
  28433. PlayerTextDrawHide(playerid, CarBought_PTD[playerid][i]);
  28434. }
  28435. return true;
  28436. }
  28437. Server:TIMER_LoadingInterior(playerid)
  28438. {
  28439. return TogglePlayerControllable(playerid, true);
  28440. }
  28441. Server:TIMER_ExitPNS(playerid)
  28442. {
  28443. new ppns = PlayerData[playerid][pInsidePNS];
  28444. SendPlayer(playerid, PNSData[ppns][pnsEntrance][0], PNSData[ppns][pnsEntrance][1], PNSData[ppns][pnsEntrance][2], 0, 0);
  28445. PNSData[ppns][pnsOccupied] = false;
  28446. PlayerData[playerid][pInsidePNS] = false;
  28447. SendClientMessage(playerid, COLOR_DARKGREEN, "Auto-Voice: Enjoy your repair.");
  28448. TogglePlayerControllable(playerid, true);
  28449. return true;
  28450. }
  28451. public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
  28452. {
  28453. if(PlayerData[playerid][pAdminDuty])
  28454. {
  28455. SetPlayerPosFindZ(playerid, fX, fY, fZ);
  28456. SendClientMessage(playerid, COLOR_GREY, "You were teleported (May not be accurate)");
  28457. }
  28458. return 1;
  28459. }
  28460. Server:CallPaycheck()
  28461. {
  28462. new string[128], taxCost, Float:interestGain, Float:savingsGain, Paycheck, Float:inter, Float:save;
  28463. foreach(new i : Player) {
  28464. if(pLoggedIn[i]) {
  28465. new bank = PlayerData[i][pBank], savings = PlayerData[i][pSavings];
  28466. Paycheck = 0;
  28467. taxCost = Paycheck / 10;
  28468. save = 0.5;
  28469. switch (PlayerData[i][pDonator]) {
  28470. case 1: inter = 0.2;
  28471. case 2: inter = 0.3;
  28472. case 3: inter = 0.4;
  28473. case 4: inter = 0.5;
  28474. default: inter = 0.1;
  28475. }
  28476. interestGain = (bank / 100) * inter;
  28477. savingsGain = (savings / 100) * save;
  28478. if(PlayerData[i][pLevel] == 0) Paycheck += 2500;
  28479. else if(PlayerData[i][pLevel] == 1) Paycheck += 1500;
  28480. if (PlayerData[i][pJob] == MECHANIC_JOB || PlayerData[i][pSidejob] == MECHANIC_JOB) Paycheck += 1500;
  28481. switch(PlayerData[i][pDonator])
  28482. {
  28483. case 2: Paycheck += 1000;
  28484. case 3: Paycheck += 1500;
  28485. case 4: Paycheck += 2000;
  28486. }
  28487. new saveGain = floatround(savingsGain, floatround_round);
  28488. new intGain = floatround(interestGain, floatround_round);
  28489. if(PlayerData[i][pFaction] > 0 /*&& FactionData[PlayerData[i][pFaction]][factionBank] > 0*/)
  28490. {
  28491. /*new factionPay;
  28492. factionPay = FactionData[PlayerData[i][pFaction]][factionBank] / CountOnlineMembers(PlayerData[i][pFaction]);
  28493. Paycheck += factionPay;
  28494. FactionData[PlayerData[i][pFaction]][factionBank]-= factionPay;*/
  28495. new factionPay = 0, faction = PlayerData[i][pFaction];
  28496. if (IsPoliceFaction(i)) {
  28497. if (PlayerData[i][pFactionRank] >= FactionData[faction][factionTowrank]) {
  28498. factionPay += 4500;
  28499. } else {
  28500. factionPay += 2500;
  28501. }
  28502. } else if (IsMedicFaction(i)) {
  28503. factionPay += 2500;
  28504. } else if (IsNewsFaction(i)) {
  28505. factionPay += 2500;
  28506. }
  28507. Paycheck += factionPay;
  28508. }
  28509. new carOwnerIG = 0;
  28510. new carID_Found;
  28511. for(new v = 1, j = GetVehiclePoolSize(); v <= j; v++)
  28512. {
  28513. if(!IsValidPlayerCar(v))
  28514. continue;
  28515. if(IsVehicleOccupied(v))
  28516. continue;
  28517. foreach(new c : Player)
  28518. {
  28519. if(PlayerData[c][pSQLID] == CarData[v][carOwnerID])
  28520. {
  28521. carOwnerIG = 1;
  28522. carID_Found = v;
  28523. }
  28524. }
  28525. }
  28526. if(!carOwnerIG)
  28527. {
  28528. SaveCar(carID_Found);
  28529. DestroyVehicle(carID_Found);
  28530. }
  28531. if(PlayerData[i][pLevel] == 0 || PlayerData[i][pLevel] == 1)
  28532. {
  28533. new exp = ((PlayerData[i][pLevel]) * 4 + 2);
  28534. if(PlayerData[i][pExp] >= exp)
  28535. {
  28536. cmd_levelup(i, "");
  28537. }
  28538. }
  28539. format(string, sizeof(string), "SERVER TIME:[ %s ]", ReturnHour());
  28540. SendClientMessage(i, COLOR_WHITE, string);
  28541. SendClientMessage(i, COLOR_WHITE, "|___ BANK STATEMENT ___|");
  28542. format(string, sizeof(string), " Balance: $%s", MoneyFormat(PlayerData[i][pBank]));
  28543. SendClientMessage(i, COLOR_GREY, string);
  28544. SendClientMessage(i, COLOR_GREY, sprintf(" Interest rate: %f", inter));
  28545. PlayerData[i][pPaycheck] += Paycheck;
  28546. PlayerData[i][pBank] -= PropertyData[PlayerData[i][pRenting]][propertyRentPrice];
  28547. PlayerData[i][pBank] -= taxCost;
  28548. PlayerData[i][pBank] += intGain;
  28549. if(PlayerData[i][pSavings] > 0) {
  28550. PlayerData[i][pSavings] += saveGain;
  28551. }
  28552. format(string, sizeof(string), " Interest Gained: $%s", MoneyFormat(intGain));
  28553. SendClientMessage(i, COLOR_GREY, string);
  28554. format(string, sizeof(string), " Tax paid: $%s", MoneyFormat(taxCost));
  28555. SendClientMessage(i, COLOR_GREY, string);
  28556. if(PlayerData[i][pSavings] > 0) {
  28557. format(string, sizeof(string), " Savings income: $%s, at rate: 0.5", MoneyFormat(saveGain));
  28558. SendClientMessage(i, COLOR_GREY, string);
  28559. format(string, sizeof(string), " Savings new balance: $%s", MoneyFormat(PlayerData[i][pSavings]));
  28560. SendClientMessage(i, COLOR_GREY, string);
  28561. }
  28562. SendClientMessage(i, COLOR_WHITE, "|________________________|");
  28563. format(string, sizeof(string), " New Balance: $%s", MoneyFormat(PlayerData[i][pBank]));
  28564. SendClientMessage(i, COLOR_WHITE, string);
  28565. format(string, sizeof(string), " Rent: -$%s", MoneyFormat(PropertyData[PlayerData[i][pRenting]][propertyRentPrice]));
  28566. SendClientMessage(i, COLOR_WHITE, string);
  28567. format(string, sizeof(string), " Paycheck: $%s", MoneyFormat(PlayerData[i][pPaycheck]));
  28568. SendClientMessage(i, COLOR_WHITE, string);
  28569. if (PlayerData[i][pLevel] == 0) {
  28570. SendClientMessage(i, COLOR_WHITE, "(( You have received $2500 as level 0 ))");
  28571. } else if (PlayerData[i][pLevel] == 1) {
  28572. SendClientMessage(i, COLOR_WHITE, "(( You have received $1500 as a level 1 ))");
  28573. }
  28574. format(string, sizeof(string), "~y~Payday~n~~w~Paycheck~n~~g~$%s", MoneyFormat(Paycheck));
  28575. GameTextForPlayer(i, string, 3000, 1);
  28576. SavePlayer(i);
  28577. }
  28578. }
  28579. return true;
  28580. }
  28581. Server:TIMER_LSLVTolls(id)
  28582. {
  28583. SetDynamicObjectRot(tollObject2, 0.000000, -90.000000, 348.10229492188);
  28584. SetDynamicObjectRot(tollObject1, 0.000000, -90.000000, 169.43664550781);
  28585. TollsData[id][tollStatus] = false;
  28586. return true;
  28587. }
  28588. Server:TIMER_RodeoTolls(id)
  28589. {
  28590. SetDynamicObjectRot(tollObject3, 0.000000, -90.000000, 23.81982421875);
  28591. SetDynamicObjectRot(tollObject4, 0.000000, -90.000000, 214.37744140625);
  28592. TollsData[id][tollStatus] = false;
  28593. return true;
  28594. }
  28595. Server:TIMER_FlintTolls(id)
  28596. {
  28597. SetDynamicObjectRot(tollObject5, 0.000000, -90.000000, 270.67565917969);
  28598. SetDynamicObjectRot(tollObject6, 0.000000, -90.000000, 87.337799072266);
  28599. TollsData[id][tollStatus] = false;
  28600. return true;
  28601. }
  28602. Server:OnVehicleTow(playerid)
  28603. {
  28604. new vehicleid = _has_spawned_vehicleid[playerid], newDisplay[128];
  28605. if(IsVehicleOccupied(vehicleid))
  28606. {
  28607. KillTimer(playerTowTimer[playerid]);
  28608. Delete3DTextLabel(vehicleTowSign[vehicleid]);
  28609. SendClientMessage(playerid, COLOR_DARKGREEN, "Your tow was interrupted.");
  28610. playerVehicleTowCount[playerid] = 0;
  28611. playerTowingVehicle[playerid] = false;
  28612. return 1;
  28613. }
  28614. playerVehicleTowCount[playerid]++;
  28615. if(playerVehicleTowCount[playerid] == 1) newDisplay = "(( || ))\nTOWING VEHICLE";
  28616. if(playerVehicleTowCount[playerid] == 2) newDisplay = "(( ||| ))\nTOWING VEHICLE";
  28617. if(playerVehicleTowCount[playerid] == 3) newDisplay = "(( |||| ))\nTOWING VEHICLE";
  28618. if(playerVehicleTowCount[playerid] == 4) newDisplay = "(( ||||| ))\nTOWING VEHICLE";
  28619. if(playerVehicleTowCount[playerid] == 5) newDisplay = "(( |||||| ))\nTOWING VEHICLE";
  28620. if(playerVehicleTowCount[playerid] == 6) newDisplay = "(( ||||||| ))\nTOWING VEHICLE";
  28621. if(playerVehicleTowCount[playerid] == 7) newDisplay = "(( |||||||| ))\nTOWING VEHICLE";
  28622. if(playerVehicleTowCount[playerid] == 8) newDisplay = "(( |||||||| ))\nTOWING VEHICLE";
  28623. Update3DTextLabelText(vehicleTowSign[vehicleid], COLOR_DARKGREEN, newDisplay);
  28624. if(playerVehicleTowCount[playerid] == 9)
  28625. {
  28626. SendClientMessage(playerid, COLOR_DARKGREEN, "Your vehicle has been towed.");
  28627. GiveMoney(playerid, -50);
  28628. playerTowingVehicle[playerid] = false;
  28629. if(CarData[vehicleid][carImpounded])
  28630. {
  28631. SetVehiclePos(vehicleid, CarData[vehicleid][carImpoundPos][0], CarData[vehicleid][carImpoundPos][1], CarData[vehicleid][carImpoundPos][2]);
  28632. SetVehicleZAngle(vehicleid, CarData[vehicleid][carImpoundPos][3]);
  28633. }
  28634. else SetVehicleToRespawn(vehicleid);
  28635. Delete3DTextLabel(vehicleTowSign[vehicleid]);
  28636. KillTimer(playerTowTimer[playerid]);
  28637. playerVehicleTowCount[playerid] = 0;
  28638. return 1;
  28639. }
  28640. return 1;
  28641. }
  28642. Server:TIMER_HideTextdraw(playerid)
  28643. {
  28644. for(new i = 0; i < 9; i++){
  28645. TextDrawHideForPlayer(playerid, furnitureadd_TD[i]);
  28646. }
  28647. return true;
  28648. }
  28649. /*Server:WeaponsUpdater(playerid)
  28650. {
  28651. new placeSlot, id;
  28652. for (new i = 0; i < 4; i++)
  28653. {
  28654. if (Weapon[playerid][i][eWeaponAmmo] > 0)
  28655. {
  28656. id = Weapon[playerid][i][eWeaponID];
  28657. placeSlot = ReturnWeaponsSlot(id);
  28658. if (IsWeaponShowable(id) && EditingDisplay[playerid] != id)
  28659. {
  28660. if (GetPlayerWeapon(playerid) != id && !WeaponDisplay[playerid][id][weaponHidden])
  28661. {
  28662. SetPlayerAttachedObject (playerid, placeSlot, ReturnWeaponsModel(id), WeaponDisplay[playerid][id][weaponBone], WeaponDisplay[playerid][id][weaponPos][0], WeaponDisplay[playerid][id][weaponPos][1], WeaponDisplay[playerid][id][weaponPos][2],
  28663. WeaponDisplay[playerid][id][weaponRot][0], WeaponDisplay[playerid][id][weaponRot][1], WeaponDisplay[playerid][id][weaponRot][2]);
  28664. PlayerAttachedWeapons[playerid][GetWeaponIndex(i)] = id;
  28665. }
  28666. else
  28667. {
  28668. if (IsPlayerAttachedObjectSlotUsed(playerid, placeSlot))
  28669. {
  28670. RemovePlayerAttachedObject(playerid, placeSlot);
  28671. PlayerAttachedWeapons[playerid][GetWeaponIndex(i)] = 0;
  28672. }
  28673. }
  28674. }
  28675. }
  28676. else if(Weapon[playerid][i][eWeaponID] && Weapon[playerid][i][eWeaponAmmo] < 1)
  28677. {
  28678. placeSlot = ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID]);
  28679. if(IsPlayerAttachedObjectSlotUsed(playerid, placeSlot))
  28680. {
  28681. RemovePlayerAttachedObject(playerid, placeSlot);
  28682. }
  28683. }
  28684. }
  28685. return true;
  28686. }*/
  28687. Server:SavePlayerPos(playerid, bool:save)
  28688. {
  28689. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  28690. GetPlayerFacingAngle(playerid, PlayerData[playerid][pPos][3]);
  28691. PlayerData[playerid][pInterior] = GetPlayerInterior(playerid);
  28692. PlayerData[playerid][pWorld] = GetPlayerVirtualWorld(playerid);
  28693. if(save){
  28694. new query[256];
  28695. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET LastX = %f, LastY = %f, LastZ = %f, LastRot = %f, Interior = %i, World = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], PlayerData[playerid][pPos][3], PlayerData[playerid][pInterior], PlayerData[playerid][pWorld], PlayerData[playerid][pSQLID]);
  28696. mysql_pquery(m_Handle, query);
  28697. }
  28698. return true;
  28699. }
  28700. Server:SavePlayer(playerid)
  28701. {
  28702. if(pLoggedIn[playerid]) {
  28703. SavePlayerPos(playerid, true);
  28704. SavePlayerWeapons(playerid);
  28705. GetPlayerHealth(playerid, PlayerData[playerid][pLastHealth]);
  28706. GetPlayerArmour(playerid, PlayerData[playerid][pLastArmor]);
  28707. new query[400];
  28708. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET AdminLevel = %i, Money = %i, Level = %i, Exp = %i, Skin = %i, MaskID = %i, MaskIDEx = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pAdmin], PlayerData[playerid][pMoney], PlayerData[playerid][pLevel], PlayerData[playerid][pExp], PlayerData[playerid][pSkin], PlayerData[playerid][pMaskID], PlayerData[playerid][pMaskIDEx], PlayerData[playerid][pSQLID]);
  28709. mysql_tquery(m_Handle, query);
  28710. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Bank = %i, Adminjailed = %i, AjailTime = %i, MaxHealth = %i, LastHealth = %.2f, LastArmor = %.2f, Renting = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pBank], PlayerData[playerid][pAjailed], PlayerData[playerid][pAjailTime], PlayerData[playerid][pMaxHealth], PlayerData[playerid][pLastHealth], PlayerData[playerid][pLastArmor], PlayerData[playerid][pRenting], PlayerData[playerid][pSQLID]);
  28711. mysql_tquery(m_Handle, query);
  28712. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET IP = '%e', MainSlot = %i, Phone = %i, Donator = %i, Helper = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pIP], PlayerData[playerid][pMainSlot], PlayerData[playerid][pPhone], PlayerData[playerid][pDonator], PlayerData[playerid][pHelper], PlayerData[playerid][pSQLID]);
  28713. mysql_tquery(m_Handle, query);
  28714. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET OfflineAjail = 0, OfflineAjailReason = '%e' WHERE id = %i LIMIT 1", PlayerData[playerid][pOffAjailReason], PlayerData[playerid][pSQLID]);
  28715. mysql_tquery(m_Handle, query);
  28716. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET HoursPlayed = %i, Paycheck = %i, Walkstyle = %i, Chatstyle = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pHoursPlayed], PlayerData[playerid][pPaycheck], PlayerData[playerid][pWalkstyle], PlayerData[playerid][pChatstyle], PlayerData[playerid][pSQLID]);
  28717. mysql_tquery(m_Handle, query);
  28718. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET PhoneOff = %i, ActiveListing = %i, JailTimes = %i, PrisonTimes = %i, Cigarettes = %i, Drinks = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pPhoneOff], PlayerData[playerid][pActiveListing], PlayerData[playerid][pJailTimes], PlayerData[playerid][pPrisonTimes], PlayerData[playerid][pCigarettes], PlayerData[playerid][pDrinks], PlayerData[playerid][pSQLID]);
  28719. mysql_tquery(m_Handle, query);
  28720. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET InsideHouse = %i, InsideComplex = %i, InsideApartment = %i, InsideGarage = %i, InsideBusiness = %i, WorkOn = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pInsideHouse], PlayerData[playerid][pInsideComplex], PlayerData[playerid][pInsideApartment], PlayerData[playerid][pInsideGarage], PlayerData[playerid][pInsideBusiness], PlayerData[playerid][pWorkOn], PlayerData[playerid][pSQLID]);
  28721. mysql_tquery(m_Handle, query);
  28722. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET DriversLicense = %i, WeaponsLicense = %i, Gender = %i, SpawnSelect = %i, SpawnHouse = %i, Crashed = %i, Playtime = %i, ICJailed = %i, ICJailTime = %i, Fightstyle = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pDriversLicense], PlayerData[playerid][pWeaponsLicense], PlayerData[playerid][pGender], PlayerData[playerid][pSpawnSelect], PlayerData[playerid][pSpawnHouse], PlayerData[playerid][pCrashed], PlayerData[playerid][pPlayTime], PlayerData[playerid][pICJailed], PlayerData[playerid][pICJailTime], PlayerData[playerid][pFightstyle], PlayerData[playerid][pSQLID]);
  28723. mysql_tquery(m_Handle, query);
  28724. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET HasCarSpawned = %i, HasCarSpawnedID = %i, AdmMessageConfirm = %i, AdminMessage = '%e', AdminMessageBy = '%e', UpgradePoints = %i, HUD = %i, HUDToggled = %i WHERE id = %i LIMIT 1", _has_vehicle_spawned[playerid], _has_spawned_vehicleid[playerid], PlayerData[playerid][pAdmMsgConfirm], PlayerData[playerid][pAdminMsg], PlayerData[playerid][pAdminMsgBy], PlayerData[playerid][pUpgradePoints], PlayerData[playerid][pHUD], PlayerData[playerid][pHUDToggled], PlayerData[playerid][pSQLID]);
  28725. mysql_tquery(m_Handle, query);
  28726. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Job = %i, Sidejob = %i, LastConnection = '%e', LastConnectLength = %i, HWID = '%e', HasRadio = %i, BrutallyWounded = %i, DCToggle = %i, Savings = %i WHERE id = %i LIMIT 1", PlayerData[playerid][pJob], PlayerData[playerid][pSidejob], PlayerData[playerid][pLastConnect], PlayerData[playerid][pLastConnectTime], PlayerData[playerid][pHWID], PlayerData[playerid][pHasRadio], PlayerData[playerid][pBrutallyWounded], PlayerData[playerid][pDCToggled], PlayerData[playerid][pSavings], PlayerData[playerid][pSQLID]);
  28727. mysql_tquery(m_Handle, query);
  28728. for(new c = 1; c < MAX_OWNED_CARS; c++){
  28729. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET OwnedCar%d = %d WHERE id = %i LIMIT 1", c, PlayerData[playerid][pOwnedCar][c - 1], PlayerData[playerid][pSQLID]);
  28730. mysql_tquery(m_Handle, query);
  28731. }
  28732. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Faction = %i, FactionRank = %i, HasBurnerPhone = %i, BurnerPhoneNumber = %i, OrderWeaponRestricted = %i, OrderWeaponTime = %i, SpawnPrecinct = %i WHERE id = %i", PlayerData[playerid][pFaction], PlayerData[playerid][pFactionRank], PlayerData[playerid][pHasBurnerPhone], PlayerData[playerid][pBurnerPhoneNumber], PlayerData[playerid][pWepOrderRestricted], OrderWeaponTime[playerid], PlayerData[playerid][pSpawnPrecinct], PlayerData[playerid][pSQLID]);
  28733. mysql_tquery(m_Handle, query);
  28734. for(new r = 0; r < 5; r++){
  28735. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Radio%d = %d, Slot%d = %d WHERE id = %i", (r+1), PlayerData[playerid][pRadio][r], (r+1), PlayerData[playerid][pRadioSlot][r], PlayerData[playerid][pSQLID]);
  28736. mysql_tquery(m_Handle, query);
  28737. }
  28738. for(new p = 1; p < MAX_WEAPON_PACKAGES; p++){
  28739. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Package%d = %i, Package%dA = %i WHERE id = %i", p, PackageData[playerid][packageWeapon][p], p, PackageData[playerid][packageAmmo][p], PlayerData[playerid][pSQLID]);
  28740. mysql_tquery(m_Handle, query);
  28741. }
  28742. }
  28743. return true;
  28744. }
  28745. Server:SaveFactionCar(vehicleid)
  28746. {
  28747. new query[256];
  28748. if(IsValidFactionCar(vehicleid)){
  28749. mysql_format(m_Handle, query, sizeof(query), "UPDATE factioncars SET factionid = %i, ModelID = %d, PosX = %f, PosY = %f, PosZ = %f, PosA = %f WHERE id = %i",
  28750. FactionCar[vehicleid][carFaction], FactionCar[vehicleid][carModel], FactionCar[vehicleid][carPos][0], FactionCar[vehicleid][carPos][1], FactionCar[vehicleid][carPos][2], FactionCar[vehicleid][carPos][3],
  28751. FactionCar[vehicleid][carID]);
  28752. mysql_tquery(m_Handle, query);
  28753. mysql_format(m_Handle, query, sizeof(query), "UPDATE factioncars SET Interior = %i, World = %i, Color1 = %i, Color2 = %i, Sirens = %i, Gunrack = %i, Plate = '%e' WHERE id = %i",
  28754. FactionCar[vehicleid][carInterior], FactionCar[vehicleid][carWorld], FactionCar[vehicleid][carColor1], FactionCar[vehicleid][carColor2], FactionCar[vehicleid][carSirens],
  28755. FactionCar[vehicleid][carGunRack], FactionCar[vehicleid][carLicensePlate], FactionCar[vehicleid][carID]);
  28756. mysql_tquery(m_Handle, query);
  28757. printf("[DEBUG] Vehicle ID %d ( DBID : %d ) saved. (Factionized)", vehicleid, FactionCar[vehicleid][carID]);
  28758. }
  28759. return true;
  28760. }
  28761. Server:SaveCar(vehicleid)
  28762. {
  28763. new query[256];
  28764. new car = CarData[vehicleid][carID];
  28765. if(car != 0)
  28766. {
  28767. GetVehicleDamageStatus(vehicleid, CarData[vehicleid][carPanelStatus], CarData[vehicleid][carDoorsStatus], CarData[vehicleid][carLightsStatus], CarData[vehicleid][carTiresStatus]);
  28768. GetVehicleHealth(vehicleid, CarData[vehicleid][carLastHealth]);
  28769. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET OwnerID = %i, ModelID = %d, PosX = %f, PosY = %f, PosZ = %f, PosA = %f, Interior = %d, World = %d WHERE id = %i", CarData[vehicleid][carOwnerID], CarData[vehicleid][carModel], CarData[vehicleid][carPos][0], CarData[vehicleid][carPos][1], CarData[vehicleid][carPos][2], CarData[vehicleid][carPos][3], CarData[vehicleid][carInterior], CarData[vehicleid][carWorld], CarData[vehicleid][carID]);
  28770. mysql_tquery(m_Handle, query);
  28771. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET Color1 = %d, Color2 = %d, Locked = %d, Fuel = %f, Paintjob = %d, XMR = %d, Impounded = %d WHERE id = %i", CarData[vehicleid][carColor1], CarData[vehicleid][carColor2], CarData[vehicleid][carLocked], CarData[vehicleid][carFuel], CarData[vehicleid][carPaintjob], CarData[vehicleid][carXMR], CarData[vehicleid][carImpounded], CarData[vehicleid][carID]);
  28772. mysql_tquery(m_Handle, query);
  28773. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET ImpoundPosX = %f, ImpoundPosY = %f, ImpoundPosZ = %f, ImpoundPosA = %f WHERE id = %i", CarData[vehicleid][carImpoundPos][0], CarData[vehicleid][carImpoundPos][1], CarData[vehicleid][carImpoundPos][2], CarData[vehicleid][carImpoundPos][3], CarData[vehicleid][carID]);
  28774. mysql_tquery(m_Handle, query);
  28775. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET EngineLife = %f, BatteryLife = %f WHERE id = %i", CarData[vehicleid][carEngine], CarData[vehicleid][carBattery], CarData[vehicleid][carID]);
  28776. mysql_tquery(m_Handle, query);
  28777. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET LockLevel = %d, AlarmLevel = %d, ImmobLevel = %d, Insurance = %d, TimesDestroyed = %d, Plate = '%e' WHERE id = %i", CarData[vehicleid][carLock], CarData[vehicleid][carAlarm], CarData[vehicleid][carImmob], CarData[vehicleid][carInsurance], CarData[vehicleid][carTimeDestroyed], CarData[vehicleid][carPlates], CarData[vehicleid][carID]);
  28778. mysql_tquery(m_Handle, query);
  28779. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET LastDriver = %i, LastPassenger = %i WHERE id = %i", CarData[vehicleid][carlastDriver], CarData[vehicleid][carlastPassenger], CarData[vehicleid][carID]);
  28780. mysql_tquery(m_Handle, query);
  28781. for(new w = 1; w < 5; w++) {
  28782. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET Weapons%d = %d, Ammo%d = %d WHERE id = %i", w, CarData[vehicleid][carWeapons][w], w, CarData[vehicleid][carWeaponsAmmo][w], CarData[vehicleid][carID]);
  28783. mysql_tquery(m_Handle, query);
  28784. }
  28785. for(new p = 1; p < 21; p++) {
  28786. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET Packages%d = %d, PackagesAmmo%d = %d WHERE id = %i", p, CarData[vehicleid][carPackages][p], p, CarData[vehicleid][carPackagesAmmo][p], CarData[vehicleid][carID]);
  28787. mysql_tquery(m_Handle, query);
  28788. }
  28789. for(new m = 1; m < 14; m++) {
  28790. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET CarMods%d = %d WHERE id = %i", m, CarData[vehicleid][carMods][m], CarData[vehicleid][carID]);
  28791. mysql_tquery(m_Handle, query);
  28792. }
  28793. mysql_format(m_Handle, query, sizeof(query), "UPDATE ownedcars SET LastHealth = %f, Panels = %i, Doors = %i, Lights = %i, Tires = %i WHERE id = %i", CarData[vehicleid][carLastHealth], CarData[vehicleid][carPanelStatus], CarData[vehicleid][carDoorsStatus], CarData[vehicleid][carLightsStatus], CarData[vehicleid][carTiresStatus], CarData[vehicleid][carID]);
  28794. mysql_tquery(m_Handle, query);
  28795. printf("[DEBUG] Vehicle ID %d ( DBID : %d ) saved. (Private)", vehicleid, CarData[vehicleid][carID]);
  28796. }
  28797. return true;
  28798. }
  28799. Server:SavePropertyGarage(id)
  28800. {
  28801. new query[256];
  28802. if(id != 0)
  28803. {
  28804. mysql_format(m_Handle, query, sizeof(query), "UPDATE property_garages SET PosX = %f, PosY = %f, PosZ = %f, PosA = %f WHERE id = %i", GarageData[id][garagePos][0], GarageData[id][garagePos][1], GarageData[id][garagePos][2], GarageData[id][garagePos][3], GarageData[id][garageSQLID]);
  28805. mysql_tquery(m_Handle, query);
  28806. mysql_format(m_Handle, query, sizeof(query), "UPDATE property_garages SET IntX = %f, IntY = %f, IntZ = %f, IntA = %f WHERE id = %i", GarageData[id][garageInt][0], GarageData[id][garageInt][1], GarageData[id][garageInt][2], GarageData[id][garageInt][3], GarageData[id][garageSQLID]);
  28807. mysql_tquery(m_Handle, query);
  28808. mysql_format(m_Handle, query, sizeof(query), "UPDATE property_garages SET InteriorID = %i, InteriorWorld = %i, Type = %i, PropertyID = %i, Locked = %i, Faction = %i WHERE id = %i", GarageData[id][garageInteriorID], GarageData[id][garageWorld], GarageData[id][garageType], GarageData[id][garagePropertyID], GarageData[id][garageLocked], GarageData[id][garageFaction], GarageData[id][garageSQLID]);
  28809. mysql_tquery(m_Handle, query);
  28810. }
  28811. return true;
  28812. }
  28813. Server:SaveDoor(doorid)
  28814. {
  28815. new query[200];
  28816. if(doorid != 0)
  28817. {
  28818. mysql_format(m_Handle, query, sizeof(query), "UPDATE doors SET PosX = %f, PosY = %f, PosZ = %f, PosInterior = %i, PosWorld = %i WHERE id = %i",
  28819. DoorData[doorid][doorPos][0], DoorData[doorid][doorPos][1], DoorData[doorid][doorPos][2], DoorData[doorid][doorPosIntID], DoorData[doorid][doorPosWorld], DoorData[doorid][doorID]);
  28820. mysql_tquery(m_Handle, query);
  28821. mysql_format(m_Handle, query, sizeof(query), "UPDATE doors SET IntX = %f, IntY = %f, IntZ = %f, IntA = %f, IntInterior = %i, IntWorld = %i WHERE id = %i",
  28822. DoorData[doorid][doorInt][0], DoorData[doorid][doorInt][1], DoorData[doorid][doorInt][2], DoorData[doorid][doorInt][3], DoorData[doorid][doorIntID], DoorData[doorid][doorIntWorld],
  28823. DoorData[doorid][doorIntWorld], DoorData[doorid][doorID]);
  28824. mysql_tquery(m_Handle, query);
  28825. mysql_format(m_Handle, query, sizeof(query), "UPDATE doors SET Faction = %i, Name = '%e', Locked = %i WHERE id = %i", DoorData[doorid][doorFaction], DoorData[doorid][doorName], DoorData[doorid][doorLocked],
  28826. DoorData[doorid][doorID]);
  28827. mysql_tquery(m_Handle, query);
  28828. printf("[DEBUG] Dynamic Door %d ( DBID: %d ) was saved.", doorid, DoorData[doorid][doorID]);
  28829. }
  28830. return true;
  28831. }
  28832. Server:SaveFaction(factionid)
  28833. {
  28834. new query[456];
  28835. mysql_format(m_Handle, query, sizeof(query), "UPDATE factions SET Name = '%e', Abbreviation = '%e', MaxRanks = %d, Bank = %i, HasWarehouseAccess = %i, Products = %i WHERE id = %i", FactionData[factionid][factionName], FactionData[factionid][factionAbbrev], FactionData[factionid][factionMaxRanks], FactionData[factionid][factionBank], FactionData[factionid][factionWarehousePerms], FactionData[factionid][factionProducts], FactionData[factionid][factionID]);
  28836. mysql_tquery(m_Handle, query);
  28837. mysql_format(m_Handle, query, sizeof(query), "UPDATE factions SET EditRank = %d, ChatRank = %d, TowRank = %d, ChatColor = %d, ChatStatus = %d, CopPerms = %d, MedPerms = %d, NewsPerms = %d WHERE id = %i",
  28838. FactionData[factionid][factionEditrank], FactionData[factionid][factionChatrank], FactionData[factionid][factionTowrank], FactionData[factionid][factionChatColor], FactionData[factionid][factionChatStatus],
  28839. FactionData[factionid][factionCopPerms], FactionData[factionid][factionMedPerms], FactionData[factionid][factionNewsPerms], FactionData[factionid][factionID]);
  28840. mysql_tquery(m_Handle, query);
  28841. mysql_format(m_Handle, query, sizeof(query), "UPDATE factions SET SpawnX = %f, SpawnY = %f, SpawnZ = %f, SpawnA = %f WHERE id = %i", FactionData[factionid][factionSpawn][0], FactionData[factionid][factionSpawn][1],
  28842. FactionData[factionid][factionSpawn][2], FactionData[factionid][factionSpawn][3], FactionData[factionid][factionID]);
  28843. mysql_tquery(m_Handle, query);
  28844. return true;
  28845. }
  28846. Server:SaveFactionRanks(factionid)
  28847. {
  28848. new
  28849. query[456];
  28850. for(new i = 1; i < MAX_FACTION_RANKS; i++)
  28851. {
  28852. mysql_format(m_Handle, query, sizeof(query), "UPDATE faction_ranks SET factionrank%i = '%e' WHERE faction_id = %i", i, FactionRanks[factionid][i], FactionData[factionid][factionID]);
  28853. mysql_tquery(m_Handle, query);
  28854. }
  28855. return 1;
  28856. }
  28857. Server:SaveProperty(id)
  28858. {
  28859. new query[300];
  28860. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET OwnerSQL = %i, Type = %i, ComplexID = %i WHERE id = %i", PropertyData[id][propertyOwnerSQL], PropertyData[id][propertyType], PropertyData[id][propertyComplexLink], PropertyData[id][propertyid]);
  28861. mysql_tquery(m_Handle, query);
  28862. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET ExteriorX = %f, ExteriorY = %f, ExteriorZ = %f, ExteriorID = %i, ExteriorWorld = %i WHERE id = %i", PropertyData[id][propertyExterior][0], PropertyData[id][propertyExterior][1], PropertyData[id][propertyExterior][2], PropertyData[id][propertyExteriorID], PropertyData[id][propertyExteriorWorld], PropertyData[id][propertyid]);
  28863. mysql_tquery(m_Handle, query);
  28864. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET InteriorX = %f, InteriorY = %f, InteriorZ = %f, InteriorA = %f, InteriorID = %i, InteriorWorld = %i WHERE id = %i", PropertyData[id][propertyInterior][0], PropertyData[id][propertyInterior][1], PropertyData[id][propertyInterior][2], PropertyData[id][propertyInterior][3], PropertyData[id][propertyInteriorID], PropertyData[id][propertyInteriorWorld], PropertyData[id][propertyid]);
  28865. mysql_tquery(m_Handle, query);
  28866. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET MarketPrice = %i, Rentable = %i, RentPrice = %i, Locked = %i, Money = %i, Level = %i WHERE id = %i", PropertyData[id][propertyMarketPrice], PropertyData[id][propertyRentable], PropertyData[id][propertyRentPrice], PropertyData[id][propertyLocked], PropertyData[id][propertyMoney], PropertyData[id][propertyLevel], PropertyData[id][propertyid]);
  28867. mysql_tquery(m_Handle, query);
  28868. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET CheckPosX = %f, CheckPosY = %f, CheckPosZ = %f, Faction = %i, HasXMR = %i WHERE id = %i", PropertyData[id][propertyCheckPos][0], PropertyData[id][propertyCheckPos][1], PropertyData[id][propertyCheckPos][2], PropertyData[id][propertyFaction], PropertyData[id][propertyHasXMR], PropertyData[id][propertyid]);
  28869. mysql_tquery(m_Handle, query);
  28870. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET XMRPosX = %f, XMRPosY = %f, XMRPosZ = %f, XMRRotX = %f, XMRRotY = %f, XMRRotZ = %f WHERE id = %i",
  28871. PropertyData[id][propertyXMRPos][0], PropertyData[id][propertyXMRPos][1], PropertyData[id][propertyXMRPos][2], PropertyData[id][propertyXMRRot][0], PropertyData[id][propertyXMRRot][1],
  28872. PropertyData[id][propertyXMRRot][2], PropertyData[id][propertyid]);
  28873. mysql_tquery(m_Handle, query);
  28874. for(new i = 0; i < 21; i++){
  28875. mysql_format(m_Handle, query, sizeof(query), "UPDATE properties SET Weapons%d = %d, Ammo%d = %d WHERE id = %i", i, PropertyData[id][propertyWeapons][i], i, PropertyData[id][propertyAmmo][i], PropertyData[id][propertyid]);
  28876. mysql_tquery(m_Handle, query);
  28877. }
  28878. return true;
  28879. }
  28880. Server:SaveFurniture(id)
  28881. {
  28882. new query[456];
  28883. mysql_format(m_Handle, query, sizeof(query), "UPDATE furniture SET model = %d, name = '%s', PosX = %f, PosY = %f, PosZ = %f, RotX = %f, RotY = %f, RotZ = %f WHERE id = %i AND propertyid = %i", FurnitureData[id][furnituresModel], FurnitureData[id][furnituresName], FurnitureData[id][furniturePos][0], FurnitureData[id][furniturePos][1],
  28884. FurnitureData[id][furniturePos][2], FurnitureData[id][furnitureRot][0], FurnitureData[id][furnitureRot][1], FurnitureData[id][furnitureRot][2], FurnitureData[id][furnitureSQLID], PropertyData[FurnitureData[id][furniturePropertyID]][propertyid]);
  28885. mysql_tquery(m_Handle, query);
  28886. return true;
  28887. }
  28888. Server:SaveBusiness(id)
  28889. {
  28890. new query[450];
  28891. mysql_format(m_Handle, query, sizeof(query), "UPDATE businesses SET OwnerSQL = %i, InteriorX = %f, InteriorY = %f, InteriorZ = %f, InteriorA = %f WHERE id = %i", BusinessData[id][businessOwnerSQL],
  28892. BusinessData[id][businessInt][0], BusinessData[id][businessInt][1], BusinessData[id][businessInt][2], BusinessData[id][businessInt][3], BusinessData[id][businessID]);
  28893. mysql_tquery(m_Handle, query);
  28894. mysql_format(m_Handle, query, sizeof(query), "UPDATE businesses SET World = %i, InteriorID = %i, ExteriorX = %f, ExteriorY = %f, ExteriorZ = %f WHERE id = %i", BusinessData[id][businessWorld],
  28895. BusinessData[id][businessIntID], BusinessData[id][businessExt][0], BusinessData[id][businessExt][1], BusinessData[id][businessExt][2], BusinessData[id][businessID]);
  28896. mysql_tquery(m_Handle, query);
  28897. mysql_format(m_Handle, query, sizeof(query), "UPDATE businesses SET BankPX = %f, BankPY = %f, BankPZ = %f, BankPIntID = %i, BankPWorld = %i WHERE id = %i", BusinessData[id][businessBankPickupLoc][0],
  28898. BusinessData[id][businessBankPickupLoc][1], BusinessData[id][businessBankPickupLoc][2], BusinessData[id][businessBankPickupIntID], BusinessData[id][businessBankPickupWorld], BusinessData[id][businessID]);
  28899. mysql_tquery(m_Handle, query);
  28900. mysql_format(m_Handle, query, sizeof(query), "UPDATE businesses SET Name = '%e', Type = %i, MarketPrice = %i, Locked = %i, Fee = %i, Cashbox = %i, Level = %i, Product = %i WHERE id = %i", BusinessData[id][businessName],
  28901. BusinessData[id][businessType], BusinessData[id][businessMarketPrice], BusinessData[id][businessLocked], BusinessData[id][businessFee], BusinessData[id][businessCashbox], BusinessData[id][businessLevel],
  28902. BusinessData[id][businessProduct], BusinessData[id][businessID]);
  28903. mysql_tquery(m_Handle, query);
  28904. for(new i = 0; i < 21; i++){
  28905. mysql_format(m_Handle, query, sizeof(query), "UPDATE businesses SET Weapons%d = %i, Ammo%d = %i WHERE id = %i", i, BusinessData[id][businessWeapons][i], i, BusinessData[id][businessWeaponsAmmo][i], BusinessData[id][businessID]);
  28906. mysql_tquery(m_Handle, query);
  28907. }
  28908. printf("[WARNING]: Business %d was saved.", id);
  28909. return true;
  28910. }
  28911. Server:SavePaynSpray(id)
  28912. {
  28913. new query[156];
  28914. mysql_format(m_Handle, query, sizeof(query), "UPDATE paynspray SET OwnerSQL = %i, Price = %i, Earnings = %i, Name = '%e' WHERE id = %i",
  28915. PNSData[id][pnsOwnerSQL], PNSData[id][pnsPrice], PNSData[id][pnsEarnings], PNSData[id][pnsName], PNSData[id][pnsID]);
  28916. mysql_tquery(m_Handle, query);
  28917. mysql_format(m_Handle, query, sizeof(query), "UPDATE paynspray SET EntranceX = %f, EntranceY = %f, EntranceZ = %f WHERE id = %i",
  28918. PNSData[id][pnsEntrance][0], PNSData[id][pnsEntrance][1], PNSData[id][pnsEntrance][2], PNSData[id][pnsID]);
  28919. mysql_tquery(m_Handle, query);
  28920. mysql_format(m_Handle, query, sizeof(query), "UPDATE paynspray SET RepairSpotX = %f, RepairSpotY = %f, RepairSpotZ = %f WHERE id = %i",
  28921. PNSData[id][pnsRepairSpot][0], PNSData[id][pnsRepairSpot][1], PNSData[id][pnsRepairSpot][2], PNSData[id][pnsID]);
  28922. mysql_tquery(m_Handle, query);
  28923. return true;
  28924. }
  28925. Server:SaveToll(id)
  28926. {
  28927. new query[156];
  28928. mysql_format(m_Handle, query, sizeof(query), "UPDATE tolls SET Price = %i, PointAX = %f, PointAY = %f, PointAZ = %f WHERE id = %i", TollsData[id][tollPrice],
  28929. TollsData[id][tollPointA][0], TollsData[id][tollPointA][1], TollsData[id][tollPointA][2], TollsData[id][tollID]);
  28930. mysql_tquery(m_Handle, query);
  28931. mysql_format(m_Handle, query, sizeof(query), "UPDATE tolls SET PointBX = %f, PointBY = %f, PointBZ = %f WHERE id = %i", TollsData[id][tollPointB][0],
  28932. TollsData[id][tollPointB][1], TollsData[id][tollPointB][2], TollsData[id][tollID]);
  28933. mysql_tquery(m_Handle, query);
  28934. return true;
  28935. }
  28936. Server:CheckPlayerExist(playerid)
  28937. {
  28938. new
  28939. query[90];
  28940. SetPlayerCamera(playerid);
  28941. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM players WHERE Name = '%e' LIMIT 1", ReturnName(playerid, 1));
  28942. mysql_tquery(m_Handle, query, "SQL_CheckPlayerExist", "i", playerid);
  28943. return true;
  28944. }
  28945. Server:SQL_CheckPlayerExist(playerid)
  28946. {
  28947. if(cache_num_rows() != 0) //Exists.
  28948. {
  28949. ShowLoginDialog(playerid, "");
  28950. }
  28951. else //Doesn't exist.
  28952. {
  28953. ShowRegisterDialog(playerid, "");
  28954. }
  28955. return true;
  28956. }
  28957. Server:SQL_CheckPlayerBans(playerid)
  28958. {
  28959. if(cache_num_rows() == 0) return CheckPlayerExist(playerid);
  28960. new string[128];
  28961. if(cache_num_rows())
  28962. {
  28963. format(string, sizeof(string), "You're banned from San Andreas '92 Singleplayer Roleplay.", ReturnIP(playerid));
  28964. SendClientMessage(playerid, COLOR_YELLOW, string);
  28965. SendClientMessage(playerid, COLOR_YELLOW, "Make a ban appeal on our forum - if you believe your ban was unjust.");
  28966. format(string, sizeof(string), "%s [IP: %s] connected while banned and was kicked", ReturnName(playerid, 1), ReturnIP(playerid));
  28967. adminWarn(1, string);
  28968. KickEx(playerid);
  28969. }
  28970. return true;
  28971. }
  28972. Server:SetPlayerCamera(playerid)
  28973. {
  28974. new rand = random(3);
  28975. switch(rand)
  28976. {
  28977. case 0:
  28978. {
  28979. SetPlayerCameraPos(playerid, 1249.3018, -1697.8046, 99.9554);
  28980. SetPlayerCameraLookAt(playerid, 1249.6576, -1696.8656, 99.4902);
  28981. }
  28982. case 1:
  28983. {
  28984. SetPlayerCameraPos(playerid, 2151.2539, -1894.5447, 85.3924);
  28985. SetPlayerCameraLookAt(playerid, 2150.5833, -1893.8066, 84.6774);
  28986. }
  28987. case 2:
  28988. {
  28989. SetPlayerCameraPos(playerid, 2169.0635, -1740.4182, 112.0308);
  28990. SetPlayerCameraLookAt(playerid, 2170.0603, -1740.3655, 111.3108);
  28991. }
  28992. }
  28993. return 1;
  28994. }
  28995. Server:OnVehicleTextdraw(playerid)
  28996. {
  28997. DestroyDynamic3DTextLabel(vehicleTextdraw[playerid]);
  28998. playerTextdraw[playerid] = false;
  28999. return 1;
  29000. }
  29001. Server:DefaultPlayerValues(playerid)
  29002. {
  29003. pLoggedIn[playerid] = false;
  29004. PlayerData[playerid][pSQLID] = 0;
  29005. PlayerData[playerid][pAdmin] = 0;
  29006. PlayerData[playerid][pAdminDuty] = false;
  29007. PlayerData[playerid][pHelperDuty] = 0;
  29008. PlayerData[playerid][pMoney] = 5000;
  29009. PlayerData[playerid][pBank] = 10000;
  29010. PlayerData[playerid][pSavings] = 0;
  29011. PlayerData[playerid][pLevel] = 1;
  29012. PlayerData[playerid][pExp] = 0;
  29013. PlayerData[playerid][pPassAttempts] = 0;
  29014. PlayerData[playerid][pBrutallyWounded] = 0;
  29015. PlayerData[playerid][pPMText] = 0;
  29016. PlayerData[playerid][pPMing] = -1;
  29017. PlayerData[playerid][pSkin] = 264;
  29018. PlayerData[playerid][pMask] = 0;
  29019. PlayerData[playerid][pMasked] = 0;
  29020. PlayerData[playerid][pMaskID] = 200000+random(199991);
  29021. PlayerData[playerid][pMaskIDEx] = 40+random(59);
  29022. PlayerData[playerid][pSpectator] = -1;
  29023. PlayerData[playerid][pSpecVehicle] = -1;
  29024. PlayerData[playerid][pAjailed] = 0;
  29025. PlayerData[playerid][pAjailTime] = 0;
  29026. PlayerData[playerid][pMaxHealth] = 100;
  29027. PlayerData[playerid][pLastHealth] = 100.0;
  29028. PlayerData[playerid][pLastArmor] = 0;
  29029. PlayerData[playerid][pInsideApartment] = 0;
  29030. PlayerData[playerid][pInsidePNS] = 0;
  29031. PlayerData[playerid][pInsideDoor] = 0;
  29032. PlayerData[playerid][pInsideGarage] = 0;
  29033. PlayerData[playerid][pRenting] = 0;
  29034. PlayerData[playerid][pFaction] = 0;
  29035. PlayerData[playerid][pFactionRank] = 0;
  29036. PlayerData[playerid][pFactionChat] = 0;
  29037. PlayerData[playerid][pLegShot] = 0;
  29038. PlayerData[playerid][pFactionOffer] = 0;
  29039. PlayerData[playerid][pHasRadio] = 0;
  29040. PlayerData[playerid][pMainSlot] = 0;
  29041. PlayerData[playerid][pIP] = 0;
  29042. for(new i = 0; i < 5; i++){
  29043. PlayerData[playerid][pRadio][i] = 0;
  29044. PlayerData[playerid][pRadioSlot][i] = 0;
  29045. }
  29046. PlayerData[playerid][pPhone] = 36000+random(5999);
  29047. PlayerData[playerid][pHelper] = 0;
  29048. PlayerData[playerid][pDonator] = 0;
  29049. PlayerData[playerid][pOffAjail] = 0;
  29050. PlayerData[playerid][pOffAjailReason] = 0;
  29051. format(PlayerData[playerid][pCallsign], 60, "");
  29052. PlayerData[playerid][pHandcuff] = 0;
  29053. PlayerData[playerid][pAllowedFrisk] = -1;
  29054. PlayerData[playerid][pFrisking] = -1;
  29055. PlayerData[playerid][pFriskRequest] = -1;
  29056. PlayerData[playerid][pTaser] = 0;
  29057. PlayerData[playerid][pRubberbullet] = 0;
  29058. PlayerData[playerid][pWeaponsGiven] = 0;
  29059. PlayerData[playerid][pPlayTime] = 0;
  29060. PlayerData[playerid][pHoursPlayed] = 0;
  29061. PlayerData[playerid][pPaycheck] = 500;
  29062. PlayerData[playerid][pChatstyle] = 0;
  29063. PlayerData[playerid][pWalkstyle] = 0;
  29064. PlayerData[playerid][pCalling] = 0;
  29065. PlayerData[playerid][pPhoneline] = INVALID_PLAYER_ID;
  29066. PlayerData[playerid][pPhoneOff] = 0;
  29067. PlayerData[playerid][pWorkOn] = 0;
  29068. PlayerData[playerid][pBlindfolded] = 0;
  29069. format(PlayerData[playerid][plastCommand], 128, "None");
  29070. PlayerData[playerid][pDriversLicense] = 0;
  29071. PlayerData[playerid][pWeaponsLicense] = 0;
  29072. PlayerData[playerid][pGender] = 1;
  29073. PlayerData[playerid][pAutoLow] = 0;
  29074. PlayerData[playerid][pSpawnSelect] = 0;
  29075. PlayerData[playerid][pSpawnHouse] = 0;
  29076. PlayerData[playerid][pCrashed] = 0;
  29077. _taking_license_test[playerid] = 0;
  29078. _taking_license_point[playerid] = 0;
  29079. _taking_license_vehicle[playerid] = 0;
  29080. _taking_license_time[playerid] = 0;
  29081. _respawn_timer[playerid] = 0;
  29082. _has_vehicle_spawned[playerid] = 0;
  29083. _has_spawned_vehicleid[playerid] = 0;
  29084. PlayerData[playerid][pSWATduty] = 0;
  29085. PlayerData[playerid][pTogDeath] = 0;
  29086. for(new i = 1; i < MAX_PLAYER_NOTES; i++){
  29087. NoteData[playerid][i][NoteID] = 0;
  29088. NoteData[playerid][i][NotePlayerSQLID] = 0;
  29089. NoteData[playerid][i][NoteSQLID] = 0;
  29090. format(NoteData[playerid][i][NoteDetail], 128, " ");
  29091. }
  29092. PlayerData[playerid][pEnterVehicle] = 0;
  29093. PlayerData[playerid][pTraceNum] = INVALID_PLAYER_ID;
  29094. PlayerData[playerid][pIsTracing] = false;
  29095. PlayerData[playerid][pAtDealership] = false;
  29096. PlayerData[playerid][p911Steps] = 0;
  29097. format(PlayerData[playerid][p911Text], 128, " ");
  29098. format(PlayerData[playerid][p911Location], 128, " ");
  29099. PlayerData[playerid][pTogColor] = 0;
  29100. PlayerData[playerid][pEditingFurniture] = false;
  29101. PlayerData[playerid][pEditingDuplicate] = 0;
  29102. for(new i = 0; i < MAX_GRANT_BUILD; i++){
  29103. BuildData[playerid][i][GrantedSQLID] = 0;
  29104. }
  29105. PlayerData[playerid][pFurnitureDuplicate] = INVALID_OBJECT_ID;
  29106. PlayerData[playerid][pAddingXMR] = false;
  29107. PlayerData[playerid][pXMRObject] = 0;
  29108. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  29109. {
  29110. aNotesData[playerid][i][anote_SQLID] = 0;
  29111. }
  29112. PlayerData[playerid][pBuyingClothing] = false;
  29113. format(PlayerData[playerid][pClothingName], 90, " ");
  29114. PlayerData[playerid][pEditingClothing] = false;
  29115. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  29116. {
  29117. ClothingData[playerid][i][attachment_SQLID] = 0;
  29118. if(IsPlayerAttachedObjectSlotUsed(playerid, i))
  29119. {
  29120. RemovePlayerAttachedObject(playerid, i);
  29121. }
  29122. }
  29123. PlayerData[playerid][pEditingXMR] = false;
  29124. PlayerData[playerid][pPlayingAnimation] = false;
  29125. format(PlayerData[playerid][pAdminMsg], 128, " ");
  29126. format(PlayerData[playerid][pAdminMsgBy], 60, " ");
  29127. format(PlayerData[playerid][pSecretWord], 128, " ");
  29128. for(new i = 1; i < MAX_WEAPON_PACKAGES; i++) {
  29129. PackageData[playerid][packageWeapon][i] = 0;
  29130. PackageData[playerid][packageAmmo][i] = 0;
  29131. }
  29132. format(PlayerData[playerid][pHWID], 60, " ");
  29133. for(new i = 0; i < 30; i++)
  29134. {
  29135. PlayerChatLogs[playerid][i] = "";
  29136. PlayerCommandLogs[playerid][i] = "";
  29137. }
  29138. ResetDisplayPositions(playerid);
  29139. PlayerData[playerid][pHasBoombox] = false;
  29140. EditingBoombox[playerid] = false;
  29141. sprayPermission[playerid] = false;
  29142. sprayingGraffiti[playerid] = false;
  29143. sprayingGraffitiTime[playerid] = 0;
  29144. saveSprayingTime[playerid] = 0;
  29145. PlayerData[playerid][pCarryingMeal] = false;
  29146. MealMenu[playerid][mealExists] = false;
  29147. PlayerData[playerid][pPlacingMeal] = false;
  29148. PlayerData[playerid][pSkinMenu] = 1;
  29149. PlayerData[playerid][pSkinMenuOn] = false;
  29150. for(new i = 1; i < MAX_PLAYER_CONTACTS; i++)
  29151. {
  29152. ContactsData[playerid][i][contactID] = 0;
  29153. ContactsData[playerid][i][contactSQLID] = 0;
  29154. }
  29155. PlayerData[playerid][pUnscrambling] = false;
  29156. PlayerData[playerid][pUnscrambleID] = 0;
  29157. PlayerData[playerid][pUnscramblerTime] = 0;
  29158. PlayerData[playerid][pScrambleFailed] = 0;
  29159. PlayerData[playerid][pScrambleSuccess] = 0;
  29160. PlayerData[playerid][pPauseWepAC] = 0;
  29161. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++)
  29162. {
  29163. Weapon[playerid][i][eWeaponAmmo] = 0;
  29164. Weapon[playerid][i][eWeaponID] = 0;
  29165. Weapon[playerid][i][eWeaponSaveable] = false;
  29166. Weapon[playerid][i][eWeaponGivenBy] = 0;
  29167. Weapon[playerid][i][eWeaponCCW] = false;
  29168. Weapon[playerid][i][eWeaponSerial] = -1;
  29169. }
  29170. PlayerData[playerid][pPauseTime] = 0;
  29171. PlayerTutorial[playerid] = 0;
  29172. PlayerTutorialStep[playerid] = 0;
  29173. PlayerPassword[playerid] = "";
  29174. PlayerData[playerid][pBurnerPhoneOff] = false;
  29175. PlayerData[playerid][pUsingBurner] = false;
  29176. PlayerData[playerid][pHasBurnerPhone] = false;
  29177. //MainPhone[playerid] = 0;
  29178. ClearPlayerOrder(playerid);
  29179. PlayerData[playerid][pWepOrderRestricted] = false;
  29180. StartedTruckerMission[playerid] = false;
  29181. TruckerMissionVehicle[playerid] = INVALID_VEHICLE_ID;
  29182. SpawnedTrailer[playerid] = false;
  29183. TrailerID[playerid] = INVALID_VEHICLE_ID;
  29184. TruckerMissionPoint[playerid] = 0;
  29185. TruckerMissionStep[playerid] = 0;
  29186. TruckerJobEarnings[playerid] = 0;
  29187. TrailerAttachTime[playerid] = 0;
  29188. TruckerJobDeliveryCount[playerid] = 0;
  29189. TruckerJobExitCount[playerid] = 0;
  29190. StartedTaxiJob[playerid] = false;
  29191. TaxiFairStarted[playerid] = 0;
  29192. TaxiDriver[playerid] = 0;
  29193. TaxiDuration[playerid] = 0;
  29194. TaxiPrice[playerid] = 0;
  29195. InTaxiRide[playerid] = 0;
  29196. TaxiFair[playerid] = 0;
  29197. TaxiTotalFair[playerid] = 0;
  29198. for(new i = 0; i < 30; i++)
  29199. {
  29200. Fines[playerid][i][Fine_ID] = 0;
  29201. }
  29202. PlayerData[playerid][pICJailTime] = 0;
  29203. PlayerData[playerid][pICJailed] = 0;
  29204. PlayerData[playerid][pICJailNotify] = 0;
  29205. PlayerData[playerid][pAddingRoadblock] = 0;
  29206. PlayerData[playerid][pInsideAmbulance] = 0;
  29207. PlayerConnectionTick[playerid] = 0;
  29208. //MainPhone[playerid] = 0;
  29209. PlayerTutorialStep[playerid] = 0;
  29210. KillTimer(PlayerTutorialTimer[playerid]);
  29211. format(PlayerPassword[playerid], 90, "");
  29212. VehicleOfferBy[playerid] = INVALID_PLAYER_ID;
  29213. VehicleOfferedTo[playerid] = INVALID_PLAYER_ID;
  29214. VehiclePrice[playerid] = 0;
  29215. VehicleDBIDOffered[playerid] = 0;
  29216. PlayerRefilling[playerid] = 0;
  29217. RefillPoint[playerid] = 0;
  29218. RefillPrice[playerid] = 0;
  29219. RefillAmount[playerid] = 0;
  29220. RefillVehicle[playerid] = 0;
  29221. PlayerData[playerid][pToggleConnects] = 0;
  29222. TaxiStage[playerid] = 0;
  29223. for(new i = 0; i < 2; i++) format(TaxiText[playerid][i], 128, "");
  29224. format(MechanicText[playerid], 128, "");
  29225. PlayerData[playerid][pLoudspeaker] = 0;
  29226. PlayerData[playerid][pLAWduty] = 0;
  29227. PlayerData[playerid][pMEDduty] = 0;
  29228. OfferedHireBy[playerid] = INVALID_PLAYER_ID;
  29229. OfferedHireTo[playerid] = INVALID_PLAYER_ID;
  29230. OfferedHireBusinessID[playerid] = 0;
  29231. PlayerData[playerid][pLastChat] = 0;
  29232. PlayerData[playerid][pLastCMDTime] = 0;
  29233. PlayerData[playerid][pLastEmoteTime] = 0;
  29234. totalDamages[playerid] = 0;
  29235. for(new i = 0; i < MAX_DAMAGES; i++)
  29236. {
  29237. DamageData[playerid][i][damageTaken] = 0;
  29238. DamageData[playerid][i][damageWeapon] = 0;
  29239. DamageData[playerid][i][damageBy] = 0;
  29240. }
  29241. for(new i = 0; i < MAX_PLAYERS; i++)
  29242. {
  29243. CanPMAdmin[playerid][i] = 0;
  29244. }
  29245. for(new i = 0; i < MAX_PLAYERS; i++)
  29246. {
  29247. WatchingDamages[playerid][i] = 0;
  29248. }
  29249. PlayerData[playerid][pNicksToggled] = 0;
  29250. PlayerVlogPage[playerid] = 0;
  29251. PlayerVlogVehicle[playerid] = 0;
  29252. DeathTimeNotice[playerid] = 0;
  29253. CanChangePassword[playerid] = 0;
  29254. OfflineBanName[playerid] = "";
  29255. OfflineJailName[playerid] = "";
  29256. OfflineJailTime[playerid] = 0;
  29257. AdminPanelName[playerid] = "";
  29258. for(new i = 1; i < MAX_ADMIN_NOTES; i++) AdminNoteSelect[playerid][i] = 0;
  29259. AdminNoteSelected[playerid] = 0;
  29260. AdminNoteIssuer[playerid] = "";
  29261. PlayerPlacingInVehicle[playerid] = 0;
  29262. PlayerPlacingWeapon[playerid] = 0;
  29263. PlayerEditingWeapon[playerid] = 0;
  29264. PlayerPlacingWeaponSlot[playerid] = 0;
  29265. PlayerPlacingWeaponID[playerid] = 0;
  29266. PlayerPlacingWeaponAmmo[playerid] = 0;
  29267. PlayerBreakInVehicle[playerid] = INVALID_VEHICLE_ID;
  29268. PlayerBreakingIn[playerid] = 0;
  29269. BreakInError[playerid] = 0;
  29270. BreakInLevel[playerid] = 0;
  29271. ActiveLockTD[playerid] = 0;
  29272. PlayerData[playerid][pDCToggled] = 0;
  29273. PlayerData[playerid][pHUDToggled] = 0;
  29274. PlayerData[playerid][pHUD] = 0;
  29275. PlayerData[playerid][pFightstyle] = 0;
  29276. PlayerListShow[playerid] = 0;
  29277. DeletePVar(playerid, "Viewing_OwnedCarList");
  29278. DeletePVar(playerid, "RequestedNC");
  29279. DeletePVar(playerid, "RequestedNCName");
  29280. DeletePVar(playerid, "RequestedNCTime");
  29281. DeletePVar(playerid, "DuplicateKey");
  29282. ClearGraffitiVars(playerid);
  29283. DeletePVar(playerid, "SelectedRank");
  29284. DeletePVar(playerid, "ViewingCrateContent");
  29285. DeletePVar(playerid, "ViewingWarehouseMenu");
  29286. gPlayerInsideEntrance[playerid] = -1;
  29287. gOpeningCrate[playerid] = -1;
  29288. for(new i; i < 3; i++) gOpeningCratePos[playerid][i] = 0.0;
  29289. gCrateOpenIntervals[playerid] = 0;
  29290. gHidingFactionTimer[playerid] = 0;
  29291. PlayerData[playerid][pTransferDrug] = -1;
  29292. PlayerData[playerid][pTransferQuantity] = 0.0;
  29293. for (new i = 0; i < 10; i++) PlayerData[playerid][pTransferList][i] = -1;
  29294. PlayerData[playerid][pDrugEffect] = -1;
  29295. PlayerData[playerid][pDrugTime] = 0;
  29296. PlayerData[playerid][pDrugStrength] = 0;
  29297. PlayerData[playerid][pAdjustPackage] = -1;
  29298. PlayerData[playerid][pTackle] = false;
  29299. MicPerms[playerid] = 0;
  29300. /*PlayerAwaitingRegistration[playerid] = false;
  29301. PlayerRegWait[playerid] = 0;
  29302. resetPlayerRegQuestions(playerid);
  29303. BeingReviewed[playerid] = -1;*/
  29304. return 1;
  29305. }
  29306. Server:DefaultVehicleValues(vehicleid)
  29307. {
  29308. CarData[vehicleid][carID] = 0;
  29309. CarData[vehicleid][carExists] = false;
  29310. CarData[vehicleid][carOwnerID] = 0;
  29311. CarData[vehicleid][carPos][0] = 0.0;
  29312. CarData[vehicleid][carPos][1] = 0.0;
  29313. CarData[vehicleid][carPos][2] = 0.0;
  29314. CarData[vehicleid][carPos][3] = 0.0;
  29315. CarData[vehicleid][carInterior] = 0;
  29316. CarData[vehicleid][carWorld] = 0;
  29317. CarData[vehicleid][carFuel] = 100;
  29318. CarData[vehicleid][carWindows] = false;
  29319. CarData[vehicleid][carLocked] = false;
  29320. CarData[vehicleid][carColor1] = 0;
  29321. CarData[vehicleid][carColor2] = 0;
  29322. CarData[vehicleid][carPaintjob] = -1;
  29323. for(new i = 1; i < 14; i++){
  29324. CarData[vehicleid][carMods][i] = -1;
  29325. }
  29326. CarData[vehicleid][carXMR] = 0;
  29327. CarData[vehicleid][carXMROn] = false;
  29328. CarData[vehicleid][carImpounded] = false;
  29329. CarData[vehicleid][carBattery] = 100.00;
  29330. CarData[vehicleid][carEngine] = 100.00;
  29331. CarData[vehicleid][carLock] = 0;
  29332. CarData[vehicleid][carAlarm] = 0;
  29333. CarData[vehicleid][carInsurance] = 0;
  29334. CarData[vehicleid][carTimeDestroyed] = 0;
  29335. CarData[vehicleid][carImmob] = 1;
  29336. for(new i = 1; i < 5; i++){
  29337. CarData[vehicleid][carWeapons][i] = 0;
  29338. CarData[vehicleid][carWeaponsAmmo][i] = 0;
  29339. SlotBeingUsed[vehicleid][i] = 0;
  29340. }
  29341. for(new i = 1; i < 20; i++){
  29342. CarData[vehicleid][carPackages][i] = 0;
  29343. CarData[vehicleid][carPackagesAmmo][i] = 0;
  29344. }
  29345. for(new i = 0; i < 30; i++)
  29346. {
  29347. VehicleFines[vehicleid][i][Fine_ID] = 0;
  29348. VehicleFines[vehicleid][i][Fine_Amount] = 0;
  29349. }
  29350. for(new i = 0; i < 10; i++)
  29351. {
  29352. CarDrugData[vehicleid][i][drugPackage] = 0;
  29353. CarDrugData[vehicleid][i][drugType] = 0;
  29354. CarDrugData[vehicleid][i][drugQuantity] = 0.0;
  29355. CarDrugData[vehicleid][i][drugStrength] = 0;
  29356. }
  29357. CarData[vehicleid][carlastDriver] = -1;
  29358. CarData[vehicleid][carlastPassenger] = -1;
  29359. return true;
  29360. }
  29361. Server:ShowLoginDialog(playerid, error[])
  29362. {
  29363. if(pLoggedIn[playerid])return true;
  29364. if(!strmatch(error, "")) {
  29365. SendClientMessage(playerid, COLOR_ADM, error);
  29366. }
  29367. //ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Welcome to San Andreas '92 Singleplayer Roleplay", "SERVER: You have 60 seconds to login!\nTIP: Please report all bugs that you\nmay have found to development.\n\n Enter Your Password:", "Login", "Cancel");
  29368. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}San Andreas '92 Roleplay {FF0000}", "{FFFFFF}Welcome to San Andreas '92 Roleplay\nThis account is already in use on our server.\n\nPlease input your password below in order to loginn\n Password:", "Login", "");
  29369. PlayerData[playerid][pLogintime]++;
  29370. /// DELETE THESE IF NOT WORKING BELOW V
  29371. TogglePlayerSpectating(playerid, false);
  29372. SetPlayerPos(playerid, 2862.5293,-2125.0662,2.6053);
  29373. TogglePlayerSpectating(playerid, true);
  29374. SetPlayerCameraPos(playerid, 2900.4119,-2125.7310,2.9535);
  29375. SetPlayerCameraLookAt(playerid, 2870.9690,-2125.0227,4.8737, CAMERA_CUT);
  29376. return true;
  29377. }
  29378. Server:ShowRegisterDialog(playerid, error[])
  29379. {
  29380. if(pLoggedIn[playerid]) return true;
  29381. if(!strmatch(error, "")){
  29382. SendClientMessage(playerid, COLOR_ADM, error);
  29383. }
  29384. //ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Welcome to San Andreas '92 Singleplayer Roleplay", "SERVER: You have 60 seconds to register!\nTIP: Using a strong password will\nkeep your account secure.\n\n Enter New Password:", "Register", "Cancel");
  29385. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FFFFFF}San Andreas '92 {FF0000}Sinegleplayer", "{FFFFFF}Welcome to San Andreas '92 Singleplayer Roleplay\nThis character name is not registered upon the server\n\nPlease input a desired strong password below to continue. \n\n Enter New Password:", "Register", "");
  29386. // DELETE IF NOT WORKING BELOW V
  29387. TogglePlayerSpectating(playerid, false);
  29388. SetPlayerPos(playerid, 2862.5293,-2125.0662,2.6053);
  29389. TogglePlayerSpectating(playerid, true);
  29390. SetPlayerCameraPos(playerid, 2900.4119,-2125.7310,2.9535);
  29391. SetPlayerCameraLookAt(playerid, 2870.9690,-2125.0227,4.8737, CAMERA_CUT);
  29392. return true;
  29393. }
  29394. Server:LoadPlayerData(playerid)
  29395. {
  29396. new
  29397. query[256];
  29398. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM players WHERE id = %i LIMIT 1", PlayerData[playerid][pSQLID]);
  29399. mysql_pquery(m_Handle, query, "SQL_LoadPlayerData", "i", playerid);
  29400. printf("[DEBUG] Callback 'LoadPlayerData' called for %s", ReturnName(playerid));
  29401. return true;
  29402. }
  29403. Server:SQL_LoadPlayerData(playerid)
  29404. {
  29405. if(pLoggedIn[playerid] == true)
  29406. {
  29407. new
  29408. str[128];
  29409. format(str, sizeof(str), "%s was kicked for possibly exploiting account data.", ReturnName(playerid));
  29410. adminWarn(1, str);
  29411. printf("[DEBUG] %s was kicked with callback `SQL_LoadPlayerData` error.", ReturnName(playerid));
  29412. SendClientMessage(playerid, COLOR_ADM, "-> An error occurred with your account. Contact a developer with this message.");
  29413. KickEx(playerid);
  29414. return 1;
  29415. }
  29416. pLoggedIn[playerid] = true;
  29417. TogglePlayerSpectating(playerid, false);
  29418. cache_get_value_name_int(0, "AdminLevel", PlayerData[playerid][pAdmin]);
  29419. cache_get_value_name_int(0, "Money", PlayerData[playerid][pMoney]);
  29420. cache_get_value_name_int(0, "Level", PlayerData[playerid][pLevel]);
  29421. cache_get_value_name_int(0, "Exp", PlayerData[playerid][pExp]);
  29422. cache_get_value_name_float(0, "LastX", PlayerData[playerid][pPos][0]);
  29423. cache_get_value_name_float(0, "LastY", PlayerData[playerid][pPos][1]);
  29424. cache_get_value_name_float(0, "LastZ", PlayerData[playerid][pPos][2]);
  29425. cache_get_value_name_float(0, "LastRot", PlayerData[playerid][pPos][3]);
  29426. cache_get_value_name_int(0, "Interior", PlayerData[playerid][pInterior]);
  29427. cache_get_value_name_int(0, "World", PlayerData[playerid][pWorld]);
  29428. cache_get_value_name_int(0, "Skin", PlayerData[playerid][pSkin]);
  29429. cache_get_value_name_int(0, "MaskID", PlayerData[playerid][pMaskID]);
  29430. cache_get_value_name_int(0, "MaskIDEx", PlayerData[playerid][pMaskIDEx]);
  29431. cache_get_value_name_int(0, "Bank", PlayerData[playerid][pBank]);
  29432. cache_get_value_name_int(0, "Savings", PlayerData[playerid][pSavings]);
  29433. cache_get_value_name_int(0, "Adminjailed", PlayerData[playerid][pAjailed]);
  29434. cache_get_value_name_int(0, "AjailTime", PlayerData[playerid][pAjailTime]);
  29435. cache_get_value_name_int(0, "MaxHealth", PlayerData[playerid][pMaxHealth]);
  29436. cache_get_value_name_int(0, "Renting", PlayerData[playerid][pRenting]);
  29437. cache_get_value_name_int(0, "Faction", PlayerData[playerid][pFaction]);
  29438. cache_get_value_name_int(0, "FactionRank", PlayerData[playerid][pFactionRank]);
  29439. cache_get_value_name_int(0, "HasRadio", PlayerData[playerid][pHasRadio]);
  29440. cache_get_value_name_int(0, "MainSlot", PlayerData[playerid][pMainSlot]);
  29441. cache_get_value_name_int(0, "Chatstyle", PlayerData[playerid][pChatstyle]);
  29442. new str[256];
  29443. for(new i = 1; i < MAX_OWNED_CARS; i++){
  29444. format(str, sizeof(str), "OwnedCar%d", i);
  29445. cache_get_value_name_int(0, str, PlayerData[playerid][pOwnedCar][i - 1]);
  29446. }
  29447. for(new i = 0; i < 5; i++){
  29448. format(str, sizeof(str), "Radio%d", i+1);
  29449. cache_get_value_name_int(0, str, PlayerData[playerid][pRadio][i]);
  29450. format(str, sizeof(str), "Slot%d", i+1);
  29451. cache_get_value_name_int(0, str, PlayerData[playerid][pRadioSlot][i]);
  29452. }
  29453. cache_get_value_name_int(0, "Phone", PlayerData[playerid][pPhone]);
  29454. cache_get_value_name_int(0, "Donator", PlayerData[playerid][pDonator]);
  29455. cache_get_value_name_int(0, "Helper", PlayerData[playerid][pHelper]);
  29456. cache_get_value_name_int(0, "OfflineAjail", PlayerData[playerid][pOffAjail]);
  29457. cache_get_value_name(0, "OfflineAjailReason", PlayerData[playerid][pOffAjailReason], 128);
  29458. cache_get_value_name_int(0, "HoursPlayed", PlayerData[playerid][pHoursPlayed]);
  29459. cache_get_value_name_int(0, "Paycheck", PlayerData[playerid][pPaycheck]);
  29460. cache_get_value_name_int(0, "PhoneOff", PlayerData[playerid][pPhoneOff]);
  29461. cache_get_value_name_int(0, "InsideApartment", PlayerData[playerid][pInsideApartment]);
  29462. cache_get_value_name_int(0, "InsideHouse", PlayerData[playerid][pInsideHouse]);
  29463. cache_get_value_name_int(0, "InsideComplex", PlayerData[playerid][pInsideComplex]);
  29464. cache_get_value_name_int(0, "InsideGarage", PlayerData[playerid][pInsideGarage]);
  29465. cache_get_value_name_int(0, "InsideBusiness", PlayerData[playerid][pInsideBusiness]);
  29466. cache_get_value_name_int(0, "WorkOn", PlayerData[playerid][pWorkOn]);
  29467. cache_get_value_name_int(0, "DriversLicense", PlayerData[playerid][pDriversLicense]);
  29468. cache_get_value_name_int(0, "WeaponsLicense", PlayerData[playerid][pWeaponsLicense]);
  29469. cache_get_value_name_int(0, "Gender", PlayerData[playerid][pGender]);
  29470. cache_get_value_name_int(0, "SpawnSelect", PlayerData[playerid][pSpawnSelect]);
  29471. cache_get_value_name_int(0, "SpawnHouse", PlayerData[playerid][pSpawnHouse]);
  29472. cache_get_value_name_int(0, "Crashed", PlayerData[playerid][pCrashed]);
  29473. cache_get_value_name_int(0, "Playtime", PlayerData[playerid][pPlayTime]);
  29474. cache_get_value_name_int(0, "HasCarSpawned", _has_vehicle_spawned[playerid]);
  29475. cache_get_value_name_int(0, "HasCarSpawnedID", _has_spawned_vehicleid[playerid]);
  29476. cache_get_value_name(0, "AdminMessage", PlayerData[playerid][pAdminMsg], 128);
  29477. cache_get_value_name(0, "AdminMessageBy", PlayerData[playerid][pAdminMsgBy], 60);
  29478. cache_get_value_name_int(0, "AdmMessageConfirm", PlayerData[playerid][pAdmMsgConfirm]);
  29479. cache_get_value_name_int(0, "UpgradePoints", PlayerData[playerid][pUpgradePoints]);
  29480. cache_get_value_name_int(0, "Job", PlayerData[playerid][pJob]);
  29481. cache_get_value_name_int(0, "Sidejob", PlayerData[playerid][pSidejob]);
  29482. cache_get_value_name_int(0, "JobLevel", PlayerData[playerid][pJobLevel]);
  29483. cache_get_value_name_int(0, "SidejobLevel", PlayerData[playerid][pSidejobLevel]);
  29484. cache_get_value_name(0, "LastConnection", PlayerData[playerid][pLastConnect], 60);
  29485. cache_get_value_name_int(0, "LastConnectLength", PlayerData[playerid][pLastConnectTime]);
  29486. cache_get_value_name(0, "HWID", PlayerData[playerid][pHWID], 60);
  29487. cache_get_value_name_float(0, "LastHealth", PlayerData[playerid][pLastHealth]);
  29488. cache_get_value_name_float(0, "LastArmor", PlayerData[playerid][pLastArmor]);
  29489. cache_get_value_name_int(0, "ActiveListing", PlayerData[playerid][pActiveListing]);
  29490. cache_get_value_name_int(0, "JailTimes", PlayerData[playerid][pJailTimes]);
  29491. cache_get_value_name_int(0, "PrisonTimes", PlayerData[playerid][pPrisonTimes]);
  29492. cache_get_value_name_int(0, "HasBurnerPhone", PlayerData[playerid][pHasBurnerPhone]);
  29493. cache_get_value_name_int(0, "BurnerPhoneNumber", PlayerData[playerid][pBurnerPhoneNumber]);
  29494. cache_get_value_name_int(0, "OrderWeaponRestricted", PlayerData[playerid][pWepOrderRestricted]);
  29495. cache_get_value_name_int(0, "OrderWeaponTime", OrderWeaponTime[playerid]);
  29496. cache_get_value_name_int(0, "ICJailTime", PlayerData[playerid][pICJailTime]);
  29497. cache_get_value_name_int(0, "ICJailed", PlayerData[playerid][pICJailed]);
  29498. cache_get_value_name_int(0, "Cigarettes", PlayerData[playerid][pCigarettes]);
  29499. cache_get_value_name_int(0, "Drinks", PlayerData[playerid][pDrinks]);
  29500. cache_get_value_name(0, "ForumName", PlayerData[playerid][pForumName], 60);
  29501. cache_get_value_name_int(0, "SpawnPrecinct", PlayerData[playerid][pSpawnPrecinct]);
  29502. cache_get_value_name_int(0, "Walkstyle", PlayerData[playerid][pWalkstyle]);
  29503. cache_get_value_name_int(0, "BrutallyWounded", PlayerData[playerid][pBrutallyWounded]);
  29504. cache_get_value_name_int(0, "DCToggle", PlayerData[playerid][pDCToggled]);
  29505. cache_get_value_name_int(0, "HUD", PlayerData[playerid][pHUD]);
  29506. cache_get_value_name_int(0, "HUDToggled", PlayerData[playerid][pHUDToggled]);
  29507. cache_get_value_name_int(0, "Fightstyle", PlayerData[playerid][pFightstyle]);
  29508. if(PlayerData[playerid][pCrashed])
  29509. {
  29510. new cTime;
  29511. cache_get_value_name_int(0, "pCrashTime", cTime);
  29512. SetPVarInt(playerid, "pCrashTime", cTime);
  29513. cache_get_value_name_int(0, "pCopDuty", PlayerData[playerid][pLAWduty]);
  29514. cache_get_value_name_int(0, "pSWATDuty", PlayerData[playerid][pSWATduty]);
  29515. if(PlayerData[playerid][pLAWduty] || PlayerData[playerid][pSWATduty])
  29516. {
  29517. if(gettime() - GetPVarInt(playerid, "pCrashTime") <= 300)
  29518. {
  29519. format(str, sizeof(str), "** HQ: %s %s is now back On Duty! (( Connection lost ))", ReturnRank(playerid), ReturnName(playerid));
  29520. SendLawMessage(COLOR_COP, str);
  29521. }
  29522. }
  29523. }
  29524. for(new i = 1; i < MAX_WEAPON_PACKAGES; i++) {
  29525. format(str, sizeof(str), "Package%d", i);
  29526. cache_get_value_name_int(0, str, PackageData[playerid][packageWeapon][i]);
  29527. format(str, sizeof(str), "Package%dA", i);
  29528. cache_get_value_name_int(0, str, PackageData[playerid][packageAmmo][i]);
  29529. }
  29530. if (!PlayerData[playerid][pMaskID])
  29531. PlayerData[playerid][pMaskID] = 200000+random(199991);
  29532. if (!PlayerData[playerid][pMaskIDEx])
  29533. PlayerData[playerid][pMaskIDEx] = 40+random(59);
  29534. if (!PlayerData[playerid][pPhone])
  29535. PlayerData[playerid][pPhone] = 94000+random(6999);
  29536. if (!PlayerData[playerid][pBurnerPhoneNumber])
  29537. PlayerData[playerid][pBurnerPhoneNumber] = 36000+random(6999);
  29538. SetPlayerColor(playerid, COLOR_WHITE);
  29539. SetPlayerScore(playerid, PlayerData[playerid][pLevel]);
  29540. ResetPlayerMoney(playerid);
  29541. GivePlayerMoney(playerid, PlayerData[playerid][pMoney]);
  29542. new query[90];
  29543. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `player_notes` WHERE playersqlid = %i", PlayerData[playerid][pSQLID]);
  29544. mysql_pquery(m_Handle, query, "SQL_LoadPlayerNotes", "i", playerid);
  29545. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `player_contacts` WHERE playersqlid = %i", PlayerData[playerid][pSQLID]);
  29546. mysql_pquery(m_Handle, query, "SQL_LoadPlayerContacts", "i", playerid);
  29547. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `player_anotes` WHERE player_dbid = %i", PlayerData[playerid][pSQLID]);
  29548. mysql_pquery(m_Handle, query, "SQL_LoadAdminNotes", "i", playerid);
  29549. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `player_clothing` WHERE player_dbid = %i", PlayerData[playerid][pSQLID]);
  29550. mysql_pquery(m_Handle, query, "SQL_LoadClothing", "i", playerid);
  29551. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `weapon_attachments` WHERE playerdbid = %i", PlayerData[playerid][pSQLID]);
  29552. mysql_pquery(m_Handle, query, "SQL_LoadAttachments", "i", playerid);
  29553. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `player_drugs` WHERE playersqlid = %i", PlayerData[playerid][pSQLID]);
  29554. mysql_pquery(m_Handle, query, "SQL_LoadPlayerDrugs", "i", playerid);
  29555. SetPlayerSpawn(playerid); format(PlayerData[playerid][pIP], 20, "%s", ReturnIP(playerid));
  29556. format(PlayerData[playerid][pHWID], 60, "%s", ReturnGPCI(playerid));
  29557. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM player_weapons WHERE player_dbid = %i AND weapon_id = 0 OR ammo = 0", PlayerData[playerid][pSQLID]);
  29558. mysql_pquery(m_Handle, query);
  29559. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM player_weapons WHERE player_dbid = %i", PlayerData[playerid][pSQLID]);
  29560. mysql_tquery(m_Handle, query, "OnLoadPlayerWeapons", "i", playerid);
  29561. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM player_fines WHERE player_dbid = %i", PlayerData[playerid][pSQLID]);
  29562. mysql_tquery(m_Handle, query, "LoadPlayerFines", "i", playerid);
  29563. printf("[CONNECTION] %s (DBID: %d) logged in. IP: %s", ReturnName(playerid, 1), PlayerData[playerid][pSQLID], ReturnIP(playerid));
  29564. return true;
  29565. }
  29566. Server:TracingSteps(playerid)
  29567. {
  29568. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated.");
  29569. SetTimerEx("TracingStepsTwo", 4000, false, "i", playerid);
  29570. PlayNearbySound(playerid, 1149);
  29571. }
  29572. Server:TracingStepsTwo(playerid)
  29573. {
  29574. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated..");
  29575. SetTimerEx("TracingStepsThree", 2000, false, "i", playerid);
  29576. PlayNearbySound(playerid, 1149);
  29577. }
  29578. Server:TracingStepsThree(playerid)
  29579. {
  29580. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated...");
  29581. SetTimerEx("TracingStepsFour", 4000, false, "i", playerid);
  29582. PlayNearbySound(playerid, 1149);
  29583. }
  29584. Server:TracingStepsFour(playerid)
  29585. {
  29586. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "Trace_Initiated....");
  29587. SetTimerEx("TracingStepsFive", 4000, false, "i", playerid);
  29588. PlayNearbySound(playerid, 1149);
  29589. }
  29590. Server:TracingStepsFive(playerid)
  29591. {
  29592. PlayerTextDrawSetString(playerid, Trace_PTD[playerid][0], "~g~Trace Completed!");
  29593. SetTimerEx("TracingStepsFinish", 2000, false, "i", playerid);
  29594. PlayNearbySound(playerid, 1149);
  29595. }
  29596. Server:TracingStepsFinish(playerid)
  29597. {
  29598. PlayerTextDrawHide(playerid, Trace_PTD[playerid][0]);
  29599. new tracing_num = PlayerData[playerid][pTraceNum], string[128], playerLocation[MAX_ZONE_NAME];
  29600. if(tracing_num == INVALID_PLAYER_ID) {
  29601. SendClientMessage(playerid, COLOR_ADM, "TRACE:{FFFFFF} The trace was unsuccessful. That number is out of reach.");
  29602. PlayerData[playerid][pIsTracing] = false;
  29603. return true;
  29604. }
  29605. if(PlayerData[tracing_num][pPhoneOff]) {
  29606. SendClientMessage(playerid, COLOR_ADM, "TRACE:{FFFFFF} The trace was unsuccessful. That number is out of reach.");
  29607. PlayerData[playerid][pIsTracing] = false;
  29608. return true;
  29609. }
  29610. GetPlayer2DZone(tracing_num, playerLocation, MAX_ZONE_NAME);
  29611. GetPlayerPos(tracing_num, PlayerData[tracing_num][pPos][0], PlayerData[tracing_num][pPos][1], PlayerData[tracing_num][pPos][2]);
  29612. if(PlayerData[playerid][pIsTracing] == 1) {
  29613. if(PlayerData[tracing_num][pInsideComplex]){
  29614. new incomp = PlayerData[tracing_num][pInsideComplex];
  29615. SetPlayerCheckpoint(playerid, PropertyData[incomp][propertyExterior][0], PropertyData[incomp][propertyExterior][1], PropertyData[incomp][propertyExterior][2], 4.0);
  29616. }
  29617. else if(PlayerData[tracing_num][pInsideApartment]){
  29618. new link = PropertyData[PlayerData[tracing_num][pInsideApartment]][propertyComplexLink];
  29619. SetPlayerCheckpoint(playerid, PropertyData[link][propertyExterior][0], PropertyData[link][propertyExterior][1], PropertyData[link][propertyExterior][2], 4.0);
  29620. }
  29621. else if(PlayerData[tracing_num][pInsideHouse]){
  29622. new inhous = PlayerData[tracing_num][pInsideHouse];
  29623. SetPlayerCheckpoint(playerid, PropertyData[inhous][propertyExterior][0], PropertyData[inhous][propertyExterior][1], PropertyData[inhous][propertyExterior][2], 4.0);
  29624. }
  29625. else if(PlayerData[tracing_num][pInsideBusiness]){
  29626. new inbiz = PlayerData[tracing_num][pInsideBusiness];
  29627. SetPlayerCheckpoint(playerid, BusinessData[inbiz][businessExt][0], BusinessData[inbiz][businessExt][1], BusinessData[inbiz][businessExt][2], 4.0);
  29628. }
  29629. else if(PlayerData[tracing_num][pInsideGarage]){
  29630. new ingar = PlayerData[tracing_num][pInsideGarage];
  29631. SetPlayerCheckpoint(playerid, GarageData[ingar][garagePos][0], GarageData[ingar][garagePos][1], GarageData[ingar][garagePos][2], 4.0);
  29632. }
  29633. else{
  29634. SetPlayerCheckpoint(playerid, PlayerData[tracing_num][pPos][0], PlayerData[tracing_num][pPos][1], PlayerData[tracing_num][pPos][2], 4.0);
  29635. }
  29636. format(string, sizeof(string), "TRACE:{FFFFFF} Trace was successful... Location : %s. Follow marker to target.", playerLocation);
  29637. SendClientMessage(playerid, COLOR_ADM, string);
  29638. }
  29639. else if(PlayerData[playerid][pIsTracing] == 2) {
  29640. foreach(new i : Player) {
  29641. if(i == playerid)
  29642. continue;
  29643. else if(PlayerData[i][pFaction] == PlayerData[playerid][pFaction] && PlayerData[playerid][pLAWduty]){
  29644. if(PlayerData[tracing_num][pInsideComplex]){
  29645. new incomp = PlayerData[tracing_num][pInsideComplex];
  29646. SetPlayerCheckpoint(i, PropertyData[incomp][propertyExterior][0], PropertyData[incomp][propertyExterior][1], PropertyData[incomp][propertyExterior][2], 4.0);
  29647. }
  29648. else if(PlayerData[tracing_num][pInsideApartment]){
  29649. new link = PropertyData[PlayerData[tracing_num][pInsideApartment]][propertyComplexLink];
  29650. SetPlayerCheckpoint(i, PropertyData[link][propertyExterior][0], PropertyData[link][propertyExterior][1], PropertyData[link][propertyExterior][2], 4.0);
  29651. }
  29652. else if(PlayerData[tracing_num][pInsideHouse]){
  29653. new inhous = PlayerData[tracing_num][pInsideHouse];
  29654. SetPlayerCheckpoint(i, PropertyData[inhous][propertyExterior][0], PropertyData[inhous][propertyExterior][1], PropertyData[inhous][propertyExterior][2], 4.0);
  29655. }
  29656. else if(PlayerData[tracing_num][pInsideBusiness]){
  29657. new inbiz = PlayerData[tracing_num][pInsideBusiness];
  29658. SetPlayerCheckpoint(i, BusinessData[inbiz][businessExt][0], BusinessData[inbiz][businessExt][1], BusinessData[inbiz][businessExt][2], 4.0);
  29659. }
  29660. else if(PlayerData[tracing_num][pInsideGarage]){
  29661. new ingar = PlayerData[tracing_num][pInsideGarage];
  29662. SetPlayerCheckpoint(i, GarageData[ingar][garagePos][0], GarageData[ingar][garagePos][1], GarageData[ingar][garagePos][2], 4.0);
  29663. }
  29664. else{
  29665. SetPlayerCheckpoint(i, PlayerData[tracing_num][pPos][0], PlayerData[tracing_num][pPos][1], PlayerData[tracing_num][pPos][2], 4.0);
  29666. }
  29667. format(string, sizeof(string), "TRACE:{FFFFFF} A marker has appeared on your screen from faction wide trace... Location : %s", playerLocation);
  29668. SendClientMessage(i, COLOR_ADM, string);
  29669. format(string, sizeof(string), "TRACE:{FFFFFF} Trace originated from %s", ReturnName(playerid, 0));
  29670. SendClientMessage(i, COLOR_ADM, string);
  29671. }
  29672. }
  29673. SetPlayerCheckpoint(playerid, PlayerData[tracing_num][pPos][0], PlayerData[tracing_num][pPos][1], PlayerData[tracing_num][pPos][2], 4.0);
  29674. format(string, sizeof(string), "TRACE:{FFFFFF} Trace was successful... Location : %s. Follow marker to target.", playerLocation);
  29675. SendClientMessage(playerid, COLOR_ADM, string);
  29676. }
  29677. PlayerData[playerid][pIsTracing] = false;
  29678. return true;
  29679. }
  29680. Server:CallingEmergencyServices(playerid)
  29681. {
  29682. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They picked up. You can talk now by using the chat box.");
  29683. PlayerData[playerid][p911CallTimer][1] = SetTimerEx("CallingEmergencyServices_Two", 1500, false, "i", playerid);
  29684. return true;
  29685. }
  29686. Server:CallingEmergencyServices_Two(playerid)
  29687. {
  29688. PlayerData[playerid][pPhoneline] = 911;
  29689. PlayerData[playerid][pCalling] = 0;
  29690. SendClientMessage(playerid, COLOR_YELLOW, "Dispatcher says: 911, what's your emergency? Police OR Fire?");
  29691. return true;
  29692. }
  29693. public OnPlayerSpawn(playerid)
  29694. {
  29695. GangZoneShowForPlayer(playerid, gsf, 0x00800096);
  29696. GangZoneShowForPlayer(playerid, sbf, 0x80FF0096);
  29697. GangZoneShowForPlayer(playerid, fyb, 0x80008096);
  29698. GangZoneShowForPlayer(playerid, vla, 0x00FFFF96);
  29699. GangZoneShowForPlayer(playerid, vla2, 0x00FFFF96);
  29700. GangZoneShowForPlayer(playerid, JB, 0x40008096);
  29701. GangZoneShowForPlayer(playerid, jb2, 0x40008096);
  29702. GangZoneShowForPlayer(playerid, jb3, 0x40008096);
  29703. GangZoneShowForPlayer(playerid, vagos, 0xFFFF0096);
  29704. GangZoneShowForPlayer(playerid, vagos2, 0xFFFF0096);
  29705. GangZoneShowForPlayer(playerid, TDF, 0x00804096);
  29706. GangZoneShowForPlayer(playerid, tdb, 0xFF00FF96);
  29707. PauseAntiCheat(playerid);
  29708. SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 899);
  29709. SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 0);
  29710. SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 0);
  29711. Streamer_Update(playerid);
  29712. SetPlayerTeam(playerid, STATE_ALIVE);
  29713. SetPlayerWeather(playerid, GlobalWeather);
  29714. if(PlayerData[playerid][pSpectator] == -1 && PlayerData[playerid][pSpecVehicle] == -1) ClearDamages(playerid);
  29715. for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++){
  29716. if(IsPlayerAttachedObjectSlotUsed(playerid, i)){
  29717. RemovePlayerAttachedObject(playerid, i);
  29718. }
  29719. }
  29720. if(PlayerData[playerid][pAjailed] == 1){
  29721. SendPlayer(playerid, 2578.929931, 2658.771728, 10.820312, 0, 1338);
  29722. ResetHouseVar(playerid);
  29723. }
  29724. else{
  29725. if(PlayerData[playerid][pBrutallyWounded]){
  29726. SendPlayer(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], PlayerData[playerid][pInterior], PlayerData[playerid][pWorld]);
  29727. SetBrutallyWounded(playerid, -1, -1);
  29728. }
  29729. else
  29730. {
  29731. if(PlayerData[playerid][pSpecVehicle] != -1 || PlayerData[playerid][pSpectator] != -1)
  29732. {
  29733. ReturnPlayerWeapons(playerid);
  29734. PlayerData[playerid][pSpecVehicle] = -1;
  29735. PlayerData[playerid][pSpectator] = -1;
  29736. ShowSpectatorTextdraw(playerid, true);
  29737. SetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  29738. SetPlayerVirtualWorld(playerid, PlayerData[playerid][pWorld]); SetPlayerInterior(playerid, PlayerData[playerid][pInterior]);
  29739. }
  29740. else
  29741. {
  29742. SetPlayerHealth(playerid, PlayerData[playerid][pLastHealth]);
  29743. SetPlayerArmour(playerid, PlayerData[playerid][pLastArmor]);
  29744. if(!PlayerData[playerid][pCrashed])
  29745. {
  29746. SpawnPlayerIn(playerid);
  29747. }
  29748. else
  29749. {
  29750. SendPlayer(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], PlayerData[playerid][pInterior], PlayerData[playerid][pWorld]);
  29751. PlayerData[playerid][pCrashed] = false;
  29752. GameTextForPlayer(playerid, "~r~Crashed~n~~w~Spawned at last location!", 4000, 1);
  29753. if(PlayerData[playerid][pLAWduty] || PlayerData[playerid][pSWATduty])
  29754. {
  29755. SetPlayerColor(playerid, COLOR_COP);
  29756. GivePlayerGun(playerid, 24, 100, WEAPON_SERVER_GIVEN);
  29757. GivePlayerGun(playerid, 3, 1, WEAPON_SERVER_GIVEN);
  29758. GivePlayerGun(playerid, 41, 350, WEAPON_SERVER_GIVEN);
  29759. }
  29760. }
  29761. }
  29762. }
  29763. }
  29764. return true;
  29765. }
  29766. public OnPlayerRequestClass(playerid, classid)
  29767. {
  29768. if(!pLoggedIn[playerid]){
  29769. TogglePlayerSpectating(playerid, 1);
  29770. SetPlayerCamera(playerid);
  29771. return 0;
  29772. }
  29773. else if(pLoggedIn[playerid]) {
  29774. SetSpawnInfo(playerid, 0, PlayerData[playerid][pSkin], 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
  29775. SpawnPlayer(playerid);
  29776. return 0;
  29777. }
  29778. else return 0;
  29779. }
  29780. public OnPlayerCommandReceived(playerid, cmdtext[])
  29781. {
  29782. if(pLoggedIn[playerid] == true)
  29783. {
  29784. printf("Player [%s] sent command: %s", ReturnName(playerid), cmdtext);
  29785. return 1;
  29786. }
  29787. else
  29788. {
  29789. SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You need to be logged in to use commands.");
  29790. printf("Player [%s] tried to send command: %s (During login, denied access)", ReturnName(playerid), cmdtext);
  29791. return 0;
  29792. }
  29793. }
  29794. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  29795. {
  29796. if(!success)
  29797. {
  29798. if(strlen(cmdtext) > 28) // Preventing long bad commands from returning default message;
  29799. SendClientMessage(playerid, COLOR_ADM, "SERVER: Sorry, that command doesn't exist. Use /help if you need assistance.");
  29800. else
  29801. Message(playerid, COLOR_ADM, "SERVER: Sorry, the command \"%s\" doesn't exist. Use /help if you need assistance.", cmdtext);
  29802. }
  29803. else
  29804. {
  29805. if(strcmp(cmdtext, "/la", true))
  29806. LogPlayerCommand(playerid, cmdtext);
  29807. PlayerData[playerid][pLastCMDTime] = gettime();
  29808. return 1;
  29809. }
  29810. return 1;
  29811. }
  29812. /*public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  29813. {
  29814. if(!success){
  29815. SendClientMessage(playerid, COLOR_WHITE, "{ADC3E7}Error: {FFFFFF}Sorry, that command does not exist. {ADC3E7}/help{FFFFFF} or {ADC3E7}/helpme{FFFFFF} if you're in need of assistance.");
  29816. }
  29817. else{
  29818. LogPlayerCommand(playerid, cmdtext);
  29819. return true;
  29820. }
  29821. return true;
  29822. }*/
  29823. Server:SetPlayerSpawn(playerid)
  29824. {
  29825. PauseAntiCheat(playerid);
  29826. if(PlayerData[playerid][pAjailed]){
  29827. SetSpawnInfo(playerid, 0, PlayerData[playerid][pSkin], 2578.929931, 2658.771728, 10.820312, 90, 0, 0, 0, 0, 0, 0);
  29828. SetPlayerVirtualWorld(playerid, playerid);
  29829. SetPlayerInterior(playerid, 0);
  29830. SpawnPlayer(playerid);
  29831. }
  29832. else
  29833. {
  29834. SetSpawnInfo(playerid, 0, PlayerData[playerid][pSkin], 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
  29835. SpawnPlayer(playerid);
  29836. //SetPlayerVirtualWorld(playerid, PlayerData[playerid][pWorld]);
  29837. //SetPlayerInterior(playerid, PlayerData[playerid][pInterior]);
  29838. SetPlayerWeather(playerid, GlobalWeather);
  29839. }
  29840. if(PlayerData[playerid][pOffAjail] == 1){
  29841. SendMessageToAll(COLOR_ADM, "AdmCmd: %s has been admin jailed by SYSTEM for %d minutes, reason: %s", ReturnName(playerid, 1), PlayerData[playerid][pAjailTime], PlayerData[playerid][pOffAjailReason]);
  29842. PlayerData[playerid][pAjailTime] = PlayerData[playerid][pAjailTime] * 60;
  29843. PlayerData[playerid][pOffAjail] = 0;
  29844. PlayerData[playerid][pAjailed] = 1;
  29845. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "OfflineAjail", 0);
  29846. SetSpawnInfo(playerid, 0, PlayerData[playerid][pSkin], 2578.929931, 2658.771728, 10.820312, 90, 0, 0, 0, 0, 0, 0);
  29847. SetPlayerVirtualWorld(playerid, playerid);
  29848. SetPlayerInterior(playerid, 0);
  29849. SpawnPlayer(playerid);
  29850. }
  29851. // DisplayTimer[playerid] = SetTimerEx("WeaponsUpdater", 1000, true, "i", playerid);
  29852. new string[128];
  29853. if(PlayerData[playerid][pAdmin]){
  29854. format(string, sizeof(string), "SERVER: You are logged in as a level %i admin", PlayerData[playerid][pAdmin]);
  29855. SendClientMessage(playerid, COLOR_WHITE, string);
  29856. PlayerData[playerid][pTogDeath] = true;
  29857. if(isnull(PlayerData[playerid][pForumName]))
  29858. {
  29859. ShowPlayerDialog(playerid, DIALOG_FORUM_NAME, DIALOG_STYLE_INPUT, "ADMIN FORUM NAME:", "{FFFF00}You're missing your forum name. As an admin, it's required to have one. Type in your forum name:", "Select", "Exit");
  29860. }
  29861. }
  29862. SetPlayerFightingStyle(playerid, PlayerData[playerid][pFightstyle]);
  29863. if(PlayerData[playerid][pMaxHealth] > 150)
  29864. PlayerData[playerid][pMaxHealth] = 150;
  29865. format(string, sizeof(string), "SERVER: Welcome %s", ReturnName(playerid, 0));
  29866. SendClientMessage(playerid, COLOR_WHITE, string);
  29867. format(string, sizeof(string), "~w~Welcome~n~~y~ %s", ReturnName(playerid, 0));
  29868. GameTextForPlayer(playerid, string, 1000, 1);
  29869. if (!isnull(PlayerData[playerid][pAdminMsg])) {
  29870. format (string, sizeof(string), "%s\n\nSent by: %s", PlayerData[playerid][pAdminMsg], PlayerData[playerid][pAdminMsgBy]);
  29871. ShowPlayerDialog(playerid, DIALOG_ADMIN_MSG, DIALOG_STYLE_MSGBOX, "Admin Message", string, "Understood", "");
  29872. }
  29873. if(_has_vehicle_spawned[playerid] && !IsValidVehicle(_has_spawned_vehicleid[playerid]))
  29874. {
  29875. _has_vehicle_spawned[playerid] = false;
  29876. }
  29877. if(_has_vehicle_spawned[playerid] && IsValidVehicle(_has_spawned_vehicleid[playerid]))
  29878. {
  29879. new vehicleid = _has_spawned_vehicleid[playerid];
  29880. if(!IsValidPlayerCar(vehicleid)) _has_vehicle_spawned[playerid] = false;
  29881. if(IsValidPlayerCar(vehicleid) && CarData[vehicleid][carOwnerID] != PlayerData[playerid][pSQLID]) _has_vehicle_spawned[playerid] = false;
  29882. }
  29883. PlayerLoginTick[playerid] = gettime();
  29884. return true;
  29885. }
  29886. Server:SQL_OnAccountConfirm(playerid)
  29887. {
  29888. new string[128];
  29889. if(cache_num_rows() == 0){
  29890. format(string, sizeof(string), "%s has been kicked during login. (Incorrect security word) Info logged.", ReturnName(playerid, 1));
  29891. adminWarn(1, string);
  29892. SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You entered a bad security word. This was logged for security reasons.");
  29893. KickEx(playerid);
  29894. return true;
  29895. }
  29896. cache_get_value_name_int(0, "id", PlayerData[playerid][pSQLID]);
  29897. LoadPlayerData(playerid);
  29898. SendClientMessage(playerid, COLOR_YELLOW, "Your connection to the server is now authenticated.");
  29899. return true;
  29900. }
  29901. Server:SQL_OnAccountLogin(playerid)
  29902. {
  29903. if(cache_num_rows() == 0){
  29904. ShowLoginDialog(playerid, "SERVER:{FFFFFF} The password you've entered is incorrect.");
  29905. PlayerData[playerid][pPassAttempts]++;
  29906. if(PlayerData[playerid][pPassAttempts] == 4){
  29907. SendClientMessage(playerid, COLOR_ADM, "SERVER:{FFFFFF} You were kicked for exceeding three password attempts.");
  29908. KickEx(playerid);
  29909. }
  29910. return true;
  29911. }
  29912. new secret_Word[128], accountIP[20];
  29913. cache_get_value_name(0, "SecretWord", secret_Word, 128);
  29914. cache_get_value_name(0, "IP", accountIP, 20);
  29915. if(isnull(secret_Word))
  29916. {
  29917. cache_get_value_name_int(0, "id", PlayerData[playerid][pSQLID]);
  29918. PlayerData[playerid][pLogintime] = 0;
  29919. ShowPlayerDialog(playerid, DIALOG_SECRET_WORD_CREATE, DIALOG_STYLE_PASSWORD,
  29920. "Welcome to San Andreas '92 Singleplayer Roleplay",
  29921. "SECURITY PRECAUTION:\n\nWe have introduced a SECRET CONFIRMATION CODE system to help protect user accounts. This is basically a word that will be presented if any connection conditions change.\n\nYou will have to remember this.\n\n{F81414}IT IS ADVISED THIS ISN'T YOUR PASSWORD.", "Enter", "Cancel");
  29922. return true;
  29923. }
  29924. if(strfind(ReturnIP(playerid), accountIP, true) == -1){
  29925. PlayerData[playerid][pLogintime] = 0;
  29926. new string[128];
  29927. format(string, sizeof(string), "%s was prompted with a secret word input during login.", ReturnName(playerid));
  29928. adminWarn(1, string);
  29929. ShowPlayerDialog(playerid, DIALOG_SECRET_WORD_ENTER, DIALOG_STYLE_PASSWORD,
  29930. "Welcome to San Andreas '92 Singleplayer Roleplay",
  29931. "{F81414}SECURITY PRECAUTION:{FFFFFF}\n\nOur system has flagged changes to your accounts connection conditions. To ensure there is no breach of security,\n\nPlease enter your {F81414}SECURITY CONFIRMATION CODE{FFFFFF} you selected during registration to login.", "Enter", "Cancel");
  29932. return true;
  29933. }
  29934. cache_get_value_name_int(0, "id", PlayerData[playerid][pSQLID]);
  29935. PlayerData[playerid][pLogintime] = 0;
  29936. GetPlayerIp(playerid, PlayerData[playerid][pIP], 20);
  29937. LoadPlayerData(playerid);
  29938. return true;
  29939. }
  29940. Server:SQL_OnAccountRegister(playerid)
  29941. {
  29942. PlayerTutorial[playerid] = 0;
  29943. Message(playerid, COLOR_GOLD, "* Your account (%s) is now registered. Welcome to San Andreas '92 Singleplayer Roleplay", ReturnName(playerid));
  29944. SendClientMessage(playerid, COLOR_GOLD, "Remember if there any questions or concerns to ask a staff member using \"/helpme\" or \"/report\". ");
  29945. ClearLines(playerid, 5);
  29946. printf("[DEBUG] %s completed the tutorial and registered an account", ReturnName(playerid));
  29947. PlayerData[playerid][pSQLID] = cache_insert_id();
  29948. //ShowPlayerDialog( playerid, REGISTER_SKIN, DIALOG_STYLE_INPUT, "Enter Skin ID:", "Hey, what skin ID do you want?\n\nEnter a numeric value below!", "Enter", "<<" );
  29949. ShowPlayerDialog(playerid, REGISTER_GENDER, DIALOG_STYLE_MSGBOX, "Gender", "What is your character's gender?", "Male", "Female");
  29950. LoadPlayerData(playerid);
  29951. SavePlayer(playerid);
  29952. return 1;
  29953. }
  29954. Server:GetDistanceBetweenPlayers(playerid, id, Float:distance)
  29955. {
  29956. new Float:x, Float:y, Float:z;
  29957. GetPlayerPos(playerid, x, y, z);
  29958. if(pLoggedIn[id] && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(id) && GetPlayerInterior(playerid) == GetPlayerInterior(id))
  29959. {
  29960. if(IsPlayerInRangeOfPoint(id, distance, x, y, z))
  29961. {
  29962. return true;
  29963. }
  29964. }
  29965. return false;
  29966. }
  29967. Server:KickTimer(playerid)
  29968. {
  29969. Kick(playerid);
  29970. return true;
  29971. }
  29972. Server:EndStream(playerid)
  29973. {
  29974. TogglePlayerControllable(playerid, 1);
  29975. return true;
  29976. }
  29977. Server:LoadingStream(playerid)
  29978. {
  29979. TogglePlayerControllable(playerid, 0);
  29980. return true;
  29981. }
  29982. Server:SaveFactionToDatabase(playerid)
  29983. {
  29984. new query[256];
  29985. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO factions (`Name`, `Abbreviation`) VALUES('%e', '%e')", FactionName, FactionAbbrev);
  29986. mysql_pquery(m_Handle, query, "SQL_SaveFactionToDB", "i", playerid);
  29987. return true;
  29988. }
  29989. Server:SaveDoorToDatabase(playerid)
  29990. {
  29991. new query[256];
  29992. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO doors (`PosX`, `PosY`, `PosZ`, `PosInterior`, `PosWorld`, `IntX`, `IntY`, `IntZ`, `IntA`, `IntInterior`, `IntWorld`, `Faction`) VALUES(%f, %f, %f, %i, %i, %f, %f, %f, %f, %i, %i, %i)",
  29993. Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2], Resources[playerid][extInteriorID], Resources[playerid][extWorld],
  29994. Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2], Resources[playerid][Interior][3], Resources[playerid][intInteriorID], Resources[playerid][intWorld], Resources[playerid][v_Faction]);
  29995. mysql_pquery(m_Handle, query, "SQL_CallDoorCreate", "i", playerid);
  29996. return true;
  29997. }
  29998. Server:SavePropertyGarageToDB(playerid)
  29999. {
  30000. new query[560];
  30001. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO property_garages (`PosX`, `PosY`, `PosZ`, `PosA`, `IntX`, `IntY`, `IntZ`, `InteriorID`, `InteriorWorld`, `Type`, `PropertyID`) VALUES(%f, %f, %f, %f, %f, %f, %f, %i, %i, %i, %i)",
  30002. Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2], Resources[playerid][Exterior][3], Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2],
  30003. Resources[playerid][InteriorID], Resources[playerid][InteriorWorld], Resources[playerid][Type], Resources[playerid][PropertyLink]);
  30004. mysql_pquery(m_Handle, query, "SQL_CallPropGarageCreate", "i", playerid);
  30005. return true;
  30006. }
  30007. Server:CallPropertyCreate(playerid)
  30008. {
  30009. new query[500];
  30010. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO properties (`OwnerSQL`, `Type`, `ExteriorX`, `ExteriorY`, `ExteriorZ`, `ExteriorID`, `ExteriorWorld`, `InteriorX`, `InteriorY`, `InteriorZ`, `InteriorA`, `InteriorID`, `InteriorWorld`, `MarketPrice`, `Level`, `ComplexID`) VALUES (0, %i, %f, %f, %f, %i, %i, %f, %f, %f, %f, %i, %i, %i, %i, %i)",
  30011. Resources[playerid][Type], Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2], Resources[playerid][extInteriorID], Resources[playerid][extWorld], Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2], Resources[playerid][Interior][3],
  30012. Resources[playerid][intInteriorID], Resources[playerid][intWorld], Resources[playerid][Cost], Resources[playerid][Level], Resources[playerid][ComplexLink]);
  30013. mysql_pquery(m_Handle, query, "SQL_CallPropertyCreate", "i", playerid);
  30014. return true;
  30015. }
  30016. Server:CallBusinessCreate(playerid)
  30017. {
  30018. new query[456];
  30019. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO businesses (`InteriorX`, `InteriorY`, `InteriorZ`, `InteriorA`, `World`, `InteriorID`, `ExteriorX`, `ExteriorY`, `ExteriorZ`, `Type`, `Level`, `MarketPrice`) VALUES(%f, %f, %f, %f, %i, %i, %f, %f, %f, %i, %i, %i)",
  30020. Resources[playerid][Interior][0], Resources[playerid][Interior][1], Resources[playerid][Interior][2], Resources[playerid][Interior][3], Resources[playerid][intWorld], Resources[playerid][intInteriorID],
  30021. Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2], Resources[playerid][Type], Resources[playerid][Level], Resources[playerid][Cost]);
  30022. mysql_pquery(m_Handle, query, "SQL_CallBusinessCreate", "i", playerid);
  30023. return true;
  30024. }
  30025. Server:CallPNSCreate(playerid)
  30026. {
  30027. new query[256];
  30028. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO paynspray (`Price`, `EntranceX`, `EntranceY`, `EntranceZ`, `RepairSpotX`, `RepairSpotY`, `RepairSpotZ`) VALUES(%i, %f, %f, %f, %f, %f, %f)",
  30029. Resources[playerid][Cost], Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2], Resources[playerid][Interior][0],
  30030. Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  30031. mysql_pquery(m_Handle, query, "SQL_CallPNSCreate", "i", playerid);
  30032. return true;
  30033. }
  30034. Server:CallTollCreate(playerid)
  30035. {
  30036. new query[256];
  30037. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO tolls (`PointAX`, `PointAY`, `PointAZ`, `PointBX`, `PointBY`, `PointBZ`) VALUES (%f, %f, %f, %f, %f, %f)",
  30038. Resources[playerid][Exterior][0], Resources[playerid][Exterior][1], Resources[playerid][Exterior][2], Resources[playerid][Interior][0],
  30039. Resources[playerid][Interior][1], Resources[playerid][Interior][2]);
  30040. mysql_pquery(m_Handle, query, "SQL_CallTollCreate", "i", playerid);
  30041. return true;
  30042. }
  30043. Server:SQL_AddRentalVehicle(playerid)
  30044. {
  30045. new newvehicleid, vehicleid = GetPlayerVehicleID(playerid);
  30046. RentalData[vehicleid][rentalcarSQLID] = cache_insert_id();
  30047. RentalData[vehicleid][rentalcarModel] = Resources[playerid][v_Model];
  30048. RentalData[vehicleid][rentalcarColor1] = Resources[playerid][v_Color1];
  30049. RentalData[vehicleid][rentalcarColor2] = Resources[playerid][v_Color2];
  30050. RentalData[vehicleid][rentalcarPos][0] = Resources[playerid][v_Pos][0];
  30051. RentalData[vehicleid][rentalcarPos][1] = Resources[playerid][v_Pos][1];
  30052. RentalData[vehicleid][rentalcarPos][2] = Resources[playerid][v_Pos][2];
  30053. RentalData[vehicleid][rentalcarPos][3] = Resources[playerid][v_Pos][3];
  30054. DestroyVehicle(vehicleid);
  30055. newvehicleid = CreateVehicle(RentalData[vehicleid][rentalcarModel], RentalData[vehicleid][rentalcarPos][0], RentalData[vehicleid][rentalcarPos][1], RentalData[vehicleid][rentalcarPos][2], RentalData[vehicleid][rentalcarPos][3],
  30056. RentalData[vehicleid][rentalcarColor1], RentalData[vehicleid][rentalcarColor2], -1, 0);
  30057. PutPlayerInVehicle(playerid, newvehicleid, 0);
  30058. printf("[WARNING] Vehicle ID %d was added as a faction vehicle by %s", vehicleid, ReturnName(playerid, 1));
  30059. return true;
  30060. }
  30061. Server:SQL_AddFactionVehicle(playerid)
  30062. {
  30063. new newvehicleid, vehicleid = GetPlayerVehicleID(playerid);
  30064. DestroyVehicle(vehicleid);
  30065. newvehicleid = CreateVehicle(Resources[playerid][v_Model], Resources[playerid][v_Pos][0], Resources[playerid][v_Pos][1], Resources[playerid][v_Pos][2], Resources[playerid][v_Pos][3], Resources[playerid][v_Color1],
  30066. Resources[playerid][v_Color2], -1, 0);
  30067. PutPlayerInVehicle(playerid, newvehicleid, 0);
  30068. if(newvehicleid != INVALID_VEHICLE_ID) {
  30069. FactionCar[newvehicleid][carID] = cache_insert_id();
  30070. FactionCar[newvehicleid][carModel] = Resources[playerid][v_Model];
  30071. FactionCar[newvehicleid][carFaction] = Resources[playerid][v_Faction];
  30072. FactionCar[newvehicleid][carColor1] = Resources[playerid][v_Color1];
  30073. FactionCar[newvehicleid][carColor2] = Resources[playerid][v_Color2];
  30074. FactionCar[newvehicleid][carPos][0] = Resources[playerid][v_Pos][0];
  30075. FactionCar[newvehicleid][carPos][1] = Resources[playerid][v_Pos][1];
  30076. FactionCar[newvehicleid][carPos][2] = Resources[playerid][v_Pos][2];
  30077. FactionCar[newvehicleid][carPos][3] = Resources[playerid][v_Pos][3];
  30078. FactionCar[newvehicleid][carInterior] = GetPlayerInterior(playerid);
  30079. FactionCar[newvehicleid][carWorld] = GetPlayerVirtualWorld(playerid);
  30080. if(FactionCar[newvehicleid][carInterior] != 0)
  30081. LinkVehicleToInterior(newvehicleid, GetPlayerInterior(playerid));
  30082. SetVehicleVirtualWorld(newvehicleid, GetPlayerVirtualWorld(playerid));
  30083. }
  30084. printf("[WARNING] Vehicle ID %d was added as a faction vehicle by %s", newvehicleid, ReturnName(playerid, 1));
  30085. return true;
  30086. }
  30087. Server:SQL_AddFurniture(id)
  30088. {
  30089. FurnitureData[id][furnitureSQLID] = cache_insert_id();
  30090. SaveFurniture(id);
  30091. LoadFurnitureObjects(id);
  30092. return true;
  30093. }
  30094. Server:SQL_BuyPlayerCar(playerid)
  30095. {
  30096. PlayerData[playerid][pOwnedCar][g_aSlotSave[playerid]] = cache_insert_id();
  30097. SavePlayer(playerid);
  30098. new vehicleid;
  30099. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  30100. vehicleid = CreateVehicle(ds_PlayerMenuModels[playerid][SubDealershipHolder[playerid]], PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], 90, g_aVehicleColor[playerid][0], g_aVehicleColor[playerid][1], -1);
  30101. SetVehicleNumberPlate(vehicleid, g_aPlates[playerid]);
  30102. SetVehicleToRespawn(vehicleid);
  30103. PutPlayerInVehicle(playerid, vehicleid, 0);
  30104. CarData[vehicleid][carID] = cache_insert_id();
  30105. CarData[vehicleid][carOwnerID] = PlayerData[playerid][pSQLID];
  30106. CarData[vehicleid][carColor1] = g_aVehicleColor[playerid][0];
  30107. CarData[vehicleid][carColor2] = g_aVehicleColor[playerid][1];
  30108. CarData[vehicleid][carLocked] = 0;
  30109. CarData[vehicleid][carLock] = g_aLockLevel[playerid];
  30110. CarData[vehicleid][carAlarm] = g_aAlarmLevel[playerid];
  30111. CarData[vehicleid][carImmob] = g_aImmobLevel[playerid];
  30112. CarData[vehicleid][carXMR] = g_aXMR[playerid];
  30113. CarData[vehicleid][carInsurance] = 0;
  30114. CarData[vehicleid][carFuel] = 100;
  30115. CarData[vehicleid][carModel] = ds_PlayerMenuModels[playerid][SubDealershipHolder[playerid]];
  30116. format(CarData[vehicleid][carPlates], 32, "%s", g_aPlates[playerid]);
  30117. CarData[vehicleid][carEngine] = 100.00;
  30118. CarData[vehicleid][carBattery] = 100.00;
  30119. GetPlayerPos(playerid, CarData[vehicleid][carPos][0], CarData[vehicleid][carPos][1], CarData[vehicleid][carPos][2]);
  30120. CarData[vehicleid][carPos][3] = 90.0;
  30121. _has_vehicle_spawned[playerid] = true;
  30122. _has_spawned_vehicleid[playerid] = vehicleid;
  30123. cmd_v(playerid, "stats");
  30124. switch(GetVehicleModel(vehicleid))
  30125. {
  30126. case 481, 509, 510: ToggleVehicleEngine(vehicleid, true);
  30127. }
  30128. WriteLog("vehicle_logs/purchase_log.txt", "[%s] %s bought a %s for $%s [Lock: %i, Alarm: %i, Immob: %i, XMR: %s]", ReturnDate(), ReturnName(playerid), ReturnVehicleName(vehicleid), MoneyFormat(g_aTotalAmount[playerid]), g_aLockLevel[playerid], g_aAlarmLevel[playerid], g_aImmobLevel[playerid], (g_aXMR[playerid] != 1) ? ("No") : ("Yes"));
  30129. ClearDealershipVar(playerid);
  30130. return true;
  30131. }
  30132. Server:BuyPlayerCarEx(playerid)
  30133. {
  30134. SendClientMessage(playerid, 0xB9E35EFF, "PROCESSED: Your list was rebuilt.");
  30135. PutPlayerInVehicle(playerid, _has_spawned_vehicleid[playerid], 0);
  30136. return true;
  30137. }
  30138. Server:SQL_SaveFactionToDB(playerid)
  30139. {
  30140. TotalFactionsLoaded++;
  30141. new i = TotalFactionsLoaded;
  30142. new string[128];
  30143. new query[200];
  30144. FactionData[i][factionID] = cache_insert_id();
  30145. FactionData[i][factionName] = FactionName;
  30146. FactionData[i][factionAbbrev] = FactionAbbrev;
  30147. printf("[DEBUG] Faction ID %i has been created by Admin %s", cache_insert_id(), ReturnName(playerid, 1));
  30148. format(string, sizeof(string), "[ ! ]{FFFFFF} {FF6347}%s{FFFFFF} ( %i ) was created.", FactionName, cache_insert_id());
  30149. SendClientMessage(playerid, COLOR_ADM, string);
  30150. SendClientMessage(playerid, COLOR_ADM, "To configure the faction, use /editrank to set the edit rank first. /editfaction to set the type.");
  30151. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO faction_ranks (faction_id) VALUES (%i)", cache_insert_id());
  30152. mysql_tquery(m_Handle, query, "CreateFactionRanks", "i", playerid);
  30153. WriteLog("admin_logs/factions/makefaction.txt", "[%s] %s made faction ID %i", ReturnDate(), ReturnName(playerid), cache_insert_id());
  30154. return true;
  30155. }
  30156. Server:CreateFactionRanks(playerid)
  30157. {
  30158. return SendClientMessage(playerid, -1, "Entry for faction ranks was made.");
  30159. }
  30160. Server:SQL_CallTollCreate(playerid)
  30161. {
  30162. TotalTollsLoaded++;
  30163. new i = TotalTollsLoaded, string[128];
  30164. TollsData[i][tollID] = cache_insert_id();
  30165. TollsData[i][tollPrice] = 1;
  30166. TollsData[i][tollLocked] = false;
  30167. TollsData[i][tollPointA][0] = Resources[playerid][Exterior][0];
  30168. TollsData[i][tollPointA][1] = Resources[playerid][Exterior][1];
  30169. TollsData[i][tollPointA][2] = Resources[playerid][Exterior][2];
  30170. TollsData[i][tollPointB][0] = Resources[playerid][Interior][0];
  30171. TollsData[i][tollPointB][1] = Resources[playerid][Interior][1];
  30172. TollsData[i][tollPointB][2] = Resources[playerid][Interior][2];
  30173. format(string, sizeof(string), "SERVER: Successfully created Toll booth... Booth id : %d", cache_insert_id());
  30174. SendClientMessage(playerid, COLOR_YELLOW, string);
  30175. printf("[WARNING] %s created Toll Booth ID %d", ReturnName(playerid, 1), cache_insert_id());
  30176. WriteLog("admin_logs/maketolls_log.txt", "[%s] %s created toll booth ID %d", ReturnDate(), ReturnName(playerid, 1), cache_insert_id());
  30177. for(new j = 0; j < 4; j++){
  30178. Resources[playerid][Interior][j] = 0;
  30179. }
  30180. for(new q = 0; q < 3; q++){
  30181. Resources[playerid][Exterior][q] = 0;
  30182. }
  30183. return true;
  30184. }
  30185. Server:SQL_CallPNSCreate(playerid)
  30186. {
  30187. TotalPaynSpraysLoaded++;
  30188. new i = TotalPaynSpraysLoaded, string[128];
  30189. PNSData[i][pnsID] = cache_insert_id();
  30190. PNSData[i][pnsOwnerSQL] = 0;
  30191. PNSData[i][pnsPrice] = Resources[playerid][Cost];
  30192. PNSData[i][pnsEarnings] = 0;
  30193. PNSData[i][pnsEntrance][0] = Resources[playerid][Exterior][0];
  30194. PNSData[i][pnsEntrance][1] = Resources[playerid][Exterior][1];
  30195. PNSData[i][pnsEntrance][2] = Resources[playerid][Exterior][2];
  30196. PNSData[i][pnsRepairSpot][0] = Resources[playerid][Interior][0];
  30197. PNSData[i][pnsRepairSpot][1] = Resources[playerid][Interior][1];
  30198. PNSData[i][pnsRepairSpot][2] = Resources[playerid][Interior][2];
  30199. format(PNSData[i][pnsName], 128, "No-Name");
  30200. PNSData[i][pnsPickup] = CreateDynamicPickup(1239, 14, PNSData[i][pnsEntrance][0], PNSData[i][pnsEntrance][1], PNSData[i][pnsEntrance][2], 0);
  30201. format(string, sizeof(string), "SERVER: Successfully created Pay n Spray... PNS id: %d", cache_insert_id());
  30202. SendClientMessage(playerid, COLOR_YELLOW, string);
  30203. printf("[WARNING] %s created PaynSpray ID %d", ReturnName(playerid, 1), cache_insert_id());
  30204. WriteLog("admin_logs/paynspray/makepns_log.txt", "[%s] %s created PNS ID %d", ReturnDate(), ReturnName(playerid, 1), cache_insert_id());
  30205. for(new j = 0; j < 4; j++){
  30206. Resources[playerid][Interior][j] = 0;
  30207. }
  30208. for(new q = 0; q < 3; q++){
  30209. Resources[playerid][Exterior][q] = 0;
  30210. }
  30211. Resources[playerid][Cost] = 0;
  30212. return true;
  30213. }
  30214. Server:SQL_CallBusinessCreate(playerid)
  30215. {
  30216. TotalBusinessesLoaded++;
  30217. new i = TotalBusinessesLoaded, string[128];
  30218. BusinessData[i][businessID] = cache_insert_id();
  30219. BusinessData[i][businessOwnerSQL] = 0;
  30220. BusinessData[i][businessExt][0] = Resources[playerid][Exterior][0];
  30221. BusinessData[i][businessExt][1] = Resources[playerid][Exterior][1];
  30222. BusinessData[i][businessExt][2] = Resources[playerid][Exterior][2];
  30223. BusinessData[i][businessInt][0] = Resources[playerid][Interior][0];
  30224. BusinessData[i][businessInt][1] = Resources[playerid][Interior][1];
  30225. BusinessData[i][businessInt][2] = Resources[playerid][Interior][2];
  30226. BusinessData[i][businessInt][3] = Resources[playerid][Interior][3];
  30227. BusinessData[i][businessIntID] = Resources[playerid][intInteriorID];
  30228. BusinessData[i][businessWorld] = Resources[playerid][intWorld];
  30229. BusinessData[i][businessMarketPrice] = Resources[playerid][Cost];
  30230. BusinessData[i][businessLevel] = Resources[playerid][Level];
  30231. BusinessData[i][businessType] = Resources[playerid][Type];
  30232. BusinessData[i][businessCashbox] = 0;
  30233. BusinessData[i][businessProduct] = 0;
  30234. BusinessData[i][businessFee] = 1;
  30235. if(BusinessData[i][businessType] == BIZ_RESTAURANT){
  30236. if(BusinessData[i][businessOwnerSQL] == 0){
  30237. BusinessData[i][businessPickup] = CreateDynamicPickup(1272, 14, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2], 0);
  30238. }
  30239. else{
  30240. BusinessData[i][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2], 0);
  30241. }
  30242. }
  30243. else{
  30244. BusinessData[i][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2], 0);
  30245. }
  30246. format(string, sizeof(string), "SERVER: Successfully created business... Business id : %d", cache_insert_id());
  30247. SendClientMessage(playerid, COLOR_YELLOW, string);
  30248. printf("[WARNING] %s created business ID %d", ReturnName(playerid, 1), cache_insert_id());
  30249. WriteLog("admin_logs/businesses/makebusiness_log.txt", "[%s] %s created business ID %d", ReturnDate(), ReturnName(playerid, 1), cache_insert_id());
  30250. for(new j = 0; j < 4; j++){
  30251. Resources[playerid][Interior][j] = 0;
  30252. }
  30253. for(new q = 0; q < 3; q++){
  30254. Resources[playerid][Exterior][q] = 0;
  30255. }
  30256. Resources[playerid][Type] = 0;
  30257. Resources[playerid][Cost] = 0;
  30258. Resources[playerid][Level] = 0;
  30259. return true;
  30260. }
  30261. Server:SQL_CallDoorCreate(playerid)
  30262. {
  30263. TotalDoorsLoaded++;
  30264. new i = TotalDoorsLoaded, string[128];
  30265. DoorData[i][doorID] = cache_insert_id();
  30266. DoorData[i][doorPos][0] = Resources[playerid][Exterior][0];
  30267. DoorData[i][doorPos][1] = Resources[playerid][Exterior][1];
  30268. DoorData[i][doorPos][2] = Resources[playerid][Exterior][2];
  30269. DoorData[i][doorPosIntID] = Resources[playerid][extInteriorID];
  30270. DoorData[i][doorPosWorld] = Resources[playerid][extWorld];
  30271. DoorData[i][doorInt][0] = Resources[playerid][Interior][0];
  30272. DoorData[i][doorInt][1] = Resources[playerid][Interior][1];
  30273. DoorData[i][doorInt][2] = Resources[playerid][Interior][2];
  30274. DoorData[i][doorInt][3] = Resources[playerid][Interior][3];
  30275. DoorData[i][doorIntID] = Resources[playerid][intInteriorID];
  30276. DoorData[i][doorIntWorld] = Resources[playerid][intWorld];
  30277. DoorData[i][doorFaction] = Resources[playerid][v_Faction];
  30278. format(DoorData[i][doorName], 128, "None");
  30279. format(string, sizeof(string), "SERVER: Successfully created dynamic door... Door id : %d", cache_insert_id());
  30280. SendClientMessage(playerid, COLOR_YELLOW, string);
  30281. printf("[WARNING] Dynamic door %i was created by %s", cache_insert_id(), ReturnName(playerid, 1));
  30282. WriteLog("admin_logs/doors/makedoor_log.txt", "[%s] %s created Door %i", ReturnDate(), ReturnName(playerid, 1), cache_insert_id());
  30283. return true;
  30284. }
  30285. Server:SQL_CallPropGarageCreate(playerid)
  30286. {
  30287. TotalPropertyGaragesMade++;
  30288. new i = TotalPropertyGaragesMade, string[128];
  30289. GarageData[i][garageSQLID] = cache_insert_id();
  30290. GarageData[i][garagePos][0] = Resources[playerid][Exterior][0];
  30291. GarageData[i][garagePos][1] = Resources[playerid][Exterior][1];
  30292. GarageData[i][garagePos][2] = Resources[playerid][Exterior][2];
  30293. GarageData[i][garageInt][0] = Resources[playerid][Interior][0];
  30294. GarageData[i][garageInt][1] = Resources[playerid][Interior][1];
  30295. GarageData[i][garageInt][2] = Resources[playerid][Interior][2];
  30296. GarageData[i][garageInteriorID] = Resources[playerid][InteriorID];
  30297. GarageData[i][garageWorld] = Resources[playerid][InteriorWorld];
  30298. GarageData[i][garageType] = Resources[playerid][Type];
  30299. GarageData[i][garagePropertyID] = Resources[playerid][PropertyLink];
  30300. GarageData[i][garageLocked] = 0;
  30301. format(string, sizeof(string), "SERVER: Successfully created garage... Garage id: %d", cache_insert_id());
  30302. SendClientMessage(playerid, COLOR_YELLOW, string);
  30303. WriteLog("admin_logs/garages/makepropgarage_log.txt", "[%s] %s created Garage %d with property %d link. Type %d.", ReturnDate(), ReturnName(playerid, 1), cache_insert_id(), GarageData[i][garagePropertyID]);
  30304. for(new j = 0; j < 4; j++){
  30305. Resources[playerid][Interior][j] = 0;
  30306. }
  30307. for(new q = 0; q < 3; q++){
  30308. Resources[playerid][Exterior][q] = 0;
  30309. }
  30310. Resources[playerid][Type] = 0;
  30311. Resources[playerid][PropertyLink] = 0;
  30312. return true;
  30313. }
  30314. Server:SQL_CallPropertyCreate(playerid)
  30315. {
  30316. TotalPropertyMade++;
  30317. new i = TotalPropertyMade, string[128];
  30318. PropertyData[i][propertyid] = cache_insert_id();
  30319. PropertyData[i][propertyOwnerSQL] = 0;
  30320. PropertyData[i][propertyExterior][0] = Resources[playerid][Exterior][0];
  30321. PropertyData[i][propertyExterior][1] = Resources[playerid][Exterior][1];
  30322. PropertyData[i][propertyExterior][2] = Resources[playerid][Exterior][2];
  30323. PropertyData[i][propertyExteriorID] = Resources[playerid][extInteriorID];
  30324. PropertyData[i][propertyExteriorWorld] = Resources[playerid][extWorld];
  30325. PropertyData[i][propertyInterior][0] = Resources[playerid][Interior][0];
  30326. PropertyData[i][propertyInterior][1] = Resources[playerid][Interior][1];
  30327. PropertyData[i][propertyInterior][2] = Resources[playerid][Interior][2];
  30328. PropertyData[i][propertyInterior][3] = Resources[playerid][Interior][3];
  30329. PropertyData[i][propertyInteriorID] = Resources[playerid][intInteriorID];
  30330. PropertyData[i][propertyInteriorWorld] = Resources[playerid][intWorld];
  30331. PropertyData[i][propertyLevel] = Resources[playerid][Level];
  30332. PropertyData[i][propertyType] = Resources[playerid][Type];
  30333. PropertyData[i][propertyMarketPrice] = Resources[playerid][Cost];
  30334. PropertyData[i][propertyComplexLink] = Resources[playerid][ComplexLink];
  30335. if(PropertyData[i][propertyType] == 1){
  30336. PropertyData[i][propertyPickup] = CreateDynamicPickup(1314, 14, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 0);
  30337. }
  30338. if(PropertyData[i][propertyType] == 1){
  30339. format(string, sizeof(string), "Complex[%d] For Sale:\nPrice: $%d\nLevel: %d", i, PropertyData[i][propertyMarketPrice], PropertyData[i][propertyLevel]);
  30340. PropertyData[i][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_TEXTDRAW, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 15.0);
  30341. }
  30342. else if(PropertyData[i][propertyType] == 2){
  30343. format(string, sizeof(string), "Apartment[%d] For Sale:\nPrice: $%d\nLevel: %d", i, PropertyData[i][propertyMarketPrice], PropertyData[i][propertyLevel]);
  30344. PropertyData[i][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 20.0, .worldid = PropertyData[i][propertyExteriorWorld]);
  30345. }
  30346. else if(PropertyData[i][propertyType] == 3){
  30347. format(string, sizeof(string), "House[%d] For Sale:\nPrice: $%d\nLevel: %d", i, PropertyData[i][propertyMarketPrice], PropertyData[i][propertyLevel]);
  30348. PropertyData[i][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2], 15.0);
  30349. }
  30350. printf("[WARNING] %s created Property %d", ReturnName(playerid, 0), cache_insert_id());
  30351. format(string, sizeof(string), "SERVER: Successfully created property... Property id : %d", cache_insert_id());
  30352. SendClientMessage(playerid, COLOR_YELLOW, string);
  30353. WriteLog("admin_logs/properties/makeproperty_log.txt", "[%s] %s created property ID %d", ReturnDate(), ReturnName(playerid, 1), cache_insert_id());
  30354. for(new j = 0; j < 4; j++){
  30355. Resources[playerid][Interior][j] = 0;
  30356. }
  30357. for(new q = 0; q < 3; q++){
  30358. Resources[playerid][Exterior][q] = 0;
  30359. }
  30360. Resources[playerid][Type] = 0;
  30361. Resources[playerid][Cost] = 0;
  30362. Resources[playerid][Level] = 0;
  30363. return true;
  30364. }
  30365. Server:SQL_LoadPaynSpray()
  30366. {
  30367. if(cache_num_rows() == 0) return print("Loading - No Pay n Sprays were available to load.");
  30368. new rows, fields;
  30369. cache_get_row_count(rows);
  30370. cache_get_field_count(fields);
  30371. for(new i = 0; i < rows && i < MAX_PAYNSPRAY; i++){
  30372. cache_get_value_name_int(i, "id", PNSData[i+1][pnsID]);
  30373. cache_get_value_name_int(i, "OwnerSQL", PNSData[i+1][pnsOwnerSQL]);
  30374. cache_get_value_name_int(i, "Price", PNSData[i+1][pnsPrice]);
  30375. cache_get_value_name(i, "Name", PNSData[i+1][pnsName], 128);
  30376. cache_get_value_name_float(i, "EntranceX", PNSData[i+1][pnsEntrance][0]);
  30377. cache_get_value_name_float(i, "EntranceY", PNSData[i+1][pnsEntrance][1]);
  30378. cache_get_value_name_float(i, "EntranceZ", PNSData[i+1][pnsEntrance][2]);
  30379. cache_get_value_name_float(i, "RepairSpotX", PNSData[i+1][pnsRepairSpot][0]);
  30380. cache_get_value_name_float(i, "RepairSpotY", PNSData[i+1][pnsRepairSpot][1]);
  30381. cache_get_value_name_float(i, "RepairSpotZ", PNSData[i+1][pnsRepairSpot][2]);
  30382. cache_get_value_name_int(i, "Earnings", PNSData[i+1][pnsEarnings]);
  30383. PNSData[i+1][pnsPickup] = CreateDynamicPickup(1239, 14, PNSData[i+1][pnsEntrance][0], PNSData[i+1][pnsEntrance][1], PNSData[i+1][pnsEntrance][2], 0);
  30384. TotalPaynSpraysLoaded++;
  30385. }
  30386. printf("Loading - %i Pay n Sprays from MySQL database.", TotalPaynSpraysLoaded);
  30387. return true;
  30388. }
  30389. Server:SQL_LoadTolls()
  30390. {
  30391. if(cache_num_rows() == 0)return print("Loading - No Toll Booths were available to load.");
  30392. new rows, fields;
  30393. cache_get_row_count(rows);
  30394. cache_get_field_count(fields);
  30395. for(new i = 0; i < rows && i < MAX_TOLLS; i++){
  30396. cache_get_value_name_int(i, "id", TollsData[i+1][tollID]);
  30397. cache_get_value_name_int(i, "Price", TollsData[i+1][tollPrice]);
  30398. cache_get_value_name_float(i, "PointAX", TollsData[i+1][tollPointA][0]);
  30399. cache_get_value_name_float(i, "PointAY", TollsData[i+1][tollPointA][1]);
  30400. cache_get_value_name_float(i, "PointAZ", TollsData[i+1][tollPointA][2]);
  30401. cache_get_value_name_float(i, "PointBX", TollsData[i+1][tollPointB][0]);
  30402. cache_get_value_name_float(i, "PointBY", TollsData[i+1][tollPointB][1]);
  30403. cache_get_value_name_float(i, "PointBZ", TollsData[i+1][tollPointB][2]);
  30404. TotalTollsLoaded++;
  30405. }
  30406. printf("Loading - %i tolls from MySQL database.", TotalTollsLoaded);
  30407. return true;
  30408. }
  30409. Server:SQL_LoadBusinesses()
  30410. {
  30411. if(cache_num_rows() == 0) return print("Loading - No businesses were available to load.");
  30412. new rows, fields, str[128];
  30413. cache_get_row_count(rows);
  30414. cache_get_field_count(fields);
  30415. for(new i = 0; i < rows && i < MAX_BUSINESS; i++){
  30416. cache_get_value_name_int(i, "id", BusinessData[i+1][businessID]);
  30417. cache_get_value_name_int(i, "OwnerSQL", BusinessData[i+1][businessOwnerSQL]);
  30418. cache_get_value_name_float(i, "ExteriorX", BusinessData[i+1][businessExt][0]);
  30419. cache_get_value_name_float(i, "ExteriorY", BusinessData[i+1][businessExt][1]);
  30420. cache_get_value_name_float(i, "ExteriorZ", BusinessData[i+1][businessExt][2]);
  30421. cache_get_value_name_float(i, "InteriorX", BusinessData[i+1][businessInt][0]);
  30422. cache_get_value_name_float(i, "InteriorY", BusinessData[i+1][businessInt][1]);
  30423. cache_get_value_name_float(i, "InteriorZ", BusinessData[i+1][businessInt][2]);
  30424. cache_get_value_name_float(i, "InteriorA", BusinessData[i+1][businessInt][3]);
  30425. cache_get_value_name_int(i, "World", BusinessData[i+1][businessWorld]);
  30426. cache_get_value_name_int(i, "InteriorID", BusinessData[i+1][businessIntID]);
  30427. cache_get_value_name_float(i, "BankPX", BusinessData[i+1][businessBankPickupLoc][0]);
  30428. cache_get_value_name_float(i, "BankPY", BusinessData[i+1][businessBankPickupLoc][1]);
  30429. cache_get_value_name_float(i, "BankPZ", BusinessData[i+1][businessBankPickupLoc][2]);
  30430. cache_get_value_name_int(i, "BankPIntID", BusinessData[i+1][businessBankPickupIntID]);
  30431. cache_get_value_name_int(i, "BankPWorld", BusinessData[i+1][businessBankPickupWorld]);
  30432. cache_get_value_name(i, "Name", BusinessData[i+1][businessName], 128);
  30433. if (strlen(BusinessData[i+1][businessName]) < 1) {
  30434. format(BusinessData[i+1][businessName], 128, "NULL");
  30435. }
  30436. cache_get_value_name_int(i, "Type", BusinessData[i+1][businessType]);
  30437. if(BusinessData[i+1][businessType] == BIZ_RESTAURANT){
  30438. if(BusinessData[i+1][businessOwnerSQL] == 0){
  30439. BusinessData[i+1][businessPickup] = CreateDynamicPickup(1272, 14, BusinessData[i+1][businessExt][0], BusinessData[i+1][businessExt][1], BusinessData[i+1][businessExt][2], 0);
  30440. }
  30441. else{
  30442. BusinessData[i+1][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[i+1][businessExt][0], BusinessData[i+1][businessExt][1], BusinessData[i+1][businessExt][2], 0);
  30443. }
  30444. }
  30445. else{
  30446. BusinessData[i+1][businessPickup] = CreateDynamicPickup(1239, 14, BusinessData[i+1][businessExt][0], BusinessData[i+1][businessExt][1], BusinessData[i+1][businessExt][2], 0);
  30447. }
  30448. if(BusinessData[i+1][businessType] == BIZ_BANK){
  30449. BusinessData[i+1][businessBankPickup] = CreateDynamicPickup(1274, 2, BusinessData[i+1][businessBankPickupLoc][0], BusinessData[i+1][businessBankPickupLoc][1], BusinessData[i+1][businessBankPickupLoc][2], BusinessData[i+1][businessBankPickupWorld]);
  30450. }
  30451. cache_get_value_name_int(i, "MarketPrice", BusinessData[i+1][businessMarketPrice]);
  30452. cache_get_value_name_int(i, "Locked", BusinessData[i+1][businessLocked]);
  30453. cache_get_value_name_int(i, "Fee", BusinessData[i+1][businessFee]);
  30454. cache_get_value_name_int(i, "Cashbox", BusinessData[i+1][businessCashbox]);
  30455. cache_get_value_name_int(i, "Level", BusinessData[i+1][businessLevel]);
  30456. cache_get_value_name_int(i, "Product", BusinessData[i+1][businessProduct]);
  30457. for(new w = 0; w < 21; w++){
  30458. format(str, sizeof(str), "Weapons%d", w);
  30459. cache_get_value_name_int(i, str, BusinessData[i+1][businessWeapons][w]);
  30460. format(str, sizeof(str), "Ammo%d", w);
  30461. cache_get_value_name_int(i, str, BusinessData[i+1][businessWeaponsAmmo][w]);
  30462. }
  30463. TotalBusinessesLoaded++;
  30464. }
  30465. printf("Loading - %i businesses from MySQL database.", TotalBusinessesLoaded);
  30466. return true;
  30467. }
  30468. Server:SQL_LoadFactions()
  30469. {
  30470. if(cache_num_rows() == 0)return print("Loading - No factions were available to load.");
  30471. new rows, fields, newThread[128];
  30472. cache_get_row_count(rows);
  30473. cache_get_field_count(fields);
  30474. for(new i = 0; i < rows && i < MAX_FACTIONS; i++){
  30475. cache_get_value_name_int(i, "id", FactionData[i+1][factionID]);
  30476. cache_get_value_name(i, "Name", FactionData[i+1][factionName], 128);
  30477. cache_get_value_name(i, "Abbreviation", FactionData[i+1][factionAbbrev], 128);
  30478. cache_get_value_name_int(i, "MaxRanks", FactionData[i+1][factionMaxRanks]);
  30479. cache_get_value_name_int(i, "EditRank", FactionData[i+1][factionEditrank]);
  30480. cache_get_value_name_int(i, "ChatRank", FactionData[i+1][factionChatrank]);
  30481. cache_get_value_name_int(i, "TowRank", FactionData[i+1][factionTowrank]);
  30482. cache_get_value_name_int(i, "ChatColor", FactionData[i+1][factionChatColor]);
  30483. cache_get_value_name_int(i, "ChatStatus", FactionData[i+1][factionChatStatus]);
  30484. cache_get_value_name_int(i, "CopPerms", FactionData[i+1][factionCopPerms]);
  30485. cache_get_value_name_int(i, "MedPerms", FactionData[i+1][factionMedPerms]);
  30486. cache_get_value_name_int(i, "NewsPerms", FactionData[i+1][factionNewsPerms]);
  30487. cache_get_value_name_float(i, "SpawnX", FactionData[i+1][factionSpawn][0]);
  30488. cache_get_value_name_float(i, "SpawnY", FactionData[i+1][factionSpawn][1]);
  30489. cache_get_value_name_float(i, "SpawnZ", FactionData[i+1][factionSpawn][2]);
  30490. cache_get_value_name_float(i, "SpawnA", FactionData[i+1][factionSpawn][3]);
  30491. cache_get_value_name_float(i, "ExSpawn1X", FactionData[i+1][factionSpawnEx1][0]);
  30492. cache_get_value_name_float(i, "ExSpawn1Y", FactionData[i+1][factionSpawnEx1][1]);
  30493. cache_get_value_name_float(i, "ExSpawn1Z", FactionData[i+1][factionSpawnEx1][2]);
  30494. cache_get_value_name_float(i, "ExSpawn2X", FactionData[i+1][factionSpawnEx2][0]);
  30495. cache_get_value_name_float(i, "ExSpawn2Y", FactionData[i+1][factionSpawnEx2][1]);
  30496. cache_get_value_name_float(i, "ExSpawn2Z", FactionData[i+1][factionSpawnEx2][2]);
  30497. cache_get_value_name_float(i, "ExSpawn3X", FactionData[i+1][factionSpawnEx3][0]);
  30498. cache_get_value_name_float(i, "ExSpawn3Y", FactionData[i+1][factionSpawnEx3][1]);
  30499. cache_get_value_name_float(i, "ExSpawn3Z", FactionData[i+1][factionSpawnEx3][2]);
  30500. cache_get_value_name_int(i, "Bank", FactionData[i+1][factionBank]);
  30501. cache_get_value_name_int(i, "HasWarehouseAccess", FactionData[i+1][factionWarehousePerms]);
  30502. cache_get_value_name_int(i, "Products", FactionData[i+1][factionProducts]);
  30503. mysql_format(m_Handle, newThread, sizeof(newThread), "SELECT * FROM faction_ranks WHERE faction_id = %i", FactionData[i+1][factionID]);
  30504. mysql_tquery(m_Handle, newThread, "Query_LoadFactionRanks", "i", i+1);
  30505. FactionData[i+1][factionExists] = true;
  30506. TotalFactionsLoaded++;
  30507. }
  30508. printf("Loading - %i factions loaded from MySQL database.", TotalFactionsLoaded);
  30509. return true;
  30510. }
  30511. Server:Query_LoadFactionRanks(factionid)
  30512. {
  30513. new str[128];
  30514. new rows, fields;
  30515. cache_get_row_count(rows);
  30516. cache_get_field_count(fields);
  30517. for (new i = 0; i < rows; i++)
  30518. {
  30519. for (new j = 1; j < MAX_FACTION_RANKS; j++)
  30520. {
  30521. format(str, sizeof(str), "factionrank%i", j);
  30522. cache_get_value_name(i, str, FactionRanks[factionid][j], 60);
  30523. }
  30524. }
  30525. return 1;
  30526. }
  30527. Server:SQL_LoadProperties()
  30528. {
  30529. if(cache_num_rows() == 0) return print("Loading - No properties were available to load.");
  30530. new str[128], string[128], rows, fields;
  30531. cache_get_row_count(rows);
  30532. cache_get_field_count(fields);
  30533. for(new i = 0; i < rows && i < MAX_PROPERTY; i++){
  30534. cache_get_value_name_int(i, "id", PropertyData[i+1][propertyid]);
  30535. cache_get_value_name_int(i, "OwnerSQL", PropertyData[i+1][propertyOwnerSQL]);
  30536. cache_get_value_name_int(i, "Type", PropertyData[i+1][propertyType]);
  30537. cache_get_value_name_int(i, "ComplexID", PropertyData[i+1][propertyComplexLink]);
  30538. cache_get_value_name_float(i, "ExteriorX", PropertyData[i+1][propertyExterior][0]);
  30539. cache_get_value_name_float(i, "ExteriorY", PropertyData[i+1][propertyExterior][1]);
  30540. cache_get_value_name_float(i, "ExteriorZ", PropertyData[i+1][propertyExterior][2]);
  30541. cache_get_value_name_int(i, "ExteriorID", PropertyData[i+1][propertyExteriorID]);
  30542. cache_get_value_name_int(i, "ExteriorWorld", PropertyData[i+1][propertyExteriorWorld]);
  30543. cache_get_value_name_float(i, "InteriorX", PropertyData[i+1][propertyInterior][0]);
  30544. cache_get_value_name_float(i, "InteriorY", PropertyData[i+1][propertyInterior][1]);
  30545. cache_get_value_name_float(i, "InteriorZ", PropertyData[i+1][propertyInterior][2]);
  30546. cache_get_value_name_float(i, "InteriorA", PropertyData[i+1][propertyInterior][3]);
  30547. cache_get_value_name_int(i, "InteriorID", PropertyData[i+1][propertyInteriorID]);
  30548. cache_get_value_name_int(i, "InteriorWorld", PropertyData[i+1][propertyInteriorWorld]);
  30549. cache_get_value_name_float(i, "CheckPosX", PropertyData[i+1][propertyCheckPos][0]);
  30550. cache_get_value_name_float(i, "CheckPosY", PropertyData[i+1][propertyCheckPos][1]);
  30551. cache_get_value_name_float(i, "CheckPosZ", PropertyData[i+1][propertyCheckPos][2]);
  30552. cache_get_value_name_int(i, "Faction", PropertyData[i+1][propertyFaction]);
  30553. cache_get_value_name_int(i, "MarketPrice", PropertyData[i+1][propertyMarketPrice]);
  30554. cache_get_value_name_int(i, "Rentable", PropertyData[i+1][propertyRentable]);
  30555. cache_get_value_name_int(i, "RentPrice", PropertyData[i+1][propertyRentPrice]);
  30556. cache_get_value_name_int(i, "Locked", PropertyData[i+1][propertyLocked]);
  30557. cache_get_value_name_int(i, "Money", PropertyData[i+1][propertyMoney]);
  30558. cache_get_value_name_int(i, "Level", PropertyData[i+1][propertyLevel]);
  30559. cache_get_value_name_int(i, "HasXMR", PropertyData[i+1][propertyHasXMR]);
  30560. cache_get_value_name_float(i, "XMRPosX", PropertyData[i+1][propertyXMRPos][0]);
  30561. cache_get_value_name_float(i, "XMRPosY", PropertyData[i+1][propertyXMRPos][1]);
  30562. cache_get_value_name_float(i, "XMRPosZ", PropertyData[i+1][propertyXMRPos][2]);
  30563. cache_get_value_name_float(i, "XMRRotX", PropertyData[i+1][propertyXMRRot][0]);
  30564. cache_get_value_name_float(i, "XMRRotY", PropertyData[i+1][propertyXMRRot][1]);
  30565. cache_get_value_name_float(i, "XMRRotZ", PropertyData[i+1][propertyXMRRot][2]);
  30566. for(new w = 0; w < 21; w++){
  30567. format(str, sizeof(str), "Weapons%d", w);
  30568. cache_get_value_name_int(i, str, PropertyData[i+1][propertyWeapons][w]);
  30569. format(str, sizeof(str), "Ammo%d", w);
  30570. cache_get_value_name_int(i, str, PropertyData[i+1][propertyAmmo][w]);
  30571. }
  30572. if(PropertyData[i+1][propertyType] == 1)
  30573. {
  30574. PropertyData[i+1][propertyPickup] = CreateDynamicPickup(1314, 14, PropertyData[i+1][propertyExterior][0], PropertyData[i+1][propertyExterior][1], PropertyData[i+1][propertyExterior][2]);
  30575. }
  30576. if(PropertyData[i+1][propertyOwnerSQL] == 0){
  30577. if(PropertyData[i+1][propertyType] == 1){
  30578. format(string, sizeof(string), "Complex[%d] For Sale:\nPrice: $%d\nLevel: %d", i+1, PropertyData[i+1][propertyMarketPrice], PropertyData[i+1][propertyLevel]);
  30579. PropertyData[i+1][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_TEXTDRAW, PropertyData[i+1][propertyExterior][0], PropertyData[i+1][propertyExterior][1], PropertyData[i+1][propertyExterior][2], 7.5);
  30580. }
  30581. else if(PropertyData[i+1][propertyType] == 2){
  30582. format(string, sizeof(string), "Apartment[%d] For Sale:\nPrice: $%d\nLevel: %d", i+1, PropertyData[i+1][propertyMarketPrice], PropertyData[i+1][propertyLevel]);
  30583. PropertyData[i+1][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, PropertyData[i+1][propertyExterior][0], PropertyData[i+1][propertyExterior][1], PropertyData[i+1][propertyExterior][2], 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, PropertyData[i+1][propertyExteriorWorld], PropertyData[i+1][propertyExteriorID]);
  30584. }
  30585. else if(PropertyData[i+1][propertyType] == 3){
  30586. format(string, sizeof(string), "House[%d] For Sale:\nPrice: $%d\nLevel: %d", i+1, PropertyData[i+1][propertyMarketPrice], PropertyData[i+1][propertyLevel]);
  30587. PropertyData[i+1][ForSaleSign] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, PropertyData[i+1][propertyExterior][0], PropertyData[i+1][propertyExterior][1], PropertyData[i+1][propertyExterior][2], 7.5);
  30588. }
  30589. }
  30590. if(PropertyData[i+1][propertyHasXMR]){
  30591. PropertyData[i+1][propertyXMRObject] = CreateDynamicObject(2103, PropertyData[i+1][propertyXMRPos][0], PropertyData[i+1][propertyXMRPos][1], PropertyData[i+1][propertyXMRPos][2],
  30592. PropertyData[i+1][propertyXMRRot][0], PropertyData[i+1][propertyXMRRot][1], PropertyData[i+1][propertyXMRRot][2], PropertyData[i+1][propertyInteriorWorld], PropertyData[i+1][propertyInteriorID]);
  30593. }
  30594. TotalPropertyMade++;
  30595. new newThread[230];
  30596. mysql_format(m_Handle, newThread, sizeof(newThread), "SELECT * FROM house_packages WHERE housesqlid = %i", PropertyData[i+1][propertyid]);
  30597. mysql_tquery(m_Handle, newThread, "SQL_LoadHousePackages", "i", i+1);
  30598. /*for(new f = 0; f < MAX_PROPERTY; f++){
  30599. if(PropertyData[f][propertyid] != 0) {
  30600. mysql_format(, query, sizeof(query), "SELECT * FROM `furniture` WHERE id = %i", PropertyData[f][propertyid]);
  30601. mysql_pquery(, query, "SQL_LoadFurniture", "i", f);
  30602. }
  30603. }*/
  30604. }
  30605. printf("Loading - %i properties were loaded from MySQL database.", TotalPropertyMade);
  30606. return true;
  30607. }
  30608. Server:SQL_LoadHousePackages(house_id)
  30609. {
  30610. new rows, fields, query[128];
  30611. cache_get_row_count(rows);
  30612. cache_get_field_count(fields);
  30613. if(rows)
  30614. {
  30615. for (new i = 0; i < rows && i < 10; i++)
  30616. {
  30617. new id;
  30618. cache_get_value_name_int(i, "id", id);
  30619. cache_get_value_name_int(i, "type", HousePackages[house_id][id][packageType]);
  30620. cache_get_value_name_float(i, "posX", HousePackages[house_id][id][packagePos][0]);
  30621. cache_get_value_name_float(i, "posY", HousePackages[house_id][id][packagePos][1]);
  30622. cache_get_value_name_float(i, "posZ", HousePackages[house_id][id][packagePos][2]);
  30623. cache_get_value_name_float(i, "rotX", HousePackages[house_id][id][packagePos][3]);
  30624. cache_get_value_name_float(i, "rotY", HousePackages[house_id][id][packagePos][4]);
  30625. cache_get_value_name_float(i, "rotZ", HousePackages[house_id][id][packagePos][5]);
  30626. HousePackages[house_id][id][packageObject] = CreateDynamicObject(GetPackageModel(HousePackages[house_id][id][packageType]), HousePackages[house_id][id][packagePos][0], HousePackages[house_id][id][packagePos][1], HousePackages[house_id][id][packagePos][2],
  30627. HousePackages[house_id][id][packagePos][3], HousePackages[house_id][id][packagePos][4], HousePackages[house_id][id][packagePos][5], PropertyData[house_id][propertyInteriorWorld], PropertyData[house_id][propertyInteriorID]);
  30628. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM house_packages_drugs WHERE housesqlid = %d AND packageid = %d", PropertyData[house_id][propertyid], id);
  30629. mysql_tquery(m_Handle, query, "SQL_LoadPackageDrugs", "dd", id, house_id);
  30630. }
  30631. }
  30632. return 1;
  30633. }
  30634. Server:SQL_LoadPackageDrugs(package_id, house_id)
  30635. {
  30636. new rows, fields;
  30637. cache_get_row_count(rows);
  30638. cache_get_field_count(fields);
  30639. if(rows)
  30640. {
  30641. for (new i = 0; i < rows && i < 20; i++)
  30642. {
  30643. new id;
  30644. cache_get_value_name_int(i, "id", id);
  30645. cache_get_value_name_int(i, "package", PackageDrugs[house_id][package_id][id][drugPackage]);
  30646. cache_get_value_name_int(i, "type", PackageDrugs[house_id][package_id][id][drugType]);
  30647. cache_get_value_name_float(i, "quantity", PackageDrugs[house_id][package_id][id][drugQuantity]);
  30648. cache_get_value_name_int(i, "strength", PackageDrugs[house_id][package_id][id][drugStrength]);
  30649. }
  30650. }
  30651. }
  30652. Server:SQL_LoadFurniture()
  30653. {
  30654. new rows, fields, count = 0;
  30655. cache_get_row_count(rows);
  30656. cache_get_field_count(fields);
  30657. if(rows) {
  30658. for(new i = 0, j = 0; i < rows && i < MAX_FURNITURE; i++, j++) {
  30659. cache_get_value_name_int(i, "id", FurnitureData[j][furnitureSQLID]);
  30660. cache_get_value_name_int(i, "propertyid", FurnitureData[j][furniturePropertyID]);
  30661. cache_get_value_name_int(i, "model", FurnitureData[j][furnituresModel]);
  30662. cache_get_value_name_float(i, "PosX", FurnitureData[j][furniturePos][0]);
  30663. cache_get_value_name_float(i, "PosY", FurnitureData[j][furniturePos][1]);
  30664. cache_get_value_name_float(i, "PosZ", FurnitureData[j][furniturePos][2]);
  30665. cache_get_value_name_float(i, "RotX", FurnitureData[j][furnitureRot][0]);
  30666. cache_get_value_name_float(i, "RotY", FurnitureData[j][furnitureRot][1]);
  30667. cache_get_value_name_float(i, "RotZ", FurnitureData[j][furnitureRot][2]);
  30668. cache_get_value_name(i, "name", FurnitureData[j][furnituresName], 32);
  30669. FurnitureData[j][furnitureExists] = true;
  30670. FurnitureData[j][furnitureObject] = CreateDynamicObject(FurnitureData[j][furnituresModel], FurnitureData[j][furniturePos][0], FurnitureData[j][furniturePos][1], FurnitureData[j][furniturePos][2], FurnitureData[j][furnitureRot][0],
  30671. FurnitureData[j][furnitureRot][1], FurnitureData[j][furnitureRot][2], PropertyData[FurnitureData[j][furniturePropertyID]][propertyInteriorWorld], PropertyData[FurnitureData[j][furniturePropertyID]][propertyInteriorID]);
  30672. //LoadFurnitureObjects(i+1);
  30673. count++;
  30674. }
  30675. }
  30676. printf("Loading - %d furnitures were loaded.", count);
  30677. return true;
  30678. }
  30679. Server:SQL_EvictAllTenants(playerid)
  30680. {
  30681. if(!cache_num_rows())return SendClientMessage(playerid, COLOR_ADM, "Your house does not have any tenants to evict.");
  30682. new query[90], string[128], rows, fields;
  30683. cache_get_row_count(rows);
  30684. cache_get_field_count(fields);
  30685. if(rows)
  30686. {
  30687. format(string, sizeof(string), "You evicted %d tenants from your house.", rows);
  30688. SendClientMessage(playerid, COLOR_ADM, string);
  30689. for(new i = 0; i < rows; i++)
  30690. {
  30691. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET Renting = 0 WHERE Renting = %i LIMIT 20", i);
  30692. mysql_pquery(m_Handle, query);
  30693. }
  30694. }
  30695. return true;
  30696. }
  30697. Server:SQL_ShowBusinessEmployees(playerid)
  30698. {
  30699. if(!cache_num_rows())return SendClientMessage(playerid, COLOR_ADM, "Your business doesn't have any workers.");
  30700. new string[566], name[24], title[20], rows, fields, count = 0;
  30701. string[0] = 0;
  30702. cache_get_row_count(rows);
  30703. cache_get_field_count(fields);
  30704. if(rows)
  30705. {
  30706. for(new i = 0; i < rows; i++)
  30707. {
  30708. count++;
  30709. format(title, sizeof(title), "%d Employees", count);
  30710. cache_get_value_name(i, "Name", name, 24);
  30711. format(string, sizeof(string), "%s%s\n", string, name);
  30712. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, title, string, ">>>", "");
  30713. }
  30714. }
  30715. return true;
  30716. }
  30717. Server:SQL_ShowTenantNames(playerid)
  30718. {
  30719. if(!cache_num_rows())return SendClientMessage(playerid, COLOR_ADM, "Your house does not have any tenants.");
  30720. new string[1206], name[24], rows, fields;
  30721. string[0] = 0;
  30722. cache_get_row_count(rows);
  30723. cache_get_field_count(fields);
  30724. if(rows)
  30725. {
  30726. SendClientMessage(playerid, COLOR_ADM, "Your house tenants:");
  30727. for(new i = 0; i < rows; i++)
  30728. {
  30729. cache_get_value_name(i, "Name", name, 24);
  30730. format(string, sizeof(string), "%s%s\n", string, name);
  30731. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, "Tenants:", string, ">>>", "");
  30732. }
  30733. }
  30734. return true;
  30735. }
  30736. Server:SQL_CheckAccountBan(playerid)
  30737. {
  30738. if(!cache_num_rows())
  30739. return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} That account doesn't exist in our database.");
  30740. new Name[30], IP[30], adminLevel, rows, fields, hwID[40], query[456], string[128];
  30741. cache_get_row_count(rows);
  30742. cache_get_field_count(fields);
  30743. if(rows) {
  30744. for(new i = 0; i < rows; i++)
  30745. {
  30746. cache_get_value_name_int(i, "AdminLevel", adminLevel);
  30747. cache_get_value_name(i, "Name", Name, 30);
  30748. cache_get_value_name(i, "IP", IP, 30);
  30749. cache_get_value_name(i, "HWID", hwID, 40);
  30750. if(PlayerData[playerid][pAdmin] < adminLevel) {
  30751. SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} That account status is greater than yours.");
  30752. return false;
  30753. }
  30754. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO bans (`Name`, `Reason`, `BannedBy`, `Date`, `IP`, `HWID`) VALUES('%e', '%e', '%e', '%e', '%e', '%e')", Name, PlayerData[playerid][pSetReason], ReturnName(playerid, 1), ReturnDate(), IP, hwID);
  30755. mysql_pquery(m_Handle, query);
  30756. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_bans (Name, Reason, BannedBy, Date, IP) VALUES('%e', '%e', '%e', '%e', '%e')", Name, PlayerData[playerid][pSetReason], ReturnName(playerid), ReturnDate(), IP);
  30757. mysql_pquery(m_Handle, query);
  30758. format(string, sizeof(string), "[ ! ]{FFFFFF} %s has been successfully banned.", Name);
  30759. SendClientMessage(playerid, COLOR_ADM, string);
  30760. format(string, sizeof(string), "%s offline banned %s", ReturnName(playerid, 1), Name);
  30761. adminWarn(3, string);
  30762. printf("[WARNING] AdmCmd: %s offline banned %s, reason: %s ", ReturnName(playerid, 1), Name, PlayerData[playerid][pSetReason]);
  30763. WriteLog("admin_logs/punishments/ban_log.txt", "[%s] %s was banned by %s, Reason: %s (OFFLINE)", ReturnDate(), Name, ReturnName(playerid), PlayerData[playerid][pSetReason]);
  30764. }
  30765. }
  30766. else {
  30767. SendClientMessage(playerid, COLOR_ADM, "ERROR: {FFFFFF}An error has occured. Contact a Developer. (errno: 1)");
  30768. }
  30769. return true;
  30770. }
  30771. Server:SQL_OfflineNotes(playerid)
  30772. {
  30773. if(!cache_num_rows())return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} That account doesn't exist in our database.");
  30774. return true;
  30775. }
  30776. Server:SQL_AddAdminMessage(playerid)
  30777. {
  30778. if (!cache_num_rows())
  30779. return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} The user you have specified does not exist in the database.");
  30780. new
  30781. rows, fields, query[222], string[128], user_name[60];
  30782. cache_get_row_count(rows);
  30783. cache_get_field_count(fields);
  30784. if (rows)
  30785. {
  30786. for (new i = 0; i < rows; i++) {
  30787. cache_get_value_name(i, "Name", user_name);
  30788. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET AdminMessage = '%e', AdminMessageBy = '%e', AdmMessageConfirm = 0 WHERE Name = '%e'",
  30789. PlayerData[playerid][pAdminMsg], ReturnName(playerid, 1), user_name);
  30790. mysql_pquery(m_Handle, query);
  30791. format(string, sizeof(string), "[ ! ]{FFFFFF} %s will now receive your notification during login.", user_name);
  30792. SendClientMessage(playerid, COLOR_ADM, string);
  30793. WriteLog("admin_logs/players/admin_msg.txt", "[%s] %s AddAdminMessage user %s, reason: %s", ReturnDate(), ReturnName(playerid, 1), user_name, PlayerData[playerid][pAdminMsg]);
  30794. }
  30795. }
  30796. format(PlayerData[playerid][pAdminMsg], 128, " ");
  30797. return true;
  30798. }
  30799. Server:SQL_OnOfflineJail(playerid)
  30800. {
  30801. if(!cache_num_rows())return SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} That account doesn't exist in our database.");
  30802. new string[128], Name[30], rows, fields, query[456];
  30803. cache_get_row_count(rows);
  30804. cache_get_field_count(fields);
  30805. if(rows)
  30806. {
  30807. for(new i = 0; i < rows; i++)
  30808. {
  30809. cache_get_value_name(i, "Name", Name);
  30810. mysql_format(m_Handle, query, sizeof(query), "UPDATE players SET OfflineAjail = 1, AjailTime = %d, OfflineAjailReason = '%e' WHERE Name = '%e'", PlayerData[playerid][pSetTime], PlayerData[playerid][pSetReason], Name);
  30811. mysql_pquery(m_Handle, query);
  30812. format(string, sizeof(string), "[ ! ]{FFFFFF} %s has been successfully admin jailed.", Name);
  30813. SendClientMessage(playerid, COLOR_ADM, string);
  30814. WriteLog("admin_logs/punishments/ajail_log.txt", "[%s] %s offline jailed %s for %d minutes, reason: %s (OFFLINE)", ReturnDate(), ReturnName(playerid, 1), Name, PlayerData[playerid][pSetTime], PlayerData[playerid][pSetReason]);
  30815. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_ajail (`Name`, `Reason`, `JailedBy`, `Date`, `Time`, `IP`) VALUES('%e', '%e', '%e', '%e', %i, 'via off')", Name, PlayerData[playerid][pSetReason], ReturnName(playerid, 1), ReturnDate(), PlayerData[playerid][pSetTime]);
  30816. mysql_pquery(m_Handle, query);
  30817. PlayerData[playerid][pSetTime] = 0;
  30818. PlayerData[playerid][pSetReason] = 0;
  30819. }
  30820. }
  30821. return true;
  30822. }
  30823. Server:SQL_AddPlayerContact(playerid)
  30824. {
  30825. new id = contact_save_id[playerid];
  30826. ContactsData[playerid][id][contactSQLID] = cache_insert_id();
  30827. ContactsData[playerid][id][contactPlayerSQLID] = PlayerData[playerid][pSQLID];
  30828. return true;
  30829. }
  30830. Server:SQL_AddPlayerAttachment(playerid)
  30831. {
  30832. new id = clothing_index[playerid];
  30833. ClothingData[playerid][id][attachment_SQLID] = cache_insert_id();
  30834. return true;
  30835. }
  30836. Server:SQL_AddPlayerNote(playerid)
  30837. {
  30838. new id = note_save_id[playerid];
  30839. NoteData[playerid][id][NoteSQLID] = cache_insert_id();
  30840. NoteData[playerid][id][NotePlayerSQLID] = PlayerData[playerid][pSQLID];
  30841. printf("[DEBUG] AddPlayerNote called for %s and saved as dbid %i", ReturnName(playerid, 1), cache_insert_id());
  30842. return true;
  30843. }
  30844. Server:SQL_LoadClothing(playerid)
  30845. {
  30846. if(!cache_num_rows())return true;
  30847. new rows, fields;
  30848. cache_get_row_count(rows);
  30849. cache_get_field_count(fields);
  30850. for(new i = 0; i < rows && i < MAX_CLOTHING_ITEMS; i++)
  30851. {
  30852. cache_get_value_name_int(i, "id", ClothingData[playerid][i+1][attachment_SQLID]);
  30853. cache_get_value_name_int(i, "player_dbid", ClothingData[playerid][i+1][attachment_playerDBID]);
  30854. cache_get_value_name_int(i, "modelid", ClothingData[playerid][i+1][attachment_modelid]);
  30855. cache_get_value_name_int(i, "bone", ClothingData[playerid][i+1][attachment_bone]);
  30856. cache_get_value_name_float(i, "PosX", ClothingData[playerid][i+1][attachment_Pos][0]);
  30857. cache_get_value_name_float(i, "PosY", ClothingData[playerid][i+1][attachment_Pos][1]);
  30858. cache_get_value_name_float(i, "PosZ", ClothingData[playerid][i+1][attachment_Pos][2]);
  30859. cache_get_value_name_float(i, "RotX", ClothingData[playerid][i+1][attachment_Rot][0]);
  30860. cache_get_value_name_float(i, "RotY", ClothingData[playerid][i+1][attachment_Rot][1]);
  30861. cache_get_value_name_float(i, "RotZ", ClothingData[playerid][i+1][attachment_Rot][2]);
  30862. cache_get_value_name_float(i, "ScaleX", ClothingData[playerid][i+1][attachment_Scale][0]);
  30863. cache_get_value_name_float(i, "ScaleY", ClothingData[playerid][i+1][attachment_Scale][1]);
  30864. cache_get_value_name_float(i, "ScaleZ", ClothingData[playerid][i+1][attachment_Scale][2]);
  30865. cache_get_value_name(i, "name", ClothingData[playerid][i+1][attachment_name], 90);
  30866. }
  30867. return true;
  30868. }
  30869. Server:SQL_LoadAttachments(playerid)
  30870. {
  30871. if (!cache_num_rows())
  30872. return true;
  30873. new rows, fields, weaponsid[36];
  30874. cache_get_row_count(rows);
  30875. cache_get_field_count(fields);
  30876. for (new i = 0; i < rows && i < 35; i++)
  30877. {
  30878. cache_get_value_name_int(i, "weaponid", weaponsid[i]);
  30879. cache_get_value_name_int(i, "boneid", WeaponDisplay[playerid][weaponsid[i]][weaponBone]);
  30880. cache_get_value_name_float(i, "PosX", WeaponDisplay[playerid][weaponsid[i]][weaponPos][0]);
  30881. cache_get_value_name_float(i, "PosY", WeaponDisplay[playerid][weaponsid[i]][weaponPos][1]);
  30882. cache_get_value_name_float(i, "PosZ", WeaponDisplay[playerid][weaponsid[i]][weaponPos][2]);
  30883. cache_get_value_name_float(i, "RotX", WeaponDisplay[playerid][weaponsid[i]][weaponRot][0]);
  30884. cache_get_value_name_float(i, "RotY", WeaponDisplay[playerid][weaponsid[i]][weaponRot][1]);
  30885. cache_get_value_name_float(i, "RotZ", WeaponDisplay[playerid][weaponsid[i]][weaponRot][2]);
  30886. cache_get_value_name_int(i, "Hidden", WeaponDisplay[playerid][weaponsid[i]][weaponHidden]);
  30887. }
  30888. return true;
  30889. }
  30890. Server:SQL_LoadPlayerDrugs(playerid)
  30891. {
  30892. if(!cache_num_rows())return true;
  30893. new rows, fields, id;
  30894. cache_get_row_count(rows);
  30895. cache_get_field_count(fields);
  30896. for(new i = 0; i < rows; i++) {
  30897. cache_get_value_name_int(i, "id", id);
  30898. cache_get_value_name_int(i, "package", DrugData[playerid][id][drugPackage]);
  30899. cache_get_value_name_int(i, "type", DrugData[playerid][id][drugType]);
  30900. cache_get_value_name_float(i, "quantity", DrugData[playerid][id][drugQuantity]);
  30901. cache_get_value_name_int(i, "strength", DrugData[playerid][id][drugStrength]);
  30902. }
  30903. return true;
  30904. }
  30905. Server:SQL_LoadPlayerContacts(playerid)
  30906. {
  30907. if(!cache_num_rows())return true;
  30908. new rows, fields;
  30909. cache_get_row_count(rows);
  30910. cache_get_field_count(fields);
  30911. for(new i = 0; i < rows && i < MAX_PLAYER_CONTACTS; i++) {
  30912. cache_get_value_name_int(i, "id", ContactsData[playerid][i+1][contactSQLID]);
  30913. cache_get_value_name_int(i, "playersqlid", ContactsData[playerid][i+1][contactPlayerSQLID]);
  30914. cache_get_value_name_int(i, "contactid", ContactsData[playerid][i+1][contactID]);
  30915. cache_get_value_name(i, "contact_name", ContactsData[playerid][i+1][contactName], 128);
  30916. cache_get_value_name_int(i, "contact_num", ContactsData[playerid][i+1][contactNumber]);
  30917. }
  30918. return true;
  30919. }
  30920. Server:SQL_LoadAdminNotes(playerid)
  30921. {
  30922. if(!cache_num_rows())return true;
  30923. new string[128], rows, fields;
  30924. cache_get_row_count(rows);
  30925. cache_get_field_count(fields);
  30926. for(new i = 0; i < rows && i < MAX_ADMIN_NOTES; i++){
  30927. cache_get_value_name_int(i, "id", aNotesData[playerid][i+1][anote_SQLID]);
  30928. cache_get_value_name_int(i, "player_dbid", aNotesData[playerid][i+1][anote_playerDBID]);
  30929. cache_get_value_name(i, "anote_reason", aNotesData[playerid][i+1][anote_reason], 128);
  30930. cache_get_value_name(i, "anote_issuer", aNotesData[playerid][i+1][anote_issuer], 60);
  30931. cache_get_value_name(i, "anote_date", aNotesData[playerid][i+1][anote_date], 90);
  30932. cache_get_value_name_int(i, "anote_active", aNotesData[playerid][i+1][anote_active]);
  30933. }
  30934. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  30935. {
  30936. if(aNotesData[playerid][i][anote_SQLID] != 0)
  30937. {
  30938. if(aNotesData[playerid][i][anote_active])
  30939. {
  30940. format(string, sizeof(string), "Player %s has %d active OnAdminAction notes on him, last is: %s", ReturnName(playerid, 1), CountAdminNotes(playerid), aNotesData[playerid][i][anote_reason]);
  30941. adminWarn(1, string);
  30942. }
  30943. else continue;
  30944. }
  30945. }
  30946. return true;
  30947. }
  30948. Server:SQL_LoadPlayerNotes(playerid)
  30949. {
  30950. if(!cache_num_rows()) return true;
  30951. new rows, fields;
  30952. cache_get_row_count(rows);
  30953. cache_get_field_count(fields);
  30954. for(new i = 0; i < rows && i < MAX_PLAYER_NOTES; i++){
  30955. cache_get_value_name_int(i, "id", NoteData[playerid][i+1][NoteSQLID]);
  30956. cache_get_value_name_int(i, "playersqlid", NoteData[playerid][i+1][NotePlayerSQLID]);
  30957. cache_get_value_name_int(i, "slotid", NoteData[playerid][i+1][NoteID]);
  30958. cache_get_value_name(i, "details", NoteData[playerid][i+1][NoteDetail], 128);
  30959. }
  30960. return true;
  30961. }
  30962. Server:LoadPlayerFines(playerid)
  30963. {
  30964. if(!cache_num_rows())
  30965. return printf("[DEBUG] %s has no fines to load...", ReturnName(playerid));
  30966. new rows, fields, count = 0;
  30967. cache_get_row_count(rows), cache_get_field_count(fields);
  30968. for(new i = 0; i < rows && i < 30; i++)
  30969. {
  30970. cache_get_value_name_int(i, "id", Fines[playerid][i][Fine_ID]);
  30971. cache_get_value_name(i, "issuer_name", Fines[playerid][i][Fine_Issuer], 34);
  30972. cache_get_value_name_int(i, "fine_amount", Fines[playerid][i][Fine_Amount]);
  30973. cache_get_value_name(i, "fine_reason", Fines[playerid][i][Fine_Reason], 128);
  30974. cache_get_value_name(i, "fine_date", Fines[playerid][i][Fine_Date], 90);
  30975. count++;
  30976. }
  30977. printf("[DEBUG] %s has %d fines loaded.", ReturnName(playerid), count);
  30978. return 1;
  30979. }
  30980. Server:LoadVehicleFines(vehicleid)
  30981. {
  30982. if(!cache_num_rows())
  30983. return printf("[DEBUG] Vehicle (%d) has no fines to load...", vehicleid);
  30984. new rows, fields, count = 0;
  30985. cache_get_row_count(rows), cache_get_field_count(fields);
  30986. for(new i = 0; i < rows && i < 30; i++)
  30987. {
  30988. cache_get_value_name_int(i, "id", VehicleFines[vehicleid][i][Fine_ID]);
  30989. cache_get_value_name(i, "issuer_name", VehicleFines[vehicleid][i][Fine_Issuer], 34);
  30990. cache_get_value_name_int(i, "fine_amount", VehicleFines[vehicleid][i][Fine_Amount]);
  30991. cache_get_value_name(i, "fine_reason", VehicleFines[vehicleid][i][Fine_Reason], 128);
  30992. cache_get_value_name(i, "fine_date", VehicleFines[vehicleid][i][Fine_Date], 90);
  30993. count++;
  30994. }
  30995. printf("[DEBUG] Vehicle (%d) has %d fines loaded.", vehicleid, count);
  30996. return 1;
  30997. }
  30998. Server:LoadVehicleDrugs(vehicleid)
  30999. {
  31000. if(!cache_num_rows()) return printf("LoadVehicleDrugs %d Cache Num Rows 0.", vehicleid);
  31001. new id;
  31002. for(new i = 0; i < cache_num_rows(); i++) {
  31003. cache_get_value_name_int(i, "slot", id);
  31004. cache_get_value_name_int(i, "package", CarDrugData[vehicleid][id][drugPackage]);
  31005. cache_get_value_name_int(i, "type", CarDrugData[vehicleid][id][drugType]);
  31006. cache_get_value_name_float(i, "quantity", CarDrugData[vehicleid][id][drugQuantity]);
  31007. cache_get_value_name_int(i, "strength", CarDrugData[vehicleid][id][drugStrength]);
  31008. printf("(%d) Drug %s loaded in slot %i, for vehicleid %d.", id, ReturnDrugsName(DrugData[id][i][drugType]), i, vehicleid);
  31009. }
  31010. return true;
  31011. }
  31012. /*AddVehicleDrug(vehicleid, package, type, Float:quantity, strength)
  31013. {
  31014. for (new i = 0; i < 10; i++) if (CarDrugData[vehicleid][i][drugQuantity] == 0)
  31015. {
  31016. new query[200];
  31017. CarDrugData[vehicleid][i][drugPackage] = package;
  31018. CarDrugData[vehicleid][i][drugType] = type;
  31019. CarDrugData[vehicleid][i][drugQuantity] = quantity;
  31020. CarDrugData[vehicleid][i][drugStrength] = strength;
  31021. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO vehicle_drugs (vehiclesqlid, id, package, type, quantity, strength) VALUES (%d, %d, %d, %d, %.1f, %d)", CarData[vehicleid][carID], i, package, type, quantity, strength);
  31022. mysql_tquery(m_Handle, query);
  31023. return 1;
  31024. }
  31025. return 0;
  31026. }*/
  31027. AddVehicleDrug(vehicleid, package, type, Float:quantity, strength) {
  31028. for (new i = 0; i < 10; i++) {
  31029. if (CarDrugData[vehicleid][i][drugQuantity] == 0) {
  31030. static query[256];
  31031. CarDrugData[vehicleid][i][drugPackage] = package;
  31032. CarDrugData[vehicleid][i][drugType] = type;
  31033. CarDrugData[vehicleid][i][drugQuantity] = quantity;
  31034. CarDrugData[vehicleid][i][drugStrength] = strength;
  31035. mysql_format(m_Handle, query, sizeof query, "INSERT INTO vehicle_drugs (slot, vehiclesqlid, package, type, quantity, strength) VALUES (%d, %d, %d, %d, %.1f, %d);", i, CarData[vehicleid][carID], package, type, quantity, strength);
  31036. mysql_query(m_Handle, query, false);
  31037. return 1;
  31038. }
  31039. }
  31040. return 0;
  31041. }
  31042. RemoveVehicleDrug(vehicleid, slot) {
  31043. static query[128];
  31044. CarDrugData[vehicleid][slot][drugPackage] = 0;
  31045. CarDrugData[vehicleid][slot][drugType] = 0;
  31046. CarDrugData[vehicleid][slot][drugQuantity] = 0.0;
  31047. CarDrugData[vehicleid][slot][drugStrength] = 0;
  31048. mysql_format(m_Handle, query, sizeof query, "SELECT * FROM vehicle_drugs WHERE slot = %d AND vehiclesqlid = %d;", slot, CarData[vehicleid][carID]);
  31049. new Cache:result = mysql_query(m_Handle, query);
  31050. if (cache_num_rows() > 0) {
  31051. mysql_format(m_Handle, query, sizeof query, "DELETE FROM vehicle_drugs WHERE slot = %d AND vehiclesqlid = %d;", slot, CarData[vehicleid][carID]);
  31052. mysql_query(m_Handle, query, false);
  31053. cache_delete(result);
  31054. return 1;
  31055. } else {
  31056. cache_delete(result);
  31057. return 0;
  31058. }
  31059. }
  31060. /*RemoveVehicleDrug(vehicleid, slot)
  31061. {
  31062. new query[100];
  31063. CarDrugData[vehicleid][slot][drugPackage] = 0;
  31064. CarDrugData[vehicleid][slot][drugType] = 0;
  31065. CarDrugData[vehicleid][slot][drugQuantity] = 0.0;
  31066. CarDrugData[vehicleid][slot][drugStrength] = 0;
  31067. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM vehicle_drugs WHERE vehiclesqlid = %d AND id = %d", CarData[vehicleid][carID], slot);
  31068. mysql_tquery(m_Handle, query);
  31069. }*/
  31070. Server:SQL_LoadPropertyGarages()
  31071. {
  31072. if(!cache_num_rows())return print("Loading - No property garages were available to load.");
  31073. new rows, fields;
  31074. cache_get_row_count(rows), cache_get_field_count(fields);
  31075. for(new i = 0; i < rows && i < MAX_PROPERTY_GARAGES; i++){
  31076. cache_get_value_name_int(i, "id", GarageData[i+1][garageSQLID]);
  31077. cache_get_value_name_float(i, "PosX", GarageData[i+1][garagePos][0]);
  31078. cache_get_value_name_float(i, "PosY", GarageData[i+1][garagePos][1]);
  31079. cache_get_value_name_float(i, "PosZ", GarageData[i+1][garagePos][2]);
  31080. cache_get_value_name_float(i, "PosA", GarageData[i+1][garagePos][3]);
  31081. cache_get_value_name_float(i, "IntX", GarageData[i+1][garageInt][0]);
  31082. cache_get_value_name_float(i, "IntY", GarageData[i+1][garageInt][1]);
  31083. cache_get_value_name_float(i, "IntZ", GarageData[i+1][garageInt][2]);
  31084. cache_get_value_name_float(i, "IntA", GarageData[i+1][garageInt][3]);
  31085. cache_get_value_name_int(i, "InteriorID", GarageData[i+1][garageInteriorID]);
  31086. cache_get_value_name_int(i, "InteriorWorld", GarageData[i+1][garageWorld]);
  31087. cache_get_value_name_int(i, "Type", GarageData[i+1][garageType]);
  31088. cache_get_value_name_int(i, "PropertyID", GarageData[i+1][garagePropertyID]);
  31089. cache_get_value_name_int(i, "Locked", GarageData[i+1][garageLocked]);
  31090. cache_get_value_name_int(i, "Faction", GarageData[i+1][garageFaction]);
  31091. TotalPropertyGaragesMade++;
  31092. }
  31093. printf("Loading - %i property garages were loaded from MySQL database.", TotalPropertyGaragesMade);
  31094. return true;
  31095. }
  31096. Server:SQL_LoadDoors()
  31097. {
  31098. if(!cache_num_rows())return print("Loading - No dynamic doors were available to load.");
  31099. new rows, fields;
  31100. cache_get_row_count(rows), cache_get_field_count(fields);
  31101. for(new i = 0; i < rows && i < MAX_DOORS; i++) {
  31102. cache_get_value_name_int(i, "id", DoorData[i+1][doorID]);
  31103. cache_get_value_name_float(i, "PosX", DoorData[i+1][doorPos][0]);
  31104. cache_get_value_name_float(i, "PosY", DoorData[i+1][doorPos][1]);
  31105. cache_get_value_name_float(i, "PosZ", DoorData[i+1][doorPos][2]);
  31106. cache_get_value_name_int(i, "PosInterior", DoorData[i+1][doorPosIntID]);
  31107. cache_get_value_name_int(i, "PosWorld", DoorData[i+1][doorPosWorld]);
  31108. cache_get_value_name_float(i, "IntX", DoorData[i+1][doorInt][0]);
  31109. cache_get_value_name_float(i, "IntY", DoorData[i+1][doorInt][1]);
  31110. cache_get_value_name_float(i, "IntZ", DoorData[i+1][doorInt][2]);
  31111. cache_get_value_name_float(i, "IntA", DoorData[i+1][doorInt][3]);
  31112. cache_get_value_name_int(i, "IntInterior", DoorData[i+1][doorIntID]);
  31113. cache_get_value_name_int(i, "IntWorld", DoorData[i+1][doorIntWorld]);
  31114. cache_get_value_name_int(i, "Faction", DoorData[i+1][doorFaction]);
  31115. cache_get_value_name(i, "Name", DoorData[i+1][doorName], 128);
  31116. cache_get_value_name_int(i, "Locked", DoorData[i+1][doorLocked]);
  31117. TotalDoorsLoaded++;
  31118. }
  31119. printf("Loading - %d dynamic doors were loaded from MySQL database.", TotalDoorsLoaded);
  31120. return true;
  31121. }
  31122. Server:SQL_LoadRentals()
  31123. {
  31124. if(!cache_num_rows()) return print("Loading - No rental vehicles were available to load.");
  31125. new rows, fields, count = 0, vehicleid = INVALID_VEHICLE_ID;
  31126. cache_get_row_count(rows);
  31127. cache_get_field_count(fields);
  31128. for(new i = 0; i < rows && i < MAX_RENTALS; i++) {
  31129. new Float:posX, Float:posY, Float:posZ, Float:posA;
  31130. new color1, color2, model;
  31131. cache_get_value_name_float(i, "PosX", posX);
  31132. cache_get_value_name_float(i, "PosY", posY);
  31133. cache_get_value_name_float(i, "PosZ", posZ);
  31134. cache_get_value_name_float(i, "PosA", posA);
  31135. cache_get_value_name_int(i, "color1", color1);
  31136. cache_get_value_name_int(i, "color2", color2);
  31137. cache_get_value_name_int(i, "model", model);
  31138. vehicleid = CreateVehicle(model, posX, posY, posZ, posA, color1, color2, -1, 0);
  31139. DefaultVehicleValues(vehicleid);
  31140. cache_get_value_name_int(i, "id", RentalData[vehicleid][rentalcarSQLID]);
  31141. cache_get_value_name_int(i, "model", RentalData[vehicleid][rentalcarModel]);
  31142. cache_get_value_name_int(i, "color1", RentalData[vehicleid][rentalcarColor1]);
  31143. cache_get_value_name_int(i, "color2", RentalData[vehicleid][rentalcarColor2]);
  31144. cache_get_value_name_float(i, "PosX", RentalData[vehicleid][rentalcarPos][0]);
  31145. cache_get_value_name_float(i, "PosY", RentalData[vehicleid][rentalcarPos][1]);
  31146. cache_get_value_name_float(i, "PosZ", RentalData[vehicleid][rentalcarPos][2]);
  31147. cache_get_value_name_float(i, "PosA", RentalData[vehicleid][rentalcarPos][3]);
  31148. RentalData[vehicleid][rentalcarRented] = false;
  31149. RentalData[vehicleid][rentalcarRentedBy] = false;
  31150. SetVehicleNumberPlate(vehicleid, "RENTAL");
  31151. SetVehicleToRespawn(vehicleid);
  31152. count++;
  31153. }
  31154. printf("Loading - %d rental vehicles were loaded from MySQL dastabase.", count);
  31155. return true;
  31156. }
  31157. Server:SQL_RefreshFactionCar(vehicleid)
  31158. {
  31159. if(!cache_num_rows())return printf("[WARNING] Failed to refresh faction vehicle ID %d. No data found.", vehicleid);
  31160. new rows, fields, newvehicleid = INVALID_VEHICLE_ID;
  31161. cache_get_row_count(rows), cache_get_field_count(fields);
  31162. DestroyVehicle(vehicleid);
  31163. for(new i = 0; i < rows && i < MAX_FACTION_CARS; i++) {
  31164. new Float: posX; cache_get_value_name_float(i, "PosX", posX);
  31165. new Float: posY; cache_get_value_name_float(i, "PosY", posY);
  31166. new Float: posZ; cache_get_value_name_float(i, "PosZ", posZ);
  31167. new Float: posA; cache_get_value_name_float(i, "PosA", posA);
  31168. new color1, color2; cache_get_value_name_int(i, "Color1", color1), cache_get_value_name_int(i, "Color2", color2);
  31169. new siren; cache_get_value_name_int(i, "Sirens", siren);
  31170. new mdl; cache_get_value_name_int(i, "ModelID", mdl);
  31171. newvehicleid = CreateVehicle(mdl, posX, posY, posZ, posA, color1, color2, -1, siren);
  31172. if(newvehicleid != INVALID_VEHICLE_ID){
  31173. cache_get_value_name_int(i, "id", FactionCar[newvehicleid][carID]);
  31174. cache_get_value_name_int(i, "factionid", FactionCar[newvehicleid][carFaction]);
  31175. cache_get_value_name_int(i, "ModelID", FactionCar[newvehicleid][carModel]);
  31176. cache_get_value_name_float(i, "PosX", FactionCar[newvehicleid][carPos][0]);
  31177. cache_get_value_name_float(i, "PosY", FactionCar[newvehicleid][carPos][1]);
  31178. cache_get_value_name_float(i, "PosZ", FactionCar[newvehicleid][carPos][2]);
  31179. cache_get_value_name_float(i, "PosA", FactionCar[newvehicleid][carPos][3]);
  31180. cache_get_value_name_int(i, "Interior", FactionCar[newvehicleid][carInterior]);
  31181. cache_get_value_name_int(i, "World", FactionCar[newvehicleid][carWorld]);
  31182. if(FactionCar[newvehicleid][carInterior] != 0){
  31183. LinkVehicleToInterior(vehicleid, FactionCar[newvehicleid][carInterior]);
  31184. }
  31185. SetVehicleVirtualWorld(vehicleid, FactionCar[newvehicleid][carWorld]);
  31186. cache_get_value_name_int(i, "Color1", FactionCar[newvehicleid][carColor1]);
  31187. cache_get_value_name_int(i, "Color2", FactionCar[newvehicleid][carColor2]);
  31188. cache_get_value_name_int(i, "Sirens", FactionCar[newvehicleid][carSirens]);
  31189. cache_get_value_name_int(i, "Gunrack", FactionCar[newvehicleid][carGunRack]);
  31190. printf("[WARNING] Faction vehicle ID %d was refreshed.", newvehicleid);
  31191. }
  31192. }
  31193. return true;
  31194. }
  31195. Server:SQL_LoadXMRData()
  31196. {
  31197. if(!cache_num_rows())return print("Loading - No XMR data was available to load.");
  31198. new rows, fields, count = 0;
  31199. cache_get_row_count(rows), cache_get_field_count(fields);
  31200. for(new i = 0; i < rows && i < MAX_XMR_SUBCATEGORY; i++) {
  31201. cache_get_value_name_int(i, "id", XMRData[i+1][xmrID]);
  31202. cache_get_value_name_int(i, "category", XMRData[i+1][xmrCategory]);
  31203. cache_get_value_name(i, "xmr_name", XMRData[i+1][xmrName], 90);
  31204. cache_get_value_name(i, "xmr_url", XMRData[i+1][xmrStationURL], 128);
  31205. count++;
  31206. }
  31207. printf("Loading - %d XMR stations were loaded.", count);
  31208. return true;
  31209. }
  31210. Server:SQL_LoadXMRCategories()
  31211. {
  31212. if(!cache_num_rows())return print("Loading - No XMR data was available to load.");
  31213. new rows, fields, count = 0;
  31214. cache_get_row_count(rows), cache_get_field_count(fields);
  31215. for(new i = 0; i < rows && i < MAX_XMR_CATEGORIES; i++) {
  31216. cache_get_value_name_int(i, "id", XMRCategoryData[i+1][XMRID]);
  31217. cache_get_value_name(i, "cat_name", XMRCategoryData[i+1][XMRCategoryName], 90);
  31218. cache_get_value_name_int(i, "category_id", XMRCategoryData[i+1][XMRCategory]);
  31219. count++;
  31220. }
  31221. printf("Loading - %d XMR sub categories were loaded.", count);
  31222. return true;
  31223. }
  31224. Server:SQL_LoadObjects()
  31225. {
  31226. if(!cache_num_rows())
  31227. return print("Loading - No Objects were available to load.");
  31228. new rows, fields, count;
  31229. cache_get_row_count(rows), cache_get_field_count(fields);
  31230. for(new i = 0; i < rows && i < MAX_SERVER_OBJECTS; i++)
  31231. {
  31232. cache_get_value_name_int(i, "id", ObjectData[i][ObjectDBID]);
  31233. cache_get_value_name_int(i, "model_id", ObjectData[i][Object_Model]);
  31234. cache_get_value_name_float(i, "PosX", ObjectData[i][Object_PosX]);
  31235. cache_get_value_name_float(i, "PosY", ObjectData[i][Object_PosY]);
  31236. cache_get_value_name_float(i, "PosZ", ObjectData[i][Object_PosZ]);
  31237. cache_get_value_name_float(i, "RotX", ObjectData[i][Object_RotX]);
  31238. cache_get_value_name_float(i, "RotY", ObjectData[i][Object_RotY]);
  31239. cache_get_value_name_float(i, "RotZ", ObjectData[i][Object_RotZ]);
  31240. cache_get_value_name_float(i, "OpenX", ObjectData[i][Object_OpenX]);
  31241. cache_get_value_name_float(i, "OpenY", ObjectData[i][Object_OpenY]);
  31242. cache_get_value_name_float(i, "OpenZ", ObjectData[i][Object_OpenZ]);
  31243. cache_get_value_name_float(i, "OpenRotX", ObjectData[i][Object_OpenRotX]);
  31244. cache_get_value_name_float(i, "OpenRotY", ObjectData[i][Object_OpenRotY]);
  31245. cache_get_value_name_float(i, "OpenRotZ", ObjectData[i][Object_OpenRotZ]);
  31246. cache_get_value_name_int(i, "Type", ObjectData[i][Object_Type]);
  31247. cache_get_value_name_int(i, "Faction", ObjectData[i][Object_Faction]);
  31248. cache_get_value_name_int(i, "Interior", ObjectData[i][Object_Interior]);
  31249. cache_get_value_name_int(i, "World", ObjectData[i][Object_World]);
  31250. ObjectData[i][Object] = CreateDynamicObject(ObjectData[i][Object_Model], ObjectData[i][Object_PosX], ObjectData[i][Object_PosY], ObjectData[i][Object_PosZ], ObjectData[i][Object_RotX], ObjectData[i][Object_RotY], ObjectData[i][Object_RotZ], ObjectData[i][Object_World], ObjectData[i][Object_Interior]);
  31251. count++;
  31252. }
  31253. printf("Loading - %d mapping objects were loaded.", count);
  31254. return 1;
  31255. }
  31256. Server:SQL_LoadEntrances()
  31257. {
  31258. if(!cache_num_rows())
  31259. return print("Loading - No Entrances were available to load.");
  31260. new rows, fields, count;
  31261. cache_get_row_count(rows), cache_get_field_count(fields);
  31262. for(new i = 0; i < rows && i < 30; i++) // Smiling faces
  31263. {
  31264. cache_get_value_name_int(i, "InteriorDBID", Entrances[i+1][InteriorDBID]);
  31265. cache_get_value_name_float(i, "EntranceX", Entrances[i+1][Entrance][0]);
  31266. cache_get_value_name_float(i, "EntranceY", Entrances[i+1][Entrance][1]);
  31267. cache_get_value_name_float(i, "EntranceZ", Entrances[i+1][Entrance][2]);
  31268. cache_get_value_name_int(i, "EntranceInteriorID", Entrances[i+1][EntranceInteriorID]);
  31269. cache_get_value_name_int(i, "EntranceWorld", Entrances[i+1][EntranceWorld]);
  31270. cache_get_value_name_float(i, "ExitX", Entrances[i+1][Exit][0]);
  31271. cache_get_value_name_float(i, "ExitY", Entrances[i+1][Exit][1]);
  31272. cache_get_value_name_float(i, "ExitZ", Entrances[i+1][Exit][2]);
  31273. cache_get_value_name_int(i, "ExitInteriorID", Entrances[i+1][ExitInteriorID]);
  31274. cache_get_value_name_int(i, "ExitWorld", Entrances[i+1][ExitWorld]);
  31275. cache_get_value_name_bool(i, "Locked", Entrances[i+1][Locked]);
  31276. cache_get_value_name_int(i, "FactionOwner", Entrances[i+1][FactionOwner]);
  31277. cache_get_value_name_int(i, "IsBlackMarket", Entrances[i+1][IsBlackMarket]);
  31278. cache_get_value_name_int(i, "IsWarehouse", Entrances[i+1][IsWarehouse]);
  31279. count++;
  31280. }
  31281. printf("Loading - %i entrances were loaded.", count);
  31282. return 1;
  31283. }
  31284. Server:SQL_LoadFactionCars()
  31285. {
  31286. if(!cache_num_rows())return print("Loading - No faction vehicles were available to load.");
  31287. new rows, fields, count = 0, vehicleid = INVALID_VEHICLE_ID;
  31288. cache_get_row_count(rows);
  31289. cache_get_field_count(fields);
  31290. for(new i = 0; i < rows && i < MAX_FACTION_CARS; i++){
  31291. new Float: posX; cache_get_value_name_float(i, "PosX", posX);
  31292. new Float: posY; cache_get_value_name_float(i, "PosY", posY);
  31293. new Float: posZ; cache_get_value_name_float(i, "PosZ", posZ);
  31294. new Float: posA; cache_get_value_name_float(i, "PosA", posA);
  31295. new color1; cache_get_value_name_int(i, "Color1", color1);
  31296. new color2; cache_get_value_name_int(i, "Color2", color2);
  31297. new siren; cache_get_value_name_int(i, "Sirens", siren);
  31298. new mdl; cache_get_value_name_int(i, "ModelID", mdl);
  31299. vehicleid = CreateVehicle(mdl, posX, posY, posZ, posA, color1, color2, -1, siren);
  31300. if(vehicleid != INVALID_VEHICLE_ID){
  31301. cache_get_value_name_int(i, "id", FactionCar[vehicleid][carID]);
  31302. cache_get_value_name_int(i, "factionid", FactionCar[vehicleid][carFaction]);
  31303. cache_get_value_name_int(i, "ModelID", FactionCar[vehicleid][carModel]);
  31304. cache_get_value_name_float(i, "PosX", FactionCar[vehicleid][carPos][0]);
  31305. cache_get_value_name_float(i, "PosY", FactionCar[vehicleid][carPos][1]);
  31306. cache_get_value_name_float(i, "PosZ", FactionCar[vehicleid][carPos][2]);
  31307. cache_get_value_name_float(i, "PosA", FactionCar[vehicleid][carPos][3]);
  31308. cache_get_value_name_int(i, "Interior", FactionCar[vehicleid][carInterior]);
  31309. cache_get_value_name_int(i, "World", FactionCar[vehicleid][carWorld]);
  31310. if(FactionCar[vehicleid][carInterior] != 0) {
  31311. LinkVehicleToInterior(vehicleid, FactionCar[vehicleid][carInterior]);
  31312. }
  31313. SetVehicleVirtualWorld(vehicleid, FactionCar[vehicleid][carWorld]);
  31314. cache_get_value_name_int(i, "Color1", FactionCar[vehicleid][carColor1]);
  31315. cache_get_value_name_int(i, "Color2", FactionCar[vehicleid][carColor2]);
  31316. cache_get_value_name_int(i, "Sirens", FactionCar[vehicleid][carSirens]);
  31317. cache_get_value_name_int(i, "Gunrack", FactionCar[vehicleid][carGunRack]);
  31318. cache_get_value_name(i, "Plate", FactionCar[vehicleid][carLicensePlate], 32);
  31319. FactionCar[vehicleid][carSirenOn] = false;
  31320. RentalData[vehicleid][rentalcarSQLID] = 0;
  31321. CarData[vehicleid][carID] = 0;
  31322. switch(FactionCar[vehicleid][carModel])
  31323. {
  31324. case 528, 601, 427: SetVehicleHealth(vehicleid, 10000);
  31325. }
  31326. SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF);
  31327. SetVehicleNumberPlate(vehicleid, FactionCar[vehicleid][carLicensePlate]);
  31328. count++;
  31329. }
  31330. }
  31331. printf("Loading - %d faction vehicles were loaded from MySQL database.", count);
  31332. return true;
  31333. }
  31334. Server:SQL_LoadOwnedCars(playerid)
  31335. {
  31336. if(!cache_num_rows())return SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} That vehicle slot is empty.");
  31337. new str[128], string[256], rows, fields, vehicleid = INVALID_VEHICLE_ID;
  31338. cache_get_row_count(rows);
  31339. cache_get_field_count(fields);
  31340. for(new i = 0; i < rows && i < MAX_VEHICLES; i++) {
  31341. new Float: posX; cache_get_value_name_float(i, "PosX", posX);
  31342. new Float: posY; cache_get_value_name_float(i, "PosY", posY);
  31343. new Float: posZ; cache_get_value_name_float(i, "PosZ", posZ);
  31344. new Float: posA; cache_get_value_name_float(i, "PosA", posA);
  31345. new color1, color2; cache_get_value_name_int(i, "Color1", color1), cache_get_value_name_int(i, "Color2", color2);
  31346. new mdl; cache_get_value_name_int(i, "ModelID", mdl);
  31347. vehicleid = CreateVehicle(mdl, posX, posY, posZ, posA, color1, color2, -1, false);
  31348. CarData[vehicleid][carIGid] = vehicleid;
  31349. _has_spawned_vehicleid[playerid] = vehicleid;
  31350. _has_vehicle_spawned[playerid] = true;
  31351. cache_get_value_name(i, "Plate", CarData[vehicleid][carPlates], 32);
  31352. SetVehicleNumberPlate(vehicleid, CarData[vehicleid][carPlates]);
  31353. SetVehicleToRespawn(vehicleid);
  31354. cache_get_value_name_float(i, "PosX", CarData[vehicleid][carPos][0]);
  31355. cache_get_value_name_float(i, "PosY", CarData[vehicleid][carPos][1]);
  31356. cache_get_value_name_float(i, "PosZ", CarData[vehicleid][carPos][2]);
  31357. cache_get_value_name_float(i, "PosA", CarData[vehicleid][carPos][3]);
  31358. cache_get_value_name_int(i, "Interior", CarData[vehicleid][carInterior]);
  31359. cache_get_value_name_int(i, "World", CarData[vehicleid][carWorld]);
  31360. if(CarData[vehicleid][carInterior] != 0) {
  31361. LinkVehicleToInterior(vehicleid, CarData[vehicleid][carInterior]);
  31362. SetVehicleVirtualWorld(vehicleid, CarData[vehicleid][carWorld]);
  31363. }
  31364. cache_get_value_name_int(i, "id", CarData[vehicleid][carID]);
  31365. cache_get_value_name_int(i, "OwnerID", CarData[vehicleid][carOwnerID]);
  31366. cache_get_value_name_int(i, "ModelID", CarData[vehicleid][carModel]);
  31367. cache_get_value_name_float(i, "Fuel", CarData[vehicleid][carFuel]);
  31368. cache_get_value_name_int(i, "Locked", CarData[vehicleid][carLocked]);
  31369. cache_get_value_name_int(i, "Color1", CarData[vehicleid][carColor1]);
  31370. cache_get_value_name_int(i, "Color2", CarData[vehicleid][carColor2]);
  31371. cache_get_value_name_int(i, "Paintjob", CarData[vehicleid][carPaintjob]);
  31372. cache_get_value_name_int(i, "XMR", CarData[vehicleid][carXMR]);
  31373. cache_get_value_name_int(i, "Impounded", CarData[vehicleid][carImpounded]);
  31374. cache_get_value_name_float(i, "ImpoundPosX", CarData[vehicleid][carImpoundPos][0]);
  31375. cache_get_value_name_float(i, "ImpoundPosY", CarData[vehicleid][carImpoundPos][1]);
  31376. cache_get_value_name_float(i, "ImpoundPosZ", CarData[vehicleid][carImpoundPos][2]);
  31377. cache_get_value_name_float(i, "ImpoundPosA", CarData[vehicleid][carImpoundPos][3]);
  31378. if(CarData[vehicleid][carImpounded] == 1){
  31379. SetVehiclePos(vehicleid, CarData[vehicleid][carImpoundPos][0], CarData[vehicleid][carImpoundPos][1], CarData[vehicleid][carImpoundPos][2]);
  31380. SetVehicleZAngle(vehicleid, CarData[vehicleid][carImpoundPos][3]);
  31381. }
  31382. if(CarData[vehicleid][carPaintjob] != -1){
  31383. ChangeVehiclePaintjob(vehicleid, CarData[vehicleid][carPaintjob]);
  31384. }
  31385. cache_get_value_name_float(i, "EngineLife", CarData[vehicleid][carEngine]);
  31386. cache_get_value_name_float(i, "BatteryLife", CarData[vehicleid][carBattery]);
  31387. cache_get_value_name_int(i, "LockLevel", CarData[vehicleid][carLock]);
  31388. cache_get_value_name_int(i, "AlarmLevel", CarData[vehicleid][carAlarm]);
  31389. cache_get_value_name_int(i, "ImmobLevel", CarData[vehicleid][carImmob]);
  31390. cache_get_value_name_int(i, "Insurance", CarData[vehicleid][carInsurance]);
  31391. cache_get_value_name_int(i, "TimesDestroyed", CarData[vehicleid][carTimeDestroyed]);
  31392. cache_get_value_name_int(i, "LastDriver", CarData[vehicleid][carlastDriver]);
  31393. cache_get_value_name_int(i, "LastPassenger", CarData[vehicleid][carlastPassenger]);
  31394. for(new m = 1; m < 14; m++){
  31395. format(str, sizeof(str), "CarMods%d", m);
  31396. cache_get_value_name_int(i, str, CarData[vehicleid][carMods][m]);
  31397. }
  31398. for(new w = 1; w < 5; w++){
  31399. format(str, sizeof(str), "Weapons%d", w);
  31400. cache_get_value_name_int(i, str, CarData[vehicleid][carWeapons][w]);
  31401. format(str, sizeof(str), "Ammo%d", w);
  31402. cache_get_value_name_int(i, str, CarData[vehicleid][carWeaponsAmmo][w]);
  31403. }
  31404. for(new p = 1; p < 21; p++){
  31405. format(str, sizeof(str), "Packages%d", p);
  31406. cache_get_value_name_int(i, str, CarData[vehicleid][carPackages][p]);
  31407. format(str, sizeof(str), "PackagesAmmo%d", p);
  31408. cache_get_value_name_int(i, str, CarData[vehicleid][carPackagesAmmo][p]);
  31409. }
  31410. cache_get_value_name_float(i, "Weapon1PosX", CarData[vehicleid][carWeapon1Pos][0]);
  31411. cache_get_value_name_float(i, "Weapon1PosY", CarData[vehicleid][carWeapon1Pos][1]);
  31412. cache_get_value_name_float(i, "Weapon1PosZ", CarData[vehicleid][carWeapon1Pos][2]);
  31413. cache_get_value_name_float(i, "Weapon1RotX", CarData[vehicleid][carWeapon1Rot][0]);
  31414. cache_get_value_name_float(i, "Weapon1RotY", CarData[vehicleid][carWeapon1Rot][1]);
  31415. cache_get_value_name_float(i, "Weapon1RotZ", CarData[vehicleid][carWeapon1Rot][2]);
  31416. cache_get_value_name_float(i, "Weapon2PosX", CarData[vehicleid][carWeapon2Pos][0]);
  31417. cache_get_value_name_float(i, "Weapon2PosY", CarData[vehicleid][carWeapon2Pos][1]);
  31418. cache_get_value_name_float(i, "Weapon2PosZ", CarData[vehicleid][carWeapon2Pos][2]);
  31419. cache_get_value_name_float(i, "Weapon2RotX", CarData[vehicleid][carWeapon2Rot][0]);
  31420. cache_get_value_name_float(i, "Weapon2RotY", CarData[vehicleid][carWeapon2Rot][1]);
  31421. cache_get_value_name_float(i, "Weapon2RotZ", CarData[vehicleid][carWeapon2Rot][2]);
  31422. cache_get_value_name_float(i, "Weapon3PosX", CarData[vehicleid][carWeapon3Pos][0]);
  31423. cache_get_value_name_float(i, "Weapon3PosY", CarData[vehicleid][carWeapon3Pos][1]);
  31424. cache_get_value_name_float(i, "Weapon3PosZ", CarData[vehicleid][carWeapon3Pos][2]);
  31425. cache_get_value_name_float(i, "Weapon3RotX", CarData[vehicleid][carWeapon3Rot][0]);
  31426. cache_get_value_name_float(i, "Weapon3RotY", CarData[vehicleid][carWeapon3Rot][1]);
  31427. cache_get_value_name_float(i, "Weapon3RotZ", CarData[vehicleid][carWeapon3Rot][2]);
  31428. cache_get_value_name_float(i, "Weapon4PosX", CarData[vehicleid][carWeapon4Pos][0]);
  31429. cache_get_value_name_float(i, "Weapon4PosY", CarData[vehicleid][carWeapon4Pos][1]);
  31430. cache_get_value_name_float(i, "Weapon4PosZ", CarData[vehicleid][carWeapon4Pos][2]);
  31431. cache_get_value_name_float(i, "Weapon4RotX", CarData[vehicleid][carWeapon4Rot][0]);
  31432. cache_get_value_name_float(i, "Weapon4RotY", CarData[vehicleid][carWeapon4Rot][1]);
  31433. cache_get_value_name_float(i, "Weapon4RotZ", CarData[vehicleid][carWeapon4Rot][2]);
  31434. cache_get_value_name_float(i, "LastHealth", CarData[vehicleid][carLastHealth]);
  31435. cache_get_value_name_int(i, "Panels", CarData[vehicleid][carPanelStatus]);
  31436. cache_get_value_name_int(i, "Doors", CarData[vehicleid][carDoorsStatus]);
  31437. cache_get_value_name_int(i, "Lights", CarData[vehicleid][carLightsStatus]);
  31438. cache_get_value_name_int(i, "Tires", CarData[vehicleid][carTiresStatus]);
  31439. if(CarData[vehicleid][carLastHealth] < 248)
  31440. SetVehicleHealth(vehicleid, 1000);
  31441. else SetVehicleHealth(vehicleid, CarData[vehicleid][carLastHealth]);
  31442. UpdateVehicleDamageStatus(vehicleid, CarData[vehicleid][carPanelStatus], CarData[vehicleid][carDoorsStatus], CarData[vehicleid][carLightsStatus], CarData[vehicleid][carTiresStatus]);
  31443. for(new ii = 1; ii < 5; ii++)
  31444. {
  31445. if(CarData[vehicleid][carWeapons][ii])
  31446. {
  31447. switch(ii)
  31448. {
  31449. case 1:
  31450. {
  31451. CarData[vehicleid][carWeaponObject][ii] = CreateDynamicObject(ReturnWeaponsModel(CarData[vehicleid][carWeapons][ii]), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, CarData[vehicleid][carWorld], CarData[vehicleid][carInterior]);
  31452. AttachDynamicObjectToVehicle(CarData[vehicleid][carWeaponObject][ii], vehicleid, CarData[vehicleid][carWeapon1Pos][0], CarData[vehicleid][carWeapon1Pos][1], CarData[vehicleid][carWeapon1Pos][2], CarData[vehicleid][carWeapon1Rot][0], CarData[vehicleid][carWeapon1Rot][1], CarData[vehicleid][carWeapon1Rot][2]);
  31453. }
  31454. case 2:
  31455. {
  31456. CarData[vehicleid][carWeaponObject][ii] = CreateDynamicObject(ReturnWeaponsModel(CarData[vehicleid][carWeapons][ii]), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, CarData[vehicleid][carWorld], CarData[vehicleid][carInterior]);
  31457. AttachDynamicObjectToVehicle(CarData[vehicleid][carWeaponObject][ii], vehicleid, CarData[vehicleid][carWeapon2Pos][0], CarData[vehicleid][carWeapon2Pos][1], CarData[vehicleid][carWeapon2Pos][2], CarData[vehicleid][carWeapon2Rot][0], CarData[vehicleid][carWeapon2Rot][1], CarData[vehicleid][carWeapon2Rot][2]);
  31458. }
  31459. case 3:
  31460. {
  31461. CarData[vehicleid][carWeaponObject][ii] = CreateDynamicObject(ReturnWeaponsModel(CarData[vehicleid][carWeapons][ii]), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, CarData[vehicleid][carWorld], CarData[vehicleid][carInterior]);
  31462. AttachDynamicObjectToVehicle(CarData[vehicleid][carWeaponObject][ii], vehicleid, CarData[vehicleid][carWeapon3Pos][0], CarData[vehicleid][carWeapon3Pos][1], CarData[vehicleid][carWeapon3Pos][2], CarData[vehicleid][carWeapon3Rot][0], CarData[vehicleid][carWeapon3Rot][1], CarData[vehicleid][carWeapon3Rot][2]);
  31463. }
  31464. case 4:
  31465. {
  31466. CarData[vehicleid][carWeaponObject][ii] = CreateDynamicObject(ReturnWeaponsModel(CarData[vehicleid][carWeapons][i]), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, CarData[vehicleid][carWorld], CarData[vehicleid][carInterior]);
  31467. AttachDynamicObjectToVehicle(CarData[vehicleid][carWeaponObject][i], vehicleid, CarData[vehicleid][carWeapon4Pos][0], CarData[vehicleid][carWeapon4Pos][1], CarData[vehicleid][carWeapon4Pos][2], CarData[vehicleid][carWeapon4Rot][0], CarData[vehicleid][carWeapon4Rot][1], CarData[vehicleid][carWeapon4Rot][2]);
  31468. }
  31469. }
  31470. }
  31471. }
  31472. FactionCar[vehicleid][carFaction] = -1;
  31473. CarData[vehicleid][carExists] = true;
  31474. SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF);
  31475. if(CarData[vehicleid][carLocked] == 0){
  31476. ToggleVehicleLock(vehicleid, false);
  31477. }
  31478. else{
  31479. ToggleVehicleLock(vehicleid, true);
  31480. }
  31481. switch(GetVehicleModel(vehicleid))
  31482. {
  31483. case 481, 509, 510: ToggleVehicleEngine(vehicleid, true);
  31484. }
  31485. }
  31486. LogVehicleAction(vehicleid, "Spawned");
  31487. mysql_format(m_Handle, string, sizeof(string), "SELECT * FROM vehicle_fines WHERE vehicle_dbid = %i", CarData[vehicleid][carID]);
  31488. mysql_tquery(m_Handle, string, "LoadVehicleFines", "i", vehicleid);
  31489. mysql_format(m_Handle, string, sizeof(string), "SELECT * FROM vehicle_drugs WHERE vehiclesqlid = %i", CarData[vehicleid][carID]);
  31490. mysql_tquery(m_Handle, string, "LoadVehicleDrugs", "i", vehicleid);
  31491. format(string, sizeof(string), "%s has been spawned at its parking place:", ReturnVehicleName(vehicleid));
  31492. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  31493. format(string, sizeof(string), "Lock[%d], Alarm[%d], Immob[%d], Insurance[%d]", CarData[vehicleid][carLock], CarData[vehicleid][carAlarm], CarData[vehicleid][carImmob], CarData[vehicleid][carInsurance]);
  31494. SendClientMessage(playerid, COLOR_WHITE, string);
  31495. format(string, sizeof(string), "Life Span: Engine Life[%.2f], Battery Life[%.2f], Times Destroyed[%d]", CarData[vehicleid][carEngine], CarData[vehicleid][carBattery], CarData[vehicleid][carTimeDestroyed]);
  31496. SendClientMessage(playerid, COLOR_WHITE, string);
  31497. SendClientMessage(playerid, COLOR_PINK, "Hint: Follow the red marker to find your vehicle.");
  31498. if(CarData[vehicleid][carImpounded]) SetPlayerCheckpoint(playerid, CarData[vehicleid][carImpoundPos][0], CarData[vehicleid][carImpoundPos][1], CarData[vehicleid][carImpoundPos][2], 3.0);
  31499. else SetPlayerCheckpoint(playerid, CarData[vehicleid][carPos][0], CarData[vehicleid][carPos][1], CarData[vehicleid][carPos][2], 3.0);
  31500. printf("[DEBUG] %s spawned their vehicle %s. (DBID : %d)", ReturnName(playerid, 1), ReturnVehicleName(vehicleid), CarData[vehicleid][carID]);
  31501. return true;
  31502. }
  31503. Server:LocalChat(playerid, Float:radi, string[], color1, color2, color3, color4)
  31504. {
  31505. if (!pLoggedIn[playerid])
  31506. return false;
  31507. new Float:currentPos[3], Float:oldPos[3], Float:checkPos[3];
  31508. GetPlayerPos(playerid, oldPos[0], oldPos[1], oldPos[2]);
  31509. foreach (new i : Player)
  31510. {
  31511. if (!pLoggedIn[i]) continue;
  31512. GetPlayerPos(i, currentPos[0], currentPos[1], currentPos[2]);
  31513. for (new p = 0; p < 3; p++)
  31514. {
  31515. checkPos[p] = (oldPos[p] - currentPos[p]);
  31516. }
  31517. if (GetPlayerVirtualWorld(i) != GetPlayerVirtualWorld(playerid))
  31518. continue;
  31519. if (((checkPos[0] < radi/16) && (checkPos[0] > -radi/16)) && ((checkPos[1] < radi/16) && (checkPos[1] > -radi/16)) && ((checkPos[2] < radi/16) && (checkPos[2] > -radi/16)))
  31520. {
  31521. SendClientMessage(i, color1, string);
  31522. }
  31523. else if (((checkPos[0] < radi/8) && (checkPos[0] > -radi/8)) && ((checkPos[1] < radi/8) && (checkPos[1] > -radi/8)) && ((checkPos[2] < radi/8) && (checkPos[2] > -radi/8)))
  31524. {
  31525. SendClientMessage(i, color2, string);
  31526. }
  31527. else if (((checkPos[0] < radi/4) && (checkPos[0] > -radi/4)) && ((checkPos[1] < radi/4) && (checkPos[1] > -radi/4)) && ((checkPos[2] < radi/4) && (checkPos[2] > -radi/4)))
  31528. {
  31529. SendClientMessage(i, color3, string);
  31530. }
  31531. else if (((checkPos[0] < radi/2) && (checkPos[0] > -radi/2)) && ((checkPos[1] < radi/2) && (checkPos[1] > -radi/2)) && ((checkPos[2] < radi/2) && (checkPos[2] > -radi/2)))
  31532. {
  31533. SendClientMessage(i, color4, string);
  31534. }
  31535. }
  31536. return 1;
  31537. }
  31538. Server:ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  31539. {
  31540. if(IsPlayerConnected(playerid))
  31541. {
  31542. new Float:posx, Float:posy, Float:posz;
  31543. new Float:oldposx, Float:oldposy, Float:oldposz;
  31544. new Float:tempposx, Float:tempposy, Float:tempposz;
  31545. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  31546. for(new i = 0; i < MAX_PLAYERS; i++)
  31547. {
  31548. if(IsPlayerConnected(i))
  31549. {
  31550. GetPlayerPos(i, posx, posy, posz);
  31551. tempposx = (oldposx -posx);
  31552. tempposy = (oldposy -posy);
  31553. tempposz = (oldposz -posz);
  31554. if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  31555. {
  31556. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  31557. {
  31558. SendClientMessage(i, col1, string);
  31559. }
  31560. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  31561. {
  31562. SendClientMessage(i, col2, string);
  31563. }
  31564. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  31565. {
  31566. SendClientMessage(i, col3, string);
  31567. }
  31568. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  31569. {
  31570. SendClientMessage(i, col4, string);
  31571. }
  31572. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  31573. {
  31574. SendClientMessage(i, col5, string);
  31575. }
  31576. }
  31577. }
  31578. }
  31579. }
  31580. return true;
  31581. }
  31582. Server:SendLawMessage(color, string[])
  31583. {
  31584. foreach(new i : Player)
  31585. {
  31586. if(PlayerData[i][pLAWduty]) {
  31587. SendClientMessage(i, color, string);
  31588. }
  31589. }
  31590. return true;
  31591. }
  31592. Server:SendFDMessage(color, string[])
  31593. {
  31594. foreach(new i : Player) if(PlayerData[i][pMEDduty])
  31595. SendClientMessage(i, color, string);
  31596. return 1;
  31597. }
  31598. Server:SendFactionMessage(playerid, string[])
  31599. {
  31600. new faction = PlayerData[playerid][pFaction];
  31601. foreach(new i : Player)
  31602. {
  31603. if(PlayerData[i][pFaction] == faction){
  31604. if(PlayerData[i][pFactionChat] == 0){
  31605. SendClientMessage(i, FactionData[faction][factionChatColor], string);
  31606. }
  31607. }
  31608. }
  31609. return true;
  31610. }
  31611. Server:SendFactionMessageEx(playerid, color, string[])
  31612. {
  31613. new faction = PlayerData[playerid][pFaction];
  31614. foreach(new i : Player)
  31615. {
  31616. if(PlayerData[i][pFaction] == faction){
  31617. SendClientMessage(i, color, string);
  31618. }
  31619. }
  31620. return true;
  31621. }
  31622. Server:SendMessageToFaction(factionid, color, string[])
  31623. {
  31624. foreach(new i : Player) {
  31625. if(PlayerData[i][pFaction] == factionid) {
  31626. SendClientMessage(i, color, string);
  31627. }
  31628. }
  31629. return true;
  31630. }
  31631. Server:FactionNotifyBeep(playerid)
  31632. {
  31633. foreach(new i : Player) {
  31634. if ( PlayerData[i][pFaction] == PlayerData[playerid][pFaction] ) {
  31635. PlayNearbySound(i, 1149);
  31636. }
  31637. }
  31638. return true;
  31639. }
  31640. Server:CountOnlineMembers(factionid)
  31641. {
  31642. new count = 0;
  31643. foreach(new i : Player)
  31644. {
  31645. if(PlayerData[i][pFaction] == factionid){
  31646. count++;
  31647. }
  31648. }
  31649. return count;
  31650. }
  31651. Server:ReturnChatAnimation(playerid, text[])
  31652. {
  31653. if (PlayerData[playerid][pPlayingAnimation] || PlayerData[playerid][pBrutallyWounded] || PlayerIsTased[playerid] || GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_HANDSUP)
  31654. return 1;
  31655. switch(PlayerData[playerid][pChatstyle]) {
  31656. case 0: ApplyAnimation(playerid,"PED","IDLE_CHAT",4.0,1,1,0,1,1,1);
  31657. case 1: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKA",4.0,1,0,0,1,1,1);
  31658. case 2: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKB", 4.0,1,0,0,1,1,1);
  31659. case 3: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKD", 4.0,1,0,0,1,1,1);
  31660. case 4: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKE", 4.0,1,0,0,1,1,1);
  31661. case 5: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKF", 4.0,1,0,0,1,1,1);
  31662. case 6: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKG", 4.0,1,0,0,1,1,1);
  31663. case 7: ApplyAnimation(playerid, "GANGS", "PRTIAL_GNGTLKH", 4.0,1,0,0,1,1,1);
  31664. }
  31665. if(strlen(text) <= 16) SetTimerEx("TIMER_EndChatAnim",2000, 0, "i", playerid);
  31666. else if(strlen(text) <= 32 && strlen(text) > 16) SetTimerEx("TIMER_EndChatAnim",3500, 0, "i", playerid);
  31667. else if(strlen(text) <= 64 && strlen(text) > 32) SetTimerEx("TIMER_EndChatAnim",4000, 0, "i", playerid);
  31668. else if(strlen(text) <= 96 && strlen(text) > 64) SetTimerEx("TIMER_EndChatAnim",4500, 0, "i", playerid);
  31669. else if(strlen(text) <= 128 && strlen(text) > 96) SetTimerEx("TIMER_EndChatAnim",5000, 0, "i", playerid);
  31670. else if(strlen(text) > 128) SetTimerEx("TIMER_EndChatAnim",5500, 0, "i", playerid);
  31671. return 1;
  31672. }
  31673. Server:TIMER_EndChatAnim(playerid)
  31674. {
  31675. if(GetPlayerTeam(playerid) == STATE_ALIVE)
  31676. return ApplyAnimation(playerid, "CARRY", "crry_prtial", 4, 0, 0, 0, 0, 0, 1);
  31677. return 1;
  31678. }
  31679. public OnPlayerEnterDynamicArea(playerid, areaid)
  31680. {
  31681. for(new i = 0; i < sizeof BoomboxData; i++)
  31682. {
  31683. if(areaid == BoomboxData[i][boomboxArea] && BoomboxData[i][boomboxOn])
  31684. {
  31685. if(IsPlayerInAnyVehicle(playerid))
  31686. {
  31687. if(IsValidFactionCar(GetPlayerVehicleID(playerid)) && !FactionCar[GetPlayerVehicleID(playerid)][carsXMROn])
  31688. PlayAudioStreamForPlayer(playerid, BoomboxData[i][boomboxURL], BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2], 30.0, 1);
  31689. else if(IsValidPlayerCar(GetPlayerVehicleID(playerid)) && !CarData[GetPlayerVehicleID(playerid)][carXMROn])
  31690. PlayAudioStreamForPlayer(playerid, BoomboxData[i][boomboxURL], BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2], 30.0, 1);
  31691. }
  31692. else {
  31693. if (BoomboxData[i][boomboxInBusiness] == BusinessData[IsPlayerInBusiness(playerid)][businessID]) {
  31694. PlayAudioStreamForPlayer(playerid, BoomboxData[i][boomboxURL], BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2], 100.0, 1);
  31695. } else {
  31696. PlayAudioStreamForPlayer(playerid, BoomboxData[i][boomboxURL], BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2], 30.0, 1);
  31697. }
  31698. }
  31699. printf("[DEBUG] %s entered a boombox area.", ReturnName(playerid));
  31700. }
  31701. }
  31702. if(OrderedWeapon[playerid] && areaid == WeaponOrderArea[playerid])
  31703. {
  31704. if(gettime() - WeaponOrderDoneTime[playerid] >= 480)
  31705. {
  31706. ClearPlayerOrder(playerid);
  31707. SendClientMessage(playerid, COLOR_YELLOW, "SMS: You took too long..., Sender: 434112");
  31708. return 1;
  31709. }
  31710. if(WeaponOrdered[0][playerid])
  31711. {
  31712. switch(WeaponOrdered[0][playerid])
  31713. {
  31714. case 25: WeaponOrderPrice[playerid]+= WEAPON_ORDER_SHOTGUN;
  31715. case 24: WeaponOrderPrice[playerid]+= WEAPON_ORDER_DEAGLE;
  31716. case 32: WeaponOrderPrice[playerid]+= WEAPON_ORDER_TEC9;
  31717. }
  31718. }
  31719. if(WeaponOrdered[1][playerid])
  31720. {
  31721. switch(WeaponOrdered[1][playerid])
  31722. {
  31723. case 25: WeaponOrderPrice[playerid]+= WEAPON_ORDER_SHOTGUN;
  31724. case 24: WeaponOrderPrice[playerid]+= WEAPON_ORDER_DEAGLE;
  31725. case 32: WeaponOrderPrice[playerid]+= WEAPON_ORDER_TEC9;
  31726. }
  31727. }
  31728. SendClientMessage(playerid, COLOR_YELLOW, "SMS: I see you. I marked a spot for you. Stop there., Sender: 434112");
  31729. SetPlayerCheckpoint(playerid, PossibleDropSpots[WeaponOrderSpot[playerid]][LocationX], PossibleDropSpots[WeaponOrderSpot[playerid]][LocationY], PossibleDropSpots[WeaponOrderSpot[playerid]][LocationZ], 2.0);
  31730. PlayerData[playerid][pCheckpoint] = WEAPON_ORDER_NUMBER;
  31731. DestroyDynamicArea(WeaponOrderArea[playerid]);
  31732. }
  31733. return 1;
  31734. }
  31735. public OnPlayerLeaveDynamicArea(playerid, areaid)
  31736. {
  31737. for(new i = 0; i < sizeof BoomboxData; i++)
  31738. {
  31739. if(areaid == BoomboxData[i][boomboxArea] && BoomboxData[i][boomboxOn])
  31740. {
  31741. if(IsPlayerInAnyVehicle(playerid))
  31742. {
  31743. if(IsValidFactionCar(GetPlayerVehicleID(playerid)) && !FactionCar[GetPlayerVehicleID(playerid)][carsXMROn])
  31744. StopAudioStreamForPlayer(playerid);
  31745. else if(IsValidPlayerCar(GetPlayerVehicleID(playerid)) && !CarData[GetPlayerVehicleID(playerid)][carXMROn])
  31746. StopAudioStreamForPlayer(playerid);
  31747. }
  31748. else
  31749. StopAudioStreamForPlayer(playerid);
  31750. printf("[DEBUG] %s left a boombox area.", ReturnName(playerid));
  31751. }
  31752. }
  31753. return 1;
  31754. }
  31755. Server:OnPlayerSavingsWithdraw(playerid, response)
  31756. {
  31757. if(response) {
  31758. WriteLog("money_logs/savingswithdraw_log.txt", "[%s] %s withdrew their savings of : $%s", ReturnDate(), ReturnName(playerid, 1), PlayerData[playerid][pSavings]);
  31759. new string[128];
  31760. format(string, sizeof(string), "[ ! ]{FFFFFF} You withdrew {FF6346}$%s{FFFFFF} from your savings!", MoneyFormat(PlayerData[playerid][pSavings]));
  31761. SendClientMessage(playerid, COLOR_ADM, string);
  31762. GiveMoney(playerid, PlayerData[playerid][pSavings]);
  31763. PlayerData[playerid][pSavings] = 0;
  31764. }
  31765. else {
  31766. SendClientMessage(playerid, COLOR_ADM, "[ ! ]{FFFFFF} If you wish to withdraw your savings later, use {FF6346}/savings withdraw");
  31767. }
  31768. }
  31769. Server:OnPlayerPurchaseWeapon(playerid, response, weaponid, ammo, price)
  31770. {
  31771. if( response ) {
  31772. if(IsPlayerInBusiness(playerid))
  31773. {
  31774. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= price;
  31775. }
  31776. GiveMoney(playerid, -price);
  31777. GivePlayerGun(playerid, weaponid, ammo, WEAPON_AMMUNATION_GIVEN);
  31778. new string[128];
  31779. format(string, sizeof(string), "Bought %s (%d) for $%s", ReturnWeaponName(weaponid), ammo, MoneyFormat(price));
  31780. LogPlayerAction(playerid, string);
  31781. format(string, sizeof(string), "%s bought %s and %d ammo", ReturnName(playerid, 1), ReturnWeaponName(weaponid), ammo);
  31782. adminWarn(1, string);
  31783. WriteLog("weapon_logs/ammunation/buygun.txt", "[%s] %s bought %s and %d ammo", ReturnDate(), ReturnName(playerid, 1), ReturnWeaponName(weaponid), ammo);
  31784. }
  31785. else return SendClientMessage(playerid, COLOR_DARKGREEN, "You cancelled your purchase!");
  31786. return true;
  31787. }
  31788. Server:OnPlayerPurchaseCar(playerid, response)
  31789. {
  31790. if(response)
  31791. {
  31792. new slot_id = FreePlayerCarID(playerid), carPlate[32], query[566];
  31793. printf("FreePlayerCarId, playerid %d, returned slot_id: %d", playerid, slot_id);
  31794. if(slot_id == -1) {
  31795. SendClientMessage(playerid, COLOR_ADM, "SERVER: You currently own the maximum amount of vehicles possible.");
  31796. if(IsValidVehicle(g_aVehicleSpawned[playerid])) {
  31797. DestroyVehicle(g_aVehicleSpawned[playerid]);
  31798. }
  31799. ClearDealershipVar(playerid);
  31800. TogglePlayerControllable(playerid, true);
  31801. return true;
  31802. }
  31803. if(PlayerData[playerid][pMoney] < g_aTotalAmount[playerid]) {
  31804. SendClientMessage(playerid, COLOR_ADM, "ERROR:{FFFFFF} You don't have enough money to buy this.");
  31805. if(IsValidVehicle (g_aVehicleSpawned[playerid])) {
  31806. DestroyVehicle(g_aVehicleSpawned[playerid]);
  31807. }
  31808. ClearDealershipVar(playerid);
  31809. TogglePlayerControllable(playerid, true);
  31810. return true;
  31811. }
  31812. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  31813. g_aSlotSave[playerid] = slot_id;
  31814. new rand[3];
  31815. rand[0] = random(sizeof(PlatePossible));
  31816. rand[1] = random(sizeof(PlatePossible));
  31817. rand[2] = random(sizeof(PlatePossible));
  31818. format(carPlate, sizeof(carPlate), "%d%s%s%s%d%d%d", random(9), PlatePossible[rand[0]], PlatePossible[rand[1]], PlatePossible[rand[2]], random(9), random(9), random(9));
  31819. format(g_aPlates[playerid], 32, "%s", carPlate);
  31820. SendClientMessage(playerid, 0xB9E35EFF, "PROCESSING: Rebuilding your vehicle list.");
  31821. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO ownedcars (`OwnerID`, `ModelID`, `Color1`, `Color2`, `XMR`, `LockLevel`, `AlarmLevel`, `ImmobLevel`, `PosX`, `PosY`, `PosZ`, `Plate`) VALUES(%i, %i, %i, %i, %i, %i, %i, %i, %f, %f, %f, '%e')",
  31822. PlayerData[playerid][pSQLID], ds_PlayerMenuModels[playerid][SubDealershipHolder[playerid]], g_aVehicleColor[playerid][0], g_aVehicleColor[playerid][1], g_aXMR[playerid], g_aLockLevel[playerid],
  31823. g_aAlarmLevel[playerid], g_aImmobLevel[playerid], PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], carPlate);
  31824. mysql_tquery(m_Handle, query, "SQL_BuyPlayerCar", "i", playerid);
  31825. if(IsValidVehicle (g_aVehicleSpawned[playerid])) {
  31826. DestroyVehicle(g_aVehicleSpawned[playerid]);
  31827. }
  31828. ShowPlayerPlateSet(playerid, carPlate);
  31829. GiveMoney(playerid, -g_aTotalAmount[playerid]);
  31830. TogglePlayerControllable(playerid, true);
  31831. }
  31832. else{
  31833. if(IsValidVehicle (g_aVehicleSpawned[playerid])) {
  31834. DestroyVehicle(g_aVehicleSpawned[playerid]);
  31835. }
  31836. SendClientMessage(playerid, 0xB9E35EFF, "PROCESSED: Your purchase has been cancelled.");
  31837. ClearDealershipVar(playerid);
  31838. TogglePlayerControllable(playerid, true);
  31839. }
  31840. return true;
  31841. }
  31842. Server:OnPlayerPurchaseArmor(playerid, response, price)
  31843. {
  31844. if(response) {
  31845. if(IsPlayerInBusiness(playerid))
  31846. {
  31847. BusinessData[IsPlayerInBusiness(playerid)][businessCashbox]+= price;
  31848. }
  31849. GiveMoney(playerid, -price);
  31850. SetPlayerArmour(playerid, 50);
  31851. new string[128];
  31852. format(string, sizeof(string), "Bought Armor $%s", MoneyFormat(price));
  31853. LogPlayerAction(playerid, string);
  31854. format(string, sizeof(string), "%s bought Armor for $%s", ReturnName(playerid, 1), MoneyFormat(price));
  31855. adminWarn(1, string);
  31856. WriteLog("weapon_logs/ammunation/buykevlar_log.txt", "[%s] %s bought Armor for $%s", ReturnDate(), ReturnName(playerid, 1), MoneyFormat(price));
  31857. }
  31858. else return SendClientMessage(playerid, COLOR_DARKGREEN, "You cancelled your purchase!");
  31859. return true;
  31860. }
  31861. Server:OnPlayerSellFurniture(playerid, response, objectid, sqlid, igid)
  31862. {
  31863. if(response)
  31864. {
  31865. if(FurnitureData[igid][furnitureExists])
  31866. {
  31867. GiveMoney(playerid, 100);
  31868. DestroyDynamicObject(objectid);
  31869. new query[90];
  31870. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM furniture WHERE id = %i", sqlid);
  31871. mysql_pquery(m_Handle, query);
  31872. FurnitureData[igid][furnitureSQLID] = 0;
  31873. FurnitureData[igid][furnitureExists] = false;
  31874. }
  31875. else return SendClientMessage(playerid, COLOR_DARKGREEN, "Furniture no longer exists.");
  31876. }
  31877. else return SendClientMessage(playerid, COLOR_DARKGREEN, "You cancelled your sale!");
  31878. return true;
  31879. }
  31880. Server:OnPlayerPurchaseAmmo(playerid, response, weaponid, ammo, price)
  31881. {
  31882. if (response) {
  31883. new currAmmo;
  31884. SendClientMessage(playerid, COLOR_DARKGREEN, "You bought ammo. Enjoy your purchase!");
  31885. if (weaponid == WEAPON_COLT45) {
  31886. currAmmo = ReturnWeaponAmmo(playerid, WEAPON_COLT45);
  31887. GiveMoney(playerid, -price);
  31888. UpdatePlayerAmmo(playerid, WEAPON_COLT45, ammo + currAmmo);
  31889. SetPlayerAmmo(playerid, WEAPON_COLT45, ammo + currAmmo);
  31890. }
  31891. else if ( weaponid == WEAPON_DEAGLE ) {
  31892. currAmmo = ReturnWeaponAmmo(playerid, WEAPON_DEAGLE);
  31893. GiveMoney(playerid, -price);
  31894. UpdatePlayerAmmo(playerid, WEAPON_DEAGLE, ammo + currAmmo);
  31895. SetPlayerAmmo(playerid, WEAPON_DEAGLE, ammo + currAmmo);
  31896. }
  31897. else if ( weaponid == WEAPON_SHOTGUN ) {
  31898. currAmmo = ReturnWeaponAmmo(playerid, WEAPON_SHOTGUN);
  31899. GiveMoney(playerid, -price);
  31900. UpdatePlayerAmmo(playerid, WEAPON_SHOTGUN, ammo + currAmmo);
  31901. SetPlayerAmmo(playerid, WEAPON_SHOTGUN, ammo + currAmmo);
  31902. }
  31903. else if ( weaponid == WEAPON_RIFLE ) {
  31904. currAmmo = ReturnWeaponAmmo(playerid, WEAPON_RIFLE);
  31905. GiveMoney(playerid, -price);
  31906. UpdatePlayerAmmo(playerid, WEAPON_RIFLE, ammo + currAmmo);
  31907. SetPlayerAmmo(playerid, WEAPON_RIFLE, ammo + currAmmo);
  31908. }
  31909. new string[128];
  31910. format(string, sizeof(string), "Bought %d Ammo for %s (%d) for $%s", ammo, ReturnWeaponName(weaponid), currAmmo, MoneyFormat(price));
  31911. LogPlayerAction(playerid, string);
  31912. WriteLog("weapon_logs/ammunation/buyammo_log.txt", "[%s] %s bought %d Ammo for %s [Price: $%s]", ReturnDate(), ReturnName(playerid), ammo, ReturnWeaponName(weaponid), MoneyFormat(price));
  31913. }
  31914. else return SendClientMessage(playerid, COLOR_DARKGREEN, "You cancelled your purchase!");
  31915. return true;
  31916. }
  31917. Server:ResetHouseVar(playerid)
  31918. {
  31919. PlayerData[playerid][pInsideHouse] = 0;
  31920. PlayerData[playerid][pInsideBusiness] = 0;
  31921. PlayerData[playerid][pInsideComplex] = 0;
  31922. PlayerData[playerid][pInsideGarage] = 0;
  31923. PlayerData[playerid][pInsideApartment] = 0;
  31924. PlayerData[playerid][pInsidePNS] = 0;
  31925. PlayerData[playerid][pInsideDoor] = 0;
  31926. printf("[WARNING]: %s's inside house, biz, complex, apt, PNS were reset by script.", ReturnName(playerid, 1));
  31927. return true;
  31928. }
  31929. Server:SpawnPlayerIn(playerid)
  31930. {
  31931. if(PlayerData[playerid][pICJailed])
  31932. {
  31933. SendPlayer(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], PlayerData[playerid][pInterior], PlayerData[playerid][pWorld]);
  31934. if(!IsValidDynamic3DTextLabel(PlayerData[playerid][pICJail3D]))
  31935. {
  31936. new jail_str[90];
  31937. TotalJailees++;
  31938. Message(playerid, COLOR_WHITE, "SERVER: You are currently incarcerated as jailee %03d.", TotalJailees);
  31939. format(jail_str, 90, "%03d", TotalJailees);
  31940. PlayerData[playerid][pICJail3D] = CreateDynamic3DTextLabelEx(jail_str, 0x1E0C95FF, 0.0, 0.0, -0.10, 20.0, playerid);
  31941. }
  31942. return 1;
  31943. }
  31944. if (PlayerData[playerid][pSpawnSelect] == 0){
  31945. SendPlayer(playerid, 1642.2314, -2333.6973, 13.5469, 0, 0);
  31946. SetPlayerFacingAngle(playerid, 0.0);
  31947. }
  31948. else if( PlayerData[playerid][pSpawnSelect] == 1 ){
  31949. if(CountPlayerHouses(playerid) == 0) {
  31950. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  31951. SetPlayerFacingAngle(playerid, 0.0);
  31952. PlayerData[playerid][pSpawnSelect] = 0;
  31953. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  31954. return true;
  31955. }
  31956. new h_id = PlayerData[playerid][pSpawnHouse];
  31957. if( PropertyData[h_id][propertyid] == 0 ) {
  31958. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  31959. SetPlayerFacingAngle(playerid, 0.0);
  31960. PlayerData[playerid][pSpawnSelect] = 0;
  31961. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  31962. return true;
  31963. }
  31964. ResetHouseVar(playerid);
  31965. if(PropertyData[h_id][propertyType] == 1) {
  31966. PlayerData[playerid][pInsideComplex] = h_id;
  31967. }
  31968. else if(PropertyData[h_id][propertyType] == 2) {
  31969. PlayerData[playerid][pInsideApartment] = h_id;
  31970. }
  31971. else if(PropertyData[h_id][propertyType] == 3) {
  31972. PlayerData[playerid][pInsideHouse] = h_id;
  31973. }
  31974. SetPlayerPos(playerid, PropertyData[h_id][propertyInterior][0], PropertyData[h_id][propertyInterior][1], PropertyData[h_id][propertyInterior][2]);
  31975. SetPlayerFacingAngle(playerid, PropertyData[h_id][propertyInterior][3]);
  31976. SetPlayerInterior(playerid, PropertyData[h_id][propertyInteriorID]);
  31977. SetPlayerVirtualWorld(playerid, PropertyData[h_id][propertyInteriorWorld]);
  31978. }
  31979. else if ( PlayerData[playerid][pSpawnSelect] == 2 ) {
  31980. if( !PlayerData[playerid][pRenting] ){
  31981. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  31982. SetPlayerFacingAngle(playerid, 357.934);
  31983. PlayerData[playerid][pSpawnSelect] = 0;
  31984. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  31985. return true;
  31986. }
  31987. new r_id = PlayerData[playerid][pRenting];
  31988. if (PropertyData[r_id][propertyid] == 0) {
  31989. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  31990. SetPlayerFacingAngle(playerid, 0.0);
  31991. PlayerData[playerid][pSpawnSelect] = 0;
  31992. PlayerData[playerid][pRenting] = 0;
  31993. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  31994. return true;
  31995. }
  31996. if(PlayerData[playerid][pBank] < PropertyData[r_id][propertyRentPrice]) {
  31997. SendClientMessage(playerid, COLOR_ADM, "You don't have enough money to spawn at the house.");
  31998. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  31999. SetPlayerFacingAngle(playerid, 90.4274);
  32000. return true;
  32001. }
  32002. new string[128];
  32003. SendClientMessage(playerid, COLOR_ADM, "Rent price:");
  32004. format(string, sizeof(string), "$%d", PropertyData[r_id][propertyRentPrice]);
  32005. SendClientMessage(playerid, COLOR_GRAD2, string);
  32006. PlayerData[playerid][pBank]-= PropertyData[r_id][propertyRentPrice];
  32007. SetPlayerPos(playerid, PropertyData[r_id][propertyInterior][0], PropertyData[r_id][propertyInterior][1], PropertyData[r_id][propertyInterior][2]);
  32008. SetPlayerFacingAngle(playerid, PropertyData[r_id][propertyInterior][3]);
  32009. SetPlayerInterior(playerid, PropertyData[r_id][propertyInteriorID]);
  32010. SetPlayerVirtualWorld(playerid, PropertyData[r_id][propertyInteriorWorld]);
  32011. ResetHouseVar(playerid);
  32012. if(PropertyData[r_id][propertyType] == 1) {
  32013. PlayerData[playerid][pInsideComplex] = r_id;
  32014. }
  32015. else if(PropertyData[r_id][propertyType] == 2) {
  32016. PlayerData[playerid][pInsideApartment] = r_id;
  32017. }
  32018. else if(PropertyData[r_id][propertyType] == 3) {
  32019. PlayerData[playerid][pInsideHouse] = r_id;
  32020. }
  32021. }
  32022. else if(PlayerData[playerid][pSpawnSelect] == 3) {
  32023. if(!PlayerData[playerid][pFaction]){
  32024. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  32025. SetPlayerFacingAngle(playerid, 0.0);
  32026. PlayerData[playerid][pSpawnSelect] = 0;
  32027. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  32028. return true;
  32029. }
  32030. new f_id = PlayerData[playerid][pFaction];
  32031. if(FactionData[f_id][factionID] == 0) {
  32032. SendPlayer(playerid, 1642.2314,-2333.6973,13.5469, 0, 0);
  32033. SetPlayerFacingAngle(playerid, 0.0);
  32034. PlayerData[playerid][pSpawnSelect] = 0;
  32035. PlayerData[playerid][pFaction] = 0;
  32036. SendClientMessage(playerid, COLOR_GRAD2, "You will now spawn at the Airport.");
  32037. return true;
  32038. }
  32039. if(PlayerData[playerid][pSpawnPrecinct] != 0)
  32040. {
  32041. switch(PlayerData[playerid][pSpawnPrecinct])
  32042. {
  32043. case 1:
  32044. {
  32045. SetPlayerPos(playerid, FactionData[f_id][factionSpawnEx1][0], FactionData[f_id][factionSpawnEx1][1], FactionData[f_id][factionSpawnEx1][2]);
  32046. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  32047. }
  32048. case 2:
  32049. {
  32050. SetPlayerPos(playerid, FactionData[f_id][factionSpawnEx2][0], FactionData[f_id][factionSpawnEx2][1], FactionData[f_id][factionSpawnEx2][2]);
  32051. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  32052. }
  32053. case 3:
  32054. {
  32055. SetPlayerPos(playerid, FactionData[f_id][factionSpawnEx3][0], FactionData[f_id][factionSpawnEx3][1], FactionData[f_id][factionSpawnEx3][2]);
  32056. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  32057. }
  32058. }
  32059. }
  32060. else
  32061. {
  32062. SetPlayerPos(playerid, FactionData[f_id][factionSpawn][0], FactionData[f_id][factionSpawn][1], FactionData[f_id][factionSpawn][2]);
  32063. SetPlayerFacingAngle(playerid, FactionData[f_id][factionSpawn][3]);
  32064. SetPlayerInterior(playerid, 0);
  32065. SetPlayerVirtualWorld(playerid, 0);
  32066. }
  32067. ResetHouseVar(playerid);
  32068. }
  32069. return true;
  32070. }
  32071. stock ClearGraffitiVars(playerid)
  32072. {
  32073. IsGraffitiDone[playerid] = false;
  32074. DotsSetForGraffiti[playerid] = 0;
  32075. for(new v; v < 65; v++)
  32076. {
  32077. CharactersSetGraffiti[playerid][v] = 0;
  32078. GraffitiActual[playerid][v] = ' ';
  32079. GraffitiTD[playerid][v] = ' ';
  32080. }
  32081. return 1;
  32082. }
  32083. Server:TIMER_PlayerGraffitiEx(playerid)
  32084. {
  32085. new isDone = true;
  32086. if(!DotsSetForGraffiti[playerid])
  32087. {
  32088. DotsSetForGraffiti[playerid] = 1;
  32089. for(new i; i < strlen(GraffitiActual[playerid]); i++)
  32090. {
  32091. GraffitiTD[playerid][i] = '.';
  32092. }
  32093. }
  32094. //We're replacing the dots with letters:
  32095. for(new i; i < strlen(GraffitiActual[playerid]); i++)
  32096. {
  32097. if(CharactersSetGraffiti[playerid][i] == 0)
  32098. {
  32099. isDone = false;
  32100. CharactersSetGraffiti[playerid][i] = 1;
  32101. if(GraffitiTD[playerid][i] == '.')
  32102. {
  32103. GraffitiTD[playerid][i] = GraffitiActual[playerid][i];
  32104. }
  32105. break;
  32106. }
  32107. }
  32108. for(new i; i < strlen(GraffitiTD[playerid]); i++)
  32109. {
  32110. if(GraffitiTD[playerid][i] == ' ') GraffitiTD[playerid][i] = '_';
  32111. }
  32112. new td[128];
  32113. format(td, 128, "~y~%s", GraffitiTD[playerid]);
  32114. PlayerTextDrawSetString(playerid, GraffitiDisplay[playerid], td);
  32115. PlayerTextDrawShow(playerid, GraffitiDisplay[playerid]);
  32116. printf("[DEBUG] %s : PlayerGraffitiEx ... Text: %s", ReturnName(playerid), td);
  32117. IsGraffitiDone[playerid] = isDone;
  32118. return 1;
  32119. }
  32120. Server:TIMER_PlayerGraffiti(playerid)
  32121. {
  32122. new i = graffitiID[playerid];
  32123. if(sprayingGraffiti[playerid] == false)
  32124. {
  32125. KillTimer(graffitiTimer[playerid]);
  32126. KillTimer(graffitiTimerEx[playerid]);
  32127. graffitiTimerEx_Confirm[playerid] = false;
  32128. }
  32129. if(IsPlayerInRangeOfPoint(playerid, 4.0, g_aGraffitiData[i][graffitiPosX], g_aGraffitiData[i][graffitiPosY], g_aGraffitiData[i][graffitiPosZ]))
  32130. {
  32131. if(graffitiTimerEx_Confirm[playerid] == false)
  32132. {
  32133. graffitiTimerEx[playerid] = SetTimerEx("TIMER_PlayerGraffitiEx", 1000, true, "i", playerid);
  32134. graffitiTimerEx_Confirm[playerid] = true;
  32135. printf("[Debug] %s started spraying graffiti. Text: %s", ReturnName(playerid), graffitiText[playerid]);
  32136. format(GraffitiActual[playerid], 65, "%s", graffitiText[playerid]);
  32137. strreplace2(GraffitiActual[playerid], "(n)", "_");
  32138. strreplace2(GraffitiActual[playerid], "(o)", "_");
  32139. strreplace2(GraffitiActual[playerid], "(br)", "_");
  32140. strreplace2(GraffitiActual[playerid], "(bl)", "_");
  32141. strreplace2(GraffitiActual[playerid], "(b)", "_");
  32142. strreplace2(GraffitiActual[playerid], "(g)", "_");
  32143. strreplace2(GraffitiActual[playerid], "(w)", "_");
  32144. strreplace2(GraffitiActual[playerid], "(y)", "_");
  32145. strreplace2(GraffitiActual[playerid], "(r)", "_");
  32146. strreplace2(GraffitiActual[playerid], "(mr)", "_");
  32147. }
  32148. // ORIGINAL GRAFFITI:
  32149. /* format (string, sizeof(string), "~r~Spraying~n~~w~%d]", sprayingGraffitiTime[playerid]);
  32150. GameTextForPlayer(playerid, string, 3000, 3);*/
  32151. //strins(graffitiText[playerid], "\n", strfind(graffitiText[playerid], "(n)") + 1);
  32152. //strdel(graffitiText[playerid], strfind(graffitiText[playerid], "(n)"), strfind(graffitiText[playerid], "(n)"));
  32153. if(IsGraffitiDone[playerid])//if (sprayingGraffitiTime[playerid] <= 0)
  32154. {
  32155. strreplace2(graffitiText[playerid], "(n)", "\n");
  32156. strreplace2(graffitiText[playerid], "(o)", "{FF8B00}");
  32157. strreplace2(graffitiText[playerid], "(br)", "{5B3F01}");
  32158. strreplace2(graffitiText[playerid], "(bl)", "{0000FF}");
  32159. strreplace2(graffitiText[playerid], "(b)", "{000000}");
  32160. strreplace2(graffitiText[playerid], "(g)", "{008000}");
  32161. strreplace2(graffitiText[playerid], "(w)", "{FFFFFF}");
  32162. strreplace2(graffitiText[playerid], "(y)", "{FFFF00}");
  32163. strreplace2(graffitiText[playerid], "(r)", "{FF0000}");
  32164. strreplace2(graffitiText[playerid], "(mr)", "{800000}");
  32165. SetDynamicObjectMaterialText(GraffitiData[i][graffitiObject], 0, graffitiText[playerid], OBJECT_MATERIAL_SIZE_256x256, graffitiFont[playerid], 27, 1, 0xFFFFFFFF, 0, 1);
  32166. //GameTextForPlayer(playerid, "~g~Sprayed", 2000, 3);
  32167. KillTimer(graffitiTimer[playerid]);
  32168. KillTimer(graffitiTimerEx[playerid]);
  32169. sprayingGraffiti[playerid] = false;
  32170. graffitiTimerEx_Confirm[playerid] = false;
  32171. sprayingGraffitiTime[playerid] = saveSprayingTime[playerid];
  32172. PlayerTextDrawSetString(playerid, GraffitiDisplay[playerid], "~g~YOU SET YOUR GRAFFITI!");
  32173. PlayerTextDrawShow(playerid, GraffitiDisplay[playerid]);
  32174. GraffitiExitTimer[playerid] = SetTimerEx("ClearGraffitiTD", 2000, false, "i", playerid);
  32175. IsGraffitiDone[playerid] = false;
  32176. DotsSetForGraffiti[playerid] = 0;
  32177. for(new v; v < 65; v++)
  32178. {
  32179. CharactersSetGraffiti[playerid][v] = 0;
  32180. GraffitiActual[playerid][v] = ' ';
  32181. GraffitiTD[playerid][v] = ' ';
  32182. }
  32183. WriteLog("player_logs/spraying_graffiti.txt", "[%s] %s sprayed : %s at %s (G-ID: %d)", ReturnDate(), ReturnName(playerid, 1), graffitiText[playerid], ReturnLocation(playerid), i);
  32184. }
  32185. }
  32186. else
  32187. {
  32188. KillTimer(graffitiTimer[playerid]);
  32189. KillTimer(graffitiTimerEx[playerid]);
  32190. PlayerTextDrawSetString(playerid, GraffitiDisplay[playerid], "~r~GRAFFITI STOPPED!");
  32191. PlayerTextDrawShow(playerid, GraffitiDisplay[playerid]);
  32192. GraffitiExitTimer[playerid] = SetTimerEx("ClearGraffitiTD", 2000, false, "i", playerid);
  32193. ClearGraffitiVars(playerid);
  32194. //GameTextForPlayer(playerid, "~r~Spraying Stopped", 3000, 3);
  32195. sprayingGraffiti[playerid] = false;
  32196. graffitiTimerEx_Confirm[playerid] = false;
  32197. sprayingGraffitiTime[playerid] = saveSprayingTime[playerid];
  32198. }
  32199. }
  32200. Server:ClearGraffitiTD(playerid)
  32201. {
  32202. printf("[DEBUG] Clearing graffiti for %s", ReturnName(playerid));
  32203. PlayerTextDrawHide(playerid, GraffitiDisplay[playerid]);
  32204. return 1;
  32205. }
  32206. Server:OnMDCPartialPlate(playerid)
  32207. {
  32208. if(!cache_num_rows())
  32209. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Mobile Database Computer", "The plate you inputted was not found in our database.", "<<", "");
  32210. new rows, fields;
  32211. cache_get_row_count(rows), cache_get_field_count(fields);
  32212. new plate_list[128];
  32213. for(new i = 0; i < rows; i++)
  32214. {
  32215. cache_get_value_name(i, "Plate", PlayerMDCPlateHolder[playerid][i], 32);
  32216. }
  32217. for(new i = 0; i < 5; i++)
  32218. {
  32219. if(!isnull(PlayerMDCPlateHolder[playerid][i]))
  32220. {
  32221. format(plate_list, sizeof(plate_list), "%s%s\n", plate_list, PlayerMDCPlateHolder[playerid][i]);
  32222. }
  32223. }
  32224. ShowPlayerDialog(playerid, DIALOG_MDC_PLATE_LIST, DIALOG_STYLE_LIST, "Mobile Database Computer", plate_list, "Select", "<<");
  32225. return 1;
  32226. }
  32227. Server:OnMDCPlateSearch(playerid)
  32228. {
  32229. new rows, fields;
  32230. cache_get_row_count(rows), cache_get_field_count(fields);
  32231. if(!cache_num_rows())
  32232. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Mobile Database Computer", "The plate you inputted was not found in our database.", "<<", "");
  32233. new
  32234. sub_str[128],
  32235. primary_str[430],
  32236. modelid,
  32237. ownerid,
  32238. impounded,
  32239. insurance,
  32240. bool:reportedstolen,
  32241. reporteddate[90];
  32242. cache_get_value_name_int(0, "ModelID", modelid);
  32243. cache_get_value_name_int(0, "OwnerID", ownerid);
  32244. cache_get_value_name_int(0, "Impounded", impounded);
  32245. cache_get_value_name_int(0, "Insurance", insurance);
  32246. cache_get_value_name_bool(0, "ReportedStolen", reportedstolen);
  32247. cache_get_value_name(0, "ReportedStolenDate", reporteddate, 90);
  32248. format(sub_str, sizeof(sub_str), "Vehicle plate: %s\n", PlayerMDCText[playerid]);
  32249. strcat(primary_str, sub_str);
  32250. format(sub_str, sizeof(sub_str), "Vehicle model: %s\n\n", ReturnVehicleModelName(modelid));
  32251. strcat(primary_str, sub_str);
  32252. format(sub_str, sizeof(sub_str), "Registered owner: %s\n", ReturnSQLName(ownerid));
  32253. strcat(primary_str, sub_str);
  32254. format(sub_str, sizeof(sub_str), "Impounded: %s\n", (impounded != 1) ? ("No") : ("Yes"));
  32255. strcat(primary_str, sub_str);
  32256. format(sub_str, sizeof(sub_str), "Insurance: %s\n\n", (insurance != 1) ? ("Invalid") : ("Valid"));
  32257. strcat(primary_str, sub_str);
  32258. if(reportedstolen)
  32259. {
  32260. strcat(primary_str, "{F81414}WARNING:\n\n");
  32261. format(sub_str, sizeof(sub_str), "This vehicle {CCE6E6}(\"%s\"){F81414} has been REPORTED STOLEN by the owner.\n", PlayerMDCText[playerid]);
  32262. strcat(primary_str, sub_str);
  32263. format(sub_str, sizeof(sub_str), "The vehicle was reported stolen on {CCE6E6}%s{F81414}.\n\n", reporteddate);
  32264. strcat(primary_str, sub_str);
  32265. strcat(primary_str, "DOUBLE CHECK OWNER CREDENTIALS!");
  32266. }
  32267. ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Mobile Database Computer", primary_str, "<<", "");
  32268. return 1;
  32269. }
  32270. Server:OnMDCNameSearch(playerid)
  32271. {
  32272. new rows, fields;
  32273. cache_get_row_count(rows), cache_get_field_count(fields);
  32274. if(!cache_num_rows())
  32275. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Mobile Database Computer", "The name you inputted was not found in our database.", "<<", "");
  32276. new
  32277. sub_str[128],
  32278. primary_str[300],
  32279. query[128],
  32280. phone,
  32281. weplicense,
  32282. driverlicense,
  32283. listings,
  32284. jailtime,
  32285. prisontime;
  32286. cache_get_value_name_int(0, "Phone", phone);
  32287. cache_get_value_name_int(0, "WeaponsLicense", weplicense);
  32288. cache_get_value_name_int(0, "DriversLicense", driverlicense);
  32289. cache_get_value_name_int(0, "ActiveListing", listings);
  32290. cache_get_value_name_int(0, "JailTimes", jailtime);
  32291. cache_get_value_name_int(0, "PrisonTimes", prisontime);
  32292. strcat(primary_str, "PERSONAL INFORMATION\n");
  32293. for(new i = 0; i < strlen(PlayerMDCText[playerid]); i++) if(PlayerMDCText[playerid][i] == '_')
  32294. {
  32295. PlayerMDCText[playerid][i] = ' ';
  32296. }
  32297. format(sub_str, sizeof(sub_str), "Full name: %s\n", PlayerMDCText[playerid]);
  32298. strcat(primary_str, sub_str);
  32299. format(sub_str, sizeof(sub_str), "Phone number: %d\n\n", phone);
  32300. strcat(primary_str, sub_str);
  32301. format(sub_str, sizeof(sub_str), "Drivers license: %s\n", (driverlicense != 0) ? ("Acquired") : ("Invalid"));
  32302. strcat(primary_str, sub_str);
  32303. format(sub_str, sizeof(sub_str), "Weapons license: %s\n\n", (weplicense != 0) ? ("Acquired") : ("Invalid"));
  32304. strcat(primary_str, sub_str);
  32305. strcat(primary_str, "CRIMINAL RECORD\n");
  32306. format(sub_str, sizeof(sub_str), "Jail sentences: %i\n", jailtime);
  32307. strcat(primary_str, sub_str);
  32308. format(sub_str, sizeof(sub_str), "Prison sentences: %i\n\n", prisontime);
  32309. strcat(primary_str, sub_str);
  32310. if(!listings)
  32311. strcat(primary_str, "Previous arrest reason(s): (NOT WANTED)\n\n");
  32312. else strcat(primary_str, "OUTSTANDING CHARGES:\n\n");
  32313. mysql_format(m_Handle, query, sizeof(query), "SELECT entry_reason FROM criminal_record WHERE player_name = '%e' ORDER BY id DESC", PlayerMDCText[playerid]);
  32314. new Cache:cache = mysql_query(m_Handle, query);
  32315. new entry_reason[128];
  32316. if(!cache_num_rows())
  32317. strcat(primary_str, "No previous arrest reasons.\n");
  32318. else
  32319. {
  32320. for(new i = 0; i < rows; i++)
  32321. {
  32322. cache_get_value_name(i, "entry_reason", entry_reason, 128);
  32323. format(sub_str, sizeof(sub_str), "* %s\n", entry_reason);
  32324. strcat(primary_str, sub_str);
  32325. }
  32326. }
  32327. cache_delete(cache);
  32328. ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Mobile Database Computer", primary_str, "<<", "");
  32329. return 1;
  32330. }
  32331. Server:OnPlayerAddCharge(playerid, playerb)
  32332. {
  32333. new update_query[128], string[128];
  32334. format(string, sizeof(string), "** HQ: %s added a charge to %s's record! **", ReturnName(playerid, 0), ReturnName(playerb, 1));
  32335. SendLawMessage(COLOR_COP, string);
  32336. PlayerData[playerb][pActiveListing]++;
  32337. mysql_format(m_Handle, update_query, sizeof(update_query), "UPDATE players SET ActiveListing = %i WHERE id = %i", PlayerData[playerb][pActiveListing], PlayerData[playerb][pSQLID]);
  32338. mysql_pquery(m_Handle, update_query);
  32339. return 1;
  32340. }
  32341. Server:OnBadPhoneCall(playerid, type)
  32342. {
  32343. new string[128];
  32344. switch(type)
  32345. {
  32346. case 1:
  32347. {
  32348. SendClientMessage(playerid, COLOR_GREY, "[ ! ] You received a busy tone.");
  32349. }
  32350. case 2:
  32351. {
  32352. SendClientMessage(playerid, COLOR_GREY, "[ ! ] The number you have dialed cannot be reached at this time.");
  32353. }
  32354. }
  32355. PlayerData[playerid][pPhoneline] = INVALID_PLAYER_ID;
  32356. PlayerData[playerid][pCalling] = 0;
  32357. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USECELLPHONE){
  32358. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  32359. }
  32360. format(string, sizeof(string), "* %s puts their phone away.", ReturnName(playerid, 0));
  32361. SendClientMessage(playerid, COLOR_EMOTE, string);
  32362. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  32363. return 1;
  32364. }
  32365. Server:OnShowVehicleList(playerid, listnum)
  32366. {
  32367. new rows, fields;
  32368. cache_get_row_count(rows);
  32369. cache_get_field_count(fields);
  32370. new
  32371. dbid,
  32372. model,
  32373. lock,
  32374. alarm,
  32375. immobiliser,
  32376. timesdestroyed,
  32377. plates[32],
  32378. bool:isSpawned,
  32379. color,
  32380. string[128];
  32381. cache_get_value_name_int(0, "id", dbid);
  32382. cache_get_value_name_int(0, "ModelID", model);
  32383. cache_get_value_name_int(0, "LockLevel", lock);
  32384. cache_get_value_name_int(0, "AlarmLevel", alarm);
  32385. cache_get_value_name_int(0, "ImmobLevel", immobiliser);
  32386. cache_get_value_name_int(0, "TimesDestroyed", timesdestroyed);
  32387. cache_get_value_name(0, "Plate", plates);
  32388. for(new i = 0, j = GetVehiclePoolSize(); i <= j; i++)
  32389. {
  32390. if(CarData[i][carID] == dbid) isSpawned = true;
  32391. }
  32392. if(isSpawned) color = COLOR_DARKGREEN;
  32393. else color = COLOR_WHITE;
  32394. format(string, sizeof(string), "Vehicle %i: %s, Lock[%i], Alarm[%i], Immobiliser[%i], Times destroyed[%i], Plates[%s]",
  32395. listnum, ReturnVehicleModelName(model), lock, alarm, immobiliser, timesdestroyed, plates);
  32396. SendClientMessage(playerid, color, string);
  32397. return 1;
  32398. }
  32399. Server:OnPlayerUnscramble(playerid)
  32400. {
  32401. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  32402. {
  32403. PlayerData[playerid][pUnscrambling] = false;
  32404. PlayerData[playerid][pUnscrambleID] = 0;
  32405. PlayerData[playerid][pUnscramblerTime] = 111;
  32406. PlayerData[playerid][pScrambleFailed] = 0;
  32407. PlayerData[playerid][pScrambleSuccess] = 0;
  32408. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  32409. ShowUnscrambleTextdraw(playerid, false);
  32410. return 1;
  32411. }
  32412. PlayerData[playerid][pUnscramblerTime]--;
  32413. new timerString[20];
  32414. format(timerString, 20, "%d", PlayerData[playerid][pUnscramblerTime]);
  32415. PlayerTextDrawSetString(playerid, Unscrambler_PTD[playerid][5], timerString);
  32416. if(PlayerData[playerid][pUnscramblerTime] < 1)
  32417. {
  32418. PlayerData[playerid][pUnscrambling] = false;
  32419. PlayerData[playerid][pUnscramblerTime] = 111;
  32420. PlayerData[playerid][pUnscrambleID] = 0;
  32421. PlayerData[playerid][pScrambleSuccess] = 0;
  32422. PlayerData[playerid][pScrambleFailed] = 0;
  32423. KillTimer(PlayerData[playerid][pUnscrambleTimer]);
  32424. ShowUnscrambleTextdraw(playerid, false);
  32425. new vehicleid = GetPlayerVehicleID(playerid);
  32426. ToggleVehicleAlarms(vehicleid, true);
  32427. NotifyVehicleOwner(vehicleid);
  32428. ClearAnimations(playerid);
  32429. }
  32430. return 1;
  32431. }
  32432. Server:OnVehicleAlarm(vehicleid)
  32433. {
  32434. return ToggleVehicleAlarms(vehicleid, false);
  32435. }
  32436. Server:OnStolenCarCall(playerid)
  32437. {
  32438. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They picked up. You can talk now by using the chat box.");
  32439. PlayerStolenCarTimer[playerid] = SetTimerEx("OnStolenCarCallEx", 1500, false, "i", playerid);
  32440. return 1;
  32441. }
  32442. Server:OnStolenCarCallEx(playerid)
  32443. {
  32444. PlayerData[playerid][pPhoneline] = 788;
  32445. PlayerData[playerid][pCalling] = 0;
  32446. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: Thank you for calling 778-STOLEN-CARS. Are you calling to report a vehicle stolen?");
  32447. PlayerStolenCarPrompt[playerid] = 1;
  32448. return 1;
  32449. }
  32450. Server:OnStolenCarPrompt(playerid)
  32451. {
  32452. if(!cache_num_rows())
  32453. {
  32454. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: Thank you for holding. We've ran the plates you provide and we've unfortunately found no match in...");
  32455. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: ... database. Would you like to try again or end the call?");
  32456. PlayerStolenCarPrompt[playerid] = 3;
  32457. return 1;
  32458. }
  32459. new rows, fields;
  32460. cache_get_row_count(rows);
  32461. cache_get_field_count(fields);
  32462. new string[128], model_id;
  32463. cache_get_value_name_int(0, "ModelID", model_id);
  32464. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: Thanks for holding. We've found a match with the plates you provided us. Could you confirm that...");
  32465. format(string, sizeof(string), "Operator says: ... the vehicle is a \"%s\" with the license plates \"%s\"?", ReturnVehicleModelName(model_id), PlayerStolenCarPlate[playerid]);
  32466. SendClientMessage(playerid, COLOR_YELLOW, string);
  32467. PlayerStolenCarPrompt[playerid] = 4;
  32468. return 1;
  32469. }
  32470. Server:OnStolenCarOwnedCheck(playerid)
  32471. {
  32472. new string[128], owner_id, rows, fields;
  32473. cache_get_row_count(rows);
  32474. cache_get_field_count(fields);
  32475. cache_get_value_name_int(0, "OwnerID", owner_id);
  32476. if(owner_id != PlayerData[playerid][pSQLID])
  32477. {
  32478. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: It appears this vehicle is not registered to you.");
  32479. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: We are unable to report a vehicle stolen if it's not the registered owner.");
  32480. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  32481. PlayerStolenCarPrompt[playerid] = 0;
  32482. PlayerStolenCarPlate[playerid] = "";
  32483. cmd_hangup(playerid, "");
  32484. }
  32485. else
  32486. {
  32487. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: Okay! We have confirmed that this vehicle belongs to you.");
  32488. mysql_format(m_Handle, string, sizeof(string), "UPDATE ownedcars SET ReportedStolen = 1, ReportedStolenDate = '%e' WHERE Plate = '%e'", ReturnDateEx(), PlayerStolenCarPlate[playerid]);
  32489. mysql_tquery(m_Handle, string, "OnStolenCarConfirm", "i", playerid);
  32490. }
  32491. return 1;
  32492. }
  32493. Server:OnStolenCarConfirm(playerid)
  32494. {
  32495. SendClientMessage(playerid, COLOR_YELLOW, "Operator says: Your vehicle has been flagged stolen and local law enforcement has been notified.");
  32496. new string[128];
  32497. format(string, sizeof(string), "** HQ: A vehicle with the license plates \"%s\" has been reported stolen. **", PlayerStolenCarPlate[playerid]);
  32498. SendLawMessage(COLOR_COP, string);
  32499. PlayerStolenCarPrompt[playerid] = 0;
  32500. PlayerStolenCarPlate[playerid] = "";
  32501. cmd_hangup(playerid, "");
  32502. return 1;
  32503. }
  32504. Server:CheckNameForBan(playerid, user[])
  32505. {
  32506. if(!cache_num_rows())
  32507. return Message(playerid, COLOR_GOLD, "[-] %s is NOT banned.", user);
  32508. new rows, fields, id;
  32509. cache_get_row_count(rows);
  32510. cache_get_field_count(fields);
  32511. id = cache_get_value_name_int(0, "id", id);
  32512. Message(playerid, COLOR_GOLD, "[-] %s is banned (/bansys %i for details)!", user, id);
  32513. return 1;
  32514. }
  32515. Server:OnBanCheck(playerid, user[])
  32516. {
  32517. //if(!cache_num_rows())
  32518. //return Message(playerid, COLOR_GOLD, "This user (%s) is not banned or linked to any banned accounts.", user);
  32519. new rows, fields, id, Name[32];
  32520. cache_get_row_count(rows);
  32521. cache_get_field_count(fields);
  32522. if(!rows)
  32523. return Message(playerid, COLOR_GOLD, "This user (%s) is not banned or linked to any banned accounts.", user);
  32524. for(new i = 0; i < rows; i++)
  32525. {
  32526. cache_get_value_name(i, "Name", Name);
  32527. cache_get_value_name_int(i, "id", id);
  32528. Message(playerid, COLOR_RED, "[ ! ] %s is linked to banned account %s. (Ban ID: %i)", user, Name, id);
  32529. }
  32530. return 1;
  32531. }
  32532. Server:OnBanCheckEx(playerid, playerb)
  32533. {
  32534. //if(!cache_num_rows())
  32535. //return Message(playerid, COLOR_GOLD, "This user (%s) is not banned or linked to any banned accounts.", user);
  32536. new rows, fields, id, Name[32];
  32537. cache_get_row_count(rows);
  32538. cache_get_field_count(fields);
  32539. if(!rows)
  32540. return Message(playerid, COLOR_GOLD, "This user (%s) is not banned or linked to any banned accounts.", ReturnName(playerb));
  32541. for(new i = 0; i < rows; i++)
  32542. {
  32543. cache_get_value_name(i, "Name", Name);
  32544. cache_get_value_name_int(i, "id", id);
  32545. Message(playerid, COLOR_RED, "[ ! ] %s is linked to banned account %s. (Ban ID: %i)", ReturnName(playerb), Name, id);
  32546. }
  32547. return 1;
  32548. }
  32549. Server:OnWeaponsCheck(playerid)
  32550. {
  32551. if(!cache_num_rows())
  32552. return 1;
  32553. new rows, fields, weapon_id, ammo;
  32554. cache_get_row_count(rows);
  32555. cache_get_field_count(fields);
  32556. for(new i = 0; i < rows; i++)
  32557. {
  32558. cache_get_value_name_int(i, "weapon_id", weapon_id);
  32559. cache_get_value_name_int(i, "ammo", ammo);
  32560. Message(playerid, COLOR_GRAD2, "- Weapon: %s [Ammo: %d]", ReturnWeaponName(weapon_id), ammo);
  32561. }
  32562. return 1;
  32563. }
  32564. Server:OnListAccounts(playerid, user[])
  32565. {
  32566. new rows, fields, IP[32], query[128];
  32567. cache_get_row_count(rows);
  32568. cache_get_field_count(fields);
  32569. for(new i = 0; i < rows; i++)
  32570. {
  32571. cache_get_value_name(i, "IP", IP);
  32572. }
  32573. mysql_format(m_Handle, query, sizeof(query), "SELECT Name FROM players WHERE IP = '%e'", IP);
  32574. new Cache:cache = mysql_query(m_Handle, query);
  32575. if(!cache_num_rows())
  32576. return Message(playerid, COLOR_GOLD, "** %s has no alternative accounts.", user);
  32577. new Name[32];
  32578. for(new i = 0; i < cache_num_rows(); i++)
  32579. {
  32580. cache_get_value_name(i, "Name", Name);
  32581. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM bans WHERE Name = '%e'", Name);
  32582. mysql_pquery(m_Handle, query, "CheckIfBanned", "is", playerid, Name);
  32583. }
  32584. cache_delete(cache);
  32585. return 1;
  32586. }
  32587. Server:CheckIfBanned(playerid, user[])
  32588. {
  32589. if(!cache_num_rows())
  32590. Message(playerid, COLOR_GOLD, "** %s", user);
  32591. else Message(playerid, COLOR_RED, "** %s (BANNED)", user);
  32592. return 1;
  32593. }
  32594. Server:OnBanSys(playerid)
  32595. {
  32596. if(!cache_num_rows())
  32597. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The username or ID you specified is not banned or is an invalid ban ID.");
  32598. new
  32599. rows, fields,
  32600. id, Name[32], Reason[128], BannedBy[30], Date[128], IP[30];
  32601. cache_get_row_count(rows);
  32602. cache_get_field_count(fields);
  32603. cache_get_value_name_int(0, "id", id);
  32604. cache_get_value_name(0, "Name", Name);
  32605. cache_get_value_name(0, "Reason", Reason);
  32606. cache_get_value_name(0, "BannedBy", BannedBy);
  32607. cache_get_value_name(0, "Date", Date);
  32608. cache_get_value_name(0, "IP", IP);
  32609. Message(playerid, COLOR_GOLD, "BAN ID:{FFFFFF} #%s", MoneyFormat(id));
  32610. Message(playerid, COLOR_GOLD, "USERNAME:{FFFFFF} %s", Name);
  32611. ClearLines(playerid, 1);
  32612. Message(playerid, COLOR_GOLD, "BANNED BY:{FFFFFF} %s", BannedBy);
  32613. Message(playerid, COLOR_GOLD, "REASON:{FFFFFF} %s", Reason);
  32614. ClearLines(playerid, 1);
  32615. Message(playerid, COLOR_GOLD, "DATE:{FFFFFF} %s", Date);
  32616. Message(playerid, COLOR_GOLD, "IP:{FFFFFF} %s", IP);
  32617. return 1;
  32618. }
  32619. Server:OnBanLookup(playerid, user[])
  32620. {
  32621. if(!cache_num_rows())
  32622. return Message(playerid, COLOR_ADM, "[-] %s has never been banned.", user);
  32623. new rows, fields;
  32624. cache_get_row_count(rows);
  32625. cache_get_field_count(fields);
  32626. new BannedBy[34], Reason[128], Date[90], IP[30];
  32627. SendClientMessage(playerid, COLOR_GOLD, "Banned By | Date | IP | Reason");
  32628. for(new i = 0; i < rows; i++)
  32629. {
  32630. cache_get_value_name(i, "BannedBy", BannedBy);
  32631. cache_get_value_name(i, "Reason", Reason);
  32632. cache_get_value_name(i, "Date", Date);
  32633. cache_get_value_name(i, "IP", IP);
  32634. if(strlen(Reason) > 59)
  32635. {
  32636. Message(playerid, COLOR_GREY, "%s %s %s %.59s ...", BannedBy, Date, IP, Reason);
  32637. Message(playerid, COLOR_GREY, "...%s", Reason[59]);
  32638. }
  32639. else Message(playerid, COLOR_GREY, "%s %s %s %s", BannedBy, Date, IP, Reason);
  32640. }
  32641. return 1;
  32642. }
  32643. Server:OnAjailLookup(playerid, user[])
  32644. {
  32645. if(!cache_num_rows())
  32646. return Message(playerid, COLOR_ADM, "[-] %s has never been admin jailed.", user);
  32647. new rows, fields;
  32648. cache_get_row_count(rows);
  32649. cache_get_field_count(fields);
  32650. new JailedBy[34], Reason[128], Date[90], Time;
  32651. SendClientMessage(playerid, COLOR_GOLD, "Jailed By | Date | Time | Reason");
  32652. for(new i = 0; i < rows; i++)
  32653. {
  32654. cache_get_value_name(i, "JailedBy", JailedBy);
  32655. cache_get_value_name(i, "Reason", Reason);
  32656. cache_get_value_name(i, "Date", Date);
  32657. cache_get_value_name_int(i, "Time", Time);
  32658. if(strlen(Reason) > 59)
  32659. {
  32660. Message(playerid, COLOR_GREY, "%s %s %i %.59s ...", JailedBy, Date, Time, Reason);
  32661. Message(playerid, COLOR_GREY, "...%s", Reason[59]);
  32662. }
  32663. else Message(playerid, COLOR_GREY, "%s %s %i %s", JailedBy, Date, Time, Reason);
  32664. }
  32665. return 1;
  32666. }
  32667. Server:OnKickLookup(playerid, user[])
  32668. {
  32669. if(!cache_num_rows())
  32670. return Message(playerid, COLOR_ADM, "[-] %s has never been kicked.", user);
  32671. new rows, fields;
  32672. cache_get_row_count(rows);
  32673. cache_get_field_count(fields);
  32674. new KickedBy[40], Reason[128], Date[90], IP[60];
  32675. SendClientMessage(playerid, COLOR_GOLD, "Kicked By | Date | IP | Reason");
  32676. for(new i = 0; i < rows; i++)
  32677. {
  32678. cache_get_value_name(i, "KickedBy", KickedBy);
  32679. cache_get_value_name(i, "Reason", Reason);
  32680. cache_get_value_name(i, "Date", Date);
  32681. cache_get_value_name(i, "IP", IP);
  32682. if(strlen(Reason) > 59)
  32683. {
  32684. Message(playerid, COLOR_GREY, "%s %s %s %.59s", KickedBy, Date, IP, Reason);
  32685. Message(playerid, COLOR_GREY, "...%s", Reason[59]);
  32686. }
  32687. else Message(playerid, COLOR_GREY, "%s %s %s %s", KickedBy, Date, IP, Reason);
  32688. }
  32689. return 1;
  32690. }
  32691. Server:OnBurnerPhone(playerid, response)
  32692. {
  32693. if(response)
  32694. {
  32695. PlayerData[playerid][pHasBurnerPhone] = 1;
  32696. SavePlayer(playerid);
  32697. GiveMoney(playerid, -500);
  32698. Message(playerid, COLOR_ADM, "[ ! ] You bought a burner phone. Your number is: %i", PlayerData[playerid][pBurnerPhoneNumber]);
  32699. return 1;
  32700. }
  32701. return 1;
  32702. }
  32703. Server:OnPlayerReport(playerid, response)
  32704. {
  32705. if(response)
  32706. {
  32707. new
  32708. id = -1,
  32709. str[128]
  32710. ;
  32711. for(new i = 1; i < sizeof(ReportData); i++) if(!ReportData[i][reportExists])
  32712. {
  32713. id = i;
  32714. break;
  32715. }
  32716. if(id == -1)
  32717. return SendClientMessage(playerid, COLOR_ADM, "SERVER: An error occurred. Please /pm an Admin your inquiry.");
  32718. ReportData[id][reportExists] = true;
  32719. ReportData[id][reportBy] = PlayerData[playerid][pSQLID];
  32720. format(ReportData[id][reportReason], 128, "%s", PlayerReport[playerid]);
  32721. ReportData[id][reportTime] = gettime();
  32722. if(strlen(PlayerReport[playerid]) > 67)
  32723. {
  32724. format(str, sizeof(str), "[REPORT: %d]{FF9900} %s(%d): %.75s", id, ReturnName(playerid), playerid, PlayerReport[playerid]);
  32725. SendAdminMessage(COLOR_HELPER, str);
  32726. format(str, sizeof(str), "[REPORT: %d]{FF9900} %s(%d): ...%s", id, ReturnName(playerid), playerid, PlayerReport[playerid][75]);
  32727. SendAdminMessage(COLOR_HELPER, str);
  32728. }
  32729. else
  32730. {
  32731. format(str, sizeof(str), "[REPORT: %d]{FF9900} %s(%d): %s", id, ReturnName(playerid), playerid, PlayerReport[playerid]);
  32732. SendAdminMessage(COLOR_HELPER, str);
  32733. }
  32734. if(strfind(PlayerReport[playerid], "hack", true) != -1 || strfind(PlayerReport[playerid], "cheat", true) != -1)
  32735. {
  32736. foreach(new i : Player)
  32737. {
  32738. if(PlayerData[i][pAdmin]) GameTextForPlayer(i, "~y~~h~Priority Report", 4000, 1);
  32739. SendAdminMessage(COLOR_HELPER, "PRIORITY REPORT");
  32740. }
  32741. }
  32742. SendClientMessage(playerid, COLOR_ADM, "SERVER: Your report was sent to all online Admins.");
  32743. }
  32744. return 1;
  32745. }
  32746. Server:OnFailedSMS(playerid)
  32747. {
  32748. if(IsPlayerConnected(playerid))
  32749. {
  32750. SendClientMessage(playerid, COLOR_GREY, "[ ! ] Your SMS failed to deliver.");
  32751. }
  32752. return 1;
  32753. }
  32754. Server:SendSMSText(playerid, playerb)
  32755. {
  32756. if(IsPlayerConnected(playerid))
  32757. {
  32758. if(!IsPlayerConnected(playerb))
  32759. return SendClientMessage(playerid, COLOR_GREY, "[ ! ] Your SMS failed to deliver.");
  32760. new
  32761. sender[60] = "";
  32762. for(new i = 1; i < MAX_PLAYER_CONTACTS; i++)
  32763. {
  32764. if(ContactsData[playerb][i][contactNumber] == ReturnPhoneNumber(playerid))
  32765. {
  32766. format(sender, 60, "%s", ContactsData[playerb][i][contactName]);
  32767. }
  32768. }
  32769. if(isnull(sender))
  32770. format(sender, 60, "%d", ReturnPhoneNumber(playerid));
  32771. if(strlen(PlayerSMS[playerid]) > 80)
  32772. {
  32773. Message(playerb, COLOR_YELLOW, "SMS: %.80s...", PlayerSMS[playerid]);
  32774. Message(playerb, COLOR_YELLOW, "SMS: ...%s, Sender: %s", PlayerSMS[playerid][80], sender);
  32775. }
  32776. else Message(playerb, COLOR_YELLOW, "SMS: %s, Sender: %s", PlayerSMS[playerid], sender);
  32777. SendClientMessage(playerid, COLOR_GREY, "[ ! ] Your SMS was received.");
  32778. }
  32779. return 1;
  32780. }
  32781. Server:OnNonEmergencyCallPickup(playerid)
  32782. {
  32783. SendClientMessage(playerid, COLOR_YELLOW, "991 Operator says (phone): Non-emergency hotline. How may I help you?");
  32784. PlayerData[playerid][pCalling] = 0;
  32785. return 1;
  32786. }
  32787. Server:OnMechanicCall(playerid)
  32788. {
  32789. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They picked up. You can talk now by using the chat box.");
  32790. MechanicCallTimer[playerid] = SetTimerEx("OnMechanicCallPickup", 2000, false, "i", playerid);
  32791. return 1;
  32792. }
  32793. Server:OnMechanicCallPickup(playerid)
  32794. {
  32795. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Thanks for calling Jill's Auto Repair. How may we help you?");
  32796. PlayerData[playerid][pCalling] = 0;
  32797. return 1;
  32798. }
  32799. Server:OnTaxiCall(playerid)
  32800. {
  32801. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They picked up. You can talk now by using the chat box.");
  32802. TaxiCallTimer[playerid] = SetTimerEx("OnTaxiCallPickup", 2000, false, "i", playerid);
  32803. return 1;
  32804. }
  32805. Server:OnTaxiCallPickup(playerid)
  32806. {
  32807. SendClientMessage(playerid, COLOR_YELLOW, "Operator says (phone): Thanks for calling our taxi services. Where would you like to go?");
  32808. PlayerData[playerid][pCalling] = 0;
  32809. TaxiStage[playerid] = 1;
  32810. return 1;
  32811. }
  32812. Server:OnWeaponCall(playerid)
  32813. {
  32814. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They picked up. You can talk now by using the chat box.");
  32815. WeaponOrderTimer[playerid] = SetTimerEx("OnWeaponCallPickup", 2000, false, "i", playerid);
  32816. return 1;
  32817. }
  32818. Server:OnWeaponCallPickup(playerid)
  32819. {
  32820. if(WEAPON_ORDER_DISABLED == true)
  32821. {
  32822. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 4249956_61] says (phone): The MD5 hash is re-routing to the OC3 Optical line. Ahh, shit! FUCK! WE'RE HIT!");
  32823. WeaponOrderPrompt[playerid] = 0;
  32824. cmd_hangup(playerid, "");
  32825. return 1;
  32826. }
  32827. if(OrderedWeapon[playerid])
  32828. {
  32829. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Don't call back yet...");
  32830. WeaponOrderPrompt[playerid] = 0;
  32831. cmd_hangup(playerid, "");
  32832. return 1;
  32833. }
  32834. if(gettime() - OrderWeaponTime[playerid] < 3600)
  32835. {
  32836. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): I'm out for now.");
  32837. WeaponOrderPrompt[playerid] = 0;
  32838. cmd_hangup(playerid, "");
  32839. return 1;
  32840. }
  32841. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): It's Elias.");
  32842. PlayerData[playerid][pCalling] = 0;
  32843. WeaponOrderPrompt[playerid] = 1;
  32844. return 1;
  32845. }
  32846. Server:WeaponOrderPrompts(playerid, prompt)
  32847. {
  32848. switch(prompt)
  32849. {
  32850. case 1:
  32851. {
  32852. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): (Audible breathing over the phone.)");
  32853. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 3000, false, "ii", playerid, 2);
  32854. }
  32855. case 2:
  32856. {
  32857. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Name it.");
  32858. WeaponOrderPrompt[playerid] = 2;
  32859. }
  32860. case 3:
  32861. {
  32862. Message(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): A %s? That right?", WeaponOrderedName[0][playerid]);
  32863. WeaponOrderPrompt[playerid] = 3;
  32864. }
  32865. case 5:
  32866. {
  32867. Message(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): %s yeah?", WeaponOrderedName[1][playerid]);
  32868. WeaponOrderPrompt[playerid] = 6;
  32869. }
  32870. case 6://1 weapon;
  32871. {
  32872. Message(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): You got one %s. Confirm.", WeaponOrderedName[0][playerid]);
  32873. WeaponOrderPrompt[playerid] = 11;
  32874. }
  32875. case 7://2 weapon;
  32876. {
  32877. Message(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): You got a %s and a %s. Confirm.", WeaponOrderedName[0][playerid], WeaponOrderedName[1][playerid]);
  32878. WeaponOrderPrompt[playerid] = 11;
  32879. }
  32880. case 10: //end;
  32881. {
  32882. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): I'll call you in 15 minutes. Be ready and have money on you.");
  32883. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Don't go anywhere.");
  32884. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  32885. WeaponOrderPrompt[playerid] = 0;
  32886. OrderedWeapon[playerid] = true;
  32887. cmd_hangup(playerid, ""); //900000
  32888. WeaponOrderTimer[playerid] = SetTimerEx("OnWeaponOrderFinished", 900000, false, "i", playerid);
  32889. }
  32890. case 11: //order rdy:
  32891. {
  32892. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): Your orders ready. I sent you the pickup coordinates.");
  32893. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 2000, false, "ii", playerid, 12);
  32894. }
  32895. case 12:
  32896. {
  32897. SendClientMessage(playerid, COLOR_YELLOW, "[Mask 424956_61] says (phone): I'm gone if you're not here in eight.");
  32898. SendClientMessage(playerid, COLOR_GREY, "[ ! ] They hung up.");
  32899. cmd_hangup(playerid, "");
  32900. WeaponOrderTimer[playerid] = SetTimerEx("WeaponOrderPrompts", 3000, false, "ii", playerid, 13);
  32901. }
  32902. case 13:
  32903. {
  32904. new id, str[128];
  32905. id = random(sizeof(PossibleDropSpots));
  32906. WeaponOrderSpot[playerid] = id;
  32907. WeaponOrderArea[playerid] = CreateDynamicCircle(PossibleDropSpots[id][LocationX], PossibleDropSpots[id][LocationY], 20.0, 0, 0, playerid);
  32908. format(str, sizeof(str), "SMS: %.4f, %.4f. 8 minutes., Sender: 434112", PossibleDropSpots[id][LocationX], PossibleDropSpots[id][LocationY]);
  32909. SendClientMessage(playerid, COLOR_YELLOW, str);
  32910. SetPlayerCheckpoint(playerid, PossibleDropSpots[id][LocationX], PossibleDropSpots[id][LocationY], PossibleDropSpots[id][LocationZ], 2.0);
  32911. WeaponOrderDoneTime[playerid] = gettime();
  32912. }
  32913. case 14:
  32914. {
  32915. SendClientMessage(playerid, COLOR_YELLOW, "SMS: Don't order shit and then hangup you faggot, Sender: 434112");
  32916. OrderedWeapon[playerid] = false;
  32917. WeaponOrderPrompt[playerid] = false;
  32918. }
  32919. case 15:
  32920. {
  32921. new randomAngle = random(360);
  32922. new randomDistance = random(10);
  32923. new Float:Angle = float(randomAngle);
  32924. new Float:newX = floatcos(Angle);
  32925. new Float:newY = floatsin(Angle);
  32926. new Float:newDistance = float(randomDistance);
  32927. new Float:LocX = (newX * newDistance) + PossibleDropSpots[WeaponOrderSpot[playerid]][LocationX];
  32928. new Float:LocY = (newY * newDistance) + PossibleDropSpots[WeaponOrderSpot[playerid]][LocationY];
  32929. PlayerData[playerid][pPos][0] = LocX;
  32930. PlayerData[playerid][pPos][1] = LocY;
  32931. PlayerData[playerid][pPos][2] = PossibleDropSpots[WeaponOrderSpot[playerid]][LocationZ];
  32932. WeaponOrderObject[playerid] = CreateDynamicObject(3014, LocX, LocY, PlayerData[playerid][pPos][2] - 1, 80.0, 0, 0);
  32933. SendClientMessage(playerid, COLOR_YELLOW, "SMS: Thank you for your donation. I sent you a closeby location., Sender: 434112");
  32934. SetPlayerCheckpoint(playerid, LocX, LocY, PossibleDropSpots[WeaponOrderSpot[playerid]][LocationZ], 1.0);
  32935. SendClientMessage(playerid, COLOR_ADM, "TIP: Use your Crouch (C) key to pick up your package.");
  32936. WeaponOrderPrompt[playerid] = 21;
  32937. return 1;
  32938. }
  32939. }
  32940. return 1;
  32941. }
  32942. Server:OnMappingAdded(playerid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  32943. {
  32944. new
  32945. id, str[128];
  32946. for(new i = 0; i < sizeof ObjectData; i++) if(!ObjectData[i][ObjectDBID])
  32947. {
  32948. id = i;
  32949. break;
  32950. }
  32951. ObjectData[id][Object] =
  32952. CreateDynamicObject(PlayerAddingModel[playerid], x, y, z, rx, ry, rz, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  32953. ObjectData[id][ObjectDBID] = cache_insert_id();
  32954. ObjectData[id][Object_Model] = PlayerAddingModel[playerid];
  32955. ObjectData[id][Object_PosX] = x; ObjectData[id][Object_PosY] = y;
  32956. ObjectData[id][Object_PosZ] = z;
  32957. ObjectData[id][Object_RotX] = rx; ObjectData[id][Object_RotY] = ry;
  32958. ObjectData[id][Object_RotZ] = rz;
  32959. ObjectData[id][Object_Interior] = GetPlayerInterior(playerid);
  32960. ObjectData[id][Object_World] = GetPlayerVirtualWorld(playerid);
  32961. ObjectData[id][Object_Type] = DEFAULT_MAP_TYPE;
  32962. ObjectData[id][Object_Faction] = 0;
  32963. format(str, sizeof(str), "* You created a mapping object. Index: %i DBID: %i", id, cache_insert_id());
  32964. SendClientMessage(playerid, COLOR_GOLD, str);
  32965. format(str, sizeof(str), "%s created a mapping. (ID: %i)", ReturnName(playerid), id);
  32966. adminWarn(4, str);
  32967. WriteLog("admin_logs/makemap.txt", "[%s] %s made a mapping. ID: %i DBID: %i", ReturnDate(), ReturnName(playerid), id, cache_insert_id());
  32968. return 1;
  32969. }
  32970. Server:OnMappingEdited(playerid, index, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  32971. {
  32972. new str[128];
  32973. ObjectData[index][Object_PosX] = x; ObjectData[index][Object_PosY] = y;
  32974. ObjectData[index][Object_PosZ] = z;
  32975. ObjectData[index][Object_RotX] = rx; ObjectData[index][Object_RotY] = ry;
  32976. ObjectData[index][Object_RotZ] = rz;
  32977. format(str, sizeof(str), "* You edited Object %i successfully.", index);
  32978. SendClientMessage(playerid, COLOR_GOLD, str);
  32979. return 1;
  32980. }
  32981. Server:OnMappingEditedEx(playerid, index, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  32982. {
  32983. new str[128];
  32984. ObjectData[index][Object_OpenX] = x; ObjectData[index][Object_OpenY] = y;
  32985. ObjectData[index][Object_OpenZ] = z;
  32986. ObjectData[index][Object_OpenRotX] = rx; ObjectData[index][Object_OpenRotY] = ry;
  32987. ObjectData[index][Object_OpenRotZ] = rz;
  32988. SetDynamicObjectPos(ObjectData[index][Object], ObjectData[index][Object_PosX], ObjectData[index][Object_PosY], ObjectData[index][Object_PosZ]);
  32989. SetDynamicObjectRot(ObjectData[index][Object], ObjectData[index][Object_RotX], ObjectData[index][Object_RotY], ObjectData[index][Object_RotZ]);
  32990. format(str, sizeof(str), "* You edited Object %i's open-position successfully.", index);
  32991. SendClientMessage(playerid, COLOR_GOLD, str);
  32992. return 1;
  32993. }
  32994. Server:OnMapDelete(playerid, response, id)
  32995. {
  32996. if(response)
  32997. {
  32998. new query[128];
  32999. mysql_format(m_Handle, query, sizeof query, "DELETE FROM objects WHERE id = %i", ObjectData[id][ObjectDBID]);
  33000. mysql_pquery(m_Handle, query, "OnMapDeleted", "ii", playerid, id);
  33001. }
  33002. return 1;
  33003. }
  33004. Server:OnMapDeleted(playerid, id)
  33005. {
  33006. new str[128];
  33007. format(str, sizeof(str), "* You successfully deleted Map ID %i.", id);
  33008. SendClientMessage(playerid, COLOR_GOLD, str);
  33009. format(str, sizeof(str), "%s deleted Map Object ID %i", ReturnName(playerid), id);
  33010. adminWarn(4, str);
  33011. WriteLog("admin_logs/deletemap.txt", "[%s] %s deleted Map ID %i", ReturnDate(), ReturnName(playerid), id);
  33012. ObjectData[id][ObjectDBID] = 0;
  33013. ObjectData[id][Object_Model] = 0;
  33014. ObjectData[id][Object_Faction] = 0;
  33015. ObjectData[id][Object_Type] = 0;
  33016. ObjectData[id][Object_PosX] = 0;
  33017. ObjectData[id][Object_PosY] = 0;
  33018. DestroyDynamicObject(ObjectData[id][Object]);
  33019. return 1;
  33020. }
  33021. Server:OnTaserShoot(playerid)
  33022. {
  33023. SetPlayerArmedWeapon(playerid, WEAPON_SILENCED);
  33024. return ClearAnimations(playerid);
  33025. }
  33026. Server:OnVehicleFineIssued(playerid, vehicleid, reason[], amount)
  33027. {
  33028. new id, str[128];
  33029. for(new i = 0; i < 30; i++)
  33030. {
  33031. if(VehicleFines[vehicleid][i][Fine_ID])
  33032. continue;
  33033. id = i;
  33034. break;
  33035. }
  33036. VehicleFines[vehicleid][id][Fine_ID] = cache_insert_id();
  33037. VehicleFines[vehicleid][id][Fine_Amount] = amount;
  33038. format(VehicleFines[vehicleid][id][Fine_Issuer], 34, "%s", ReturnName(playerid, 1));
  33039. format(VehicleFines[vehicleid][id][Fine_Reason], 128, "%s", reason);
  33040. format(VehicleFines[vehicleid][id][Fine_Date], 90, "%s", ReturnDate());
  33041. format(str, sizeof(str), "writes the %s a $%s fine for '%s'.", ReturnVehicleName(vehicleid), MoneyFormat(amount), reason);
  33042. cmd_me(playerid, str);
  33043. return 1;
  33044. }
  33045. Server:OnFineIssued(playerid, playerb, reason[], amount)
  33046. {
  33047. new id, str[128];
  33048. for (new i = 0; i < sizeof(Fines); i++)
  33049. {
  33050. if(Fines[playerb][i][Fine_ID])
  33051. continue;
  33052. id = i;
  33053. break;
  33054. }
  33055. Fines[playerb][id][Fine_ID] = cache_insert_id();
  33056. Fines[playerb][id][Fine_Amount] = amount;
  33057. format(Fines[playerb][id][Fine_Issuer], 34, "%s", ReturnName(playerid, 1));
  33058. format(Fines[playerb][id][Fine_Reason], 128, "%s", reason);
  33059. format(Fines[playerb][id][Fine_Date], 90, "%s", ReturnDate());
  33060. format(str, sizeof(str), "writes %s a $%s fine for '%s'.", ReturnName(playerb, 0), MoneyFormat(amount), reason);
  33061. cmd_me(playerid, str);
  33062. format(str, sizeof(str), "[ ! ] You have a new fine from %s for $%s.", ReturnName(playerid, 0), MoneyFormat(amount));
  33063. SendClientMessage(playerb, COLOR_GOLD, str);
  33064. return 1;
  33065. }
  33066. Server:OnRoadblockDisband(playerid, response, id)
  33067. {
  33068. if(response)
  33069. {
  33070. new str[128];
  33071. format(str, sizeof(str), "** HQ: %s %s disbanded roadblock '%s' from %s! **", ReturnRank(playerid), ReturnName(playerid, 0),
  33072. GetRoadblockNameFromModel(Roadblocks[id][RoadblocksModelID]), Roadblocks[id][RoadblockLocation]);
  33073. SendLawMessage(COLOR_COP, str);
  33074. DestroyDynamicObject(Roadblocks[id][RoadblockObject]);
  33075. Roadblocks[id][RoadblockExists] = false;
  33076. for(new i = 0; i < 3; i++) Roadblocks[id][RoadblockPos][i] = 0.0;
  33077. }
  33078. else return ShowPlayerDialog(playerid, DIALOG_ROADBLOCKS, DIALOG_STYLE_LIST, "Roadblocks Menu", "Deploy Roadblock\nRoadblock List", "Select", "Cancel");
  33079. return 1;
  33080. }
  33081. Server:OnPlayerPayFine(playerid, response, index)
  33082. {
  33083. if(response)
  33084. {
  33085. if(PlayerData[playerid][pMoney] < Fines[playerid][index][Fine_Amount])
  33086. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You can't afford to pay this right now.");
  33087. new thread[128];
  33088. mysql_format(m_Handle, thread, sizeof(thread), "DELETE FROM player_fines WHERE id = %i", Fines[playerid][index][Fine_ID]);
  33089. mysql_tquery(m_Handle, thread, "OnPlayerFinePay", "ii", playerid, index);
  33090. }
  33091. return 1;
  33092. }
  33093. Server:OnPlayerFinePay(playerid, index)
  33094. {
  33095. GiveMoney(playerid, -Fines[playerid][index][Fine_Amount]);
  33096. new str[128];
  33097. format(str, sizeof(str), "You paid your $%s fine on %s.", MoneyFormat(Fines[playerid][index][Fine_Amount]), ReturnMonthAndDay());
  33098. SendClientMessage(playerid, COLOR_ADM, str);
  33099. Fines[playerid][index][Fine_ID] = 0;
  33100. Fines[playerid][index][Fine_Amount] = 0;
  33101. return 1;
  33102. }
  33103. Server:OnClothingDelete(playerid, index)
  33104. {
  33105. if (IsPlayerAttachedObjectSlotUsed(playerid, index))
  33106. {
  33107. RemovePlayerAttachedObject(playerid, index);
  33108. }
  33109. new string[128];
  33110. format(string, sizeof(string), "You dropped your %s", ClothingData[playerid][index][attachment_name]);
  33111. SendClientMessage(playerid, COLOR_WHITE, string);
  33112. ClothingData[playerid][index][attachment_SQLID] = 0;
  33113. return 1;
  33114. }
  33115. Server:OnStolenCars(playerid)
  33116. {
  33117. if(!cache_num_rows())
  33118. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Stolen Cars - MDC", "There are no reported vehicles.", ">>", "<<");
  33119. new rows, fields, primary[600], sub[128];
  33120. cache_get_row_count(rows);
  33121. cache_get_field_count(fields);
  33122. new Plate[30], ReportedDate[90], ModelID;
  33123. strcat(primary, "Model\tPlate\tDate\n");
  33124. for(new i = 0; i < rows; i++)
  33125. {
  33126. cache_get_value_name(i, "Plate", Plate);
  33127. cache_get_value_name(i, "ReportedStolenDate", ReportedDate);
  33128. cache_get_value_name_int(i, "ModelID", ModelID);
  33129. format(sub, sizeof(sub), "%s\t%s\t%s\n", ReturnVehicleModelName(ModelID), Plate, ReportedDate);
  33130. strcat(primary, sub);
  33131. }
  33132. ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_TABLIST_HEADERS, "Stolen Cars - MDC", primary, ">>", "<<");
  33133. return 1;
  33134. }
  33135. Server:OnPhoneSearch(playerid, number)
  33136. {
  33137. if(!cache_num_rows())
  33138. return ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Phone Search - MDC", "That number does not exist.", "<<", "");
  33139. new rows, fields;
  33140. cache_get_row_count(rows), cache_get_field_count(fields);
  33141. new Name[34], infoStr[190];
  33142. cache_get_value_name(0, "Name", Name);
  33143. for(new i = 0; i < strlen(Name); i++)
  33144. {
  33145. if(Name[i] == '_')
  33146. {
  33147. Name[i] = ' ';
  33148. }
  33149. }
  33150. format(infoStr, sizeof(infoStr), "{ADC3E7}Phone number:{FFFFFF} %i\n{ADC3E7}Registered owner:{FFFFFF} %s\n\n{ADC3E7}The following was found during a search for '%d'.", number, Name, number);
  33151. ShowPlayerDialog(playerid, DIALOG_MDC_FINISH_QUEUE, DIALOG_STYLE_MSGBOX, "Phone Search - MDC", infoStr, ">>", "<<");
  33152. return 1;
  33153. }
  33154. Server:CheckPlayerBanned(playerid, user[])
  33155. {
  33156. if(!cache_num_rows())
  33157. return Message(playerid, COLOR_ADM, "SERVER: %s is not banned.", user);
  33158. new thread[180];
  33159. mysql_format(m_Handle, thread, sizeof(thread), "DELETE FROM bans WHERE Name = '%e'", user);
  33160. mysql_tquery(m_Handle, thread, "UnbanPlayer", "is", playerid, user);
  33161. return 1;
  33162. }
  33163. Server:UnbanPlayer(playerid, user[])
  33164. {
  33165. new str[128];
  33166. format(str, sizeof(str), "%s unbanned: %s", ReturnName(playerid), user);
  33167. adminWarn(4, str);
  33168. Message(playerid, COLOR_ADM, "SERVER: You successfully unbanned %s.", user);
  33169. WriteLog("admin_logs/unban_log.txt", "[%s] %s unbanned %s", ReturnDate(), user);
  33170. return 1;
  33171. }
  33172. Server:OnVehicleOffer(playerid, response, sellto, price)
  33173. {
  33174. if(response)
  33175. {
  33176. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  33177. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You're no longer in a vehicle.");
  33178. if(!GetDistanceBetweenPlayers(playerid, sellto, 4.0))
  33179. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You're no longer near that player.");
  33180. new hasSpace = FreePlayerCarID(sellto);
  33181. if(hasSpace == -1) return SendClientMessage(playerid, COLOR_ADM, "SERVER: That player can't own anymore vehicles.");
  33182. VehicleOfferedTo[playerid] = sellto;
  33183. VehicleOfferBy[sellto] = playerid;
  33184. VehicleDBIDOffered[playerid] = CarData[GetPlayerVehicleID(playerid)][carID];
  33185. VehiclePrice[playerid] = price;
  33186. VehicleDBIDOffered[sellto] = CarData[GetPlayerVehicleID(playerid)][carID];
  33187. VehiclePrice[sellto] = price;
  33188. Message(sellto, COLOR_ACTION, "SERVER: %s offered to sell you their %s for: $%s", ReturnName(playerid, 1), ReturnVehicleName(GetPlayerVehicleID(playerid)), MoneyFormat(price));
  33189. SendClientMessage(sellto, COLOR_ACTION, "Use \"/v accept yes\" to accept their offer or \"/v accept no\" to decline it.");
  33190. Message(playerid, COLOR_ACTION, "SERVER: You offered %s your %s for: $%s", ReturnName(sellto, 1), ReturnVehicleName(GetPlayerVehicleID(playerid)), MoneyFormat(price));
  33191. SendClientMessage(playerid, COLOR_ACTION, "Use \"/v sell cancel\" to cancel the offer.");
  33192. }
  33193. return 1;
  33194. }
  33195. Server:OnConfirmFuel(playerid, response, fuel_type)
  33196. {
  33197. if(response)
  33198. {
  33199. new vehicleid = GetPlayerVehicleID(playerid);
  33200. if(CarEngine[vehicleid])
  33201. return SendClientMessage(playerid, COLOR_DARKGREEN, "Turn the vehicle engine off and refill.");
  33202. PlayerRefilling[playerid] = 1;
  33203. RefillVehicle[playerid] = vehicleid;
  33204. RefillPrice[playerid] = 10;
  33205. RefillAmount[playerid] = 0;
  33206. RefillTextdraw[playerid] = CreateDynamic3DTextLabel("(( |--------- ))\nREFILLING", COLOR_DARKGREEN, 0.0, 0.0, 0.0, 10.0, .attachedvehicle = vehicleid, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid));
  33207. RefillTimer[playerid] = SetTimerEx("OnVehicleRefill", 3000, true, "ii", playerid, fuel_type);
  33208. Streamer_Update(playerid);
  33209. }
  33210. return 1;
  33211. }
  33212. Server:OnVehicleRefill(playerid, fuel_type) //(( |--------- ))\nREFILLING
  33213. {
  33214. if(!IsValidVehicle(RefillVehicle[playerid]))
  33215. return EndPlayerRefill(playerid, 1);
  33216. RefillPoint[playerid]++;
  33217. new updateLabel[60];
  33218. switch(RefillPoint[playerid])
  33219. {
  33220. case 1: updateLabel = "(( ||-------- ))\nREFILLING";
  33221. case 2: updateLabel = "(( |||------- ))\nREFILLING";
  33222. case 3:
  33223. {
  33224. RefillPrice[playerid]+= 10;
  33225. updateLabel = "(( ||||------ ))\nREFILLING";
  33226. }
  33227. case 4: updateLabel = "(( |||||----- ))\nREFILLING";
  33228. case 5: updateLabel = "(( ||||||---- ))\nREFILLING";
  33229. case 6:
  33230. {
  33231. RefillPrice[playerid]+= 10;
  33232. updateLabel = "(( |||||||--- ))\nREFILLING";
  33233. }
  33234. case 7: updateLabel = "(( ||||||||-- ))\nREFILLING";
  33235. case 8: updateLabel = "(( |||||||||- ))\nREFILLING";
  33236. case 9:
  33237. {
  33238. RefillPrice[playerid]+= 10;
  33239. updateLabel = "(( |||||||||| ))\nREFILLING";
  33240. }
  33241. case 10:
  33242. {
  33243. updateLabel = "(( DONE ))\nREFILLING";
  33244. EndPlayerRefill(playerid);
  33245. }
  33246. }
  33247. UpdateDynamic3DTextLabelText(RefillTextdraw[playerid], COLOR_DARKGREEN, updateLabel);
  33248. //Fuel[vehicleid] = floatadd(5.0, floatround(Fuel[vehicleid]));
  33249. RefillAmount[playerid]+= floatadd(10.0, floatround(CarData[RefillVehicle[playerid]][carFuel]));
  33250. if(RefillAmount[playerid] >= 100)
  33251. {
  33252. RefillAmount[playerid] = 100;
  33253. return EndPlayerRefill(playerid);
  33254. }
  33255. return 1;
  33256. }
  33257. stock EndPlayerRefill(playerid, error = 0)
  33258. {
  33259. if(error)
  33260. {
  33261. DestroyDynamic3DTextLabel(RefillTextdraw[playerid]);
  33262. KillTimer(RefillTimer[playerid]);
  33263. PlayerRefilling[playerid] = 0;
  33264. RefillPoint[playerid] = 0;
  33265. RefillPrice[playerid] = 0;
  33266. RefillAmount[playerid] = 0;
  33267. SendClientMessage(playerid, COLOR_ADM, "Your vehicle stopped refilling! An error occurred.");
  33268. }
  33269. else
  33270. {
  33271. DestroyDynamic3DTextLabel(RefillTextdraw[playerid]);
  33272. KillTimer(RefillTimer[playerid]);
  33273. Message(playerid, COLOR_ACTION, "Your vehicle has been refueled. (Amount: %.2f, Previous: %.2f)", RefillAmount[playerid], CarData[RefillVehicle[playerid]][carFuel]);
  33274. Message(playerid, COLOR_ACTION, "This cost you: $%d", RefillPrice[playerid]);
  33275. CarData[RefillVehicle[playerid]][carFuel] = RefillAmount[playerid];
  33276. GiveMoney(playerid, -RefillPrice[playerid]);
  33277. PlayerRefilling[playerid] = 0;
  33278. RefillPoint[playerid] = 0;
  33279. RefillPrice[playerid] = 0;
  33280. RefillAmount[playerid] = 0;
  33281. RefillVehicle[playerid] = 0;
  33282. }
  33283. return 1;
  33284. }
  33285. Server:RestartServer()
  33286. {
  33287. SendRconCommand("gmx");
  33288. }
  33289. Server:IfPhoneExists(playerid, playerb, number)
  33290. {
  33291. if(!cache_num_rows())
  33292. {
  33293. PlayerData[playerb][pPhone] = number;
  33294. SavePlayer(playerb);
  33295. new string[128];
  33296. format(string, sizeof(string), "%s set %s's Phone number to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), number);
  33297. adminWarn(4, string);
  33298. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's Phone number to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), number);
  33299. }
  33300. else return Message(playerid, COLOR_ADM, "SERVER: The number \"d\" is taken.", number);
  33301. return 1;
  33302. }
  33303. Server:IfBPhoneExists(playerid, playerb, number)
  33304. {
  33305. if(!cache_num_rows())
  33306. {
  33307. PlayerData[playerb][pBurnerPhoneNumber] = number;
  33308. SavePlayer(playerb);
  33309. new string[128];
  33310. format(string, sizeof(string), "%s set %s's Burner Phone number to %d", ReturnName(playerid, 1), ReturnName(playerb, 1), number);
  33311. adminWarn(4, string);
  33312. WriteLog("admin_logs/setstats_log.txt", "[%s] %s set %s's Burner Phone number to %d", ReturnDate(), ReturnName(playerid, 1), ReturnName(playerb, 1), number);
  33313. }
  33314. else return Message(playerid, COLOR_ADM, "SERVER: The number \"d\" is taken.", number);
  33315. return 1;
  33316. }
  33317. Server:OnSelectReport(playerid, response, id)
  33318. {
  33319. new str[90];
  33320. if(response)
  33321. {
  33322. format(str, sizeof(str), "%d", id);
  33323. cmd_ar(playerid, str);
  33324. }
  33325. else
  33326. {
  33327. format(str, sizeof(str), "%d", id);
  33328. cmd_dr(playerid, str);
  33329. }
  33330. return 1;
  33331. }
  33332. Server:OnPanelUnban(playerid, response)
  33333. {
  33334. if(response)
  33335. {
  33336. new
  33337. string[128],
  33338. query[256];
  33339. format(string, sizeof(string), "%s was unbanned by %s", AdminPanelName[playerid], ReturnName(playerid));
  33340. adminWarn(1, string);
  33341. mysql_format(m_Handle, query, sizeof(query), "DELETE FROM bans WHERE Name = '%e'", AdminPanelName[playerid]);
  33342. mysql_tquery(m_Handle, query);
  33343. format(string, sizeof(string), "The user \"{A52A2A}%s{ADC3E7}\" was successfully unbanned.", AdminPanelName[playerid]);
  33344. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  33345. }
  33346. else return ShowAdminPanel(playerid);
  33347. return 1;
  33348. }
  33349. Server:OnAdminNoteAdd(playerid, reason[])
  33350. {
  33351. new string[128];
  33352. format(string, sizeof(string), "%s added an admin note to player %s", ReturnName(playerid), AdminPanelName[playerid]);
  33353. adminWarn(2, string);
  33354. format(string, sizeof(string), "You successfully added an admin note to \"{A52A2A}%s{ADC3E7}\". ", AdminPanelName[playerid]);
  33355. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  33356. foreach(new i : Player)
  33357. {
  33358. if(PlayerData[i][pSQLID] == ReturnSQLFromName(AdminPanelName[playerid]))
  33359. {
  33360. new
  33361. slot = ReturnANoteSlot(i);
  33362. if(slot == -1)
  33363. return Message(playerid, COLOR_ADM, "An error occurred. %s's admin note was saved but wont be loaded due to exceeding the max admin notes a player can have.", AdminPanelName[playerid]);
  33364. for(new j = 1; j < MAX_ADMIN_NOTES; j++)
  33365. {
  33366. if(aNotesData[i][j][anote_active])
  33367. {
  33368. aNotesData[i][j][anote_active] = false;
  33369. }
  33370. }
  33371. aNotesData[i][slot][anote_SQLID] = cache_insert_id();
  33372. format(aNotesData[i][slot][anote_reason], 128, "%s", reason);
  33373. format(aNotesData[i][slot][anote_issuer], 60, "%s", ReturnName(playerid));
  33374. format(aNotesData[i][slot][anote_date], 90, "%s", ReturnDateLog());
  33375. aNotesData[i][slot][anote_playerDBID] = PlayerData[i][pSQLID];
  33376. }
  33377. }
  33378. return 1;
  33379. }
  33380. Server:OnAdminNoteDelete(playerid, response, selected)
  33381. {
  33382. if(response)
  33383. {
  33384. new DeleteQuery[128];
  33385. mysql_format(m_Handle, DeleteQuery, sizeof(DeleteQuery), "DELETE FROM player_anotes WHERE id = %i", selected);
  33386. mysql_tquery(m_Handle, DeleteQuery, "OnAdminNoteDeleted", "ii", playerid, selected);
  33387. }
  33388. else return ShowAdminPanel(playerid);
  33389. return 1;
  33390. }
  33391. Server:OnAdminNoteDeleted(playerid, selected)
  33392. {
  33393. new string[128];
  33394. format(string, sizeof(string), "%s deleted an admin note from %s", ReturnName(playerid), AdminPanelName[playerid]);
  33395. adminWarn(2, string);
  33396. format(string, sizeof(string), "You successfully deleted an admin note from \"{A52A2A}%s{ADC3E7}\".", AdminPanelName[playerid]);
  33397. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", string, "Okay!", "");
  33398. foreach(new i : Player)
  33399. {
  33400. for(new j = 1; j < MAX_ADMIN_NOTES; j++)
  33401. {
  33402. if(aNotesData[i][j][anote_SQLID] == selected)
  33403. {
  33404. aNotesData[i][j][anote_SQLID] = 0;
  33405. if(aNotesData[i][j][anote_active]) aNotesData[i][j][anote_active] = false;
  33406. if(-- j > 0)
  33407. {
  33408. aNotesData[i][j][anote_active] = true;
  33409. }
  33410. }
  33411. }
  33412. }
  33413. return 1;
  33414. }
  33415. Server:OnPasswordChange(playerid, oldpass[])
  33416. {
  33417. new LogQuery[500], Query[128];
  33418. mysql_format(m_Handle, Query, sizeof(Query), "SELECT Password FROM players WHERE id = %i", PlayerData[playerid][pSQLID]);
  33419. new Cache:cache = mysql_query(m_Handle, Query);
  33420. new Password[255];
  33421. cache_get_value_name(0, "Password", Password, 255);
  33422. cache_delete(cache);
  33423. mysql_format(m_Handle, LogQuery, sizeof(LogQuery), "INSERT INTO log_passchanges (player_name, account_dbid, change_date, player_ip, player_hwid, old_password, new_password) VALUES('%e', %i, '%e', '%e', '%e', '%e', sha1('%e'))", ReturnName(playerid), PlayerData[playerid][pSQLID], ReturnDateLog(), ReturnIP(playerid), ReturnGPCI(playerid), oldpass, Password);
  33424. mysql_tquery(m_Handle, LogQuery, "OnLogPasswordChange", "i", playerid);
  33425. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Confirmation", "Your password was successfully updated in the database.", "Thanks!", "");
  33426. return 1;
  33427. }
  33428. Server:OnLogPasswordChange(playerid)
  33429. {
  33430. return printf("[Action Confirmed] %s's password change was logged to the database.", ReturnName(playerid));
  33431. }
  33432. Server:ConfirmSecretWord(playerid)
  33433. {
  33434. if(!cache_num_rows())
  33435. {
  33436. new LargeString[230],
  33437. ipString[128];
  33438. if(PlayerData[playerid][pAdmin] < 3)
  33439. format(ipString, 128, "%s", ReturnIP(playerid));
  33440. else ipString = "Admin Account";
  33441. printf("[WARNING] %s (IP: %s) failed their secret word during a password change.", ReturnName(playerid), ReturnIP(playerid));
  33442. format(LargeString, sizeof(LargeString), "%s (IP: %s) failed their secret word during a password change.", ReturnName(playerid), ipString);
  33443. adminWarn(1, LargeString);
  33444. strcat(LargeString, "{F81414}YOU INPUTTED AN INCORRECT SECRET WORD.\n{FFFFFF}");
  33445. strcat(LargeString, "You can't change your password without giving the secret word associated to your account.");
  33446. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Change Your Password", LargeString, "Okay", "");
  33447. }
  33448. else
  33449. {
  33450. SendClientMessage(playerid, COLOR_ADM, "Your account has been validated. You can now change your password.");
  33451. CanChangePassword[playerid] = 1;
  33452. }
  33453. return 1;
  33454. }
  33455. Server:LegShotEnd(playerid)
  33456. {
  33457. PlayerData[playerid][pLegShot] = 0;
  33458. return 1;
  33459. }
  33460. Server:OnPlayerLeaveGun(weaponindex)
  33461. {
  33462. ClearDroppedWeapon(weaponindex);
  33463. return 1;
  33464. }
  33465. Server:OnLockTextdraw(playerid)
  33466. {
  33467. DestroyDynamic3DTextLabel(BreakInTextDraw[playerid]);
  33468. ActiveLockTD[playerid] = 0;
  33469. BreakInError[playerid] = 0;
  33470. return 1;
  33471. }
  33472. Server:OnBreakSuccess(playerid)
  33473. {
  33474. PlayerBreakInVehicle[playerid] = INVALID_VEHICLE_ID;
  33475. PlayerBreakingIn[playerid] = 0;
  33476. BreakInError[playerid] = 0;
  33477. BreakInLevel[playerid] = 0;
  33478. ActiveLockTD[playerid] = 0;
  33479. DestroyDynamic3DTextLabel(BreakInTextDraw[playerid]);
  33480. return 1;
  33481. }
  33482. // Mapping loading
  33483. stock LoadPNSGates()
  33484. {
  33485. printf("Loading - Mapping for Pay n Sprays were loaded.");
  33486. CreateDynamicObject(975, 2071.54492, -1831.11218, 14.36484, 0.00000, 0.00000, 90.24015); //Idlewood
  33487. CreateDynamicObject(975, 489.31689, -1735.36963, 12.28431, 0.00000, 0.00000, -9.29999); //Santa Maria
  33488. CreateDynamicObject(975, 1025.51855, -1029.07166, 32.99280, 0.10000, 0.00000, 0.60000); //Temple
  33489. CreateDynamicObject(975, 720.23773, -462.52246, 16.82595, 0.00000, 0.00000, 0.00000); //Dillimore
  33490. CreateDynamicObject(975, -100.14352, 1111.52502, 21.05994, 0.00000, 0.00000, -0.18000); //Fort Carson
  33491. CreateDynamicObject(975, -1420.64014, 2591.10156, 56.81979, 0.00000, 0.00000, 0.00000); // El Qua ...
  33492. CreateDynamicObject(975, -1904.89099, 277.66046, 42.35647, 0.00000, 0.00000, 0.00000); // San Fierro
  33493. return true;
  33494. }
  33495. stock LoadModGates()
  33496. {
  33497. printf("Loading - Mapping for Mod Shops were loaded.");
  33498. CreateDynamicObject(975, -2716.25415, 216.96049, 5.12531, 0.00000, 0.00000, -90.18002); // San Fierro West
  33499. CreateDynamicObject(975, -1935.89844, 238.90338, 35.02308, 0.00000, 0.00000, 1.26000); // San Fierro West
  33500. CreateDynamicObject(975, 2386.47534, 1043.29553, 11.49380, 0.00000, 0.00000, 0.00000); // Las Venturas
  33501. CreateDynamicObject(971, 2644.84448, -2039.59863, 11.46750, 0.42000, 89.73997, 0.96000); // Seville
  33502. CreateDynamicObject(975, 1042.38208, -1025.86584, 32.61161, 0.00000, 0.00000, 0.00000); // Temple
  33503. return true;
  33504. }
  33505. stock LoadMallBridge()
  33506. {
  33507. printf("Loading - Mapping for Mall Bridge was loaded.");
  33508. CreateDynamicObject(17550, -7123.54443, -1744.88062, -1392.99512, 0.00000, 0.00000, 0.00000);
  33509. CreateDynamicObject(17550, 1144.13074, -1399.91809, 15.74000, 0.00000, 0.00000, 106.00000);
  33510. CreateDynamicObject(1486, 1130.40698, -1416.81396, 12.58851, 0.00000, 0.00000, 0.00000);
  33511. CreateDynamicObject(4100, 1088.50549, -1362.49158, 14.40000, 0.00000, 0.00000, 140.00000);
  33512. CreateDynamicObject(8332, 1115.10950, -1367.06030, 26.25000, 0.00000, 0.00000, 1439.00000);
  33513. return true;
  33514. }
  33515. stock LoadMechanicDevin()
  33516. {
  33517. MechLift = CreateDynamicObject(3036, 1569.34424, -2156.86060, 12.96720, -90.00000, 0.00000, 90.00000);
  33518. CreateDynamicObject(8947, 1571.63965, -2162.97534, 15.60000, 0.00000, 0.00000, 0.00000);
  33519. CreateDynamicObject(1728, 1577.93616, -2172.75098, 12.54310, 0.00000, 0.00000, 200.00000);
  33520. CreateDynamicObject(2236, 1578.56384, -2171.38745, 12.54770, 0.00000, 0.00000, 90.00000);
  33521. CreateDynamicObject(2855, 1578.07556, -2170.70435, 12.61150, 0.00000, 0.00000, -70.00000);
  33522. CreateDynamicObject(2103, 1578.04272, -2170.91895, 13.05070, 0.00000, 0.00000, -90.00000);
  33523. CreateDynamicObject(941, 1565.45959, -2162.12720, 13.02000, 0.00000, 0.00000, 90.00000);
  33524. CreateDynamicObject(18633, 1565.68518, -2162.37158, 13.51180, 0.00000, 90.00000, 0.00000);
  33525. CreateDynamicObject(18635, 1565.03613, -2162.54321, 13.47400, 90.00000, 0.00000, 0.00000);
  33526. CreateDynamicObject(18634, 1565.62012, -2162.65918, 13.51390, 0.00000, 90.00000, 0.00000);
  33527. CreateDynamicObject(2601, 1565.02441, -2161.81641, 13.57430, 0.00000, 0.00000, 0.00000);
  33528. CreateDynamicObject(2601, 1564.95422, -2162.94922, 13.57430, 0.00000, 0.00000, 0.00000);
  33529. CreateDynamicObject(2601, 1565.21777, -2162.71875, 13.57430, 0.00000, 0.00000, 0.00000);
  33530. CreateDynamicObject(1650, 1565.66016, -2160.63110, 12.88000, 0.00000, 0.00000, 0.00000);
  33531. CreateDynamicObject(1650, 1565.26038, -2160.61182, 12.88000, 0.00000, 0.00000, 0.00000);
  33532. CreateDynamicObject(1650, 1565.96277, -2173.00146, 12.86000, 0.00000, 0.00000, 0.00000);
  33533. CreateDynamicObject(18452, 1540.91431, -2173.55005, 15.36000, 0.00000, 0.00000, 90.00000);
  33534. CreateDynamicObject(1686, 1543.77039, -2173.57715, 12.60804, 0.00000, 0.00000, 0.00000);
  33535. CreateDynamicObject(1686, 1538.17444, -2173.56787, 12.60804, 0.00000, 0.00000, 0.00000);
  33536. CreateDynamicObject(10281, 1571.83936, -2176.12622, 17.62310, 0.00000, 0.00000, 0.00000);
  33537. CreateDynamicObject(19378, 1559.01648, -2170.40479, 12.47840, 0.00000, 90.00000, 0.00000);
  33538. CreateDynamicObject(19385, 1558.58191, -2175.13892, 14.30000, 0.00000, 0.00000, 90.00000);
  33539. CreateDynamicObject(19355, 1555.37634, -2175.14063, 14.30000, 0.00000, 0.00000, 90.00000);
  33540. CreateDynamicObject(19355, 1564.98865, -2175.14478, 14.30000, 0.00000, 0.00000, 90.00000);
  33541. CreateDynamicObject(19401, 1553.83740, -2173.62354, 14.30000, 0.00000, 0.00000, 0.00000);
  33542. CreateDynamicObject(19355, 1553.84778, -2170.41187, 14.30000, 0.00000, 0.00000, 0.00000);
  33543. CreateDynamicObject(19355, 1553.84070, -2167.20605, 14.30000, 0.00000, 0.00000, 0.00000);
  33544. CreateDynamicObject(19355, 1555.37317, -2165.65088, 14.30000, 0.00000, 0.00000, 90.00000);
  33545. CreateDynamicObject(19355, 1558.58630, -2165.66138, 14.30000, 0.00000, 0.00000, 90.00000);
  33546. CreateDynamicObject(19385, 1561.79492, -2165.67285, 14.30000, 0.00000, 0.00000, 90.00000);
  33547. CreateDynamicObject(19428, 1563.92029, -2165.66943, 14.30000, 0.00000, 0.00000, 90.00000);
  33548. CreateDynamicObject(19466, 1553.82910, -2173.85303, 14.62000, 0.00000, 0.00000, 0.00000);
  33549. CreateDynamicObject(2691, 1555.47705, -2175.03760, 14.57500, 0.00000, 0.00000, 0.00000);
  33550. CreateDynamicObject(19355, 1562.65356, -2168.88916, 14.30000, 0.00000, 0.00000, 90.00000);
  33551. CreateDynamicObject(19428, 1560.26184, -2168.88110, 14.30000, 0.00000, 0.00000, 90.00000);
  33552. CreateDynamicObject(1806, 1554.31018, -2174.46118, 12.56480, 0.00000, 0.00000, -30.00000);
  33553. CreateDynamicObject(19385, 1559.51440, -2167.35986, 14.30000, 0.00000, 0.00000, 0.00000);
  33554. CreateDynamicObject(2485, 1560.99341, -2169.37939, 13.64870, 0.00000, 0.00000, 90.00000);
  33555. CreateDynamicObject(2655, 1553.98218, -2168.52930, 13.99920, 0.00000, 0.00000, 90.00000);
  33556. CreateDynamicObject(2060, 1556.29822, -2166.04321, 12.66500, 0.00000, 0.00000, 0.00000);
  33557. CreateDynamicObject(2167, 1561.02869, -2168.77222, 12.54630, 0.00000, 0.00000, 180.00000);
  33558. CreateDynamicObject(1616, 1563.83838, -2174.67114, 15.73108, 0.00000, 0.00000, 0.00000);
  33559. CreateDynamicObject(1616, 1554.35144, -2166.15063, 15.73110, 0.00000, 0.00000, 180.00000);
  33560. CreateDynamicObject(1885, 1559.81201, -2174.80225, 12.56631, 0.00000, 0.00000, 0.00000);
  33561. CreateDynamicObject(2364, 1560.13660, -2175.53857, 12.54774, 0.00000, 0.00000, 0.00000);
  33562. CreateDynamicObject(3633, 1565.37878, -2164.14990, 13.02560, 0.00000, 0.00000, 0.00000);
  33563. CreateDynamicObject(2049, 1563.46277, -2174.99854, 13.77900, 0.00000, 0.00000, 180.00000);
  33564. CreateDynamicObject(1650, 1560.31885, -2169.30225, 12.94000, 0.00000, 0.00000, 10.00000);
  33565. CreateDynamicObject(1650, 1560.10718, -2169.55103, 12.92000, 0.00000, 0.00000, -20.00000);
  33566. CreateDynamicObject(1650, 1559.85999, -2169.25513, 12.92000, 0.00000, 0.00000, 9.00000);
  33567. CreateDynamicObject(2385, 1553.90295, -2170.85010, 12.56350, 0.00000, 0.00000, 90.00000);
  33568. CreateDynamicObject(1280, 1555.68579, -2175.58765, 12.94730, 0.00000, 0.00000, 90.00000);
  33569. CreateDynamicObject(18635, 1553.99207, -2170.91650, 13.47400, 90.00000, 0.00000, 30.00000);
  33570. CreateDynamicObject(18635, 1554.03491, -2169.42310, 13.47400, 90.00000, 0.00000, 0.00000);
  33571. CreateDynamicObject(18633, 1554.21985, -2170.35400, 12.63550, 0.00000, 90.00000, 0.00000);
  33572. CreateDynamicObject(18638, 1562.58289, -2169.20581, 13.68020, 0.00000, -90.00000, 230.00000);
  33573. CreateDynamicObject(18645, 1561.66614, -2169.16968, 13.75090, 0.00000, 0.00000, -65.00000);
  33574. CreateDynamicObject(18644, 1554.07178, -2170.35229, 13.50660, 90.00000, 0.00000, -30.00000);
  33575. CreateDynamicObject(18641, 1561.59155, -2169.65430, 13.35050, 0.00000, 0.00000, 0.00000);
  33576. CreateDynamicObject(18641, 1561.79419, -2169.55737, 13.29050, -90.00000, 0.00000, 0.00000);
  33577. CreateDynamicObject(18641, 1562.11182, -2169.55249, 13.29050, -90.00000, 0.00000, 80.00000);
  33578. CreateDynamicObject(1744, 1556.47192, -2165.61768, 13.91725, 0.00000, 0.00000, 0.00000);
  33579. CreateDynamicObject(19330, 1563.17224, -2169.24194, 13.71080, 0.00000, -90.00000, 140.00000);
  33580. CreateDynamicObject(2690, 1554.17993, -2168.87842, 12.92650, 0.00000, 0.00000, 90.00000);
  33581. CreateDynamicObject(2690, 1563.99597, -2172.39795, 12.92650, 0.00000, 0.00000, -90.00000);
  33582. CreateDynamicObject(19308, 1556.50696, -2165.95850, 14.39660, 0.00000, 0.00000, -90.00000);
  33583. CreateDynamicObject(19311, 1557.42151, -2165.96753, 14.39670, 0.00000, 0.00000, 90.00000);
  33584. CreateDynamicObject(19377, 1559.02393, -2170.40381, 16.00000, 0.00000, 90.00000, 0.00000);
  33585. CreateDynamicObject(19401, 1561.78467, -2175.15186, 14.30000, 0.00000, 0.00000, 90.00000);
  33586. CreateDynamicObject(19466, 1561.67822, -2175.13867, 14.62000, 0.00000, 0.00000, 90.00000);
  33587. CreateDynamicObject(2714, 1558.58203, -2175.32129, 15.49450, 0.00000, 0.00000, 0.00000);
  33588. CreateDynamicObject(1523, 1557.77881, -2175.18066, 12.52300, 0.00000, 0.00000, 0.00000);
  33589. CreateDynamicObject(19314, 1559.36047, -2167.35596, 15.26000, 90.00000, 90.00000, 90.00000);
  33590. CreateDynamicObject(3633, 1565.98596, -2166.01709, 13.20560, 0.00000, 0.00000, 0.00000);
  33591. CreateDynamicObject(2893, 1570.32886, -2162.50366, 11.70000, -30.00000, 0.00000, 180.00000);
  33592. CreateDynamicObject(2893, 1568.38831, -2162.50391, 11.70000, -30.00000, 0.00000, 180.00000);
  33593. CreateDynamicObject(1002, 1565.47888, -2164.14819, 13.49540, 0.00000, 0.00000, -70.00000);
  33594. CreateDynamicObject(19371, 1573.78552, -2152.67773, 14.30000, 0.00000, 0.00000, 0.00000);
  33595. CreateDynamicObject(19417, 1573.78503, -2155.86938, 14.30000, 0.00000, 0.00000, 0.00000);
  33596. CreateDynamicObject(19398, 1575.30811, -2157.56323, 14.30000, 0.00000, 0.00000, 90.00000);
  33597. CreateDynamicObject(19444, 1577.70020, -2157.55103, 14.30000, 0.00000, 0.00000, 90.00000);
  33598. CreateDynamicObject(2972, 1565.40039, -2152.26099, 12.56550, 0.00000, 0.00000, 90.00000);
  33599. CreateDynamicObject(2972, 1566.70093, -2152.24854, 12.56550, 0.00000, 0.00000, 90.00000);
  33600. CreateDynamicObject(2972, 1566.01953, -2152.23999, 13.74550, 0.00000, 0.00000, 90.00000);
  33601. CreateDynamicObject(2605, 1577.46045, -2153.07178, 12.94750, 0.00000, 0.00000, 180.00000);
  33602. CreateDynamicObject(2164, 1573.88403, -2152.45703, 12.54720, 0.00000, 0.00000, 90.00000);
  33603. CreateDynamicObject(2309, 1577.86292, -2154.33716, 12.54820, 0.00000, 0.00000, 40.00000);
  33604. CreateDynamicObject(19466, 1573.77002, -2155.99707, 15.06120, 0.00000, 0.00000, 0.00000);
  33605. CreateDynamicObject(1712, 1578.05420, -2156.29663, 12.52790, 0.00000, 0.00000, -155.00000);
  33606. CreateDynamicObject(1897, 1571.05762, -2156.72192, 13.68000, 0.00000, 0.00000, -90.00000);
  33607. CreateDynamicObject(1897, 1571.06128, -2152.12695, 13.68000, 0.00000, 0.00000, -90.00000);
  33608. CreateDynamicObject(1897, 1567.62561, -2156.76196, 13.68000, 0.00000, 0.00000, 90.00000);
  33609. CreateDynamicObject(1897, 1567.61914, -2152.15674, 13.68000, 0.00000, 0.00000, 90.00000);
  33610. CreateDynamicObject(2254, 1577.25098, -2157.42871, 14.27690, 0.00000, 0.00000, 180.00000);
  33611. CreateDynamicObject(2255, 1565.20862, -2153.97485, 13.72360, 0.00000, 0.00000, 90.00000);
  33612. CreateDynamicObject(1244, 1571.91089, -2152.59009, 13.36000, 0.00000, 0.00000, 90.00000);
  33613. CreateDynamicObject(1238, 1573.06030, -2152.67847, 12.86580, 0.00000, 0.00000, 0.00000);
  33614. CreateDynamicObject(1238, 1573.08105, -2152.65918, 12.98580, 0.00000, 0.00000, 0.00000);
  33615. CreateDynamicObject(1238, 1573.08093, -2152.65894, 13.16580, 0.00000, 0.00000, 30.00000);
  33616. CreateDynamicObject(19371, 1575.46484, -2155.86499, 15.96800, 0.00000, 90.00000, 0.00000);
  33617. CreateDynamicObject(19371, 1575.46973, -2152.65698, 15.96800, 0.00000, 90.00000, 0.00000);
  33618. CreateDynamicObject(19444, 1577.71338, -2155.87573, 15.97600, 0.00000, 90.00000, 90.00000);
  33619. CreateDynamicObject(19444, 1577.71460, -2152.44751, 15.97530, 0.00000, 90.00000, 90.00000);
  33620. CreateDynamicObject(19121, 1576.18994, -2150.96045, 14.55500, 0.00000, 0.00000, 0.00000);
  33621. CreateDynamicObject(1499, 1574.53870, -2157.57104, 12.53760, 0.00000, 0.00000, 0.00000);
  33622. CreateDynamicObject(2074, 1576.42334, -2154.66016, 15.63650, 0.00000, 0.00000, 0.00000);
  33623. CreateDynamicObject(2069, 1578.33411, -2157.21631, 12.58890, 0.00000, 0.00000, 0.00000);
  33624. CreateDynamicObject(1893, 1568.18396, -2170.43237, 18.18831, 0.00000, 0.00000, 0.00000);
  33625. CreateDynamicObject(1893, 1568.23901, -2168.24756, 18.18831, 0.00000, 0.00000, 0.00000);
  33626. CreateDynamicObject(1893, 1568.44702, -2165.10059, 18.18831, 0.00000, 0.00000, 0.00000);
  33627. CreateDynamicObject(1893, 1573.07654, -2171.14331, 18.18831, 0.00000, 0.00000, 0.00000);
  33628. CreateDynamicObject(1893, 1573.18091, -2168.98193, 18.18831, 0.00000, 0.00000, 0.00000);
  33629. CreateDynamicObject(1893, 1573.20532, -2166.90137, 18.18831, 0.00000, 0.00000, 0.00000);
  33630. CreateDynamicObject(3785, 1564.85400, -2161.88745, 14.22000, 90.00000, 0.00000, 0.00000);
  33631. CreateDynamicObject(8948, 1571.63501, -2174.02148, 16.18000, 0.00000, 60.00000, 90.00000);
  33632. CreateDynamicObject(3504, 1563.63269, -2164.66235, 13.90000, 0.00000, 0.00000, 90.00000);
  33633. CreateDynamicObject(2607, 1562.86597, -2168.40747, 12.96000, 0.00000, 0.00000, 0.00000);
  33634. CreateDynamicObject(1806, 1563.24438, -2167.39795, 12.56660, 0.00000, 0.00000, 140.00000);
  33635. CreateDynamicObject(2611, 1564.19165, -2167.41528, 14.03160, 0.00000, 0.00000, -90.00000);
  33636. CreateDynamicObject(2368, 1561.03723, -2169.32178, 12.56530, 0.00000, 0.00000, 0.00000);
  33637. CreateDynamicObject(1744, 1553.79956, -2170.73755, 13.15090, 0.00000, 0.00000, 90.00000);
  33638. CreateDynamicObject(1744, 1553.86499, -2170.73682, 12.73090, 0.00000, 0.00000, 90.00000);
  33639. CreateDynamicObject(1744, 1553.86499, -2170.73682, 12.29090, 0.00000, 0.00000, 90.00000);
  33640. CreateDynamicObject(2601, 1554.19006, -2171.12451, 13.17040, 0.00000, 0.00000, 0.00000);
  33641. CreateDynamicObject(2601, 1554.17151, -2170.81982, 13.17040, 0.00000, 0.00000, 90.00000);
  33642. CreateDynamicObject(2601, 1554.32166, -2170.90063, 13.17040, 0.00000, 0.00000, 199.00000);
  33643. CreateDynamicObject(2583, 1554.20886, -2167.15063, 13.44000, 0.00000, 0.00000, 90.00000);
  33644. CreateDynamicObject(2060, 1557.45947, -2166.02246, 12.66500, 0.00000, 0.00000, 0.00000);
  33645. CreateDynamicObject(2060, 1556.86084, -2165.96167, 12.90500, 0.00000, 0.00000, 0.00000);
  33646. CreateDynamicObject(2010, 1563.82642, -2174.45264, 12.56545, 0.00000, 0.00000, 0.00000);
  33647. CreateDynamicObject(1808, 1563.85522, -2169.43726, 12.56622, 0.00000, 0.00000, 0.00000);
  33648. CreateDynamicObject(2267, 1554.01575, -2170.21313, 14.57010, 0.00000, 0.00000, 90.00000);
  33649. CreateDynamicObject(2626, 1555.65527, -2173.88574, 13.08600, 0.00000, 0.00000, 90.00000);
  33650. CreateDynamicObject(2059, 1554.57422, -2167.13086, 12.58460, 0.00000, 0.00000, -90.00000);
  33651. CreateDynamicObject(2059, 1554.23389, -2166.72266, 12.58460, 0.00000, 0.00000, 6.00000);
  33652. CreateDynamicObject(617, 1518.21594, -2163.69849, 12.53791, 0.00000, 0.00000, 0.00000);
  33653. CreateDynamicObject(19124, 1537.98999, -2176.60645, 13.16720, 0.00000, 0.00000, 0.00000);
  33654. CreateDynamicObject(19124, 1543.71545, -2176.59058, 13.16720, 0.00000, 0.00000, 0.00000);
  33655. CreateDynamicObject(1616, 1563.83398, -2151.56592, 18.22810, 0.00000, 0.00000, 0.00000);
  33656. CreateDynamicObject(1616, 1553.33130, -2166.39673, 15.99080, 0.00000, 0.00000, 0.00000);
  33657. CreateDynamicObject(1623, 1564.22986, -2153.22168, 18.00000, 0.00000, 0.00000, 0.00000);
  33658. CreateDynamicObject(1623, 1564.21362, -2155.88379, 18.00000, 0.00000, 0.00000, 0.00000);
  33659. CreateDynamicObject(2699, 1559.36987, -2172.04980, 13.20000, 0.00000, 0.00000, 0.00000);
  33660. CreateDynamicObject(2690, 1543.87061, -2172.72217, 12.96000, 0.00000, 0.00000, 180.00000);
  33661. CreateDynamicObject(2690, 1538.28040, -2172.11206, 12.96000, 0.00000, 0.00000, 180.00000);
  33662. CreateDynamicObject(7313, 1569.35132, -2151.06958, 16.38790, 0.00000, 0.00000, 0.00000);
  33663. CreateDynamicObject(2654, 1578.26660, -2158.43726, 12.76390, 0.00000, 0.00000, 180.00000);
  33664. CreateDynamicObject(930, 1565.22961, -2172.53809, 13.04000, 0.00000, 0.00000, 90.00000);
  33665. CreateDynamicObject(943, 1566.41943, -2173.76587, 13.32540, 0.00000, 0.00000, -90.00000);
  33666. CreateDynamicObject(1650, 1565.83154, -2172.72803, 12.86000, 0.00000, 0.00000, 60.00000);
  33667. CreateDynamicObject(2893, 1568.39294, -2156.87036, 13.04000, 80.00000, 0.00000, 180.00000);
  33668. CreateDynamicObject(2893, 1570.33276, -2156.86255, 13.04000, 80.00000, 0.00000, 180.00000);
  33669. CreateDynamicObject(1744, 1575.43970, -2150.92310, 14.00260, 0.00000, 0.00000, 0.00000);
  33670. CreateDynamicObject(2163, 1573.89050, -2154.75757, 12.57370, 0.00000, 0.00000, 90.00000);
  33671. CreateDynamicObject(1549, 1574.17236, -2153.23145, 12.57360, 0.00000, 0.00000, 60.00000);
  33672. CreateDynamicObject(1786, 1573.89612, -2154.50342, 13.49750, 0.00000, 0.00000, 90.00000);
  33673. CreateDynamicObject(1671, 1577.74524, -2151.70923, 13.03380, 0.00000, 0.00000, -45.00000);
  33674. CreateDynamicObject(2855, 1575.27625, -2151.28882, 14.34180, 0.00000, 0.00000, 90.00000);
  33675. CreateDynamicObject(18638, 1575.66113, -2151.15601, 14.40190, -5.00000, -90.00000, 60.00000);
  33676. CreateDynamicObject(18631, 1573.70642, -2155.95776, 15.46850, 0.00000, 0.00000, -90.00000);
  33677. CreateDynamicObject(19171, 1578.54956, -2166.03735, 15.72090, 90.00000, -90.00000, 0.00000);
  33678. CreateDynamicObject(19170, 1578.54504, -2164.54541, 15.72730, 90.00000, -90.00000, 0.00000);
  33679. CreateDynamicObject(19169, 1578.54993, -2166.03711, 17.21540, 90.00000, -90.00000, 0.00000);
  33680. CreateDynamicObject(19168, 1578.54993, -2164.53760, 17.21000, 90.00000, -90.00000, 0.00000);
  33681. CreateDynamicObject(1499, 1562.51648, -2165.67017, 12.53760, 0.00000, 0.00000, 180.00000);
  33682. CreateDynamicObject(19347, 1562.60425, -2168.21997, 13.38500, 0.00000, 0.00000, 0.00000);
  33683. CreateDynamicObject(18641, 1562.29968, -2168.27002, 13.40470, 90.00000, 0.00000, 30.00000);
  33684. CreateDynamicObject(2190, 1563.25586, -2168.81567, 13.37920, 0.00000, 0.00000, 180.00000);
  33685. CreateDynamicObject(2074, 1561.70679, -2167.42603, 15.66950, 0.00000, 0.00000, 0.00000);
  33686. CreateDynamicObject(1495, 1559.46741, -2166.64307, 12.53610, 0.00000, 0.00000, 20.00000);
  33687. CreateDynamicObject(1549, 1559.79456, -2168.56519, 12.56690, 0.00000, 0.00000, -30.00000);
  33688. CreateDynamicObject(18977, 1559.50671, -2172.02490, 13.98820, 0.00000, 0.00000, 0.00000);
  33689. CreateDynamicObject(18978, 1559.22437, -2171.84595, 13.98840, 0.00000, 0.00000, 130.00000);
  33690. CreateDynamicObject(18979, 1559.16382, -2172.18140, 13.98900, 0.00000, 0.00000, 230.00000);
  33691. CreateDynamicObject(8843, 1549.52185, -2173.22754, 12.56390, 0.00000, 0.00000, 0.00000);
  33692. CreateDynamicObject(8843, 1530.12085, -2172.66406, 12.56390, 0.00000, 0.00000, 180.00000);
  33693. CreateDynamicObject(19380, 1594.43835, -2160.83398, 12.46460, 0.00000, 90.00000, 0.00000);
  33694. CreateDynamicObject(8674, 1584.19849, -2156.12061, 14.00000, 0.00000, 0.00000, 0.00000);
  33695. CreateDynamicObject(8674, 1594.50549, -2156.13550, 14.00000, 0.00000, 0.00000, 0.00000);
  33696. CreateDynamicObject(19380, 1583.95459, -2160.83813, 12.46460, 0.00000, 90.00000, 0.00000);
  33697. CreateDynamicObject(19380, 1594.44019, -2170.44019, 12.46460, 0.00000, 90.00000, 0.00000);
  33698. CreateDynamicObject(19380, 1583.95984, -2170.44116, 12.46460, 0.00000, 90.00000, 0.00000);
  33699. CreateDynamicObject(8674, 1599.66370, -2161.30713, 14.00000, 0.00000, 0.00000, 90.00000);
  33700. CreateDynamicObject(8674, 1599.68286, -2166.42578, 14.00000, 0.00000, 0.00000, 90.00000);
  33701. CreateDynamicObject(8674, 1594.50403, -2175.24463, 14.00000, 0.00000, 0.00000, 0.00000);
  33702. CreateDynamicObject(8674, 1591.91846, -2175.23633, 14.00000, 0.00000, 0.00000, 0.00000);
  33703. CreateDynamicObject(2048, 1564.74951, -2166.59277, 15.00000, 0.00000, 0.00000, 90.00000);
  33704. CreateDynamicObject(966, 1579.55505, -2174.99902, 12.55150, 0.00000, 0.00000, 180.00000);
  33705. CreateDynamicObject(968, 1579.49268, -2175.02344, 13.30740, 0.00000, 6.00000, 0.00000);
  33706. CreateDynamicObject(958, 1565.11157, -2169.23511, 13.42000, 0.00000, 0.00000, -90.00000);
  33707. CreateDynamicObject(959, 1565.08240, -2169.23145, 13.39380, 0.00000, 0.00000, -90.00000);
  33708. CreateDynamicObject(2900, 1574.44751, -2152.08789, 16.05346, 0.00000, 0.00000, 0.00000);
  33709. CreateDynamicObject(1271, 1575.31152, -2153.09790, 16.40000, 0.00000, 0.00000, 0.00000);
  33710. CreateDynamicObject(1271, 1574.56555, -2153.02905, 16.40000, 0.00000, 0.00000, 0.00000);
  33711. CreateDynamicObject(1271, 1574.95813, -2153.07104, 17.08000, 0.00000, 0.00000, 0.00000);
  33712. CreateDynamicObject(2478, 1574.93127, -2154.11426, 16.33510, 0.00000, 0.00000, 180.00000);
  33713. CreateDynamicObject(2694, 1574.29175, -2155.86401, 16.15450, 0.00000, 0.00000, 0.00000);
  33714. CreateDynamicObject(2694, 1574.67944, -2155.88208, 16.15450, 0.00000, 0.00000, 0.00000);
  33715. CreateDynamicObject(2694, 1575.04688, -2156.06079, 16.15450, 0.00000, 0.00000, 0.00000);
  33716. CreateDynamicObject(2694, 1574.84814, -2156.02954, 16.39450, 0.00000, 0.00000, 30.00000);
  33717. CreateDynamicObject(2694, 1574.39722, -2156.01587, 16.39450, 0.00000, 0.00000, 30.00000);
  33718. CreateDynamicObject(1271, 1575.78223, -2156.78516, 16.40000, 0.00000, 0.00000, 60.00000);
  33719. CreateDynamicObject(2900, 1577.16760, -2153.29370, 16.05346, 0.00000, 0.00000, 0.00000);
  33720. CreateDynamicObject(2900, 1577.27222, -2156.78418, 16.05346, 0.00000, 0.00000, 0.00000);
  33721. CreateDynamicObject(4638, 1598.63184, -2173.40820, 14.26000, 0.00000, 0.00000, -90.00000);
  33722. CreateDynamicObject(970, 1537.87256, -2173.55957, 13.14670, 0.00000, 0.00000, 90.00000);
  33723. CreateDynamicObject(970, 1538.47522, -2173.55737, 13.14670, 0.00000, 0.00000, 90.00000);
  33724. CreateDynamicObject(970, 1543.43140, -2173.53125, 13.14670, 0.00000, 0.00000, 90.00000);
  33725. CreateDynamicObject(970, 1544.12488, -2173.62476, 13.14670, 0.00000, 0.00000, 90.00000);
  33726. CreateDynamicObject(19360, 1577.03442, -2152.65063, 12.47620, 0.00000, 90.00000, 0.00000);
  33727. CreateDynamicObject(19360, 1575.53650, -2152.65088, 12.47000, 0.00000, 90.00000, 0.00000);
  33728. CreateDynamicObject(19360, 1577.03271, -2155.86938, 12.47620, 0.00000, 90.00000, 0.00000);
  33729. CreateDynamicObject(19360, 1575.58203, -2155.86401, 12.47000, 0.00000, 90.00000, 0.00000);
  33730. CreateDynamicObject(8661, 1568.90967, -2164.78833, 12.55320, 0.00000, 0.00000, 90.00000);
  33731. CreateDynamicObject(8661, 1548.92407, -2164.82007, 12.55320, 0.00000, 0.00000, 90.00000);
  33732. CreateDynamicObject(8661, 1528.96375, -2164.88574, 12.55320, 0.00000, 0.00000, 90.00000);
  33733. CreateDynamicObject(8661, 1576.85217, -2164.79248, 12.55000, 0.00000, 0.00000, 90.00000);
  33734. CreateDynamicObject(1439, 1558.39624, -2152.13965, 12.55170, 0.00000, 0.00000, 0.00000);
  33735. CreateDynamicObject(1330, 1565.20154, -2153.43774, 13.01340, 0.00000, 0.00000, 0.00000);
  33736. CreateDynamicObject(1300, 1598.66931, -2170.77490, 12.93110, 0.00000, 0.00000, 0.00000);
  33737. CreateDynamicObject(19371, 1575.46753, -2151.00684, 14.30000, 0.00000, 0.00000, 90.00000);
  33738. CreateDynamicObject(19371, 1576.92749, -2150.99463, 14.30000, 0.00000, 0.00000, 90.00000);
  33739. CreateDynamicObject(19371, 1578.60022, -2152.58081, 14.30000, 0.00000, 0.00000, 0.00000);
  33740. CreateDynamicObject(19371, 1578.60461, -2155.80054, 14.30000, 0.00000, 0.00000, 0.00000);
  33741. CreateDynamicObject(19371, 1578.61365, -2155.98242, 14.30000, 0.00000, 0.00000, 0.00000);
  33742. CreateDynamicObject(3031, 1556.23779, -2171.58423, 17.66000, 0.00000, 0.00000, -150.00000);
  33743. CreateDynamicObject(3042, 1579.01013, -2153.44458, 17.83510, 0.00000, 0.00000, -90.00000);
  33744. CreateDynamicObject(2370, 1576.20642, -2164.97217, 12.55200, 0.00000, 0.00000, 0.00000);
  33745. CreateDynamicObject(3111, 1576.50281, -2164.60693, 13.41590, 0.00000, 0.00000, -90.00000);
  33746. CreateDynamicObject(3017, 1576.54932, -2165.10083, 12.83710, 0.00000, 0.00000, 0.00000);
  33747. CreateDynamicObject(18866, 1576.86707, -2163.85742, 13.39680, 0.00000, 0.00000, -90.00000);
  33748. CreateDynamicObject(18890, 1577.74036, -2157.77661, 13.40310, -15.00000, 0.00000, 0.00000);
  33749. CreateDynamicObject(19468, 1577.39429, -2157.83008, 12.63390, 0.00000, 0.00000, 0.00000);
  33750. CreateDynamicObject(1811, 1577.52454, -2166.35352, 13.16000, 0.00000, 0.00000, -30.00000);
  33751. CreateDynamicObject(1811, 1576.66321, -2162.68970, 13.16000, 0.00000, 0.00000, 45.00000);
  33752. CreateDynamicObject(1811, 1574.69446, -2165.01147, 13.16000, 0.00000, 0.00000, 160.00000);
  33753. CreateDynamicObject(1078, 1566.93799, -2152.45361, 14.24330, 0.00000, 0.00000, -30.00000);
  33754. CreateDynamicObject(1077, 1565.97778, -2152.16235, 15.04330, 0.00000, -90.00000, 0.00000);
  33755. CreateDynamicObject(1077, 1565.97778, -2152.16235, 15.26330, 0.00000, -90.00000, 0.00000);
  33756. CreateDynamicObject(1008, 1565.01624, -2161.28540, 13.49440, 0.00000, 0.00000, 90.00000);
  33757. CreateDynamicObject(1010, 1565.13574, -2169.96338, 14.30550, 0.00000, 0.00000, 75.00000);
  33758. CreateDynamicObject(19166, 1564.24353, -2171.09692, 14.51260, 90.00000, -90.00000, 0.00000);
  33759. CreateDynamicObject(19418, 1562.34497, -2168.64771, 13.38470, 90.00000, 0.00000, 60.00000);
  33760. CreateDynamicObject(2161, 1563.15747, -2165.80054, 12.56590, 0.00000, 0.00000, 0.00000);
  33761. CreateDynamicObject(2270, 1561.95667, -2168.29102, 14.32850, 0.00000, 0.00000, 180.00000);
  33762. CreateDynamicObject(1775, 1563.76257, -2173.32104, 13.66000, 0.00000, 0.00000, -90.00000);
  33763. CreateDynamicObject(2894, 1555.61426, -2173.47266, 13.61470, 0.00000, 0.00000, -80.00000);
  33764. CreateDynamicObject(1424, 1580.12781, -2155.60840, 13.06780, 0.00000, 0.00000, 0.00000);
  33765. CreateDynamicObject(1424, 1579.95374, -2154.65918, 13.06780, 0.00000, 0.00000, -50.00000);
  33766. CreateDynamicObject(1459, 1579.70361, -2152.11157, 13.14770, 0.00000, 0.00000, 90.00000);
  33767. CreateDynamicObject(1459, 1583.55542, -2155.37524, 13.14770, 0.00000, 0.00000, 0.00000);
  33768. CreateDynamicObject(1238, 1581.73181, -2155.46509, 12.86770, 0.00000, 0.00000, 0.00000);
  33769. CreateDynamicObject(1238, 1581.73181, -2155.46509, 13.02770, 0.00000, 0.00000, 0.00000);
  33770. CreateDynamicObject(1238, 1581.73181, -2155.46509, 13.24770, 0.00000, 0.00000, 20.00000);
  33771. CreateDynamicObject(1635, 1563.64954, -2170.48438, 16.92610, 0.00000, 0.00000, 0.00000);
  33772. CreateDynamicObject(3036, 1557.53491, -2160.66431, 14.29070, 0.00000, 0.00000, -90.00000);
  33773. CreateDynamicObject(10252, 1556.83728, -2161.89111, 14.16000, 0.00000, 0.00000, 90.00000);
  33774. CreateDynamicObject(974, 1557.51270, -2154.84912, 13.26930, 0.00000, 0.00000, 90.00000);
  33775. CreateDynamicObject(974, 1560.86816, -2151.53491, 13.26930, 0.00000, 0.00000, 0.00000);
  33776. CreateDynamicObject(3504, 1563.65125, -2162.96436, 13.90000, 0.00000, 0.00000, 90.00000);
  33777. CreateDynamicObject(1431, 1560.53516, -2152.03198, 13.10000, 0.00000, 0.00000, 0.00000);
  33778. CreateDynamicObject(1428, 1563.83215, -2153.30786, 13.98000, 0.00000, 0.00000, -90.00000);
  33779. CreateDynamicObject(1264, 1558.78479, -2152.08032, 13.36058, 0.00000, 0.00000, 0.00000);
  33780. CreateDynamicObject(1264, 1558.09253, -2152.18945, 13.36060, 0.00000, 0.00000, 90.00000);
  33781. CreateDynamicObject(1265, 1563.41553, -2152.12622, 12.95250, 0.00000, 0.00000, -60.00000);
  33782. CreateDynamicObject(3015, 1559.58191, -2152.74072, 12.71220, 0.00000, 0.00000, 0.00000);
  33783. CreateDynamicObject(2969, 1560.31067, -2152.79053, 12.67390, 0.00000, 0.00000, 30.00000);
  33784. CreateDynamicObject(2969, 1560.31433, -2152.76245, 12.93390, 0.00000, 0.00000, 0.00000);
  33785. CreateDynamicObject(3014, 1561.98022, -2152.06763, 12.77340, 0.00000, 0.00000, 60.00000);
  33786. CreateDynamicObject(3014, 1561.94373, -2151.99463, 13.25340, 0.00000, 0.00000, 0.00000);
  33787. CreateDynamicObject(1778, 1564.01563, -2161.78857, 12.55305, 0.00000, 0.00000, 0.00000);
  33788. CreateDynamicObject(1437, 1564.18604, -2156.69067, 12.80740, 20.00000, 93.50000, 79.50000);
  33789. return 1;
  33790. }
  33791. stock LoadPD() //by Kova515
  33792. {
  33793. new tmpobjid;
  33794. tmpobjid = CreateDynamicObject(19377, -230.140930, 131.258651, -54.886959, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33795. SetDynamicObjectMaterial(tmpobjid, 0, 14777, "int_casinoint3", "GB_midbar05", 0x00000000);
  33796. tmpobjid = CreateDynamicObject(19377, -240.639663, 131.257492, -54.886959, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33797. SetDynamicObjectMaterial(tmpobjid, 0, 14777, "int_casinoint3", "GB_midbar05", 0x00000000);
  33798. tmpobjid = CreateDynamicObject(19377, -230.141006, 140.891204, -51.223400, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33799. SetDynamicObjectMaterial(tmpobjid, 0, 16640, "a51", "scratchedmetal", 0x00000000);
  33800. tmpobjid = CreateDynamicObject(19377, -240.629165, 140.889739, -54.886959, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33801. SetDynamicObjectMaterial(tmpobjid, 0, 14777, "int_casinoint3", "GB_midbar05", 0x00000000);
  33802. tmpobjid = CreateDynamicObject(19454, -229.713623, 145.727188, -53.052600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33803. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33804. tmpobjid = CreateDynamicObject(19454, -230.952606, 146.041595, -52.323101, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33805. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33806. tmpobjid = CreateDynamicObject(19454, -224.841812, 140.861358, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33807. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33808. tmpobjid = CreateDynamicObject(19435, -230.954605, 138.953796, -55.820800, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33809. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33810. tmpobjid = CreateDynamicObject(19454, -226.224716, 138.238708, -53.052600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33811. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33812. tmpobjid = CreateDynamicObject(19454, -230.952560, 146.041610, -55.820789, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33813. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33814. tmpobjid = CreateDynamicObject(19435, -230.954376, 140.425155, -50.494300, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33815. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33816. tmpobjid = CreateDynamicObject(19435, -230.954605, 138.953796, -52.323101, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33817. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33818. tmpobjid = CreateDynamicObject(19435, -230.953765, 137.353256, -55.820800, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33819. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33820. tmpobjid = CreateDynamicObject(19435, -230.953796, 137.353302, -52.323101, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33821. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33822. tmpobjid = CreateDynamicObject(19435, -230.952606, 135.747680, -50.494300, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33823. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33824. tmpobjid = CreateDynamicObject(19454, -231.035720, 130.132690, -55.820789, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33825. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33826. tmpobjid = CreateDynamicObject(19454, -224.821090, 131.230346, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33827. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33828. tmpobjid = CreateDynamicObject(19454, -226.141937, 129.495864, -53.052600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33829. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33830. tmpobjid = CreateDynamicObject(638, -231.534011, 138.069885, -54.297420, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33831. SetDynamicObjectMaterial(tmpobjid, 0, 18007, "int_cutbar3", "barbers_wall3", 0x00000000);
  33832. tmpobjid = CreateDynamicObject(19454, -239.348129, 145.726211, -53.052600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33833. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33834. tmpobjid = CreateDynamicObject(19377, -236.374679, 121.645332, -54.886959, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33835. SetDynamicObjectMaterial(tmpobjid, 0, 14777, "int_casinoint3", "GB_midbar05", 0x00000000);
  33836. tmpobjid = CreateDynamicObject(19454, -229.526443, 129.445648, -55.820800, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33837. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33838. tmpobjid = CreateDynamicObject(19454, -240.642150, 129.444091, -55.820800, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33839. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33840. tmpobjid = CreateDynamicObject(19454, -231.035705, 130.132705, -52.323101, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33841. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33842. tmpobjid = CreateDynamicObject(19454, -231.040985, 124.540893, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33843. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33844. tmpobjid = CreateDynamicObject(19454, -235.826019, 122.803649, -53.052600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33845. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33846. tmpobjid = CreateDynamicObject(19454, -237.606933, 124.645118, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33847. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33848. tmpobjid = CreateDynamicObject(19454, -240.642196, 129.444107, -52.323101, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33849. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33850. tmpobjid = CreateDynamicObject(19454, -229.526672, 129.430343, -52.323101, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33851. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33852. tmpobjid = CreateDynamicObject(19435, -235.082794, 129.442001, -50.540298, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33853. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33854. tmpobjid = CreateDynamicObject(19454, -248.980438, 145.725311, -53.052600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33855. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33856. tmpobjid = CreateDynamicObject(19443, -242.389419, 143.882690, -54.801399, 90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33857. SetDynamicObjectMaterial(tmpobjid, 0, 17606, "lae2roadscoast", "concretedust2_256128", 0x00000000);
  33858. tmpobjid = CreateDynamicObject(19443, -242.838912, 143.880996, -53.936401, 0.000000, 90.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33859. SetDynamicObjectMaterial(tmpobjid, 0, 17025, "cuntrock", "rock_country128", 0x00000000);
  33860. tmpobjid = CreateDynamicObject(19443, -242.839431, 140.384613, -53.936401, 0.000000, 90.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33861. SetDynamicObjectMaterial(tmpobjid, 0, 17025, "cuntrock", "rock_country128", 0x00000000);
  33862. tmpobjid = CreateDynamicObject(19443, -242.839035, 136.884933, -53.936401, 0.000000, 90.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33863. SetDynamicObjectMaterial(tmpobjid, 0, 17025, "cuntrock", "rock_country128", 0x00000000);
  33864. tmpobjid = CreateDynamicObject(19443, -242.389297, 140.383666, -54.801399, 90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33865. SetDynamicObjectMaterial(tmpobjid, 0, 17606, "lae2roadscoast", "concretedust2_256128", 0x00000000);
  33866. tmpobjid = CreateDynamicObject(19443, -242.389846, 136.883651, -54.801399, 90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33867. SetDynamicObjectMaterial(tmpobjid, 0, 17606, "lae2roadscoast", "concretedust2_256128", 0x00000000);
  33868. tmpobjid = CreateDynamicObject(14397, -243.660827, 146.060958, -54.801300, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33869. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "ferry_build14", 0x00000000);
  33870. tmpobjid = CreateDynamicObject(1649, -242.766860, 137.397766, -51.488853, 0.000000, 0.000000, 90.399993, -1, -1, -1, 300.00, 300.00);
  33871. SetDynamicObjectMaterial(tmpobjid, 0, 10023, "bigwhitesfe", "sfe_arch8", 0xFF000000);
  33872. tmpobjid = CreateDynamicObject(19443, -244.057952, 145.543167, -54.650398, 90.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33873. SetDynamicObjectMaterial(tmpobjid, 0, 17606, "lae2roadscoast", "concretedust2_256128", 0x00000000);
  33874. tmpobjid = CreateDynamicObject(19443, -244.078170, 135.230865, -54.650398, 90.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33875. SetDynamicObjectMaterial(tmpobjid, 0, 17606, "lae2roadscoast", "concretedust2_256128", 0x00000000);
  33876. tmpobjid = CreateDynamicObject(14397, -243.613174, 135.605377, -54.801300, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33877. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "ferry_build14", 0x00000000);
  33878. tmpobjid = CreateDynamicObject(19443, -245.390899, 135.935501, -53.936401, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33879. SetDynamicObjectMaterial(tmpobjid, 0, 17025, "cuntrock", "rock_country128", 0x00000000);
  33880. tmpobjid = CreateDynamicObject(19443, -245.387283, 144.830062, -53.936401, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33881. SetDynamicObjectMaterial(tmpobjid, 0, 17025, "cuntrock", "rock_country128", 0x00000000);
  33882. tmpobjid = CreateDynamicObject(1649, -242.828933, 146.277404, -51.488853, 0.000000, 0.000000, 90.399993, -1, -1, -1, 300.00, 300.00);
  33883. SetDynamicObjectMaterial(tmpobjid, 0, 10023, "bigwhitesfe", "sfe_arch8", 0xFF000000);
  33884. tmpobjid = CreateDynamicObject(19454, -245.459213, 139.923461, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33885. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33886. tmpobjid = CreateDynamicObject(19454, -245.459594, 149.547286, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33887. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33888. tmpobjid = CreateDynamicObject(14397, -243.610733, 140.636703, -54.801300, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33889. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "ferry_build14", 0x00000000);
  33890. tmpobjid = CreateDynamicObject(19443, -236.137603, 146.408401, -52.304698, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33891. SetDynamicObjectMaterial(tmpobjid, 0, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0x00000000);
  33892. tmpobjid = CreateDynamicObject(19443, -237.652938, 146.414047, -54.014389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33893. SetDynamicObjectMaterial(tmpobjid, 0, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0x00000000);
  33894. tmpobjid = CreateDynamicObject(19443, -234.592453, 146.409637, -54.014389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33895. SetDynamicObjectMaterial(tmpobjid, 0, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0x00000000);
  33896. tmpobjid = CreateDynamicObject(2010, -231.394149, 145.160140, -54.802600, 0.000000, 0.000000, 45.000000, -1, -1, -1, 300.00, 300.00);
  33897. SetDynamicObjectMaterial(tmpobjid, 0, 16060, "des_trees", "Newtreed256", 0x00000000);
  33898. tmpobjid = CreateDynamicObject(2737, -230.806838, 143.132843, -53.181949, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33899. SetDynamicObjectMaterial(tmpobjid, 0, 14777, "int_casinoint3", "GB_midbar05", 0x00000000);
  33900. tmpobjid = CreateDynamicObject(19482, -253.264236, 121.491668, -57.077590, 0.000000, -89.299980, 11.500011, -1, -1, -1, 300.00, 300.00);
  33901. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_church_grass_alt", 0x00000000);
  33902. SetDynamicObjectMaterialText(tmpobjid, 0, "{020201} by Kova", 120, "Calibri", 15, 1, 0x00000000, 0x00000000, 1);
  33903. tmpobjid = CreateDynamicObject(2370, -234.417938, 122.064483, -52.459228, 0.000000, 90.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33904. SetDynamicObjectMaterial(tmpobjid, 0, 16093, "a51_ext", "ws_controltowerwin1", 0x00000000);
  33905. tmpobjid = CreateDynamicObject(2559, -234.300430, 123.297737, -53.322299, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  33906. SetDynamicObjectMaterial(tmpobjid, 0, 16093, "a51_ext", "ws_controltowerwin1", 0x00000000);
  33907. tmpobjid = CreateDynamicObject(2010, -231.730361, 130.027374, -54.802951, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33908. SetDynamicObjectMaterial(tmpobjid, 0, 16060, "des_trees", "Newtreed256", 0x00000000);
  33909. tmpobjid = CreateDynamicObject(19377, -230.141021, 140.891174, -54.886959, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33910. SetDynamicObjectMaterial(tmpobjid, 0, 14777, "int_casinoint3", "GB_midbar05", 0x00000000);
  33911. tmpobjid = CreateDynamicObject(19377, -240.629196, 140.859878, -51.223400, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33912. SetDynamicObjectMaterial(tmpobjid, 0, 16640, "a51", "scratchedmetal", 0x00000000);
  33913. tmpobjid = CreateDynamicObject(19377, -240.639694, 131.257507, -51.223400, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33914. SetDynamicObjectMaterial(tmpobjid, 0, 16640, "a51", "scratchedmetal", 0x00000000);
  33915. tmpobjid = CreateDynamicObject(19377, -230.140899, 131.258697, -51.223400, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33916. SetDynamicObjectMaterial(tmpobjid, 0, 16640, "a51", "scratchedmetal", 0x00000000);
  33917. tmpobjid = CreateDynamicObject(19377, -236.374694, 121.645301, -51.223400, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33918. SetDynamicObjectMaterial(tmpobjid, 0, 16640, "a51", "scratchedmetal", 0x00000000);
  33919. tmpobjid = CreateDynamicObject(2010, -240.583892, 145.305114, -54.802600, 0.000000, 0.000000, 45.000000, -1, -1, -1, 300.00, 300.00);
  33920. SetDynamicObjectMaterial(tmpobjid, 0, 16060, "des_trees", "Newtreed256", 0x00000000);
  33921. tmpobjid = CreateDynamicObject(19454, -245.461807, 135.855850, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33922. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33923. tmpobjid = CreateDynamicObject(19435, -245.429168, 130.256286, -50.540298, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33924. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_whiteplaster_top", 0x00000000);
  33925. tmpobjid = CreateDynamicObject(19377, -245.945602, 124.715103, -54.884998, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33926. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33927. tmpobjid = CreateDynamicObject(19377, -250.319992, 131.449600, -54.884998, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33928. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33929. tmpobjid = CreateDynamicObject(19377, -248.016952, 130.081863, -54.884998, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33930. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33931. tmpobjid = CreateDynamicObject(19377, -250.776092, 129.781295, -51.109100, 0.000000, 56.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33932. SetDynamicObjectMaterial(tmpobjid, 0, 11100, "bendytunnel_sfse", "ws_altz_wall10b", 0x00000000);
  33933. tmpobjid = CreateDynamicObject(19454, -252.745300, 125.351562, -55.825698, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33934. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33935. tmpobjid = CreateDynamicObject(19454, -253.786331, 120.630943, -55.825698, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33936. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33937. tmpobjid = CreateDynamicObject(19454, -249.011184, 115.920936, -55.825698, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33938. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33939. tmpobjid = CreateDynamicObject(19454, -245.946029, 115.084716, -55.825698, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33940. SetDynamicObjectMaterial(tmpobjid, 0, 12850, "cunte_block1", "ws_redbrickold", 0x00000000);
  33941. tmpobjid = CreateDynamicObject(19452, -254.753463, 124.965423, -57.170558, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33942. SetDynamicObjectMaterial(tmpobjid, 0, 14486, "ab_vegasgymbits01", "bbar_wall2", 0x00000000);
  33943. tmpobjid = CreateDynamicObject(19452, -254.270095, 126.270401, -57.172599, 0.000000, 90.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33944. SetDynamicObjectMaterial(tmpobjid, 0, 14486, "ab_vegasgymbits01", "bbar_wall2", 0x00000000);
  33945. tmpobjid = CreateDynamicObject(19452, -257.823516, 120.239723, -58.833999, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33946. SetDynamicObjectMaterial(tmpobjid, 0, 14486, "ab_vegasgymbits01", "bbar_wall2", 0x00000000);
  33947. tmpobjid = CreateDynamicObject(19452, -257.823516, 124.335937, -58.833999, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33948. SetDynamicObjectMaterial(tmpobjid, 0, 14486, "ab_vegasgymbits01", "bbar_wall2", 0x00000000);
  33949. tmpobjid = CreateDynamicObject(19377, -249.796951, 120.659347, -57.662040, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33950. SetDynamicObjectMaterial(tmpobjid, 0, 17606, "lae2roadscoast", "concretedust2_256128", 0x00000000);
  33951. tmpobjid = CreateDynamicObject(19377, -249.796997, 120.659301, -54.029300, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33952. SetDynamicObjectMaterial(tmpobjid, 0, 11100, "bendytunnel_sfse", "ws_altz_wall10b", 0x00000000);
  33953. tmpobjid = CreateDynamicObject(19377, -251.130447, 127.279502, -51.223400, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33954. SetDynamicObjectMaterial(tmpobjid, 0, 11100, "bendytunnel_sfse", "ws_altz_wall10b", 0x00000000);
  33955. tmpobjid = CreateDynamicObject(2704, -253.145828, 118.734832, -56.449798, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33956. SetDynamicObjectMaterial(tmpobjid, 0, 14486, "ab_vegasgymbits01", "bbar_wall2", 0x00000000);
  33957. tmpobjid = CreateDynamicObject(19482, -240.167327, 129.536315, -52.021049, 0.000000, 0.000000, 89.700126, -1, -1, -1, 300.00, 300.00);
  33958. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "ws_oldpainted2rusty", 0x00000000);
  33959. SetDynamicObjectMaterialText(tmpobjid, 0, "{00050c} 5", 120, "Webdings", 70, 1, 0x00000000, 0x00000000, 1);
  33960. tmpobjid = CreateDynamicObject(19482, -247.367141, 116.015396, -54.486110, 0.000000, -178.900146, 90.000015, -1, -1, -1, 300.00, 300.00);
  33961. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_church_grass_alt", 0x00000000);
  33962. SetDynamicObjectMaterialText(tmpobjid, 0, "{00050c} 5", 90, "Webdings", 50, 0, 0x00000000, 0x00000000, 1);
  33963. tmpobjid = CreateDynamicObject(1649, -242.797790, 141.837646, -51.488853, 0.000000, 0.000000, 90.399993, -1, -1, -1, 300.00, 300.00);
  33964. SetDynamicObjectMaterial(tmpobjid, 0, 10023, "bigwhitesfe", "sfe_arch8", 0xFF000000);
  33965. tmpobjid = CreateDynamicObject(1649, -244.872390, 135.299484, -51.488853, 0.000000, 0.000000, -1.100002, -1, -1, -1, 300.00, 300.00);
  33966. SetDynamicObjectMaterial(tmpobjid, 0, 10023, "bigwhitesfe", "sfe_arch8", 0xFF000000);
  33967. tmpobjid = CreateDynamicObject(19172, -237.754776, 129.538986, -52.761054, 0.000000, 0.000000, 179.999801, -1, -1, -1, 300.00, 300.00);
  33968. SetDynamicObjectMaterial(tmpobjid, 0, 12855, "cunte_cop", "sw_PD", 0x00000000);
  33969. tmpobjid = CreateDynamicObject(19172, -251.206283, 125.268135, -55.416130, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33970. SetDynamicObjectMaterial(tmpobjid, 0, 12853, "cunte_gas01", "starspangban1_256", 0x00000000);
  33971. tmpobjid = CreateDynamicObject(19172, -251.325897, 116.015151, -55.572116, 0.000000, -3.699999, -179.500015, -1, -1, -1, 300.00, 300.00);
  33972. SetDynamicObjectMaterial(tmpobjid, 0, 10429, "hashblock1_sfs", "ws_suburbansign", 0x00000000);
  33973. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  33974. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  33975. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  33976. tmpobjid = CreateDynamicObject(1496, -230.982604, 139.720092, -54.802101, 0.000000, 0.000000, 30.000000, -1, -1, -1, 300.00, 300.00);
  33977. tmpobjid = CreateDynamicObject(1496, -231.002059, 136.580368, -54.802101, 0.000000, 0.000000, -30.000000, -1, -1, -1, 300.00, 300.00);
  33978. tmpobjid = CreateDynamicObject(1502, -245.459548, 131.060989, -54.799598, 0.000000, 0.000000, -90.499740, -1, -1, -1, 300.00, 300.00);
  33979. tmpobjid = CreateDynamicObject(1569, -237.609466, 145.675567, -54.803890, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33980. tmpobjid = CreateDynamicObject(1569, -234.608413, 145.681884, -54.803901, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  33981. tmpobjid = CreateDynamicObject(14411, -247.646331, 127.436439, -57.989898, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33982. tmpobjid = CreateDynamicObject(1714, -244.321640, 143.388610, -54.799800, 0.000000, 0.000000, 85.258773, -1, -1, -1, 300.00, 300.00);
  33983. tmpobjid = CreateDynamicObject(1714, -244.400939, 140.878295, -54.799800, 0.000000, 0.000000, 90.906883, -1, -1, -1, 300.00, 300.00);
  33984. tmpobjid = CreateDynamicObject(1714, -244.343490, 138.120254, -54.799800, 0.000000, 0.000000, 90.906883, -1, -1, -1, 300.00, 300.00);
  33985. tmpobjid = CreateDynamicObject(2199, -245.330947, 139.576568, -54.798801, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33986. tmpobjid = CreateDynamicObject(2161, -245.353057, 143.143218, -54.798900, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33987. tmpobjid = CreateDynamicObject(2197, -244.434738, 138.735717, -54.798900, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33988. tmpobjid = CreateDynamicObject(2197, -244.453109, 142.300415, -54.798900, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33989. tmpobjid = CreateDynamicObject(2167, -245.370437, 138.006347, -54.799198, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  33990. tmpobjid = CreateDynamicObject(2190, -242.953582, 138.247390, -53.847900, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  33991. tmpobjid = CreateDynamicObject(2190, -243.012084, 140.989318, -53.847900, 0.000000, 0.000000, 266.250549, -1, -1, -1, 300.00, 300.00);
  33992. tmpobjid = CreateDynamicObject(2190, -242.945892, 143.048309, -53.847900, 0.000000, 0.000000, 266.250549, -1, -1, -1, 300.00, 300.00);
  33993. tmpobjid = CreateDynamicObject(19807, -243.159698, 137.211807, -53.778900, 0.000000, 0.000000, 276.428100, -1, -1, -1, 300.00, 300.00);
  33994. tmpobjid = CreateDynamicObject(2269, -244.278884, 145.124374, -52.908329, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33995. tmpobjid = CreateDynamicObject(19435, -246.856582, 136.207351, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33996. tmpobjid = CreateDynamicObject(1714, -225.188568, 133.691818, -54.798599, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  33997. tmpobjid = CreateDynamicObject(2164, -226.247116, 145.624832, -54.799758, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33998. tmpobjid = CreateDynamicObject(2161, -227.572631, 138.159072, -54.799640, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  33999. tmpobjid = CreateDynamicObject(2608, -225.145599, 136.132446, -54.235698, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34000. tmpobjid = CreateDynamicObject(2609, -225.090240, 134.925292, -54.099498, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34001. tmpobjid = CreateDynamicObject(2010, -225.438232, 138.834365, -54.801658, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34002. tmpobjid = CreateDynamicObject(2609, -230.349792, 129.783172, -54.099498, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34003. tmpobjid = CreateDynamicObject(1726, -227.435577, 130.134979, -54.800201, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34004. tmpobjid = CreateDynamicObject(2607, -226.590545, 133.798522, -54.408798, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34005. tmpobjid = CreateDynamicObject(2190, -226.971069, 133.401489, -54.003898, 0.000000, 0.000000, 93.168502, -1, -1, -1, 300.00, 300.00);
  34006. tmpobjid = CreateDynamicObject(19808, -226.356262, 133.308380, -53.995800, 0.000000, 0.000000, 92.202903, -1, -1, -1, 300.00, 300.00);
  34007. tmpobjid = CreateDynamicObject(19807, -226.462768, 134.376449, -53.949401, 0.000000, 0.000000, 111.524803, -1, -1, -1, 300.00, 300.00);
  34008. tmpobjid = CreateDynamicObject(19172, -224.919982, 141.999725, -52.607940, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34009. tmpobjid = CreateDynamicObject(2260, -226.279754, 130.060302, -52.787399, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34010. tmpobjid = CreateDynamicObject(2264, -229.124984, 138.829940, -52.811000, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34011. tmpobjid = CreateDynamicObject(2616, -230.895019, 132.808670, -52.990600, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34012. tmpobjid = CreateDynamicObject(1738, -226.106903, 138.013168, -54.299800, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34013. tmpobjid = CreateDynamicObject(2002, -231.610641, 142.673248, -54.802200, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34014. tmpobjid = CreateDynamicObject(2813, -227.351882, 137.868392, -53.442871, 0.000000, 0.000000, 18.146400, -1, -1, -1, 300.00, 300.00);
  34015. tmpobjid = CreateDynamicObject(2828, -226.792053, 134.164672, -54.003700, 0.000000, 0.000000, 246.332656, -1, -1, -1, 300.00, 300.00);
  34016. tmpobjid = CreateDynamicObject(19617, -225.862945, 138.161361, -52.422908, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34017. tmpobjid = CreateDynamicObject(19814, -226.256301, 138.329605, -54.242900, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34018. tmpobjid = CreateDynamicObject(19814, -224.932205, 141.092498, -54.219100, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34019. tmpobjid = CreateDynamicObject(1726, -226.905044, 138.929977, -54.800201, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34020. tmpobjid = CreateDynamicObject(2260, -227.120941, 138.806701, -52.787399, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34021. tmpobjid = CreateDynamicObject(2609, -229.437225, 145.484436, -54.099498, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34022. tmpobjid = CreateDynamicObject(2609, -228.983352, 145.464218, -54.099498, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34023. tmpobjid = CreateDynamicObject(19617, -228.351333, 145.677108, -52.422908, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34024. tmpobjid = CreateDynamicObject(1738, -230.639343, 144.532333, -54.299789, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34025. tmpobjid = CreateDynamicObject(2161, -227.562561, 145.641860, -54.799640, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34026. tmpobjid = CreateDynamicObject(2813, -227.419555, 145.391723, -53.442871, 0.000000, 0.000000, 18.146400, -1, -1, -1, 300.00, 300.00);
  34027. tmpobjid = CreateDynamicObject(2607, -226.430496, 141.953231, -54.408798, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34028. tmpobjid = CreateDynamicObject(2828, -226.633377, 142.383026, -54.003700, 0.000000, 0.000000, 246.332656, -1, -1, -1, 300.00, 300.00);
  34029. tmpobjid = CreateDynamicObject(19807, -226.303405, 142.656997, -53.949401, 0.000000, 0.000000, 111.524803, -1, -1, -1, 300.00, 300.00);
  34030. tmpobjid = CreateDynamicObject(19808, -226.189941, 141.645538, -53.995800, 0.000000, 0.000000, 92.202903, -1, -1, -1, 300.00, 300.00);
  34031. tmpobjid = CreateDynamicObject(2190, -226.797882, 141.795883, -54.003898, 0.000000, 0.000000, 93.168502, -1, -1, -1, 300.00, 300.00);
  34032. tmpobjid = CreateDynamicObject(1714, -225.188827, 142.010070, -54.798599, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34033. tmpobjid = CreateDynamicObject(2608, -225.159576, 143.604476, -54.235698, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34034. tmpobjid = CreateDynamicObject(2007, -225.328735, 140.093093, -54.799701, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34035. tmpobjid = CreateDynamicObject(2314, -229.245635, 131.621170, -54.800029, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34036. tmpobjid = CreateDynamicObject(2191, -225.464645, 131.279205, -54.800598, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34037. tmpobjid = CreateDynamicObject(1738, -226.356826, 129.747222, -54.299800, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34038. tmpobjid = CreateDynamicObject(19174, -224.905960, 133.789260, -52.538398, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34039. tmpobjid = CreateDynamicObject(2199, -228.967987, 138.035552, -54.800319, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34040. tmpobjid = CreateDynamicObject(2256, -228.697708, 129.620346, -52.526699, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34041. tmpobjid = CreateDynamicObject(2280, -225.430374, 136.719802, -52.859600, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34042. tmpobjid = CreateDynamicObject(3017, -225.282424, 130.991149, -52.979099, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34043. tmpobjid = CreateDynamicObject(2222, -229.020324, 131.557250, -54.233501, 0.000000, 0.000000, 100.000000, -1, -1, -1, 300.00, 300.00);
  34044. tmpobjid = CreateDynamicObject(2671, -228.393981, 130.208770, -54.799961, 0.000000, 0.000000, 329.326232, -1, -1, -1, 300.00, 300.00);
  34045. tmpobjid = CreateDynamicObject(2858, -228.039489, 131.646286, -54.291500, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34046. tmpobjid = CreateDynamicObject(1811, -231.601135, 126.004463, -54.184600, 0.000000, 0.000000, 5.493179, -1, -1, -1, 300.00, 300.00);
  34047. tmpobjid = CreateDynamicObject(1998, -237.013946, 125.328102, -54.858001, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34048. tmpobjid = CreateDynamicObject(1714, -236.179946, 125.015747, -54.799400, 0.000000, 0.000000, 170.906295, -1, -1, -1, 300.00, 300.00);
  34049. tmpobjid = CreateDynamicObject(1622, -237.577896, 123.282066, -51.681549, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34050. tmpobjid = CreateDynamicObject(2002, -231.674804, 132.035430, -54.802200, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34051. tmpobjid = CreateDynamicObject(19997, -233.281951, 125.985107, -54.821098, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34052. tmpobjid = CreateDynamicObject(19617, -231.021392, 138.133453, -52.323101, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34053. tmpobjid = CreateDynamicObject(949, -238.204421, 145.405700, -54.186481, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34054. tmpobjid = CreateDynamicObject(949, -234.124649, 145.305923, -54.186481, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34055. tmpobjid = CreateDynamicObject(1502, -235.844070, 129.440490, -54.799560, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34056. tmpobjid = CreateDynamicObject(19377, -245.765579, 124.715927, -54.884998, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34057. tmpobjid = CreateDynamicObject(19454, -245.440948, 124.719779, -53.052600, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34058. tmpobjid = CreateDynamicObject(19377, -245.589553, 124.716728, -54.884998, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34059. tmpobjid = CreateDynamicObject(1566, -248.411392, 116.014678, -56.243289, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34060. tmpobjid = CreateDynamicObject(2371, -250.654022, 120.554023, -57.575260, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34061. tmpobjid = CreateDynamicObject(2381, -250.277175, 121.262222, -56.875000, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34062. tmpobjid = CreateDynamicObject(2394, -250.951263, 121.232856, -56.858501, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34063. tmpobjid = CreateDynamicObject(19452, -252.766235, 129.399673, -58.833999, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34064. tmpobjid = CreateDynamicObject(19452, -249.546600, 129.341369, -58.833999, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34065. tmpobjid = CreateDynamicObject(2400, -253.630004, 116.476722, -57.800338, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34066. tmpobjid = CreateDynamicObject(19141, -253.545806, 117.630546, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34067. tmpobjid = CreateDynamicObject(19142, -252.983581, 116.413673, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34068. tmpobjid = CreateDynamicObject(19142, -253.362762, 116.394447, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34069. tmpobjid = CreateDynamicObject(19142, -252.981704, 119.366790, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34070. tmpobjid = CreateDynamicObject(19142, -253.342208, 119.368797, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34071. tmpobjid = CreateDynamicObject(19142, -252.984313, 118.762710, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34072. tmpobjid = CreateDynamicObject(19142, -253.323547, 118.746093, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34073. tmpobjid = CreateDynamicObject(19142, -252.989440, 118.155632, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34074. tmpobjid = CreateDynamicObject(19142, -253.349945, 118.157653, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34075. tmpobjid = CreateDynamicObject(19142, -252.992797, 117.588562, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34076. tmpobjid = CreateDynamicObject(19142, -253.333206, 117.591842, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34077. tmpobjid = CreateDynamicObject(19142, -252.998840, 117.010208, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34078. tmpobjid = CreateDynamicObject(19142, -253.298126, 116.996353, -57.071239, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34079. tmpobjid = CreateDynamicObject(19141, -253.208221, 117.624351, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34080. tmpobjid = CreateDynamicObject(19141, -253.538436, 116.383491, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34081. tmpobjid = CreateDynamicObject(19141, -253.220657, 116.385848, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34082. tmpobjid = CreateDynamicObject(19141, -253.547042, 116.979637, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34083. tmpobjid = CreateDynamicObject(19141, -253.209335, 116.987052, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34084. tmpobjid = CreateDynamicObject(19141, -253.545181, 118.190437, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34085. tmpobjid = CreateDynamicObject(19141, -253.208007, 118.184089, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34086. tmpobjid = CreateDynamicObject(19141, -253.544281, 118.810180, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34087. tmpobjid = CreateDynamicObject(19141, -253.203033, 118.809631, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34088. tmpobjid = CreateDynamicObject(19141, -253.542694, 119.350410, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34089. tmpobjid = CreateDynamicObject(19141, -253.203414, 119.350013, -55.763290, 0.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34090. tmpobjid = CreateDynamicObject(18637, -251.366775, 116.037063, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34091. tmpobjid = CreateDynamicObject(18637, -251.370880, 116.153717, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34092. tmpobjid = CreateDynamicObject(18637, -251.374847, 116.270362, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34093. tmpobjid = CreateDynamicObject(18637, -252.409271, 116.291877, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34094. tmpobjid = CreateDynamicObject(18637, -252.415634, 116.175437, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34095. tmpobjid = CreateDynamicObject(18637, -252.421997, 116.058998, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34096. tmpobjid = CreateDynamicObject(18637, -251.896438, 116.288177, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34097. tmpobjid = CreateDynamicObject(18637, -251.897659, 116.171707, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34098. tmpobjid = CreateDynamicObject(18637, -251.898834, 116.055252, -56.958000, 90.000000, 270.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34099. tmpobjid = CreateDynamicObject(2371, -249.918457, 116.751747, -57.575260, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34100. tmpobjid = CreateDynamicObject(2381, -249.534286, 117.421951, -56.875000, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34101. tmpobjid = CreateDynamicObject(2394, -250.200942, 117.354187, -56.858501, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34102. tmpobjid = CreateDynamicObject(2846, -250.510925, 120.508888, -57.575851, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34103. tmpobjid = CreateDynamicObject(2846, -252.199539, 120.980712, -57.575801, 0.000000, 0.000000, 121.000000, -1, -1, -1, 300.00, 300.00);
  34104. tmpobjid = CreateDynamicObject(2845, -251.323043, 123.508262, -57.575771, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34105. tmpobjid = CreateDynamicObject(18636, -253.397796, 120.911399, -57.041400, 0.000000, 0.000000, 20.478519, -1, -1, -1, 300.00, 300.00);
  34106. tmpobjid = CreateDynamicObject(2704, -253.367492, 118.743270, -56.437801, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34107. tmpobjid = CreateDynamicObject(2689, -253.570495, 117.574600, -56.412498, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  34108. tmpobjid = CreateDynamicObject(2358, -251.175582, 116.950752, -57.458698, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  34109. tmpobjid = CreateDynamicObject(2358, -251.917572, 116.681846, -57.458698, 0.000000, 0.000000, 169.117507, -1, -1, -1, 300.00, 300.00);
  34110. tmpobjid = CreateDynamicObject(19832, -251.856124, 117.208053, -57.575061, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34111. tmpobjid = CreateDynamicObject(11729, -246.312850, 119.025413, -57.576599, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34112. tmpobjid = CreateDynamicObject(11729, -246.315734, 119.688148, -57.576599, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34113. tmpobjid = CreateDynamicObject(11730, -246.315765, 120.357322, -57.575000, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34114. tmpobjid = CreateDynamicObject(630, -244.673141, 133.579803, -53.789798, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34115. tmpobjid = CreateDynamicObject(19810, -245.364639, 131.710433, -52.529190, 0.000000, 0.000000, 270.000000, -1, -1, -1, 300.00, 300.00);
  34116. tmpobjid = CreateDynamicObject(1536, -241.073348, 129.494705, -54.841148, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34117. tmpobjid = CreateDynamicObject(2195, -238.899414, 129.824508, -54.197490, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34118. tmpobjid = CreateDynamicObject(1893, -235.109298, 141.634460, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34119. tmpobjid = CreateDynamicObject(1893, -239.479232, 141.634460, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34120. tmpobjid = CreateDynamicObject(1893, -239.479232, 135.764419, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34121. tmpobjid = CreateDynamicObject(1893, -234.919342, 135.764419, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34122. tmpobjid = CreateDynamicObject(1893, -228.329421, 134.134445, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34123. tmpobjid = CreateDynamicObject(1893, -228.329421, 141.284423, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34124. tmpobjid = CreateDynamicObject(1893, -235.119400, 126.934379, -50.781024, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34125. tmpobjid = CreateDynamicObject(1893, -250.146621, 121.940414, -53.746273, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34126. tmpobjid = CreateDynamicObject(1893, -250.146621, 118.340461, -53.746273, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  34127. tmpobjid = CreateDynamicObject(2611, -237.468444, 127.903121, -53.181015, 0.000000, 0.000000, 90.000045, -1, -1, -1, 300.00, 300.00);
  34128. }
  34129. stock LoadBank1() //from SC:RP
  34130. {
  34131. CreateObject(14602, 1443.33521, -985.86328, 1000.47083, 0.00000, 0.00000, 0.00000);
  34132. CreateObject(19450, 1420.34436, -987.59058, 996.85638, 0.00000, 0.00000, 0.00000);
  34133. CreateObject(19450, 1420.34436, -997.22662, 996.85638, 0.00000, 0.00000, 0.00000);
  34134. CreateObject(19450, 1420.34436, -977.94659, 996.85638, 0.00000, 0.00000, 0.00000);
  34135. CreateObject(19450, 1420.34436, -968.31262, 996.85638, 0.00000, 0.00000, 0.00000);
  34136. CreateObject(19377, 1425.39563, -997.23810, 998.69531, 0.00000, -90.00000, 0.00000);
  34137. CreateObject(19379, 1425.52917, -996.80780, 995.01910, 0.00000, -90.00000, 0.00000);
  34138. CreateObject(19377, 1425.39563, -987.59912, 998.69928, 0.00000, -90.00000, 0.00000);
  34139. CreateObject(19377, 1425.39563, -977.97009, 998.69531, 0.00000, -90.00000, 0.00000);
  34140. CreateObject(19377, 1425.39563, -968.33612, 998.69531, 0.00000, -90.00000, 0.00000);
  34141. CreateObject(19450, 1425.15210, -1001.58301, 996.85638, 0.00000, 0.00000, 89.99190);
  34142. CreateObject(19450, 1444.42175, -992.99921, 996.85638, 0.00000, 0.00000, 89.99190);
  34143. CreateObject(19450, 1425.24097, -1001.64844, 996.85638, 0.00000, 0.00000, 89.99190);
  34144. CreateObject(19450, 1435.60022, -997.79559, 996.85638, 0.00000, 0.00000, 0.00000);
  34145. CreateObject(19450, 1430.77246, -1001.59528, 996.85638, 0.00000, 0.00000, 89.99190);
  34146. CreateObject(1569, 1432.61536, -1001.55011, 995.10773, 0.00000, 0.00000, 0.00000);
  34147. CreateObject(19388, 1438.83838, -993.01642, 996.85449, 0.00000, 0.00000, 90.90000);
  34148. CreateObject(19431, 1436.57031, -993.03369, 996.85193, 0.00000, 0.00000, 89.95040);
  34149. CreateObject(19431, 1436.32031, -993.03369, 996.85388, 0.00000, 0.00000, 89.95040);
  34150. CreateObject(19450, 1425.15210, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  34151. CreateObject(19450, 1427.71814, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  34152. CreateObject(19450, 1439.00610, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  34153. CreateObject(19450, 1448.52612, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  34154. CreateObject(19388, 1433.38245, -970.08441, 996.86249, 0.00000, 0.00000, 89.78290);
  34155. CreateObject(19450, 1444.40637, -976.56262, 996.85638, 0.00000, 0.00000, 0.00000);
  34156. CreateObject(19450, 1444.40637, -966.93060, 996.85638, 0.00000, 0.00000, 0.00000);
  34157. CreateObject(19450, 1444.40637, -994.98560, 996.85638, 0.00000, 0.00000, 0.00000);
  34158. CreateObject(19377, 1435.89355, -997.23810, 998.69531, 0.00000, -90.00000, 0.00000);
  34159. CreateObject(19377, 1435.89355, -987.59912, 998.70532, 0.00000, -90.00000, 0.00000);
  34160. CreateObject(19377, 1435.89355, -977.97009, 998.70532, 0.00000, -90.00000, 0.00000);
  34161. CreateObject(19377, 1435.89355, -968.33612, 998.69531, 0.00000, -90.00000, 0.00000);
  34162. CreateObject(19377, 1446.39160, -968.33612, 998.69531, 0.00000, -90.00000, 0.00000);
  34163. CreateObject(19377, 1446.39160, -977.97009, 998.69733, 0.00000, -90.00000, 0.00000);
  34164. CreateObject(19377, 1446.39160, -987.59912, 998.69733, 0.00000, -90.00000, 0.00000);
  34165. CreateObject(19450, 1444.40637, -986.19659, 1000.16260, -180.00000, 0.00000, 0.00000);
  34166. CreateObject(1569, 1457.74744, -985.02881, 995.10431, 0.00000, 0.00000, -90.06000);
  34167. CreateObject(19377, 1446.35864, -997.23810, 998.69531, 0.00000, -90.00000, 0.00000);
  34168. CreateObject(16101, 1424.50464, -988.71008, 990.73462, 0.00000, 0.00000, 0.00000);
  34169. CreateObject(16101, 1424.50464, -990.89410, 990.73462, 0.00000, 0.00000, 0.00000);
  34170. CreateObject(16101, 1424.50464, -993.07813, 990.73462, 0.00000, 0.00000, 0.00000);
  34171. CreateObject(16101, 1424.50464, -995.26208, 990.73462, 0.00000, 0.00000, 0.00000);
  34172. CreateObject(16101, 1424.50464, -997.44611, 990.73462, 0.00000, 0.00000, 0.00000);
  34173. CreateObject(16101, 1424.50464, -999.63013, 990.73462, 0.00000, 0.00000, 0.00000);
  34174. CreateObject(16101, 1424.50464, -983.33411, 990.73462, 0.00000, 0.00000, 0.00000);
  34175. CreateObject(16101, 1424.50464, -981.15009, 990.73462, 0.00000, 0.00000, 0.00000);
  34176. CreateObject(16101, 1424.50464, -978.96613, 990.73462, 0.00000, 0.00000, 0.00000);
  34177. CreateObject(16101, 1424.50464, -976.78210, 990.73462, 0.00000, 0.00000, 0.00000);
  34178. CreateObject(16101, 1424.50464, -974.59808, 990.73462, 0.00000, 0.00000, 0.00000);
  34179. CreateObject(16101, 1424.50464, -972.41412, 990.73462, 0.00000, 0.00000, 0.00000);
  34180. CreateObject(19325, 1424.51428, -991.97479, 999.00391, 0.00000, 0.00000, 0.00000);
  34181. CreateObject(19325, 1424.51428, -998.45477, 999.00391, 0.00000, 0.00000, 0.00000);
  34182. CreateObject(19325, 1424.51428, -980.05078, 999.00391, 0.00000, 0.00000, 0.00000);
  34183. CreateObject(19325, 1424.51428, -973.42279, 999.00391, 0.00000, 0.00000, 0.00000);
  34184. CreateObject(2190, 1426.35876, -983.58972, 995.82874, 0.00000, 0.00000, -39.84000);
  34185. CreateObject(2190, 1427.57007, -986.54395, 995.82874, 0.00000, 0.00000, -102.06001);
  34186. CreateObject(2190, 1425.72351, -988.86444, 995.82874, 0.00000, 0.00000, -154.73996);
  34187. CreateObject(1715, 1425.98022, -986.25348, 995.10559, 0.00000, 0.00000, 81.60000);
  34188. CreateObject(1715, 1425.09607, -984.83795, 995.10559, 0.00000, 0.00000, 148.67998);
  34189. CreateObject(1715, 1424.76306, -987.25067, 995.10559, 0.00000, 0.00000, 29.09999);
  34190. CreateObject(2244, 1427.16125, -984.70050, 996.06403, 0.00000, 0.00000, 27.72000);
  34191. CreateObject(2244, 1426.93335, -987.59070, 996.06403, 0.00000, 0.00000, -24.42000);
  34192. CreateObject(2165, 1420.89612, -986.00458, 995.10638, 0.00000, 0.00000, 89.57999);
  34193. CreateObject(1715, 1422.16272, -985.46423, 995.10559, 0.00000, 0.00000, -105.06001);
  34194. CreateObject(2164, 1420.47449, -980.71246, 995.10602, 0.00000, 0.00000, 87.65998);
  34195. CreateObject(2773, 1426.07617, -993.09894, 995.65790, 0.00000, 0.00000, 89.16010);
  34196. CreateObject(2773, 1426.07690, -990.98590, 995.65790, 0.00000, 0.00000, 89.16010);
  34197. CreateObject(2773, 1426.07617, -995.23187, 995.65790, 0.00000, 0.00000, 89.16010);
  34198. CreateObject(2773, 1426.07617, -997.52289, 995.65790, 0.00000, 0.00000, 89.16010);
  34199. CreateObject(2773, 1426.07617, -999.65588, 995.65790, 0.00000, 0.00000, 89.16010);
  34200. CreateObject(2773, 1426.07690, -981.18988, 995.65790, 0.00000, 0.00000, 89.16010);
  34201. CreateObject(2773, 1426.07690, -979.05688, 995.65790, 0.00000, 0.00000, 89.16010);
  34202. CreateObject(2773, 1426.07690, -976.84491, 995.65790, 0.00000, 0.00000, 89.16010);
  34203. CreateObject(2773, 1426.07690, -974.63287, 995.65790, 0.00000, 0.00000, 89.16010);
  34204. CreateObject(2773, 1426.07690, -972.42090, 995.65790, 0.00000, 0.00000, 89.16010);
  34205. CreateObject(1514, 1424.18726, -992.59534, 996.20605, 0.00000, 0.00000, 89.58002);
  34206. CreateObject(1514, 1424.18726, -994.72827, 996.20612, 0.00000, 0.00000, 89.58000);
  34207. CreateObject(1514, 1424.18726, -996.94031, 996.20612, 0.00000, 0.00000, 89.58000);
  34208. CreateObject(1514, 1424.18726, -999.23132, 996.20612, 0.00000, 0.00000, 89.58000);
  34209. CreateObject(1514, 1424.18726, -980.66632, 996.20612, 0.00000, 0.00000, 89.58000);
  34210. CreateObject(1514, 1424.18726, -978.53333, 996.20612, 0.00000, 0.00000, 89.58000);
  34211. CreateObject(1514, 1424.18726, -976.32129, 996.20612, 0.00000, 0.00000, 89.58000);
  34212. CreateObject(1514, 1424.18726, -974.18829, 996.20612, 0.00000, 0.00000, 89.58000);
  34213. CreateObject(1514, 1424.18726, -971.97632, 996.20612, 0.00000, 0.00000, 89.58000);
  34214. CreateObject(1514, 1424.18726, -1001.12732, 996.20612, 0.00000, 0.00000, 89.58000);
  34215. CreateObject(2599, 1426.01086, -1000.61847, 995.50098, 0.00000, 0.00000, -90.78001);
  34216. CreateObject(2599, 1425.84473, -973.51959, 995.50061, 0.00000, 0.00000, -89.88000);
  34217. CreateObject(2007, 1420.94165, -999.54968, 995.10248, 0.00000, 0.00000, 89.76000);
  34218. CreateObject(2007, 1420.94165, -998.60168, 995.10248, 0.00000, 0.00000, 89.76000);
  34219. CreateObject(2007, 1420.94165, -997.65369, 995.10248, 0.00000, 0.00000, 89.76000);
  34220. CreateObject(2007, 1420.94165, -996.70569, 995.10248, 0.00000, 0.00000, 89.76000);
  34221. CreateObject(2007, 1420.94165, -995.75769, 995.10248, 0.00000, 0.00000, 89.76000);
  34222. CreateObject(1806, 1422.44788, -971.87213, 995.10742, 0.00000, 0.00000, -78.18002);
  34223. CreateObject(1806, 1422.44788, -973.37311, 995.10742, 0.00000, 0.00000, -86.22002);
  34224. CreateObject(1806, 1422.44788, -975.50610, 995.10742, 0.00000, 0.00000, -94.20003);
  34225. CreateObject(1806, 1422.44788, -977.63910, 995.10742, 0.00000, 0.00000, -93.60002);
  34226. CreateObject(1806, 1422.44788, -979.93011, 995.10742, 0.00000, 0.00000, -83.64001);
  34227. CreateObject(1806, 1422.44788, -991.78009, 995.10742, 0.00000, 0.00000, -87.24001);
  34228. CreateObject(1806, 1422.44788, -993.75513, 995.10742, 0.00000, 0.00000, -101.16003);
  34229. CreateObject(1806, 1422.44788, -996.04608, 995.10742, 0.00000, 0.00000, -91.26003);
  34230. CreateObject(1806, 1422.44788, -998.33710, 995.10742, 0.00000, 0.00000, -89.94003);
  34231. CreateObject(1806, 1422.44788, -1000.23309, 995.10742, 0.00000, 0.00000, -78.18000);
  34232. CreateObject(19379, 1425.52917, -987.17383, 995.01910, 0.00000, -90.00000, 0.00000);
  34233. CreateObject(19379, 1425.52917, -977.54077, 995.01910, 0.00000, -90.00000, 0.00000);
  34234. CreateObject(19379, 1425.52917, -967.90881, 995.01910, 0.00000, -90.00000, 0.00000);
  34235. CreateObject(19379, 1436.03015, -996.80780, 995.01910, 0.00000, -90.00000, 0.00000);
  34236. CreateObject(19379, 1436.03015, -987.17383, 995.01910, 0.00000, -90.00000, 0.00000);
  34237. CreateObject(19379, 1436.03015, -977.53979, 995.01910, 0.00000, -90.00000, 0.00000);
  34238. CreateObject(19379, 1436.03015, -967.90778, 995.01910, 0.00000, -90.00000, 0.00000);
  34239. CreateObject(19379, 1446.53076, -987.19177, 995.01910, 0.00000, -90.00000, 0.00000);
  34240. CreateObject(19379, 1457.03186, -987.19177, 995.01910, 0.00000, -90.00000, 0.00000);
  34241. CreateObject(19379, 1457.03186, -977.55780, 995.01910, 0.00000, -90.00000, 0.00000);
  34242. CreateObject(19379, 1446.53186, -977.55780, 995.01910, 0.00000, -90.00000, 0.00000);
  34243. CreateObject(19379, 1446.53186, -967.92480, 995.01910, 0.00000, -90.00000, 0.00000);
  34244. CreateObject(19379, 1446.53223, -996.81183, 995.01910, 0.00000, -90.00000, 0.00000);
  34245. CreateObject(19450, 1449.15112, -981.53003, 996.85638, 0.00000, 0.00000, 89.99190);
  34246. CreateObject(19450, 1458.76709, -981.53003, 996.85638, 0.00000, 0.00000, 89.99190);
  34247. CreateObject(19450, 1449.15210, -990.17499, 996.85638, 0.00000, 0.00000, 89.99190);
  34248. CreateObject(19450, 1458.78308, -990.17499, 996.85638, 0.00000, 0.00000, 89.99190);
  34249. CreateObject(19377, 1449.57959, -985.77112, 998.29529, 0.00000, -90.00000, 0.00000);
  34250. CreateObject(19377, 1459.64563, -985.73309, 998.27332, 0.00000, -90.00000, 0.00000);
  34251. CreateObject(19450, 1457.40637, -985.67657, 996.85638, 0.00000, 0.00000, 0.00000);
  34252. CreateObject(1569, 1457.37061, -982.48169, 995.10571, 0.00000, 0.00000, 269.37631);
  34253. CreateObject(1569, 1457.37549, -985.46259, 995.10571, 0.00000, 0.00000, 89.99800);
  34254. CreateObject(1569, 1457.36865, -986.57483, 995.10571, 0.00000, 0.00000, 269.37631);
  34255. CreateObject(1569, 1457.37585, -989.57758, 995.10571, 0.00000, 0.00000, 89.99800);
  34256. CreateObject(19431, 1440.70752, -982.46478, 996.86212, 0.00000, 0.00000, -91.56000);
  34257. CreateObject(19431, 1440.70752, -981.04077, 996.86212, 0.00000, 0.00000, -91.14001);
  34258. CreateObject(19431, 1439.91956, -981.72931, 996.86212, 0.00000, 0.00000, -183.05991);
  34259. CreateObject(19431, 1441.44763, -981.76929, 996.86212, 0.00000, 0.00000, -181.92000);
  34260. CreateObject(19431, 1441.44763, -989.43732, 996.86212, 0.00000, 0.00000, -181.92000);
  34261. CreateObject(19431, 1440.70752, -988.71283, 996.86212, 0.00000, 0.00000, -91.56000);
  34262. CreateObject(19431, 1440.70752, -990.13281, 996.86212, 0.00000, 0.00000, -91.56000);
  34263. CreateObject(19431, 1439.88562, -989.40332, 996.86212, 0.00000, 0.00000, -181.92000);
  34264. CreateObject(19431, 1431.84351, -988.67279, 996.86212, 0.00000, 0.00000, -91.56000);
  34265. CreateObject(19431, 1431.10046, -989.40332, 996.86212, 0.00000, 0.00000, -181.92000);
  34266. CreateObject(19431, 1431.84351, -990.13580, 996.86212, 0.00000, 0.00000, -91.56000);
  34267. CreateObject(19431, 1432.58154, -989.40332, 996.86212, 0.00000, 0.00000, -181.92000);
  34268. CreateObject(19431, 1432.58154, -982.06531, 996.86212, 0.00000, 0.00000, -181.92000);
  34269. CreateObject(19431, 1431.02148, -982.01929, 996.86212, 0.00000, 0.00000, -181.92000);
  34270. CreateObject(19431, 1431.84351, -982.75677, 996.86212, 0.00000, 0.00000, -91.56000);
  34271. CreateObject(19431, 1431.84351, -981.32483, 996.86212, 0.00000, 0.00000, -91.56000);
  34272. CreateObject(1569, 1432.61133, -970.15210, 995.10773, 0.00000, 0.00000, 0.00000);
  34273. CreateObject(14576, 1435.29407, -987.92871, 990.71588, 0.00000, 0.00000, -0.36000);
  34274. CreateObject(19379, 1436.03015, -1001.03583, 995.02307, 0.00000, -90.00000, 0.00000);
  34275. CreateObject(19388, 1438.86841, -1002.63641, 996.85449, 0.00000, 0.00000, 90.90000);
  34276. CreateObject(19450, 1440.54065, -997.84619, 996.85638, 0.00000, 0.00000, 0.00000);
  34277. CreateObject(19450, 1437.23877, -997.84979, 996.85638, 0.00000, 0.00000, 0.00000);
  34278. CreateObject(19377, 1440.83362, -1004.66913, 998.26831, 0.00000, -90.00000, 0.00000);
  34279. CreateObject(2634, 1441.06909, -1004.53168, 992.32001, 0.00000, 0.00000, 270.07040);
  34280. CreateObject(2198, 1433.27332, -996.86798, 989.92047, 0.00000, 0.00000, 178.63960);
  34281. CreateObject(2198, 1433.27332, -994.02600, 989.92047, 0.00000, 0.00000, 178.63960);
  34282. CreateObject(2198, 1433.27332, -990.89001, 989.92047, 0.00000, 0.00000, 178.63960);
  34283. CreateObject(2198, 1433.27332, -1000.00403, 989.92047, 0.00000, 0.00000, 178.63960);
  34284. CreateObject(1806, 1432.72278, -998.97363, 989.91901, 0.00000, 0.00000, -167.28003);
  34285. CreateObject(1806, 1432.60571, -995.73785, 989.91901, 0.00000, 0.00000, 175.12816);
  34286. CreateObject(1806, 1432.60571, -992.79791, 989.91901, 0.00000, 0.00000, 194.12750);
  34287. CreateObject(1806, 1432.60571, -989.75989, 989.91901, 0.00000, 0.00000, 186.49478);
  34288. CreateObject(16782, 1443.08545, -993.57495, 992.76324, 0.00000, 0.00000, 179.01819);
  34289. CreateObject(3397, 1442.95642, -993.62469, 989.94727, 0.00000, 0.00000, 357.18283);
  34290. CreateObject(3386, 1442.72241, -996.43250, 989.89600, 0.00000, 0.00000, 176.06250);
  34291. CreateObject(3386, 1442.72241, -997.60852, 989.91400, 0.00000, 0.00000, 176.06250);
  34292. CreateObject(3386, 1442.87439, -990.38049, 989.91400, 0.00000, 0.00000, 356.84091);
  34293. CreateObject(3386, 1442.87439, -989.24652, 989.91400, 0.00000, 0.00000, 356.84091);
  34294. CreateObject(18643, 1427.60217, -995.31152, 984.01813, 0.00000, 0.00000, 0.00000);
  34295. CreateObject(18643, 1418.20618, -995.31152, 984.01813, 0.00000, 0.00000, 0.00000);
  34296. CreateObject(18643, 1418.20618, -990.12750, 984.01813, 0.00000, 0.00000, 0.00000);
  34297. CreateObject(18643, 1427.60217, -990.12750, 984.01813, 0.00000, 0.00000, 0.00000);
  34298. CreateObject(18643, 1427.60217, -984.45752, 984.45007, 0.00000, 0.00000, 0.00000);
  34299. CreateObject(18643, 1418.04419, -984.45752, 984.45007, 0.00000, 0.00000, 0.00000);
  34300. CreateObject(14598, 1431.54688, -985.73328, 1010.65839, 0.00000, 0.00000, 0.00000);
  34301. CreateObject(1723, 1439.22668, -972.44214, 995.05151, 0.00000, 0.00000, 0.00000);
  34302. CreateObject(1723, 1442.60986, -973.58191, 995.05151, 0.00000, 0.00000, 269.47330);
  34303. CreateObject(1723, 1441.65991, -976.88171, 995.05151, 0.00000, 0.00000, 179.19260);
  34304. CreateObject(1723, 1438.09546, -975.58490, 995.05151, 0.00000, 0.00000, 86.82700);
  34305. CreateObject(1817, 1439.95251, -975.20856, 995.11218, 0.00000, 0.00000, -0.36000);
  34306. CreateObject(2011, 1437.90637, -970.72211, 995.11951, 0.00000, 0.00000, 0.00000);
  34307. CreateObject(2002, 1439.03247, -970.70801, 995.11951, 0.00000, 0.00000, 0.00000);
  34308. CreateObject(1776, 1440.21924, -970.60382, 996.18219, 0.00000, 0.00000, 0.00000);
  34309. CreateObject(2816, 1439.91479, -974.76520, 995.62378, 0.00000, 0.00000, -66.18000);
  34310. CreateObject(2245, 1440.35779, -974.71698, 995.85413, 0.00000, 0.00000, 0.00000);
  34311. CreateObject(1549, 1441.38904, -970.58020, 995.07281, 0.00000, 0.00000, 0.00000);
  34312. CreateObject(2961, 1436.19360, -992.91449, 996.43372, 0.00000, 0.00000, 0.00000);
  34313. CreateObject(2690, 1436.22546, -992.86798, 996.92572, 0.00000, 0.00000, 169.80000);
  34314. CreateObject(1999, 1435.73157, -1005.59863, 995.12238, 0.00000, 0.00000, 177.89998);
  34315. CreateObject(1806, 1435.42896, -1003.91840, 995.12079, 0.00000, 0.00000, 146.81998);
  34316. CreateObject(2606, 1433.61072, -1004.31232, 996.30280, 0.00000, 0.00000, 89.94000);
  34317. CreateObject(2606, 1433.61072, -1004.31232, 996.73480, 0.00000, 0.00000, 89.94000);
  34318. CreateObject(2606, 1433.61072, -1004.31232, 997.16681, 0.00000, 0.00000, 89.94000);
  34319. CreateObject(2894, 1435.51477, -1005.65875, 995.93512, 0.00000, 0.00000, -156.29988);
  34320. CreateObject(348, 1435.81042, -1005.49841, 995.93518, 91.00000, 0.00000, 38.22002);
  34321. CreateObject(2839, 1434.89624, -1005.61493, 995.12347, 0.00000, 0.00000, 28.74000);
  34322. CreateObject(1235, 1436.75586, -1005.67822, 995.63458, 0.00000, 0.00000, 4.14000);
  34323. CreateObject(2881, 1436.83350, -1005.81738, 995.13568, -2.00000, -69.00000, 28.00000);
  34324. CreateObject(2881, 1436.72742, -1005.73517, 995.13568, -2.00000, -69.00000, -15.20001);
  34325. CreateObject(2007, 1420.94165, -995.75769, 996.49847, 0.00000, 0.00000, 89.76000);
  34326. CreateObject(2007, 1420.94165, -996.70569, 996.50250, 0.00000, 0.00000, 89.76000);
  34327. CreateObject(2007, 1420.94165, -997.65369, 996.50250, 0.00000, 0.00000, 89.76000);
  34328. CreateObject(2007, 1420.94165, -998.60168, 996.50250, 0.00000, 0.00000, 89.76000);
  34329. CreateObject(2007, 1420.94165, -999.54968, 996.50250, 0.00000, 0.00000, 89.76000);
  34330. CreateObject(2942, 1446.68677, -989.58667, 995.71686, 0.00000, 0.00000, 179.99986);
  34331. CreateObject(2942, 1448.42285, -989.58667, 995.71692, 0.00000, 0.00000, 179.99989);
  34332. CreateObject(2942, 1450.13086, -989.58667, 995.71692, 0.00000, 0.00000, 179.99989);
  34333. CreateObject(2690, 1434.28040, -1002.78546, 996.38782, 0.00000, 0.00000, -4.26000);
  34334. CreateObject(1892, 1456.52942, -986.43781, 995.14093, 0.00000, 0.00000, 86.76000);
  34335. CreateObject(1892, 1456.52942, -990.61377, 995.14093, 0.00000, 0.00000, 86.76000);
  34336. CreateObject(1892, 1456.52942, -982.26178, 995.14093, 0.00000, 0.00000, 86.76000);
  34337. CreateObject(14633, 1426.06604, -979.43066, 996.56683, 0.00000, 0.00000, 0.00000);
  34338. CreateObject(2811, 1456.85181, -986.05109, 995.10602, 0.00000, 0.00000, 78.96002);
  34339. CreateObject(3386, 1442.87439, -988.14252, 989.91400, 0.00000, 0.00000, 356.84091);
  34340. CreateObject(3386, 1442.87439, -987.03851, 989.91400, 0.00000, 0.00000, 356.84091);
  34341. CreateObject(3386, 1442.72241, -998.80847, 989.91400, 0.00000, 0.00000, 176.06250);
  34342. CreateObject(3386, 1442.72241, -1000.00848, 989.91400, 0.00000, 0.00000, 176.06250);
  34343. CreateObject(3391, 1440.51379, -987.03638, 989.89600, 0.00000, 0.00000, 89.76003);
  34344. CreateObject(3392, 1436.92480, -987.02655, 989.89398, 0.00000, 0.00000, 89.81998);
  34345. CreateObject(1806, 1441.29553, -993.01025, 989.92133, 0.00000, 0.00000, -119.94001);
  34346. CreateObject(2634, 1435.35193, -980.29688, 984.21887, 0.00000, 0.00000, 179.04001);
  34347. CreateObject(1502, 1438.05847, -992.99011, 995.10675, 0.00000, 0.00000, 0.00000);
  34348. CreateObject(1499, 1438.53723, -1002.59253, 990.92316, 0.00000, 0.00000, 0.00000);
  34349. CreateObject(2690, 1440.72217, -1010.17639, 994.91425, 0.00000, 0.00000, -90.41999);
  34350. CreateObject(2690, 1433.67712, -1004.35260, 992.91760, 0.00000, 0.00000, 83.58002);
  34351. CreateObject(2690, 1440.74304, -1010.16492, 991.04169, 0.00000, 0.00000, -88.08002);
  34352. CreateObject(2690, 1433.68909, -1004.27728, 988.57770, 0.00000, 0.00000, 83.94003);
  34353. CreateObject(2690, 1433.56665, -1009.76007, 986.42206, 0.00000, 0.00000, 83.70004);
  34354. CreateObject(18643, 1441.46216, -995.31152, 984.01813, 0.00000, 0.00000, 0.00000);
  34355. CreateObject(18643, 1441.64221, -990.12750, 984.01813, 0.00000, 0.00000, 0.00000);
  34356. CreateObject(18643, 1441.54224, -984.45752, 984.45007, 0.00000, 0.00000, 0.00000);
  34357. }
  34358. stock LoadBank2() //by UMaps
  34359. {
  34360. CreateDynamicObject(19454, -554.65118, 1781.53296, 1392.81055, 0.00000, 0.00000, 90.00000);
  34361. CreateDynamicObject(1538, -557.89264, 1781.62354, 1391.36145, 0.00000, 0.00000, 0.00000);
  34362. CreateDynamicObject(1538, -554.90900, 1781.62854, 1391.36145, 0.00000, 0.00000, 0.00000);
  34363. CreateDynamicObject(1538, -556.40045, 1781.62573, 1391.36145, 0.00000, 0.00000, 0.00000);
  34364. CreateDynamicObject(1538, -553.40887, 1781.63074, 1391.36145, 0.00000, 0.00000, 0.00000);
  34365. CreateDynamicObject(14416, -556.84552, 1785.50378, 1389.08215, 0.00000, 0.00000, 0.00000);
  34366. CreateDynamicObject(14416, -552.85718, 1785.50073, 1389.08105, 0.00000, 0.00000, 0.00000);
  34367. CreateDynamicObject(19446, -553.64728, 1781.78906, 1391.38721, 0.00000, 90.00000, 0.00000);
  34368. CreateDynamicObject(19446, -556.13892, 1781.66296, 1391.38098, 0.00000, 90.00000, 0.00000);
  34369. CreateDynamicObject(19446, -554.32495, 1788.15186, 1391.52905, 0.00000, 90.00000, 90.00000);
  34370. CreateDynamicObject(19446, -554.32135, 1788.47168, 1391.75305, 0.00000, 90.00000, 90.00000);
  34371. CreateDynamicObject(19446, -554.31775, 1788.79150, 1391.97705, 0.00000, 90.00000, 90.00000);
  34372. CreateDynamicObject(19446, -553.72089, 1781.54749, 1388.87854, 90.00000, 0.00000, 90.00000);
  34373. CreateDynamicObject(19446, -556.12250, 1801.79419, 1392.20996, 0.00000, 90.00000, 0.00000);
  34374. CreateDynamicObject(19446, -559.59967, 1797.05823, 1392.20801, 0.00000, 90.00000, 0.00000);
  34375. CreateDynamicObject(19446, -550.21912, 1797.21521, 1392.20996, 0.00000, 90.00000, 0.00000);
  34376. CreateDynamicObject(18762, -554.38385, 1797.94592, 1394.43140, 0.00000, 0.00000, 0.00000);
  34377. CreateDynamicObject(18762, -555.37006, 1797.94653, 1394.43140, 0.00000, 0.00000, 0.00000);
  34378. CreateDynamicObject(19087, -554.85107, 1796.45837, 1394.67322, 0.00000, 0.00000, 0.00000);
  34379. CreateDynamicObject(19087, -554.85107, 1796.45837, 1397.10522, 0.00000, 0.00000, 0.00000);
  34380. CreateDynamicObject(18762, -554.38239, 1796.95447, 1394.43140, 0.00000, 0.00000, 0.00000);
  34381. CreateDynamicObject(19087, -555.88678, 1797.42908, 1397.10522, 0.00000, 0.00000, 0.00000);
  34382. CreateDynamicObject(19087, -554.86432, 1798.44165, 1397.10522, 0.00000, 0.00000, 0.00000);
  34383. CreateDynamicObject(19087, -553.87250, 1797.49951, 1397.10522, 0.00000, 0.00000, 0.00000);
  34384. CreateDynamicObject(18762, -555.37384, 1796.95508, 1394.43140, 0.00000, 0.00000, 0.00000);
  34385. CreateDynamicObject(19087, -555.88678, 1797.42908, 1394.70520, 0.00000, 0.00000, 0.00000);
  34386. CreateDynamicObject(19087, -554.86432, 1798.44165, 1394.67322, 0.00000, 0.00000, 0.00000);
  34387. CreateDynamicObject(19087, -553.87250, 1797.49951, 1394.67322, 0.00000, 0.00000, 0.00000);
  34388. CreateDynamicObject(19446, -553.57190, 1792.15771, 1392.20801, 0.00000, 90.00000, 0.00000);
  34389. CreateDynamicObject(19446, -556.20551, 1792.16602, 1392.20996, 0.00000, 90.00000, 0.00000);
  34390. CreateDynamicObject(19446, -548.43030, 1797.19470, 1390.56006, 0.00000, 0.00000, 0.00000);
  34391. CreateDynamicObject(19446, -550.09369, 1801.99475, 1387.48816, 90.00000, 0.00000, 90.00000);
  34392. CreateDynamicObject(19446, -550.08557, 1792.33606, 1387.48816, 90.00000, 0.00000, 90.00000);
  34393. CreateDynamicObject(19446, -557.99139, 1782.54346, 1390.52808, 0.00000, 0.00000, 0.00000);
  34394. CreateDynamicObject(19446, -551.81482, 1782.54431, 1390.52808, 0.00000, 0.00000, 0.00000);
  34395. CreateDynamicObject(19446, -550.11230, 1782.70398, 1391.99524, 0.00000, 90.00000, 0.00000);
  34396. CreateDynamicObject(19446, -559.68329, 1783.01575, 1391.99524, 0.00000, 90.00000, 0.00000);
  34397. CreateDynamicObject(19454, -547.08148, 1787.36670, 1393.99451, 0.00000, 0.00000, 90.00000);
  34398. CreateDynamicObject(19454, -562.75732, 1787.35742, 1393.99451, 0.00000, 0.00000, 90.00000);
  34399. CreateDynamicObject(19454, -559.78015, 1782.18457, 1393.40076, 0.00000, 0.00000, 0.00000);
  34400. CreateDynamicObject(19454, -549.62158, 1782.30859, 1393.30066, 0.00000, 0.00000, 0.00000);
  34401. CreateDynamicObject(19439, -550.03668, 1786.54907, 1393.35815, 0.00000, 0.00000, 0.00000);
  34402. CreateDynamicObject(19439, -559.42651, 1786.47827, 1393.35815, 0.00000, 0.00000, 0.00000);
  34403. CreateDynamicObject(19439, -550.03662, 1781.22839, 1393.35815, 0.00000, 0.00000, 0.00000);
  34404. CreateDynamicObject(19439, -559.41858, 1781.19360, 1393.35815, 0.00000, 0.00000, 0.00000);
  34405. CreateDynamicObject(19446, -559.42529, 1782.49365, 1395.62024, 0.00000, 0.00000, 0.00000);
  34406. CreateDynamicObject(19446, -550.03906, 1782.54993, 1395.62024, 0.00000, 0.00000, 0.00000);
  34407. CreateDynamicObject(19446, -550.03857, 1782.54651, 1390.69226, 0.00000, 0.00000, 0.00000);
  34408. CreateDynamicObject(19446, -548.37512, 1782.60120, 1392.35718, 0.00000, 90.00000, 0.00000);
  34409. CreateDynamicObject(19446, -559.41479, 1782.43433, 1390.69226, 0.00000, 0.00000, 0.00000);
  34410. CreateDynamicObject(19446, -559.68518, 1801.92358, 1387.48816, 90.00000, 0.00000, 90.00000);
  34411. CreateDynamicObject(19446, -559.69104, 1792.16748, 1387.48816, 90.00000, 0.00000, 90.00000);
  34412. CreateDynamicObject(19446, -561.35327, 1797.03259, 1390.56006, 0.00000, 0.00000, 0.00000);
  34413. CreateDynamicObject(19446, -557.93243, 1803.59009, 1387.48816, 90.00000, 90.00000, 90.00000);
  34414. CreateDynamicObject(19446, -551.85004, 1803.66968, 1387.48816, 90.00000, 90.00000, 90.00000);
  34415. CreateDynamicObject(19446, -551.75311, 1790.50488, 1387.48816, 90.00000, 90.00000, 90.00000);
  34416. CreateDynamicObject(19446, -551.74799, 1789.18359, 1387.48401, 90.00000, 90.00000, 90.00000);
  34417. CreateDynamicObject(19446, -558.03204, 1790.48938, 1387.48816, 90.00000, 90.00000, 90.00000);
  34418. CreateDynamicObject(19446, -558.02350, 1789.14771, 1387.48499, 90.00000, 90.00000, 90.00000);
  34419. CreateDynamicObject(19446, -557.92401, 1804.87097, 1387.48401, 90.00000, 90.00000, 90.00000);
  34420. CreateDynamicObject(19446, -551.85516, 1804.84265, 1387.48401, 90.00000, 90.00000, 90.00000);
  34421. CreateDynamicObject(19454, -547.22302, 1805.94141, 1394.02649, 0.00000, 0.00000, 90.00000);
  34422. CreateDynamicObject(19446, -553.53448, 1801.76648, 1392.20801, 0.00000, 90.00000, 0.00000);
  34423. CreateDynamicObject(19454, -567.00446, 1796.41724, 1393.99451, 0.00000, 0.00000, 0.00000);
  34424. CreateDynamicObject(19454, -565.88788, 1805.87292, 1393.99451, 0.00000, 0.00000, 0.00000);
  34425. CreateDynamicObject(19454, -565.90173, 1787.59753, 1393.99451, 0.00000, 0.00000, 0.00000);
  34426. CreateDynamicObject(19454, -570.03937, 1794.74341, 1393.99451, 0.00000, 0.00000, 60.00000);
  34427. CreateDynamicObject(19087, -565.81726, 1792.41406, 1395.79321, 0.00000, 0.00000, 0.00000);
  34428. CreateDynamicObject(19087, -565.81732, 1792.41406, 1394.12915, 0.00000, 0.00000, 0.00000);
  34429. CreateDynamicObject(19454, -570.01099, 1798.73328, 1393.99451, 0.00000, 0.00000, -60.00000);
  34430. CreateDynamicObject(19087, -565.79907, 1801.05444, 1395.79321, 0.00000, 0.00000, 0.00000);
  34431. CreateDynamicObject(19087, -565.80334, 1801.05444, 1393.42517, 0.00000, 0.00000, 0.00000);
  34432. CreateDynamicObject(19454, -543.91089, 1787.80786, 1393.99451, 0.00000, 0.00000, 0.00000);
  34433. CreateDynamicObject(19454, -543.89935, 1806.10474, 1393.99451, 0.00000, 0.00000, 0.00000);
  34434. CreateDynamicObject(19454, -539.77545, 1794.96826, 1393.99451, 0.00000, 0.00000, -60.00000);
  34435. CreateDynamicObject(19454, -539.77527, 1798.94958, 1393.99451, 0.00000, 0.00000, 60.00000);
  34436. CreateDynamicObject(19087, -543.98010, 1801.27979, 1394.67322, 0.00000, 0.00000, 0.00000);
  34437. CreateDynamicObject(19087, -543.98010, 1801.27979, 1396.33716, 0.00000, 0.00000, 0.00000);
  34438. CreateDynamicObject(19087, -543.99048, 1792.62378, 1396.33716, 0.00000, 0.00000, 0.00000);
  34439. CreateDynamicObject(19454, -542.78033, 1796.77979, 1393.99451, 0.00000, 0.00000, 0.00000);
  34440. CreateDynamicObject(19454, -562.68665, 1805.97180, 1394.02649, 0.00000, 0.00000, 90.00000);
  34441. CreateDynamicObject(19454, -554.88025, 1806.55432, 1393.99451, 0.00000, 0.00000, 90.00000);
  34442. CreateDynamicObject(19454, -556.15613, 1808.34290, 1394.02649, 0.00000, 0.00000, 60.00000);
  34443. CreateDynamicObject(19454, -553.73944, 1808.36646, 1394.02649, 0.00000, 0.00000, -60.00000);
  34444. CreateDynamicObject(19087, -557.85669, 1805.88403, 1394.67322, 0.00000, 0.00000, 0.00000);
  34445. CreateDynamicObject(19087, -552.03088, 1805.85913, 1395.79321, 0.00000, 0.00000, 0.00000);
  34446. CreateDynamicObject(19087, -552.03094, 1805.85913, 1394.67322, 0.00000, 0.00000, 0.00000);
  34447. CreateDynamicObject(19087, -557.85669, 1805.88403, 1396.20923, 0.00000, 0.00000, 0.00000);
  34448. CreateDynamicObject(19439, -560.14087, 1785.76306, 1393.35815, 0.00000, 0.00000, 90.00000);
  34449. CreateDynamicObject(19439, -560.14417, 1781.90759, 1393.35815, 0.00000, 0.00000, 90.00000);
  34450. CreateDynamicObject(19446, -561.08942, 1781.83594, 1392.35535, 0.00000, 90.00000, 0.00000);
  34451. CreateDynamicObject(19446, -561.08942, 1781.83594, 1393.95935, 0.00000, 90.00000, 0.00000);
  34452. CreateDynamicObject(19446, -548.37512, 1782.60120, 1393.95520, 0.00000, 90.00000, 0.00000);
  34453. CreateDynamicObject(19439, -549.32214, 1785.83118, 1393.35815, 0.00000, 0.00000, 90.00000);
  34454. CreateDynamicObject(19439, -549.32159, 1781.94421, 1393.35815, 0.00000, 0.00000, 90.00000);
  34455. CreateDynamicObject(19087, -543.99438, 1805.84521, 1395.80518, 0.00000, 0.00000, 0.00000);
  34456. CreateDynamicObject(19087, -543.99438, 1805.84521, 1393.73315, 0.00000, 0.00000, 0.00000);
  34457. CreateDynamicObject(19087, -565.79736, 1805.88367, 1395.80518, 0.00000, 0.00000, 0.00000);
  34458. CreateDynamicObject(19087, -565.79742, 1805.88367, 1394.34314, 0.00000, 0.00000, 0.00000);
  34459. CreateDynamicObject(19087, -565.81573, 1787.44141, 1395.80518, 0.00000, 0.00000, 0.00000);
  34460. CreateDynamicObject(19087, -565.81567, 1787.44141, 1393.91724, 0.00000, 0.00000, 0.00000);
  34461. CreateDynamicObject(19087, -543.99957, 1787.46399, 1395.80518, 0.00000, 0.00000, 0.00000);
  34462. CreateDynamicObject(19087, -543.99939, 1787.46448, 1393.62219, 0.00000, 0.00000, 0.00000);
  34463. CreateDynamicObject(968, -552.03613, 1787.33704, 1388.75134, 0.00000, 0.00000, 0.00000);
  34464. CreateDynamicObject(968, -557.84833, 1787.34412, 1388.75134, 0.00000, 0.00000, 0.00000);
  34465. CreateDynamicObject(968, -561.94733, 1787.34314, 1395.61536, 0.00000, 90.00000, 0.00000);
  34466. CreateDynamicObject(968, -547.82422, 1787.34338, 1395.55945, 0.00000, -90.00000, 0.00000);
  34467. CreateDynamicObject(968, -554.96802, 1787.34412, 1388.75134, 0.00000, 0.00000, 0.00000);
  34468. CreateDynamicObject(18762, -561.73401, 1787.14319, 1394.43140, 0.00000, 0.00000, 0.00000);
  34469. CreateDynamicObject(18762, -548.06830, 1787.14319, 1394.43140, 0.00000, 0.00000, 0.00000);
  34470. CreateDynamicObject(968, -561.94733, 1787.34314, 1395.13538, 0.00000, 90.00000, 0.00000);
  34471. CreateDynamicObject(968, -547.82422, 1787.34338, 1395.07935, 0.00000, -90.00000, 0.00000);
  34472. CreateDynamicObject(2811, -548.13538, 1787.92627, 1392.29395, 0.00000, 0.00000, 0.00000);
  34473. CreateDynamicObject(2811, -561.67566, 1787.92627, 1392.29395, 0.00000, 0.00000, 0.00000);
  34474. CreateDynamicObject(19087, -561.24115, 1787.63245, 1397.10522, 0.00000, 0.00000, 0.00000);
  34475. CreateDynamicObject(19087, -562.22253, 1787.62854, 1394.68518, 0.00000, 0.00000, 0.00000);
  34476. CreateDynamicObject(19087, -561.24109, 1787.63245, 1394.68518, 0.00000, 0.00000, 0.00000);
  34477. CreateDynamicObject(19087, -562.22247, 1787.62854, 1397.06519, 0.00000, 0.00000, 0.00000);
  34478. CreateDynamicObject(19087, -548.55627, 1787.64185, 1394.68518, 0.00000, 0.00000, 0.00000);
  34479. CreateDynamicObject(19087, -547.57623, 1787.63562, 1394.68518, 0.00000, 0.00000, 0.00000);
  34480. CreateDynamicObject(19087, -547.57617, 1787.63562, 1397.04517, 0.00000, 0.00000, 0.00000);
  34481. CreateDynamicObject(19087, -548.55627, 1787.64185, 1397.04517, 0.00000, 0.00000, 0.00000);
  34482. CreateDynamicObject(19446, -554.91101, 1782.54346, 1396.75830, 0.00000, 0.00000, 0.00000);
  34483. CreateDynamicObject(19446, -554.90106, 1782.54346, 1396.76868, 0.00000, 0.00000, 0.00000);
  34484. CreateDynamicObject(19089, -557.94788, 1787.43591, 1392.95630, 0.00000, 90.00000, 0.00000);
  34485. CreateDynamicObject(19089, -557.94788, 1787.43591, 1393.03625, 0.00000, 90.00000, 0.00000);
  34486. CreateDynamicObject(19089, -557.94788, 1787.43591, 1394.49829, 0.00000, 90.00000, 0.00000);
  34487. CreateDynamicObject(19089, -557.94788, 1787.43591, 1394.63428, 0.00000, 90.00000, 0.00000);
  34488. CreateDynamicObject(19089, -557.94788, 1787.43591, 1394.77039, 0.00000, 90.00000, 0.00000);
  34489. CreateDynamicObject(19089, -565.26611, 1787.43542, 1394.49829, 0.00000, 90.00000, 0.00000);
  34490. CreateDynamicObject(19089, -565.26617, 1787.43542, 1394.63428, 0.00000, 90.00000, 0.00000);
  34491. CreateDynamicObject(19089, -565.26617, 1787.43542, 1394.77026, 0.00000, 90.00000, 0.00000);
  34492. CreateDynamicObject(19089, -565.26611, 1787.43542, 1393.03833, 0.00000, 90.00000, 0.00000);
  34493. CreateDynamicObject(19089, -565.26611, 1787.43542, 1392.95825, 0.00000, 90.00000, 0.00000);
  34494. CreateDynamicObject(19089, -565.81940, 1792.40906, 1394.77026, 0.00000, 90.00000, 90.00000);
  34495. CreateDynamicObject(19089, -565.81940, 1792.40906, 1394.63428, 0.00000, 90.00000, 90.00000);
  34496. CreateDynamicObject(19089, -565.81940, 1792.40906, 1394.49829, 0.00000, 90.00000, 90.00000);
  34497. CreateDynamicObject(19089, -565.81940, 1792.40906, 1392.95435, 0.00000, 90.00000, 90.00000);
  34498. CreateDynamicObject(19089, -565.81940, 1792.40906, 1393.03430, 0.00000, 90.00000, 90.00000);
  34499. CreateDynamicObject(19089, -565.83014, 1792.40369, 1394.77026, 0.00000, 90.00000, -30.00000);
  34500. CreateDynamicObject(19089, -565.83008, 1792.40369, 1394.62634, 0.00000, 90.00000, -30.00000);
  34501. CreateDynamicObject(19089, -565.83008, 1792.40369, 1394.49036, 0.00000, 90.00000, -30.00000);
  34502. CreateDynamicObject(19089, -565.83008, 1792.40369, 1393.01831, 0.00000, 90.00000, -30.00000);
  34503. CreateDynamicObject(19089, -565.83008, 1792.40369, 1392.94629, 0.00000, 90.00000, -30.00000);
  34504. CreateDynamicObject(19087, -566.91351, 1793.03723, 1394.12915, 0.00000, 0.00000, 0.00000);
  34505. CreateDynamicObject(19087, -566.91351, 1793.03723, 1396.26526, 0.00000, 0.00000, 0.00000);
  34506. CreateDynamicObject(19087, -566.91351, 1793.03723, 1394.12915, 0.00000, 0.00000, 0.00000);
  34507. CreateDynamicObject(19087, -566.90088, 1800.41492, 1394.12915, 0.00000, 0.00000, 0.00000);
  34508. CreateDynamicObject(19087, -566.90485, 1800.41345, 1395.86523, 0.00000, 0.00000, 0.00000);
  34509. CreateDynamicObject(19089, -566.91010, 1800.43542, 1394.77026, 0.00000, 90.00000, 90.00000);
  34510. CreateDynamicObject(19089, -566.91010, 1800.43542, 1394.62634, 0.00000, 90.00000, 90.00000);
  34511. CreateDynamicObject(19089, -566.91010, 1800.43542, 1394.49036, 0.00000, 90.00000, 90.00000);
  34512. CreateDynamicObject(19089, -566.91010, 1800.43542, 1393.01843, 0.00000, 90.00000, 90.00000);
  34513. CreateDynamicObject(19089, -566.91010, 1800.43542, 1392.93835, 0.00000, 90.00000, 90.00000);
  34514. CreateDynamicObject(19089, -565.80042, 1801.06775, 1392.93835, 0.00000, 90.00000, 30.00000);
  34515. CreateDynamicObject(19089, -565.80042, 1801.06775, 1394.48840, 0.00000, 90.00000, 30.00000);
  34516. CreateDynamicObject(19089, -565.80042, 1801.06775, 1394.61438, 0.00000, 90.00000, 30.00000);
  34517. CreateDynamicObject(19089, -565.80042, 1801.06775, 1394.76135, 0.00000, 90.00000, 30.00000);
  34518. CreateDynamicObject(19089, -565.80042, 1801.06775, 1393.02246, 0.00000, 90.00000, 30.00000);
  34519. CreateDynamicObject(19089, -565.80878, 1808.43799, 1393.02441, 0.00000, 90.00000, 90.00000);
  34520. CreateDynamicObject(19089, -565.80878, 1808.43799, 1392.94043, 0.00000, 90.00000, 90.00000);
  34521. CreateDynamicObject(19089, -565.80878, 1808.43799, 1394.48035, 0.00000, 90.00000, 90.00000);
  34522. CreateDynamicObject(19089, -565.80878, 1808.43799, 1394.61536, 0.00000, 90.00000, 90.00000);
  34523. CreateDynamicObject(19089, -565.80878, 1808.43799, 1394.76538, 0.00000, 90.00000, 90.00000);
  34524. CreateDynamicObject(19089, -557.87201, 1805.89050, 1394.48132, 0.00000, 90.00000, 0.00000);
  34525. CreateDynamicObject(19089, -565.23407, 1805.88989, 1394.48328, 0.00000, 90.00000, 0.00000);
  34526. CreateDynamicObject(19089, -565.23407, 1805.89185, 1394.61829, 0.00000, 90.00000, 0.00000);
  34527. CreateDynamicObject(19089, -565.23407, 1805.88794, 1394.76831, 0.00000, 90.00000, 0.00000);
  34528. CreateDynamicObject(19089, -557.87201, 1805.89050, 1394.61926, 0.00000, 90.00000, 0.00000);
  34529. CreateDynamicObject(19089, -557.87201, 1805.89050, 1394.76733, 0.00000, 90.00000, 0.00000);
  34530. CreateDynamicObject(19089, -565.23407, 1805.88989, 1393.01929, 0.00000, 90.00000, 0.00000);
  34531. CreateDynamicObject(19089, -565.23407, 1805.88989, 1392.93530, 0.00000, 90.00000, 0.00000);
  34532. CreateDynamicObject(19089, -557.87201, 1805.89050, 1393.01733, 0.00000, 90.00000, 0.00000);
  34533. CreateDynamicObject(19089, -557.87201, 1805.89050, 1392.93335, 0.00000, 90.00000, 0.00000);
  34534. CreateDynamicObject(19089, -544.64325, 1805.85913, 1394.61926, 0.00000, 90.00000, 0.00000);
  34535. CreateDynamicObject(19089, -544.64526, 1805.85950, 1394.48132, 0.00000, 90.00000, 0.00000);
  34536. CreateDynamicObject(19089, -544.63739, 1805.85669, 1394.76733, 0.00000, 90.00000, 0.00000);
  34537. CreateDynamicObject(19089, -544.64209, 1805.85999, 1392.93335, 0.00000, 90.00000, 0.00000);
  34538. CreateDynamicObject(19089, -544.64209, 1805.85999, 1392.83728, 0.00000, 90.00000, 0.00000);
  34539. CreateDynamicObject(19089, -537.77118, 1805.86255, 1392.93335, 0.00000, 90.00000, 0.00000);
  34540. CreateDynamicObject(19089, -537.77118, 1805.86255, 1392.83728, 0.00000, 90.00000, 0.00000);
  34541. CreateDynamicObject(19089, -537.77118, 1805.86255, 1394.48132, 0.00000, 90.00000, 0.00000);
  34542. CreateDynamicObject(19089, -537.77118, 1805.86255, 1394.61328, 0.00000, 90.00000, 0.00000);
  34543. CreateDynamicObject(19089, -543.98395, 1808.65088, 1394.76929, 0.00000, 90.00000, 90.00000);
  34544. CreateDynamicObject(19089, -537.77118, 1805.86255, 1392.93335, 0.00000, 90.00000, 0.00000);
  34545. CreateDynamicObject(19089, -537.69611, 1805.85791, 1394.76733, 0.00000, 90.00000, 0.00000);
  34546. CreateDynamicObject(19089, -543.98389, 1808.65088, 1394.61328, 0.00000, 90.00000, 90.00000);
  34547. CreateDynamicObject(19089, -543.98389, 1808.65088, 1394.48132, 0.00000, 90.00000, 90.00000);
  34548. CreateDynamicObject(19089, -543.98389, 1808.65088, 1392.92834, 0.00000, 90.00000, 90.00000);
  34549. CreateDynamicObject(19087, -543.99048, 1792.62378, 1394.57324, 0.00000, 0.00000, 0.00000);
  34550. CreateDynamicObject(19087, -542.88342, 1793.29492, 1396.33716, 0.00000, 0.00000, 0.00000);
  34551. CreateDynamicObject(19087, -542.88293, 1793.29517, 1394.05823, 0.00000, 0.00000, 0.00000);
  34552. CreateDynamicObject(19087, -542.87000, 1800.61829, 1396.33716, 0.00000, 0.00000, 0.00000);
  34553. CreateDynamicObject(19087, -542.87000, 1800.61829, 1394.32324, 0.00000, 0.00000, 0.00000);
  34554. CreateDynamicObject(19089, -543.98389, 1808.65088, 1392.83533, 0.00000, 90.00000, 90.00000);
  34555. CreateDynamicObject(19089, -542.85864, 1800.68604, 1394.48132, 0.00000, 90.00000, 90.00000);
  34556. CreateDynamicObject(19089, -542.85791, 1800.66895, 1394.76929, 0.00000, 90.00000, 90.00000);
  34557. CreateDynamicObject(19089, -542.86444, 1800.67920, 1394.61328, 0.00000, 90.00000, 90.00000);
  34558. CreateDynamicObject(19089, -537.58807, 1797.59204, 1394.48132, 0.00000, 90.00000, -30.00000);
  34559. CreateDynamicObject(19089, -537.58807, 1797.59204, 1394.60730, 0.00000, 90.00000, -30.00000);
  34560. CreateDynamicObject(19089, -537.58807, 1797.59204, 1394.76733, 0.00000, 90.00000, -30.00000);
  34561. CreateDynamicObject(19089, -537.58807, 1797.59204, 1392.92334, 0.00000, 90.00000, -30.00000);
  34562. CreateDynamicObject(19089, -537.58807, 1797.59204, 1392.83533, 0.00000, 90.00000, -30.00000);
  34563. CreateDynamicObject(19089, -542.85858, 1800.68604, 1392.91931, 0.00000, 90.00000, 90.00000);
  34564. CreateDynamicObject(19089, -542.85858, 1800.68604, 1392.83130, 0.00000, 90.00000, 90.00000);
  34565. CreateDynamicObject(19089, -537.60101, 1796.31677, 1394.76929, 0.00000, 90.00000, 30.00000);
  34566. CreateDynamicObject(19089, -537.60101, 1796.31677, 1394.61536, 0.00000, 90.00000, 30.00000);
  34567. CreateDynamicObject(19089, -537.60101, 1796.31677, 1394.48328, 0.00000, 90.00000, 30.00000);
  34568. CreateDynamicObject(19089, -537.60101, 1796.31677, 1392.92126, 0.00000, 90.00000, 30.00000);
  34569. CreateDynamicObject(19089, -537.60101, 1796.31677, 1392.83325, 0.00000, 90.00000, 30.00000);
  34570. CreateDynamicObject(19089, -543.99524, 1792.61157, 1394.76929, 0.00000, 90.00000, 90.00000);
  34571. CreateDynamicObject(19089, -543.99518, 1792.61157, 1394.61536, 0.00000, 90.00000, 90.00000);
  34572. CreateDynamicObject(19089, -543.65558, 1792.60364, 1394.48328, 0.00000, 90.00000, 90.00000);
  34573. CreateDynamicObject(19089, -543.98718, 1792.61108, 1392.92126, 0.00000, 90.00000, 90.00000);
  34574. CreateDynamicObject(19089, -543.98700, 1792.61914, 1392.83325, 0.00000, 90.00000, 90.00000);
  34575. CreateDynamicObject(19089, -543.99518, 1792.61157, 1394.48743, 0.00000, 90.00000, 90.00000);
  34576. CreateDynamicObject(19089, -538.40668, 1787.44226, 1392.82532, 0.00000, 90.00000, 0.00000);
  34577. CreateDynamicObject(19089, -538.40668, 1787.44226, 1392.92126, 0.00000, 90.00000, 0.00000);
  34578. CreateDynamicObject(19089, -538.40668, 1787.44226, 1394.48132, 0.00000, 90.00000, 0.00000);
  34579. CreateDynamicObject(19089, -538.40668, 1787.44226, 1394.61731, 0.00000, 90.00000, 0.00000);
  34580. CreateDynamicObject(19089, -538.40668, 1787.44226, 1394.76135, 0.00000, 90.00000, 0.00000);
  34581. CreateDynamicObject(19089, -538.40668, 1787.44226, 1392.82532, 0.00000, 90.00000, 0.00000);
  34582. CreateDynamicObject(19089, -544.49231, 1787.44531, 1394.76135, 0.00000, 90.00000, 0.00000);
  34583. CreateDynamicObject(19089, -544.49231, 1787.44531, 1394.61743, 0.00000, 90.00000, 0.00000);
  34584. CreateDynamicObject(19089, -544.49231, 1787.44531, 1394.48145, 0.00000, 90.00000, 0.00000);
  34585. CreateDynamicObject(19089, -544.49231, 1787.44531, 1392.92139, 0.00000, 90.00000, 0.00000);
  34586. CreateDynamicObject(19089, -544.49231, 1787.44531, 1392.82544, 0.00000, 90.00000, 0.00000);
  34587. CreateDynamicObject(19454, -562.86969, 1787.27173, 1390.52051, 0.00000, 0.00000, 90.00000);
  34588. CreateDynamicObject(19454, -546.97845, 1787.30029, 1390.52051, 0.00000, 0.00000, 90.00000);
  34589. CreateDynamicObject(19454, -554.65118, 1781.53296, 1396.31055, 0.00000, 0.00000, 90.00000);
  34590. CreateDynamicObject(19377, -546.57129, 1792.20288, 1395.77429, 0.00000, 89.99997, 0.00000);
  34591. CreateDynamicObject(18075, -548.96173, 1797.61719, 1395.68640, 0.00000, 0.00000, 0.00000);
  34592. CreateDynamicObject(18075, -561.17761, 1797.41479, 1395.68640, 0.00000, 0.00000, 0.00000);
  34593. CreateDynamicObject(18075, -554.63232, 1809.14722, 1395.68640, 0.00000, 0.00000, 0.00000);
  34594. CreateDynamicObject(18075, -552.87115, 1782.16736, 1395.68640, 0.00000, 0.00000, 90.00000);
  34595. CreateDynamicObject(19377, -546.57129, 1792.20288, 1392.19397, 0.00000, 89.99997, 0.00000);
  34596. CreateDynamicObject(19377, -546.57129, 1801.81299, 1392.19397, 0.00000, 89.99997, 0.00000);
  34597. CreateDynamicObject(19377, -563.08124, 1801.81299, 1392.19397, 0.00000, 89.99997, 0.00000);
  34598. CreateDynamicObject(19377, -563.08124, 1792.23340, 1392.19397, 0.00000, 89.99997, 0.00000);
  34599. CreateDynamicObject(19446, -556.13086, 1781.55750, 1388.87854, 90.00000, 0.00000, 90.00000);
  34600. CreateDynamicObject(19377, -546.57129, 1801.81299, 1395.77466, 0.00000, 89.99997, 0.00000);
  34601. CreateDynamicObject(19377, -557.05072, 1792.20288, 1395.77429, 0.00000, 89.99997, 0.00000);
  34602. CreateDynamicObject(19377, -567.53979, 1792.20288, 1395.77429, 0.00000, 89.99997, 0.00000);
  34603. CreateDynamicObject(19377, -555.29059, 1782.58240, 1395.77429, 0.00000, 89.99997, 0.00000);
  34604. CreateDynamicObject(19377, -557.05072, 1801.81274, 1395.77429, 0.00000, 89.99997, 0.00000);
  34605. CreateDynamicObject(19377, -567.53040, 1801.81274, 1395.77429, 0.00000, 89.99997, 0.00000);
  34606. CreateDynamicObject(2230, -557.93585, 1793.48523, 1392.29248, 0.00000, 0.00000, 179.59999);
  34607. CreateDynamicObject(2230, -551.72223, 1794.24731, 1392.29248, 0.00000, 0.00000, 0.00000);
  34608. CreateDynamicObject(19361, -556.12134, 1793.67700, 1391.56531, 0.00000, 0.00000, 90.09998);
  34609. CreateDynamicObject(18075, -552.87115, 1782.16736, 1395.68640, 0.00000, 0.00000, 90.00000);
  34610. CreateDynamicObject(19446, -554.92108, 1782.54346, 1396.75854, 0.00000, 0.00000, 0.00000);
  34611. CreateDynamicObject(2811, -561.67566, 1805.45630, 1392.29395, 0.00000, 0.00000, 0.00000);
  34612. CreateDynamicObject(19446, -554.91101, 1776.83289, 1393.76794, 0.00000, 0.00000, 0.00000);
  34613. CreateDynamicObject(19361, -553.46124, 1793.68152, 1391.56531, 0.00000, 0.00000, 90.09998);
  34614. CreateDynamicObject(2230, -552.33582, 1793.44617, 1392.29248, 0.00000, 0.00000, 179.59999);
  34615. CreateDynamicObject(2230, -557.33228, 1794.29736, 1392.29248, 0.00000, 0.00000, 0.00000);
  34616. CreateDynamicObject(19361, -553.46112, 1793.62146, 1390.60486, 0.00000, 0.00000, 90.09998);
  34617. CreateDynamicObject(19361, -556.00159, 1793.61804, 1390.60486, 0.00000, 0.00000, 90.09998);
  34618. CreateDynamicObject(2230, -550.02612, 1794.47388, 1392.29248, 0.00000, -0.00001, -90.50003);
  34619. CreateDynamicObject(2230, -550.77734, 1800.68884, 1392.29248, 0.00000, 0.00001, 89.89993);
  34620. CreateDynamicObject(19361, -550.21472, 1796.28882, 1391.56531, 0.00001, 0.00000, 179.99989);
  34621. CreateDynamicObject(19361, -550.21460, 1798.94885, 1391.56531, 0.00001, 0.00000, 179.99989);
  34622. CreateDynamicObject(2230, -549.97729, 1800.07385, 1392.29248, 0.00000, -0.00001, -90.50003);
  34623. CreateDynamicObject(2230, -550.83722, 1795.07898, 1392.29248, 0.00000, 0.00001, 89.89993);
  34624. CreateDynamicObject(19361, -550.15454, 1798.94885, 1390.60486, 0.00001, 0.00000, 179.99989);
  34625. CreateDynamicObject(19361, -550.15558, 1796.40845, 1390.60486, 0.00001, 0.00000, 179.99989);
  34626. CreateDynamicObject(2230, -559.48340, 1800.68579, 1392.29248, -0.00001, -0.00001, 89.40000);
  34627. CreateDynamicObject(2230, -558.74304, 1794.46960, 1392.29248, 0.00001, 0.00001, -90.19999);
  34628. CreateDynamicObject(19361, -559.29797, 1798.87061, 1391.56531, 0.00001, -0.00001, -0.10005);
  34629. CreateDynamicObject(19361, -559.30273, 1796.21057, 1391.56531, 0.00001, -0.00001, -0.10005);
  34630. CreateDynamicObject(2230, -559.54199, 1795.08594, 1392.29248, -0.00001, -0.00001, 89.40000);
  34631. CreateDynamicObject(2230, -558.67334, 1800.07935, 1392.29248, 0.00001, 0.00001, -90.19999);
  34632. CreateDynamicObject(19361, -559.36279, 1796.21069, 1390.60486, 0.00001, -0.00001, -0.10005);
  34633. CreateDynamicObject(19361, -559.35730, 1798.75110, 1390.60486, 0.00001, -0.00001, -0.10005);
  34634. CreateDynamicObject(1769, -566.30896, 1793.46130, 1392.27991, 0.00000, 0.00000, 90.10003);
  34635. CreateDynamicObject(1769, -543.48767, 1798.68225, 1392.27991, 0.00000, 0.00000, -89.69998);
  34636. CreateDynamicObject(1769, -543.49506, 1800.07275, 1392.27991, 0.00000, 0.00000, -89.69998);
  34637. CreateDynamicObject(1769, -543.47345, 1795.93262, 1392.27991, 0.00000, 0.00000, -89.69998);
  34638. CreateDynamicObject(1769, -543.46600, 1794.55237, 1392.27991, 0.00000, 0.00000, -89.69998);
  34639. CreateDynamicObject(1769, -566.31122, 1794.84143, 1392.27991, 0.00000, 0.00000, 90.10003);
  34640. CreateDynamicObject(1769, -566.31860, 1799.07178, 1392.27991, 0.00000, 0.00000, 90.10003);
  34641. CreateDynamicObject(1769, -566.31604, 1797.69165, 1392.27991, 0.00000, 0.00000, 90.10003);
  34642. CreateDynamicObject(1822, -544.29480, 1796.25745, 1392.29590, 0.00000, 0.00000, 0.00000);
  34643. CreateDynamicObject(1822, -566.45496, 1796.25745, 1392.29590, 0.00000, 0.00000, 0.00000);
  34644. CreateDynamicObject(2811, -548.05573, 1805.45630, 1392.29395, 0.00000, 0.00000, 0.00000);
  34645. CreateDynamicObject(19538, -570.23022, 1812.67126, 1391.41846, 0.00000, 0.00000, 0.00000);
  34646. CreateDynamicObject(19087, -543.97607, 1792.38879, 1394.41724, 0.00000, 0.00000, 0.00000);
  34647. CreateDynamicObject(968, -554.96802, 1787.34412, 1388.75134, 0.00000, 0.00000, 0.00000);
  34648. CreateDynamicObject(19325, -554.87756, 1787.32800, 1397.13416, 0.00000, 0.00000, 90.00000);
  34649. CreateDynamicObject(2173, -554.34277, 1794.25769, 1392.29395, 0.00000, 0.00000, 179.99994);
  34650. CreateDynamicObject(2173, -558.71259, 1796.97485, 1392.29395, 0.00000, 0.00000, 89.89991);
  34651. CreateDynamicObject(2173, -550.77313, 1798.08081, 1392.29395, 0.00000, 0.00000, -90.00014);
  34652. CreateDynamicObject(2161, -555.03278, 1796.42908, 1392.29395, 0.00000, 0.00000, 0.00000);
  34653. CreateDynamicObject(2161, -555.92603, 1797.62683, 1392.29395, 0.00000, 0.00000, -90.30000);
  34654. CreateDynamicObject(2161, -553.85059, 1797.32129, 1392.29395, 0.00000, 0.00000, 88.99995);
  34655. CreateDynamicObject(19893, -554.51886, 1794.14551, 1393.09521, 0.00000, 0.00000, -156.59998);
  34656. CreateDynamicObject(19893, -550.65558, 1798.00073, 1393.09521, 0.00000, 0.00000, -46.89998);
  34657. CreateDynamicObject(19893, -558.86810, 1796.98425, 1393.09521, 0.00000, 0.00000, 118.80003);
  34658. CreateDynamicObject(11705, -555.55969, 1794.08447, 1393.07544, 0.00000, 0.00000, -179.50005);
  34659. CreateDynamicObject(19792, -554.89050, 1794.16541, 1393.11560, 0.00000, 0.00000, 0.00000);
  34660. CreateDynamicObject(1886, -554.82440, 1795.64014, 1395.86450, 32.20000, 0.00000, 0.00000);
  34661. CreateDynamicObject(1886, -553.14111, 1797.48877, 1395.84509, 32.20000, 0.00000, 91.89999);
  34662. CreateDynamicObject(1886, -556.54596, 1797.44397, 1395.83130, 32.20000, 0.00000, -90.19999);
  34663. CreateDynamicObject(1886, -558.62823, 1786.72766, 1395.75256, 38.39999, 0.00000, 49.19999);
  34664. CreateDynamicObject(3811, -558.78235, 1783.17651, 1391.95361, 0.00000, 0.00000, 0.00000);
  34665. CreateDynamicObject(3811, -558.78235, 1785.66638, 1391.95361, 0.00000, 0.00000, 0.00000);
  34666. CreateDynamicObject(3811, -550.89197, 1785.66650, 1391.95361, 0.00000, 0.00000, -179.90002);
  34667. CreateDynamicObject(3811, -550.91742, 1783.05652, 1391.95361, 0.00000, 0.00000, -179.90002);
  34668. }
  34669. stock LoadComplex1() //by Twixx
  34670. {
  34671. new object = CreateDynamicObject(19390,1990.258300,1115.898437,23.251277,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34672. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34673. object = CreateDynamicObject(19378,1989.983032,1120.623901,21.429975,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34674. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34675. object = CreateDynamicObject(19361,1991.905151,1117.513916,23.250453,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34676. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34677. object = CreateDynamicObject(19390,1991.905029,1120.724609,23.251277,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34678. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34679. object = CreateDynamicObject(1498,1991.941284,1119.946533,21.496349,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34680. object = CreateDynamicObject(19361,1987.046875,1115.898071,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34681. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34682. object = CreateDynamicObject(19407,1985.545166,1120.720703,23.250360,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34683. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34684. object = CreateDynamicObject(19361,1985.554565,1117.513916,23.250453,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34685. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34686. object = CreateDynamicObject(16500,1985.426269,1120.815185,22.605915,90.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34687. SetDynamicObjectMaterial(object, 0, 14755, "sfhss2", "ah_rotwindow", 0);
  34688. object = CreateDynamicObject(1498,1989.480834,1115.846191,21.496349,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34689. SetDynamicObjectMaterial(object, 0, 14754, "sfhsb3", "mp_apt1_brokedoor", 0);
  34690. object = CreateDynamicObject(19361,1991.905151,1123.931884,23.250453,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34691. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34692. object = CreateDynamicObject(19390,1991.905029,1127.144409,23.251277,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34693. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34694. object = CreateDynamicObject(1498,1991.941284,1126.366088,21.496349,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34695. object = CreateDynamicObject(19378,1989.983032,1130.253906,21.429975,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34696. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34697. object = CreateDynamicObject(4227,1972.579345,1115.910766,26.174308,0.000000,-13.599995,180.000000,0,0, -1, 200.0, 200.0);
  34698. object = CreateDynamicObject(1706,1988.194458,1116.487670,21.509429,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34699. object = CreateDynamicObject(17969,1986.669189,1116.010009,23.725978,0.000000,0.000000,-90.099998,0,0, -1, 200.0, 200.0);
  34700. object = CreateDynamicObject(19361,1986.404418,1122.374023,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34701. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34702. object = CreateDynamicObject(19361,1987.924682,1123.914184,23.250453,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34703. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34704. object = CreateDynamicObject(19361,1987.924682,1127.123535,23.250453,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34705. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34706. object = CreateDynamicObject(19390,1987.924926,1130.334472,23.251277,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34707. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34708. object = CreateDynamicObject(1498,1987.881225,1131.073120,21.496349,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34709. object = CreateDynamicObject(1527,1991.822021,1118.339599,23.421043,-17.799997,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34710. object = CreateDynamicObject(1264,1986.130737,1116.507690,21.819004,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34711. object = CreateDynamicObject(1338,1986.410888,1121.554687,21.706077,0.000000,0.000000,174.599990,0,0, -1, 200.0, 200.0);
  34712. SetDynamicObjectMaterial(object, 0, 5425, "jeffers4_lae", "greenwall2", 0);
  34713. object = CreateDynamicObject(1349,1986.142089,1117.645141,22.129278,0.000000,0.000000,91.799972,0,0, -1, 200.0, 200.0);
  34714. object = CreateDynamicObject(19378,1989.983032,1120.623901,25.069969,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34715. SetDynamicObjectMaterial(object, 0, 4859, "ground5_las", "Heliconcrete", 0);
  34716. object = CreateDynamicObject(19378,1989.983032,1130.258666,25.069969,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34717. SetDynamicObjectMaterial(object, 0, 4859, "ground5_las", "Heliconcrete", 0);
  34718. object = CreateDynamicObject(19361,1991.905151,1130.356933,23.250453,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34719. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34720. object = CreateDynamicObject(19390,1991.905029,1133.564331,23.251277,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34721. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34722. object = CreateDynamicObject(1498,1991.941284,1132.790649,21.496349,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34723. object = CreateDynamicObject(19361,1992.245117,1135.137084,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34724. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34725. object = CreateDynamicObject(14407,1991.066772,1137.202392,22.143606,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34726. SetDynamicObjectMaterial(object, 0, 4821, "union_las", "tarmacplain_bank", 0);
  34727. object = CreateDynamicObject(19378,1994.963623,1130.408813,25.249971,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34728. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34729. object = CreateDynamicObject(19361,1990.255615,1138.256958,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34730. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34731. object = CreateDynamicObject(19361,1987.056152,1138.256958,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34732. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34733. object = CreateDynamicObject(19361,1986.405639,1131.866821,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34734. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34735. object = CreateDynamicObject(19361,1984.745849,1133.467041,23.250453,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34736. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34737. object = CreateDynamicObject(19361,1984.745849,1136.677246,23.250453,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34738. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34739. object = CreateDynamicObject(19378,1989.983032,1139.873046,21.429975,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34740. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34741. object = CreateDynamicObject(19361,1989.034423,1135.137084,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34742. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34743. object = CreateDynamicObject(19361,1983.846069,1138.256958,23.250453,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34744. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34745. object = CreateDynamicObject(19361,1992.245117,1135.137084,26.750444,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34746. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34747. object = CreateDynamicObject(19361,1994.484008,1136.957031,25.240440,0.000000,270.000000,-270.000000,0,0, -1, 200.0, 200.0);
  34748. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34749. object = CreateDynamicObject(19361,1997.694091,1136.957031,25.240440,0.000000,270.000000,90.000000,0,0, -1, 200.0, 200.0);
  34750. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34751. object = CreateDynamicObject(19361,1984.745849,1136.677246,26.740446,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34752. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34753. object = CreateDynamicObject(19361,1983.846069,1138.256958,26.750461,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34754. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34755. object = CreateDynamicObject(19361,1987.056152,1138.256958,26.750459,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34756. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34757. object = CreateDynamicObject(19361,1989.045166,1135.137084,26.750444,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34758. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34759. object = CreateDynamicObject(19361,1985.835083,1135.137084,26.750444,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34760. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34761. object = CreateDynamicObject(19361,1990.265625,1138.256958,26.750459,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34762. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34763. object = CreateDynamicObject(19361,1993.475341,1138.256958,26.750459,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34764. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34765. object = CreateDynamicObject(19361,1993.465332,1138.256958,23.250465,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34766. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34767. object = CreateDynamicObject(19361,1993.775390,1133.607055,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34768. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34769. object = CreateDynamicObject(19390,1993.785156,1130.394531,27.051286,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34770. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34771. object = CreateDynamicObject(19378,1994.042846,1140.009155,28.449966,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34772. SetDynamicObjectMaterial(object, 0, 4859, "ground5_las", "Heliconcrete", 0);
  34773. object = CreateDynamicObject(19378,1983.543457,1140.009155,28.449966,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34774. SetDynamicObjectMaterial(object, 0, 4859, "ground5_las", "Heliconcrete", 0);
  34775. object = CreateDynamicObject(19378,1994.023803,1130.419189,28.619966,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34776. SetDynamicObjectMaterial(object, 0, 4859, "ground5_las", "Heliconcrete", 0);
  34777. object = CreateDynamicObject(19361,1996.674926,1138.256958,26.750459,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34778. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34779. object = CreateDynamicObject(19361,1999.884887,1138.256958,26.750459,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34780. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34781. object = CreateDynamicObject(19361,1998.374755,1136.567993,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34782. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34783. object = CreateDynamicObject(19390,1998.375244,1133.364746,27.051286,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34784. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34785. object = CreateDynamicObject(19361,1998.374023,1130.157958,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34786. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34787. object = CreateDynamicObject(19378,1994.963623,1120.778930,25.249971,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34788. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34789. object = CreateDynamicObject(19361,1992.275024,1128.856811,27.050451,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34790. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34791. object = CreateDynamicObject(19390,1990.635253,1127.184692,27.051286,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34792. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34793. object = CreateDynamicObject(19390,1998.375244,1126.946777,27.051286,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34794. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34795. object = CreateDynamicObject(19361,1998.374023,1123.737915,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34796. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34797. object = CreateDynamicObject(19361,1992.275024,1125.536376,27.050451,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34798. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34799. object = CreateDynamicObject(19361,1993.775390,1123.965942,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34800. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34801. object = CreateDynamicObject(19378,1994.963623,1111.148315,25.249971,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34802. SetDynamicObjectMaterial(object, 0, 3305, "des_bighus", "GB_nastybar08", 0);
  34803. object = CreateDynamicObject(19390,1993.785156,1120.753906,27.051286,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34804. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34805. object = CreateDynamicObject(19390,1997.236083,1117.805541,27.051286,0.000000,0.000000,135.000000,0,0, -1, 200.0, 200.0);
  34806. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34807. object = CreateDynamicObject(19361,1998.374023,1120.528198,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34808. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34809. object = CreateDynamicObject(19361,1994.535034,1116.656616,27.050451,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34810. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34811. object = CreateDynamicObject(19361,1993.775390,1117.545532,27.050451,0.000000,0.000000,180.000000,0,0, -1, 200.0, 200.0);
  34812. SetDynamicObjectMaterial(object, 0, 12931, "sw_brewery", "sw_brewbrick01", 0);
  34813. object = CreateDynamicObject(19378,1994.023803,1120.799194,28.619966,0.000000,270.000000,0.000000,0,0, -1, 200.0, 200.0);
  34814. SetDynamicObjectMaterial(object, 0, 4859, "ground5_las", "Heliconcrete", 0);
  34815. object = CreateDynamicObject(1498,1998.421386,1132.590454,25.296337,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34816. object = CreateDynamicObject(1498,1998.421386,1126.170166,25.296337,0.000000,0.000000,90.000000,0,0, -1, 200.0, 200.0);
  34817. object = CreateDynamicObject(1498,1993.750976,1131.132202,25.296337,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34818. object = CreateDynamicObject(1498,1990.590820,1127.930297,25.296337,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34819. object = CreateDynamicObject(1498,1993.750976,1121.491821,25.296337,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34820. object = CreateDynamicObject(1498,1996.713745,1117.228515,25.296337,0.000000,0.000000,405.000000,0,0, -1, 200.0, 200.0);
  34821. object = CreateDynamicObject(1526,1992.605712,1125.630249,26.989597,175.599975,360.000000,270.000000,0,0, -1, 200.0, 200.0);
  34822. object = CreateDynamicObject(1528,1998.289550,1124.332397,26.564401,-12.899997,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34823. object = CreateDynamicObject(1530,1998.278076,1123.095214,26.803571,180.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34824. object = CreateDynamicObject(4227,1998.021362,1138.246948,26.191591,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34825. object = CreateDynamicObject(17969,1986.694213,1138.136108,24.691612,47.499988,0.000000,450.000000,0,0, -1, 200.0, 200.0);
  34826. object = CreateDynamicObject(1357,1997.643676,1137.708129,25.592266,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34827. object = CreateDynamicObject(1362,1985.257080,1137.803710,22.091714,0.000000,0.000000,-159.999984,0,0, -1, 200.0, 200.0);
  34828. object = CreateDynamicObject(1369,1996.418945,1137.446533,25.926883,0.000000,0.000000,-27.399997,0,0, -1, 200.0, 200.0);
  34829. SetDynamicObjectMaterial(object, 2, 14525, "imy_motel2", "Gen_Metal", 0);
  34830. SetDynamicObjectMaterial(object, 3, 12805, "ce_loadbay", "sw_wheel1", 0);
  34831. SetDynamicObjectMaterial(object, 4, 1794, "cj_beds", "CJ_TARTAN", 0);
  34832. object = CreateDynamicObject(1368,1997.882324,1130.018554,26.023023,0.000000,0.000000,270.000000,0,0, -1, 200.0, 200.0);
  34833. SetDynamicObjectMaterial(object, 0, 3402, "ce_farmxref", "sw_woodflloorsplat", 0);
  34834. SetDynamicObjectMaterial(object, 1, 18250, "cw_junkbuildcs_t", "Was_scrpyd_rustmetal", 0);
  34835. object = CreateDynamicObject(1264,1994.376953,1117.329589,25.647726,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34836. object = CreateDynamicObject(1265,1995.297119,1117.329589,25.737728,0.000000,0.099999,-22.300003,0,0, -1, 200.0, 200.0);
  34837. object = CreateDynamicObject(2670,1985.557373,1136.561889,21.601234,0.000000,0.000000,-81.299987,0,0, -1, 200.0, 200.0);
  34838. object = CreateDynamicObject(2673,1986.230712,1119.834472,21.625597,0.000000,0.000000,56.199993,0,0, -1, 200.0, 200.0);
  34839. object = CreateDynamicObject(2673,1996.627197,1136.414672,25.415241,0.000000,0.000000,0.000000,0,0, -1, 200.0, 200.0);
  34840. object = CreateDynamicObject(2670,1995.337524,1123.270629,25.415496,0.000000,0.000000,131.500000,0,0, -1, 200.0, 200.0);
  34841. object = CreateDynamicObject(2670,1996.992431,1131.555175,25.419147,0.000000,0.000000,-35.599998,0,0, -1, 200.0, 200.0);
  34842. }
  34843. stock LoadComplex2() //by Spydah
  34844. {
  34845. CreateDynamicObject(14596, 416.92703, 512.25531, 1000.41016, 0.00000, 0.00000, 0.00000);
  34846. CreateDynamicObject(18765, 411.47760, 517.00049, 987.22772, 0.00000, 0.00000, 0.00000);
  34847. CreateDynamicObject(18765, 401.47760, 517.00049, 987.22772, 0.00000, 0.00000, 0.00000);
  34848. CreateDynamicObject(19447, 416.50781, 517.64398, 991.46301, 0.00000, 0.00000, 0.00000);
  34849. CreateDynamicObject(19447, 411.64780, 522.00403, 991.46301, 0.00000, 0.00000, 90.00000);
  34850. CreateDynamicObject(19447, 402.01199, 522.00403, 991.46301, 0.00000, 0.00000, 90.00000);
  34851. CreateDynamicObject(19447, 397.14780, 517.64398, 991.46301, 0.00000, 0.00000, 0.00000);
  34852. CreateDynamicObject(19447, 408.42999, 513.37372, 991.46301, 0.00000, 0.00000, 90.00000);
  34853. CreateDynamicObject(19447, 398.79401, 513.37372, 991.46301, 0.00000, 0.00000, 90.00000);
  34854. CreateDynamicObject(19377, 411.18051, 518.18579, 993.29871, 0.00000, 90.00000, 0.00000);
  34855. CreateDynamicObject(19377, 400.67899, 518.18579, 993.29871, 0.00000, 90.00000, 0.00000);
  34856. CreateDynamicObject(19378, 406.32169, 516.23523, 995.42938, 0.00000, 90.00000, 0.00000);
  34857. CreateDynamicObject(19378, 395.82001, 516.23523, 995.42938, 0.00000, 90.00000, 0.00000);
  34858. CreateDynamicObject(19389, 410.56879, 516.03308, 997.26978, 0.00000, 0.00000, 0.00000);
  34859. CreateDynamicObject(19451, 406.71121, 512.82239, 997.26978, 0.00000, 0.00000, 90.00000);
  34860. CreateDynamicObject(19432, 411.07379, 513.87018, 997.26978, 0.00000, 0.00000, 40.00000);
  34861. CreateDynamicObject(19432, 411.07379, 518.19019, 997.26978, 0.00000, 0.00000, -40.00000);
  34862. CreateDynamicObject(19359, 411.58099, 512.56390, 997.26978, 0.00000, 0.00000, 0.00000);
  34863. CreateDynamicObject(19359, 411.58099, 519.68390, 997.26978, 0.00000, 0.00000, 0.00000);
  34864. CreateDynamicObject(19451, 406.71121, 519.26239, 997.26978, 0.00000, 0.00000, 90.00000);
  34865. CreateDynamicObject(19451, 397.07690, 519.26239, 997.26978, 0.00000, 0.00000, 90.00000);
  34866. CreateDynamicObject(19451, 397.07690, 512.82239, 997.26978, 0.00000, 0.00000, 90.00000);
  34867. CreateDynamicObject(19451, 393.73929, 516.21240, 997.26978, 0.00000, 0.00000, 0.00000);
  34868. CreateDynamicObject(19377, 406.32169, 516.23523, 999.09869, 0.00000, 90.00000, 0.00000);
  34869. CreateDynamicObject(19377, 395.82001, 516.23523, 999.09869, 0.00000, 90.00000, 0.00000);
  34870. CreateDynamicObject(19379, 406.34091, 515.88342, 1001.22858, 0.00000, 90.00000, 0.00000);
  34871. CreateDynamicObject(19379, 395.83890, 515.88342, 1001.22858, 0.00000, 90.00000, 0.00000);
  34872. CreateDynamicObject(19379, 406.34091, 506.24890, 1001.22858, 0.00000, 90.00000, 0.00000);
  34873. CreateDynamicObject(19379, 395.83890, 506.24890, 1001.22858, 0.00000, 90.00000, 0.00000);
  34874. CreateDynamicObject(19389, 410.56879, 516.03308, 1003.06580, 0.00000, 0.00000, 0.00000);
  34875. CreateDynamicObject(19359, 410.56879, 519.24432, 1003.06580, 0.00000, 0.00000, 0.00000);
  34876. CreateDynamicObject(19451, 403.36816, 518.04144, 1003.06580, 0.00000, 0.00000, 90.00000);
  34877. CreateDynamicObject(19451, 396.06921, 520.71039, 1003.06580, 0.00000, 0.00000, 90.00000);
  34878. CreateDynamicObject(19451, 392.76920, 515.81641, 1003.06580, 0.00000, 0.00000, 0.00000);
  34879. CreateDynamicObject(19451, 392.76920, 506.18188, 1003.06580, 0.00000, 0.00000, 0.00000);
  34880. CreateDynamicObject(19451, 396.06921, 501.39041, 1003.06580, 0.00000, 0.00000, 90.00000);
  34881. CreateDynamicObject(19451, 405.70319, 501.39041, 1003.06580, 0.00000, 0.00000, 90.00000);
  34882. CreateDynamicObject(19451, 410.56879, 509.61041, 1003.06580, 0.00000, 0.00000, 0.00000);
  34883. CreateDynamicObject(19451, 410.56879, 499.97589, 1003.06580, 0.00000, 0.00000, 0.00000);
  34884. CreateDynamicObject(19377, 406.34091, 515.88342, 1004.89673, 0.00000, 90.00000, 0.00000);
  34885. CreateDynamicObject(19377, 406.34091, 506.24890, 1004.89673, 0.00000, 90.00000, 0.00000);
  34886. CreateDynamicObject(19377, 395.83890, 506.24890, 1004.89673, 0.00000, 90.00000, 0.00000);
  34887. CreateDynamicObject(19377, 395.83890, 515.88342, 1004.89673, 0.00000, 90.00000, 0.00000);
  34888. CreateDynamicObject(19376, 406.80481, 515.88330, 1007.02887, 0.00000, 90.00000, 0.00000);
  34889. CreateDynamicObject(19385, 411.25900, 516.02570, 1008.86688, 0.00000, 0.00000, 0.00000);
  34890. CreateDynamicObject(19447, 411.25900, 509.60239, 1008.86688, 0.00000, 0.00000, 0.00000);
  34891. CreateDynamicObject(19447, 411.25900, 522.44843, 1008.86688, 0.00000, 0.00000, 0.00000);
  34892. CreateDynamicObject(19447, 406.38501, 519.48151, 1008.86688, 0.00000, 0.00000, 90.00000);
  34893. CreateDynamicObject(19447, 406.38501, 512.89648, 1008.86688, 0.00000, 0.00000, 90.00000);
  34894. CreateDynamicObject(19447, 401.54810, 515.88989, 1008.86688, 0.00000, 0.00000, 0.00000);
  34895. CreateDynamicObject(19377, 406.80481, 515.88330, 1010.70471, 0.00000, 90.00000, 0.00000);
  34896. CreateDynamicObject(1504, 408.63470, 519.41193, 1007.11139, 0.00000, 0.00000, 0.00000);
  34897. CreateDynamicObject(1504, 404.09869, 519.41193, 1007.11139, 0.00000, 0.00000, 0.00000);
  34898. CreateDynamicObject(1504, 404.09869, 512.93591, 1007.11139, 0.00000, 0.00000, 0.00000);
  34899. CreateDynamicObject(1504, 408.63470, 512.93591, 1007.11139, 0.00000, 0.00000, 0.00000);
  34900. CreateDynamicObject(17969, 401.66559, 516.27002, 1008.97131, 5.00000, 0.00000, 180.00000);
  34901. CreateDynamicObject(1499, 411.25339, 515.28931, 1007.10992, 0.00000, 0.00000, 90.00000);
  34902. CreateDynamicObject(19814, 411.18051, 517.05450, 1007.18518, 0.00000, 0.00000, -90.00000);
  34903. CreateDynamicObject(19829, 411.18451, 517.26178, 1008.47339, 0.00000, 90.00000, -90.00000);
  34904. CreateDynamicObject(19898, 408.32751, 516.39050, 1007.11920, 0.00000, 0.00000, 90.00000);
  34905. CreateDynamicObject(1728, 402.16400, 517.00311, 1007.11230, 0.00000, 0.00000, 80.00000);
  34906. CreateDynamicObject(1810, 404.00381, 515.96259, 1007.10608, 0.00000, 0.00000, 211.99930);
  34907. CreateDynamicObject(2062, 410.70651, 514.50580, 1007.51001, 0.00000, 90.00000, -80.00000);
  34908. CreateDynamicObject(4227, 407.51831, 519.48309, 1008.84589, 0.00000, 4.00000, 0.00000);
  34909. CreateDynamicObject(14840, 406.27219, 512.98218, 1009.02020, 0.00000, 0.00000, 90.00000);
  34910. CreateDynamicObject(2074, 407.61700, 516.54022, 1010.38220, 0.00000, 0.00000, 0.00000);
  34911. CreateDynamicObject(2672, 409.65253, 517.07941, 1007.39661, 0.00000, 0.00000, 80.00000);
  34912. CreateDynamicObject(2670, 409.60251, 515.00006, 1007.19531, 0.00000, 0.00000, 90.00000);
  34913. CreateDynamicObject(926, 410.85550, 518.12372, 1007.36731, 0.00000, 0.00000, 80.00000);
  34914. CreateDynamicObject(853, 402.55347, 513.98633, 1007.29041, 0.00000, 0.00000, 90.00000);
  34915. CreateDynamicObject(2672, 405.60379, 517.65729, 1007.39661, 0.00000, 0.00000, 40.00000);
  34916. CreateDynamicObject(11710, 411.09241, 516.04590, 1010.20062, -30.00000, 0.00000, 90.00000);
  34917. CreateDynamicObject(2961, 411.15659, 514.87860, 1008.55298, 0.00000, 0.00000, 90.00000);
  34918. CreateDynamicObject(2690, 407.03021, 513.14398, 1007.47662, 0.00000, 0.00000, 180.00000);
  34919. CreateDynamicObject(19451, 405.70319, 520.71039, 1003.06580, 0.00000, 0.00000, 90.00000);
  34920. CreateDynamicObject(19432, 408.09760, 517.32678, 1003.06580, 0.00000, 0.00000, 0.00000);
  34921. CreateDynamicObject(19451, 403.36819, 516.61139, 1003.06580, 0.00000, 0.00000, 90.00000);
  34922. CreateDynamicObject(19432, 397.74881, 518.04138, 1003.06580, 0.00000, 0.00000, 90.00000);
  34923. CreateDynamicObject(19451, 398.65219, 511.73941, 1003.06580, 0.00000, 0.00000, 0.00000);
  34924. CreateDynamicObject(19451, 403.36819, 504.03241, 1003.06580, 0.00000, 0.00000, 90.00000);
  34925. CreateDynamicObject(19451, 397.03619, 513.31439, 1003.06580, 0.00000, 0.00000, 0.00000);
  34926. CreateDynamicObject(19432, 408.09760, 504.74780, 1003.06580, 0.00000, 0.00000, 0.00000);
  34927. CreateDynamicObject(19451, 403.36819, 505.46240, 1003.06580, 0.00000, 0.00000, 90.00000);
  34928. CreateDynamicObject(19359, 399.62250, 506.58661, 1003.06580, 0.00000, 0.00000, 40.00000);
  34929. CreateDynamicObject(19432, 397.74881, 504.03241, 1003.06580, 0.00000, 0.00000, 90.00000);
  34930. CreateDynamicObject(19451, 397.03629, 508.80640, 1003.06580, 0.00000, 0.00000, 0.00000);
  34931. CreateDynamicObject(1506, 407.32529, 520.64380, 1001.31018, 0.00000, 0.00000, 0.00000);
  34932. CreateDynamicObject(1506, 404.11929, 520.64380, 1001.31018, 0.00000, 0.00000, 0.00000);
  34933. CreateDynamicObject(1506, 400.90329, 520.64380, 1001.31018, 0.00000, 0.00000, 0.00000);
  34934. CreateDynamicObject(1506, 397.69531, 520.64380, 1001.31018, 0.00000, 0.00000, 0.00000);
  34935. CreateDynamicObject(1506, 394.47531, 520.64380, 1001.31018, 0.00000, 0.00000, 0.00000);
  34936. CreateDynamicObject(1506, 394.47531, 501.43079, 1001.31018, 0.00000, 0.00000, 0.00000);
  34937. CreateDynamicObject(1506, 397.69531, 501.43079, 1001.31018, 0.00000, 0.00000, 0.00000);
  34938. CreateDynamicObject(1506, 400.90329, 501.43079, 1001.31018, 0.00000, 0.00000, 0.00000);
  34939. CreateDynamicObject(1506, 404.11929, 501.43079, 1001.31018, 0.00000, 0.00000, 0.00000);
  34940. CreateDynamicObject(1506, 407.32529, 501.43079, 1001.31018, 0.00000, 0.00000, 0.00000);
  34941. CreateDynamicObject(19451, 408.09760, 511.70441, 1003.06580, 0.00000, 0.00000, 0.00000);
  34942. CreateDynamicObject(19451, 406.66959, 511.70441, 1003.06580, 0.00000, 0.00000, 0.00000);
  34943. CreateDynamicObject(19432, 407.38290, 506.97531, 1003.06580, 0.00000, 0.00000, 90.00000);
  34944. CreateDynamicObject(19432, 408.09579, 505.94171, 1004.61780, 90.00000, 0.00000, 0.00000);
  34945. CreateDynamicObject(1499, 408.12189, 505.42490, 1001.31030, 0.00000, 0.00000, 90.00000);
  34946. CreateDynamicObject(1506, 392.83731, 503.01120, 1001.31018, 0.00000, 0.00000, 90.00000);
  34947. CreateDynamicObject(1506, 392.83731, 506.22519, 1001.31018, 0.00000, 0.00000, 90.00000);
  34948. CreateDynamicObject(1506, 392.83731, 509.43121, 1001.31018, 0.00000, 0.00000, 90.00000);
  34949. CreateDynamicObject(1506, 392.83731, 512.64520, 1001.31018, 0.00000, 0.00000, 90.00000);
  34950. CreateDynamicObject(1506, 392.83731, 515.85321, 1001.31018, 0.00000, 0.00000, 90.00000);
  34951. CreateDynamicObject(16151, 405.51581, 510.57431, 1001.64941, 0.00000, 0.00000, 0.00000);
  34952. CreateDynamicObject(2762, 400.70670, 507.55850, 1001.71649, 0.00000, 0.00000, -45.00000);
  34953. CreateDynamicObject(14820, 400.70041, 507.55209, 1002.19550, 0.00000, 0.00000, -45.00000);
  34954. CreateDynamicObject(2229, 399.67081, 509.41241, 1001.31641, 0.00000, 0.00000, 120.00000);
  34955. CreateDynamicObject(2232, 400.65781, 508.51529, 1001.80243, 0.00000, 0.00000, 135.00000);
  34956. CreateDynamicObject(2232, 401.15381, 508.00131, 1001.80243, 0.00000, 0.00000, 135.00000);
  34957. CreateDynamicObject(2232, 401.65979, 507.49530, 1001.80243, 0.00000, 0.00000, 135.00000);
  34958. CreateDynamicObject(2229, 402.01080, 507.07239, 1001.31641, 0.00000, 0.00000, 140.00000);
  34959. CreateDynamicObject(18653, 400.63800, 506.71500, 1006.80487, 0.00000, 180.00000, 1330.00000);
  34960. CreateDynamicObject(18654, 404.92310, 507.52710, 1006.99420, 0.00000, 180.00000, -59.00000);
  34961. CreateDynamicObject(18655, 406.07391, 515.88019, 1007.00873, 0.00000, 180.00000, 61.00000);
  34962. CreateDynamicObject(1432, 400.78052, 514.84216, 1001.42047, 0.00000, 0.00000, 0.00000);
  34963. CreateDynamicObject(1432, 400.72980, 512.10492, 1001.42047, 0.00000, 0.00000, 34.00000);
  34964. CreateDynamicObject(1510, 400.82150, 514.85168, 1002.04639, 0.00000, 0.00000, 0.00000);
  34965. CreateDynamicObject(1510, 404.61917, 513.57800, 1002.28638, 0.00000, 0.00000, 0.00000);
  34966. CreateDynamicObject(1510, 404.74768, 509.30911, 1002.28638, 0.00000, 0.00000, 0.00000);
  34967. CreateDynamicObject(19620, 399.64621, 506.81580, 1003.21411, -90.00000, 0.00000, -48.71040);
  34968. CreateDynamicObject(18649, 398.74051, 507.78751, 1002.86560, 90.00000, 0.00000, 0.00000);
  34969. CreateDynamicObject(18649, 400.60980, 505.55829, 1002.86560, 90.00000, 0.00000, 0.00000);
  34970. CreateDynamicObject(2690, 406.34009, 509.71600, 1001.64917, 0.00000, 0.00000, 0.00000);
  34971. CreateDynamicObject(4227, 398.71011, 514.89020, 1003.75928, 0.00000, -13.90000, 90.00000);
  34972. CreateDynamicObject(1291, 398.47021, 503.58170, 1001.70148, 0.00000, 90.00000, 0.00000);
  34973. CreateDynamicObject(913, 396.46460, 504.76849, 1002.14722, 0.00000, 0.00000, -90.00000);
  34974. CreateDynamicObject(2672, 403.31158, 515.04059, 1001.59680, 0.00000, 0.00000, 0.00000);
  34975. CreateDynamicObject(18666, 406.57739, 508.26389, 1002.75128, 158.11650, 0.00000, 0.00000);
  34976. CreateDynamicObject(18667, 402.69000, 505.55670, 1003.24530, -8.65760, 0.00000, 90.15460);
  34977. CreateDynamicObject(2676, 408.26181, 519.12140, 1001.41681, 0.00000, 0.00000, -12.36800);
  34978. CreateDynamicObject(2674, 403.01559, 509.83109, 1001.32483, 0.00000, 0.00000, 130.00000);
  34979. CreateDynamicObject(2674, 409.00723, 506.22998, 1001.32483, 0.00000, 0.00000, -3.63310);
  34980. CreateDynamicObject(2671, 409.12289, 508.20239, 1001.31500, 0.00000, 0.00000, 90.00000);
  34981. CreateDynamicObject(2676, 403.05899, 507.11581, 1001.41681, 0.00000, 0.00000, -12.36800);
  34982. CreateDynamicObject(2676, 395.42569, 516.92609, 1001.41681, 0.00000, 0.00000, -45.36800);
  34983. CreateDynamicObject(18665, 403.76810, 516.51990, 1003.28589, -11.98150, 0.00000, 90.00000);
  34984. CreateDynamicObject(18663, 402.18359, 516.51880, 1003.53772, 6.33860, 0.00000, 90.00000);
  34985. CreateDynamicObject(17969, 396.91821, 511.03171, 1003.33350, -3.86500, 0.00000, 0.00000);
  34986. CreateDynamicObject(19896, 404.68481, 509.18900, 1002.28668, 0.00000, 0.00000, 81.34240);
  34987. CreateDynamicObject(1544, 404.70929, 507.99582, 1002.26648, 0.00000, 0.00000, 0.00000);
  34988. CreateDynamicObject(1951, 405.19614, 507.39160, 1002.46082, 0.00000, 0.00000, 70.00000);
  34989. CreateDynamicObject(1543, 404.30530, 510.05170, 1002.32880, 0.00000, 90.00000, 40.00000);
  34990. CreateDynamicObject(1486, 404.86420, 509.43524, 1002.42078, 0.00000, 0.00000, 0.00000);
  34991. CreateDynamicObject(19159, 402.87759, 512.48688, 1004.62311, 0.00000, 0.00000, 0.00000);
  34992. CreateDynamicObject(1951, 406.17670, 514.05157, 1002.46082, 0.00000, 0.00000, 30.00000);
  34993. CreateDynamicObject(1951, 404.68732, 512.58325, 1002.46082, 0.00000, 0.00000, 150.00000);
  34994. CreateDynamicObject(1543, 405.74579, 513.87433, 1002.26678, 0.00000, 0.00000, 0.00000);
  34995. CreateDynamicObject(1543, 405.32166, 514.04639, 1002.26678, 0.00000, 0.00000, 0.00000);
  34996. CreateDynamicObject(1543, 404.35703, 512.29498, 1002.26678, 0.00000, 0.00000, 0.00000);
  34997. CreateDynamicObject(1543, 399.95901, 507.75739, 1002.12280, 0.00000, 0.00000, 0.00000);
  34998. CreateDynamicObject(1543, 404.39279, 511.66971, 1002.26678, 0.00000, 0.00000, 0.00000);
  34999. CreateDynamicObject(1951, 404.85202, 514.01550, 1002.46082, 0.00000, 0.00000, 70.00000);
  35000. CreateDynamicObject(1951, 404.66959, 510.15570, 1002.46082, 0.00000, 0.00000, 140.00000);
  35001. CreateDynamicObject(1486, 405.65170, 513.93793, 1002.42078, 0.00000, 0.00000, 0.00000);
  35002. CreateDynamicObject(1486, 404.62750, 513.94843, 1002.42078, 0.00000, 0.00000, 0.00000);
  35003. CreateDynamicObject(1486, 401.07034, 514.50989, 1002.17877, 0.00000, 0.00000, 140.00000);
  35004. CreateDynamicObject(1486, 404.82040, 512.24548, 1002.42078, 0.00000, 0.00000, 0.00000);
  35005. CreateDynamicObject(1486, 404.36520, 512.09650, 1002.42078, 0.00000, 0.00000, 0.00000);
  35006. CreateDynamicObject(1486, 404.62488, 511.33081, 1002.42078, 0.00000, 0.00000, 0.00000);
  35007. CreateDynamicObject(1486, 404.51953, 510.82529, 1002.42078, 0.00000, 0.00000, 0.00000);
  35008. CreateDynamicObject(1544, 405.95239, 514.11841, 1002.26648, 0.00000, 0.00000, 0.00000);
  35009. CreateDynamicObject(1544, 404.77258, 513.73541, 1002.26648, 0.00000, 0.00000, 0.00000);
  35010. CreateDynamicObject(1544, 404.47021, 511.10751, 1002.26648, 0.00000, 0.00000, 0.00000);
  35011. CreateDynamicObject(1543, 404.69229, 511.82391, 1002.26678, 0.00000, 0.00000, 0.00000);
  35012. CreateDynamicObject(1543, 400.40979, 512.14911, 1002.01678, 0.00000, 0.00000, 0.00000);
  35013. CreateDynamicObject(1486, 404.74179, 513.32715, 1002.42078, 0.00000, 0.00000, 0.00000);
  35014. CreateDynamicObject(1486, 401.19601, 512.08142, 1002.17877, 0.00000, 0.00000, 140.00000);
  35015. CreateDynamicObject(1486, 401.17542, 514.51099, 1002.17877, 0.00000, 0.00000, 14.00000);
  35016. CreateDynamicObject(1486, 401.12140, 514.59900, 1002.17877, 0.00000, 0.00000, 170.00000);
  35017. CreateDynamicObject(1951, 400.96439, 515.21619, 1002.21680, 0.00000, 0.00000, 150.00000);
  35018. CreateDynamicObject(2674, 401.10571, 512.35059, 1001.32483, 0.00000, 0.00000, -3.63310);
  35019. CreateDynamicObject(19424, 400.19650, 507.49161, 1002.15192, -6.26130, 0.00000, 0.00000);
  35020. CreateDynamicObject(1543, 400.69180, 511.54489, 1002.01678, 0.00000, 0.00000, 0.00000);
  35021. CreateDynamicObject(19814, 396.95569, 505.80060, 1002.47498, 0.00000, 0.00000, -90.00000);
  35022. CreateDynamicObject(1709, 395.41519, 512.07440, 1001.30829, 0.00000, 0.00000, -90.00000);
  35023. CreateDynamicObject(2676, 408.68631, 505.55600, 1001.41681, 0.00000, 0.00000, -12.36800);
  35024. CreateDynamicObject(18661, 410.47699, 510.43561, 1003.51990, -8.88950, 0.00000, 0.00000);
  35025. CreateDynamicObject(18660, 402.63281, 518.13330, 1003.48859, 10.74470, 0.00000, -90.00000);
  35026. CreateDynamicObject(18659, 396.94391, 516.05389, 1003.15088, 10.59010, 0.00000, 0.00000);
  35027. CreateDynamicObject(4227, 408.99429, 520.71381, 1003.24792, 0.00000, -1.62330, 0.00000);
  35028. CreateDynamicObject(17969, 401.19089, 501.50681, 1003.37610, 8.19380, 0.00000, -90.00000);
  35029. CreateDynamicObject(18664, 401.29230, 503.94080, 1003.30518, -6.02940, 0.00000, 90.00000);
  35030. CreateDynamicObject(18667, 405.10361, 503.94070, 1003.30762, 0.00000, 0.00000, 90.00000);
  35031. CreateDynamicObject(1710, 416.27310, 518.45117, 995.51593, 0.00000, 0.00000, 0.00000);
  35032. CreateDynamicObject(2961, 410.46091, 514.90833, 1002.89929, 0.00000, 0.00000, 90.00000);
  35033. CreateDynamicObject(2690, 396.50461, 512.77441, 1001.46521, -51.27270, 90.00000, 90.00000);
  35034. CreateDynamicObject(11710, 410.46060, 516.04761, 1004.22522, 0.00000, 0.00000, 90.00000);
  35035. CreateDynamicObject(19829, 410.48901, 517.30548, 1002.95508, 0.00000, 90.00000, -90.00000);
  35036. CreateDynamicObject(2074, 409.27829, 514.12323, 1004.57642, 0.00000, 0.00000, 0.00000);
  35037. CreateDynamicObject(2074, 404.39828, 502.72321, 1004.57642, 0.00000, 0.00000, 0.00000);
  35038. CreateDynamicObject(2074, 395.15829, 510.44321, 1004.57642, 0.00000, 0.00000, 0.00000);
  35039. CreateDynamicObject(2074, 401.79831, 519.52319, 1004.57642, 0.00000, 0.00000, 0.00000);
  35040. CreateDynamicObject(1504, 408.34930, 519.19470, 995.48120, 0.00000, 0.00000, 0.00000);
  35041. CreateDynamicObject(1504, 405.12930, 519.19470, 995.48120, 0.00000, 0.00000, 0.00000);
  35042. CreateDynamicObject(1504, 401.90930, 519.19470, 995.48120, 0.00000, 0.00000, 0.00000);
  35043. CreateDynamicObject(1504, 398.71729, 519.19470, 995.48120, 0.00000, 0.00000, 0.00000);
  35044. CreateDynamicObject(1504, 395.49731, 519.19470, 995.48120, 0.00000, 0.00000, 0.00000);
  35045. CreateDynamicObject(1504, 408.34930, 512.86072, 995.48120, 0.00000, 0.00000, 0.00000);
  35046. CreateDynamicObject(1504, 408.34930, 519.19470, 995.48120, 0.00000, 0.00000, 0.00000);
  35047. CreateDynamicObject(1504, 405.12930, 512.86072, 995.48120, 0.00000, 0.00000, 0.00000);
  35048. CreateDynamicObject(1504, 401.90930, 512.86072, 995.48120, 0.00000, 0.00000, 0.00000);
  35049. CreateDynamicObject(1504, 398.71729, 512.86072, 995.48120, 0.00000, 0.00000, 0.00000);
  35050. CreateDynamicObject(1504, 395.49731, 512.86072, 995.48120, 0.00000, 0.00000, 0.00000);
  35051. CreateDynamicObject(19451, 391.98141, 519.60858, 997.26978, 0.00000, 0.00000, 45.00000);
  35052. CreateDynamicObject(19451, 391.98141, 512.92059, 997.26978, 0.00000, 0.00000, -45.00000);
  35053. CreateDynamicObject(17969, 393.87881, 520.91980, 997.24609, 3.01470, 0.00000, 180.00000);
  35054. CreateDynamicObject(14840, 393.82251, 514.13831, 997.59039, 0.00000, 0.00000, 0.00000);
  35055. CreateDynamicObject(4227, 395.70331, 512.81830, 997.48602, 0.00000, 0.00000, 180.00000);
  35056. CreateDynamicObject(18659, 401.12671, 519.17041, 997.51678, -8.58030, 0.00000, 90.00000);
  35057. CreateDynamicObject(18661, 404.42761, 519.16931, 996.65002, 150.00000, 0.00000, 90.00000);
  35058. CreateDynamicObject(18662, 411.10980, 513.67780, 997.30188, 7.00000, 0.00000, 40.00000);
  35059. CreateDynamicObject(1805, 394.76190, 518.47937, 995.72070, 87.99020, 0.00000, 50.00000);
  35060. CreateDynamicObject(2961, 410.47021, 514.91418, 997.16119, 0.00000, 0.00000, 90.00000);
  35061. CreateDynamicObject(11710, 409.99429, 515.96582, 995.56592, 90.00000, 0.00000, 56.14260);
  35062. CreateDynamicObject(18659, 416.25699, 519.07690, 997.78180, -9.19870, 0.00000, 90.00000);
  35063. CreateDynamicObject(18661, 420.81229, 519.07849, 997.35962, -16.61950, 0.00000, 90.00000);
  35064. CreateDynamicObject(18662, 417.68130, 514.95221, 997.10559, -4.01960, 0.00000, -90.00000);
  35065. CreateDynamicObject(4227, 413.48181, 505.34811, 998.71838, 0.00000, 17.93360, 180.00000);
  35066. CreateDynamicObject(18667, 415.95300, 511.94620, 997.69220, -13.75940, 0.00000, 0.00000);
  35067. CreateDynamicObject(18663, 408.19449, 516.07813, 1003.14441, -11.36310, 0.00000, 0.00000);
  35068. CreateDynamicObject(18660, 423.36890, 506.89120, 995.58862, 0.00000, 0.00000, 0.00000);
  35069. CreateDynamicObject(18664, 417.28101, 514.95319, 1003.19000, -4.48340, 0.00000, -90.00000);
  35070. CreateDynamicObject(18665, 419.75729, 519.07727, 1003.94781, -7.73000, 0.00000, 90.00000);
  35071. CreateDynamicObject(850, 421.30240, 517.27692, 1001.40363, 0.00000, 0.00000, 43.00000);
  35072. CreateDynamicObject(2672, 421.80237, 514.42841, 1001.59729, 0.00000, 0.00000, 60.00000);
  35073. CreateDynamicObject(2672, 414.40991, 517.27753, 1001.59729, 0.00000, 0.00000, 60.00000);
  35074. CreateDynamicObject(2671, 417.69000, 517.01868, 1001.32330, 0.00000, 0.00000, 0.00000);
  35075. CreateDynamicObject(2676, 418.51535, 516.73083, 1001.41931, 0.00000, 0.00000, 0.00000);
  35076. CreateDynamicObject(851, 421.88541, 506.72009, 999.57330, 0.00000, 0.00000, 12.44530);
  35077. CreateDynamicObject(2676, 421.46320, 516.61407, 995.61731, 0.00000, 0.00000, -22.33970);
  35078. CreateDynamicObject(2670, 414.37701, 513.67603, 995.60608, 0.00000, 0.00000, 95.00000);
  35079. CreateDynamicObject(2670, 416.90500, 517.29620, 995.60608, 0.00000, 0.00000, 0.00000);
  35080. CreateDynamicObject(854, 400.97571, 515.89282, 995.72711, 0.00000, 0.00000, 0.00000);
  35081. CreateDynamicObject(2677, 408.66562, 516.35669, 995.78918, 0.00000, 0.00000, -40.00000);
  35082. CreateDynamicObject(2677, 396.71603, 514.94598, 995.78918, 0.00000, 0.00000, 0.00000);
  35083. CreateDynamicObject(2674, 395.63400, 517.54303, 995.52393, 0.00000, 0.00000, -14.76430);
  35084. CreateDynamicObject(2670, 404.82321, 515.42688, 995.60590, 0.00000, 0.00000, 80.00000);
  35085. CreateDynamicObject(2768, 407.65674, 513.17102, 995.56189, 0.00000, 0.00000, 150.00000);
  35086. CreateDynamicObject(2768, 400.96942, 518.84222, 995.56189, 0.00000, 0.00000, 0.00000);
  35087. CreateDynamicObject(2678, 410.09430, 518.90381, 996.57959, -9.89440, 0.00000, 0.00000);
  35088. CreateDynamicObject(2663, 400.87949, 513.20947, 995.59558, 90.00000, 0.00000, 104.45510);
  35089. CreateDynamicObject(1771, 421.43750, 518.48370, 1008.40338, 90.00000, 0.00000, 0.00000);
  35090. CreateDynamicObject(2653, 416.92270, 518.25122, 1004.84991, 180.00000, 0.00000, 0.00000);
  35091. CreateDynamicObject(2653, 417.82269, 518.25122, 1004.84991, 180.00000, 0.00000, 0.00000);
  35092. CreateDynamicObject(2653, 417.82269, 518.25122, 998.84192, 180.00000, 0.00000, 0.00000);
  35093. CreateDynamicObject(2653, 416.92270, 518.25122, 998.84192, 180.00000, 0.00000, 0.00000);
  35094. CreateDynamicObject(2649, 417.53461, 516.58447, 1010.63928, 180.00000, 0.00000, 90.00000);
  35095. CreateDynamicObject(2677, 413.98611, 507.16739, 997.58533, 0.00000, 0.00000, 45.00000);
  35096. CreateDynamicObject(17969, 415.91339, 505.46811, 1005.41602, 14.84160, 0.00000, -90.00000);
  35097. CreateDynamicObject(18660, 416.72449, 508.43689, 1005.84161, 0.00000, 0.00000, 90.00000);
  35098. CreateDynamicObject(1756, 422.28821, 506.79791, 1005.54962, 0.00000, -83.19760, 0.00000);
  35099. CreateDynamicObject(2806, 414.63919, 514.26031, 1007.23816, 0.00000, 0.00000, 0.00000);
  35100. CreateDynamicObject(18698, 414.48749, 514.25513, 1008.15051, 0.00000, 0.00000, 0.00000);
  35101. CreateDynamicObject(18665, 417.80069, 519.07703, 1008.81091, -7.65270, 0.00000, 90.00000);
  35102. CreateDynamicObject(18664, 422.53510, 516.21808, 1009.39288, 50.95210, 0.00000, 0.00000);
  35103. CreateDynamicObject(2676, 418.45969, 517.17908, 1007.21661, 0.00000, 0.00000, -26.90040);
  35104. CreateDynamicObject(2674, 420.75070, 515.08124, 1007.13141, 0.00000, 0.00000, 0.00000);
  35105. CreateDynamicObject(2677, 413.25311, 517.16760, 1007.38538, 0.00000, 0.00000, 0.00000);
  35106. CreateDynamicObject(854, 412.73270, 513.59448, 1007.27472, 0.00000, 0.00000, 0.00000);
  35107. CreateDynamicObject(18667, 419.55121, 510.21320, 1008.04730, -13.75940, 0.00000, 180.00000);
  35108. CreateDynamicObject(849, 413.78470, 506.65329, 1003.38922, 0.00000, 0.00000, 196.81551);
  35109. CreateDynamicObject(2674, 394.69427, 507.20349, 1001.32880, 0.00000, 0.00000, 40.00000);
  35110. CreateDynamicObject(2672, 394.61447, 509.21536, 1001.59332, 0.00000, 0.00000, 0.00000);
  35111. CreateDynamicObject(2670, 395.05731, 503.29129, 1001.41333, 0.00000, 0.00000, -30.00000);
  35112. CreateDynamicObject(2674, 394.05051, 511.87009, 1001.32880, 0.00000, 0.00000, 130.00000);
  35113. CreateDynamicObject(2677, 402.17981, 502.40799, 1001.58832, 0.00000, 0.00000, 50.00000);
  35114. CreateDynamicObject(19385, 414.85291, 513.37372, 991.46301, 0.00000, 0.00000, 90.00000);
  35115. CreateDynamicObject(1238, 399.43137, 518.41571, 989.89679, 109.86610, 0.00000, -24.50410);
  35116. CreateDynamicObject(1291, 405.52841, 517.55688, 989.99683, 90.00000, 0.00000, 47.84870);
  35117. CreateDynamicObject(1338, 406.56921, 518.27582, 990.40082, 0.00000, 0.00000, -12.59990);
  35118. CreateDynamicObject(1441, 397.67880, 514.92963, 990.36481, 0.00000, 0.00000, 90.00000);
  35119. CreateDynamicObject(1735, 415.78888, 514.25519, 989.72888, 0.00000, 0.00000, -120.00000);
  35120. CreateDynamicObject(850, 414.16040, 517.64203, 989.79889, 0.00000, 0.00000, 0.00000);
  35121. CreateDynamicObject(1506, 413.54239, 521.93597, 989.72980, 0.00000, 0.00000, 0.00000);
  35122. CreateDynamicObject(1506, 410.11041, 521.93597, 989.72980, 0.00000, 0.00000, 0.00000);
  35123. CreateDynamicObject(1506, 406.67841, 521.93597, 989.72980, 0.00000, 0.00000, 0.00000);
  35124. CreateDynamicObject(1506, 402.98239, 521.93597, 989.72980, 0.00000, 0.00000, 0.00000);
  35125. CreateDynamicObject(1506, 399.48441, 521.93597, 989.72980, 0.00000, 0.00000, 0.00000);
  35126. CreateDynamicObject(1506, 399.48441, 513.41400, 989.72980, 0.00000, 0.00000, 0.00000);
  35127. CreateDynamicObject(1506, 402.98239, 513.41400, 989.72980, 0.00000, 0.00000, 0.00000);
  35128. CreateDynamicObject(1506, 406.67841, 513.41400, 989.72980, 0.00000, 0.00000, 0.00000);
  35129. CreateDynamicObject(1506, 410.11041, 513.41400, 989.72980, 0.00000, 0.00000, 0.00000);
  35130. CreateDynamicObject(1533, 397.26721, 516.71771, 989.70660, 0.00000, 0.00000, 90.00000);
  35131. CreateDynamicObject(1238, 410.82855, 516.08582, 989.89679, 109.86610, 0.00000, 79.00000);
  35132. CreateDynamicObject(2670, 410.26639, 517.28528, 989.82123, 0.00000, 0.00000, 0.00000);
  35133. CreateDynamicObject(2674, 404.82190, 518.54852, 989.74921, 0.00000, 0.00000, 0.00000);
  35134. CreateDynamicObject(2672, 398.78366, 520.47852, 990.00720, 0.00000, 0.00000, 0.00000);
  35135. CreateDynamicObject(2671, 412.32599, 514.83838, 989.72522, 0.00000, 0.00000, 0.00000);
  35136. CreateDynamicObject(2676, 407.50073, 515.32758, 989.82721, 0.00000, 0.00000, 590.00000);
  35137. CreateDynamicObject(2677, 410.42041, 520.01233, 989.99921, 0.00000, 0.00000, 0.00000);
  35138. CreateDynamicObject(2671, 401.08099, 517.07971, 989.72522, 0.00000, 0.00000, 39.00000);
  35139. CreateDynamicObject(4227, 416.51111, 514.81921, 991.68158, 0.00000, -3.01470, -90.00000);
  35140. CreateDynamicObject(17969, 408.19199, 521.89099, 991.34363, 0.00000, 0.00000, 90.00000);
  35141. CreateDynamicObject(18660, 405.58139, 513.46692, 991.36462, -5.64290, 0.00000, -90.00000);
  35142. CreateDynamicObject(18663, 412.92371, 513.46570, 991.21863, 5.25640, 0.00000, -90.00000);
  35143. CreateDynamicObject(18665, 397.24011, 515.25940, 991.50629, 0.00000, 0.00000, 180.00000);
  35144. CreateDynamicObject(18667, 397.24039, 519.93439, 991.48828, 70.00000, 0.00000, 180.00000);
  35145. CreateDynamicObject(14840, 398.66101, 521.92078, 991.11230, 0.00000, 0.00000, -90.00000);
  35146. CreateDynamicObject(1440, 414.04340, 506.85989, 992.01270, 0.00000, 0.00000, 90.00000);
  35147. CreateDynamicObject(19571, 414.65051, 508.13409, 991.54309, 90.00000, 0.00000, -15.22810);
  35148. CreateDynamicObject(2714, 406.54770, 511.05069, 1003.96051, 0.00000, 0.00000, -90.00000);
  35149. CreateDynamicObject(2411, 416.16891, 513.09448, 990.07141, -17.23790, 0.00000, 0.00000);
  35150. CreateDynamicObject(18659, 416.27151, 505.44241, 993.63269, -8.03920, 0.00000, -90.00000);
  35151. CreateDynamicObject(18666, 418.30069, 508.43640, 994.78650, -7.03430, 0.00000, 90.00000);
  35152. }
  35153. stock LoadComplex3() //by Runcias
  35154. {
  35155. CreateDynamicObject(1495, 167.66940, 2489.65137, -89.93290, 0.00000, 0.00000, 0.00000);
  35156. CreateDynamicObject(1495, 163.88570, 2510.17822, -89.91240, 0.00000, 0.00000, 90.00000);
  35157. CreateDynamicObject(19378, 174.77980, 2499.51782, -90.00000, 0.00000, 90.00000, 0.00000);
  35158. CreateDynamicObject(19378, 164.29010, 2499.52075, -90.00000, 0.00000, 90.00000, 0.00000);
  35159. CreateDynamicObject(19378, 164.29739, 2489.89746, -90.00000, 0.00000, 90.00000, 0.00000);
  35160. CreateDynamicObject(19378, 174.79372, 2489.90063, -90.00000, 0.00000, 90.00000, 0.00000);
  35161. CreateDynamicObject(19363, 163.87869, 2485.16138, -88.17490, 0.00000, 0.00000, 90.00000);
  35162. CreateDynamicObject(19392, 160.67178, 2485.16260, -88.17410, 0.00000, 0.00000, 90.00000);
  35163. CreateDynamicObject(19363, 167.07910, 2485.16650, -88.17490, 0.00000, 0.00000, 90.00000);
  35164. CreateDynamicObject(19363, 170.28677, 2485.15820, -88.17490, 0.00000, 0.00000, 90.00000);
  35165. CreateDynamicObject(19363, 163.72479, 2484.94775, -88.17490, 0.00000, 0.00000, 0.00000);
  35166. CreateDynamicObject(19409, 163.73309, 2488.14136, -88.17580, 0.00000, 0.00000, 0.00000);
  35167. CreateDynamicObject(19363, 159.17436, 2486.78711, -88.17490, 0.00000, 0.00000, 0.00000);
  35168. CreateDynamicObject(19363, 159.16769, 2489.98584, -88.17490, 0.00000, 0.00000, 0.00000);
  35169. CreateDynamicObject(19363, 159.17349, 2493.18628, -88.17490, 0.00000, 0.00000, 0.00000);
  35170. CreateDynamicObject(19363, 165.25096, 2489.65845, -88.17490, 0.00000, 0.00000, 90.00000);
  35171. CreateDynamicObject(19392, 168.45520, 2489.65918, -88.17410, 0.00000, 0.00000, 90.00000);
  35172. CreateDynamicObject(19363, 169.98030, 2488.13159, -88.17490, 0.00000, 0.00000, 0.00000);
  35173. CreateDynamicObject(19363, 169.97540, 2484.92065, -88.17490, 0.00000, 0.00000, 0.00000);
  35174. CreateDynamicObject(1536, 159.89000, 2485.14258, -89.91560, 0.00000, 0.00000, 0.00000);
  35175. CreateDynamicObject(18755, 173.69800, 2483.19604, -87.97630, 0.00000, 0.00000, -90.00000);
  35176. CreateDynamicObject(19363, 177.07080, 2485.15771, -88.17490, 0.00000, 0.00000, 90.00000);
  35177. CreateDynamicObject(19363, 180.28000, 2485.16260, -88.17490, 0.00000, 0.00000, 90.00000);
  35178. CreateDynamicObject(19455, 179.89951, 2489.94312, -88.17400, 0.00000, 0.00000, 0.00000);
  35179. CreateDynamicObject(19455, 179.90710, 2499.56201, -88.17400, 0.00000, 0.00000, 0.00000);
  35180. CreateDynamicObject(19455, 159.16940, 2499.60229, -88.17400, 0.00000, 0.00000, 0.00000);
  35181. CreateDynamicObject(19455, 163.74492, 2497.63672, -88.17400, 0.00000, 0.00000, 0.00000);
  35182. CreateDynamicObject(19455, 168.49973, 2502.36963, -88.17400, 0.00000, 0.00000, 90.00000);
  35183. CreateDynamicObject(19378, 164.28760, 2509.14429, -90.00000, 0.00000, 90.00000, 0.00000);
  35184. CreateDynamicObject(19378, 174.76860, 2509.14600, -90.00000, 0.00000, 90.00000, 0.00000);
  35185. CreateDynamicObject(19455, 173.25882, 2497.62500, -88.17400, 0.00000, 0.00000, 0.00000);
  35186. CreateDynamicObject(19455, 168.50482, 2492.90332, -88.17400, 0.00000, 0.00000, 90.00000);
  35187. CreateDynamicObject(19455, 168.62422, 2506.17798, -88.17400, 0.00000, 0.00000, 90.00000);
  35188. CreateDynamicObject(19455, 159.17409, 2509.22510, -88.17400, 0.00000, 0.00000, 0.00000);
  35189. CreateDynamicObject(14596, 186.41576, 2501.68774, -90.83660, 0.00000, 0.00000, 0.00000);
  35190. CreateDynamicObject(19455, 179.88539, 2511.28223, -88.17400, 0.00000, 0.00000, 0.00000);
  35191. CreateDynamicObject(19455, 173.37082, 2510.92456, -88.17400, 0.00000, 0.00000, 0.00000);
  35192. CreateDynamicObject(19455, 175.14182, 2513.86133, -88.17400, 0.00000, 0.00000, 90.00000);
  35193. CreateDynamicObject(19455, 165.53920, 2513.85669, -88.17400, 0.00000, 0.00000, 90.00000);
  35194. CreateDynamicObject(19363, 159.15710, 2513.86646, -88.17490, 0.00000, 0.00000, 90.00000);
  35195. CreateDynamicObject(19363, 163.88513, 2507.70776, -88.17490, 0.00000, 0.00000, 0.00000);
  35196. CreateDynamicObject(19363, 163.88901, 2514.11157, -88.17490, 0.00000, 0.00000, 0.00000);
  35197. CreateDynamicObject(19392, 163.87959, 2510.91113, -88.17410, 0.00000, 0.00000, 0.00000);
  35198. CreateDynamicObject(2605, 164.34128, 2488.21069, -89.51270, 0.00000, 0.00000, 90.00000);
  35199. CreateDynamicObject(2164, 163.83501, 2485.85693, -89.91280, 0.00000, 0.00000, 90.00000);
  35200. CreateDynamicObject(1712, 169.49014, 2488.01831, -89.91260, 0.00000, 0.00000, -90.00000);
  35201. CreateDynamicObject(2235, 167.11861, 2485.17480, -89.91300, 0.00000, 0.00000, 0.00000);
  35202. CreateDynamicObject(1549, 169.27350, 2485.55396, -89.91270, 0.00000, 0.00000, 50.00000);
  35203. CreateDynamicObject(2855, 167.38684, 2485.66064, -89.42720, 0.00000, 0.00000, -120.00000);
  35204. CreateDynamicObject(2238, 168.01799, 2485.70264, -89.00730, 0.00000, 0.00000, 0.00000);
  35205. CreateDynamicObject(1806, 165.13179, 2487.77808, -89.91270, 0.00000, 0.00000, 20.00000);
  35206. CreateDynamicObject(2260, 167.10005, 2485.72119, -88.01350, 0.00000, 0.00000, 180.00000);
  35207. CreateDynamicObject(19466, 163.72301, 2488.34766, -87.57560, 0.00000, 0.00000, 0.00000);
  35208. CreateDynamicObject(1330, 163.13237, 2485.76978, -89.45270, 0.00000, 0.00000, 9.00000);
  35209. CreateDynamicObject(19314, 168.45410, 2489.77148, -87.17090, 90.00000, 90.00000, 0.00000);
  35210. CreateDynamicObject(19347, 164.41870, 2488.08667, -89.09620, 0.00000, 0.00000, 0.00000);
  35211. CreateDynamicObject(18641, 164.12950, 2488.08667, -89.07620, -90.00000, 90.00000, 50.00000);
  35212. CreateDynamicObject(19474, 171.26967, 2509.96973, -89.35330, 0.00000, 0.00000, 0.00000);
  35213. CreateDynamicObject(1712, 166.87361, 2506.81812, -89.91270, 0.00000, 0.00000, 180.00000);
  35214. CreateDynamicObject(1823, 165.57867, 2508.09082, -89.91281, 0.00000, 0.00000, 0.00000);
  35215. CreateDynamicObject(2854, 166.00230, 2508.56079, -89.41910, 0.00000, 0.00000, 0.00000);
  35216. CreateDynamicObject(1330, 172.82903, 2506.71997, -89.47330, 0.00000, 0.00000, 0.00000);
  35217. CreateDynamicObject(1210, 167.33705, 2506.90210, -89.75360, 0.00000, 0.00000, 90.00000);
  35218. CreateDynamicObject(2681, 166.52754, 2513.18677, -89.91290, 0.00000, 0.00000, 0.00000);
  35219. CreateDynamicObject(1330, 164.40500, 2513.38135, -89.47300, 0.00000, 0.00000, 0.00000);
  35220. CreateDynamicObject(2779, 168.21278, 2513.17163, -89.91261, 0.00000, 0.00000, 0.00000);
  35221. CreateDynamicObject(1731, 162.48328, 2485.39380, -88.01810, 0.00000, 0.00000, -90.00000);
  35222. CreateDynamicObject(19133, 159.23019, 2488.37329, -88.33640, 90.00000, 0.00000, 0.00000);
  35223. CreateDynamicObject(1535, 163.72600, 2499.71265, -89.94700, 0.00000, 0.00000, 90.00000);
  35224. CreateDynamicObject(1535, 163.71417, 2493.98535, -89.94700, 0.00000, 0.00000, 90.00000);
  35225. CreateDynamicObject(1731, 163.50400, 2497.59253, -87.83990, 0.00000, 0.00000, 0.00000);
  35226. CreateDynamicObject(1535, 173.32091, 2499.86182, -89.94700, 0.00000, 0.00000, 90.00000);
  35227. CreateDynamicObject(1535, 173.33266, 2493.99829, -89.94700, 0.00000, 0.00000, 90.00000);
  35228. CreateDynamicObject(1731, 173.49640, 2497.80298, -87.57090, 0.00000, 0.00000, 180.00000);
  35229. CreateDynamicObject(1330, 179.36600, 2485.72900, -89.47500, 0.00000, 0.00000, 0.00000);
  35230. CreateDynamicObject(2268, 178.24561, 2485.75195, -88.41080, 0.00000, 0.00000, 180.00000);
  35231. CreateDynamicObject(1731, 176.99229, 2485.39673, -87.97100, 0.00000, 0.00000, -90.00000);
  35232. CreateDynamicObject(1535, 179.87212, 2488.10010, -89.91460, 0.00000, 0.00000, 90.00000);
  35233. CreateDynamicObject(1535, 179.87938, 2493.96436, -89.91460, 0.00000, 0.00000, 90.00000);
  35234. CreateDynamicObject(1535, 176.09503, 2513.80713, -89.91460, 0.00000, 0.00000, 0.00000);
  35235. CreateDynamicObject(1535, 179.86699, 2509.65332, -89.91460, 0.00000, 0.00000, 90.00000);
  35236. CreateDynamicObject(1330, 173.83974, 2513.33154, -89.47390, 0.00000, 0.00000, 0.00000);
  35237. CreateDynamicObject(1731, 178.58060, 2513.62769, -87.66010, 0.00000, 0.00000, 90.00000);
  35238. CreateDynamicObject(1731, 179.64020, 2512.53760, -87.66010, 0.00000, 0.00000, 0.00000);
  35239. CreateDynamicObject(2265, 174.91240, 2513.27661, -88.18660, 0.00000, 0.00000, 0.00000);
  35240. CreateDynamicObject(1535, 160.87723, 2513.80151, -89.91460, 0.00000, 0.00000, 0.00000);
  35241. CreateDynamicObject(1535, 159.23965, 2509.26245, -89.91460, 0.00000, 0.00000, 90.00000);
  35242. CreateDynamicObject(1731, 159.41716, 2512.26025, -87.50900, 0.00000, 0.00000, 180.00000);
  35243. CreateDynamicObject(1731, 160.00648, 2513.62256, -87.50900, 0.00000, 0.00000, 90.00000);
  35244. CreateDynamicObject(1330, 159.63036, 2513.34570, -89.47300, 0.00000, 0.00000, 0.00000);
  35245. CreateDynamicObject(2286, 173.25191, 2509.66235, -87.88730, 0.00000, 0.00000, -90.00000);
  35246. CreateDynamicObject(1535, 159.22736, 2499.93921, -89.91460, 0.00000, 0.00000, 90.00000);
  35247. CreateDynamicObject(1535, 159.24034, 2493.97559, -89.91460, 0.00000, 0.00000, 90.00000);
  35248. CreateDynamicObject(1731, 159.43825, 2497.80981, -87.50900, 0.00000, 0.00000, 180.00000);
  35249. CreateDynamicObject(1731, 179.63503, 2491.67847, -87.66010, 0.00000, 0.00000, 0.00000);
  35250. CreateDynamicObject(19379, 164.30305, 2489.91040, -86.43420, 0.00000, 90.00000, 0.00000);
  35251. CreateDynamicObject(19379, 174.80309, 2489.92944, -86.43420, 0.00000, 90.00000, 0.00000);
  35252. CreateDynamicObject(19379, 174.78734, 2499.53394, -86.43420, 0.00000, 90.00000, 0.00000);
  35253. CreateDynamicObject(19379, 164.35258, 2499.54517, -86.43420, 0.00000, 90.00000, 0.00000);
  35254. CreateDynamicObject(19379, 165.42210, 2509.16895, -86.43420, 0.00000, 90.00000, 0.00000);
  35255. CreateDynamicObject(19379, 175.91251, 2509.17017, -86.43420, 0.00000, 90.00000, 0.00000);
  35256. CreateDynamicObject(19379, 154.99165, 2509.14917, -86.43420, 0.00000, 90.00000, 0.00000);
  35257. CreateDynamicObject(19377, 175.83620, 2505.14648, -95.81610, 0.00000, 90.00000, 0.00000);
  35258. CreateDynamicObject(19447, 175.33516, 2509.75439, -93.99060, 0.00000, 0.00000, 90.00000);
  35259. CreateDynamicObject(19447, 175.35667, 2501.08545, -93.99060, 0.00000, 0.00000, 90.00000);
  35260. CreateDynamicObject(19355, 180.08479, 2508.09131, -93.97030, 0.00000, 0.00000, 0.00000);
  35261. CreateDynamicObject(19355, 180.08479, 2502.76611, -93.97030, 0.00000, 0.00000, 0.00000);
  35262. CreateDynamicObject(19447, 170.55511, 2505.37085, -93.99060, 0.00000, 0.00000, 0.00000);
  35263. CreateDynamicObject(14775, 174.50310, 2501.26904, -93.72490, 0.00000, 0.00000, 180.00000);
  35264. CreateDynamicObject(14782, 176.13734, 2509.34717, -94.70870, 0.00000, 0.00000, 0.00000);
  35265. CreateDynamicObject(918, 179.67578, 2509.31616, -95.37010, 0.00000, 0.00000, 0.00000);
  35266. CreateDynamicObject(1348, 171.63040, 2509.05005, -95.02960, 0.00000, 0.00000, 0.00000);
  35267. CreateDynamicObject(933, 172.27116, 2504.46143, -95.72934, 0.00000, 0.00000, 0.00000);
  35268. CreateDynamicObject(1353, 171.38425, 2501.92407, -95.04960, 0.00000, 0.00000, 0.00000);
  35269. CreateDynamicObject(1369, 171.36270, 2506.44434, -95.13000, 0.00000, 0.00000, 0.00000);
  35270. CreateDynamicObject(1372, 178.69635, 2501.66113, -95.62920, 0.00000, 0.00000, 180.00000);
  35271. CreateDynamicObject(1372, 175.87645, 2501.69043, -95.62920, 0.00000, 0.00000, 180.00000);
  35272. CreateDynamicObject(1409, 177.27365, 2501.66626, -95.62930, 0.00000, 0.00000, 0.00000);
  35273. CreateDynamicObject(1558, 176.14000, 2504.56348, -95.14860, 0.00000, 0.00000, 0.00000);
  35274. CreateDynamicObject(1558, 176.12617, 2505.66577, -95.14860, 0.00000, 0.00000, 0.00000);
  35275. CreateDynamicObject(1558, 175.01320, 2505.09351, -95.14860, 0.00000, 0.00000, 0.00000);
  35276. CreateDynamicObject(1558, 175.63800, 2505.03418, -94.10860, 0.00000, 0.00000, 0.00000);
  35277. CreateDynamicObject(19378, 175.86020, 2504.94312, -92.30000, 0.00000, 90.00000, 0.00000);
  35278. CreateDynamicObject(19377, 185.55225, 2505.80347, -95.73199, 0.00000, 0.00000, 0.00000);
  35279. CreateDynamicObject(19375, 176.31772, 2506.15063, -84.21410, 0.00000, 90.00000, 0.00000);
  35280. CreateDynamicObject(19375, 165.81107, 2506.15820, -84.21410, 0.00000, 90.00000, 0.00000);
  35281. CreateDynamicObject(19375, 155.32430, 2506.15796, -84.21410, 0.00000, 90.00000, 0.00000);
  35282. CreateDynamicObject(19358, 180.74741, 2502.76489, -82.43080, 0.00000, 0.00000, 0.00000);
  35283. CreateDynamicObject(19358, 180.75220, 2508.09131, -82.43080, 0.00000, 0.00000, 0.00000);
  35284. CreateDynamicObject(19450, 176.10500, 2509.78589, -82.43000, 0.00000, 0.00000, 90.00000);
  35285. CreateDynamicObject(19450, 166.47780, 2509.80005, -82.43000, 0.00000, 0.00000, 90.00000);
  35286. CreateDynamicObject(19450, 156.87546, 2509.79883, -82.43000, 0.00000, 0.00000, 90.00000);
  35287. CreateDynamicObject(19450, 166.54799, 2501.34448, -82.43000, 0.00000, 0.00000, 90.00000);
  35288. CreateDynamicObject(19450, 156.91534, 2501.34351, -82.43000, 0.00000, 0.00000, 90.00000);
  35289. CreateDynamicObject(19450, 152.51118, 2505.47192, -82.43000, 0.00000, 0.00000, 0.00000);
  35290. CreateDynamicObject(1535, 152.58044, 2502.68433, -84.13050, 0.00000, 0.00000, 90.00000);
  35291. CreateDynamicObject(1535, 152.58234, 2506.92554, -84.13050, 0.00000, 0.00000, 90.00000);
  35292. CreateDynamicObject(1535, 154.01143, 2509.72437, -84.13050, 0.00000, 0.00000, 0.00000);
  35293. CreateDynamicObject(1535, 162.06996, 2509.73535, -84.13050, 0.00000, 0.00000, 0.00000);
  35294. CreateDynamicObject(1535, 154.15306, 2501.37451, -84.13050, 0.00000, 0.00000, 0.00000);
  35295. CreateDynamicObject(1535, 162.98871, 2501.40332, -84.13050, 0.00000, 0.00000, 0.00000);
  35296. CreateDynamicObject(1535, 169.76723, 2509.73535, -84.13050, 0.00000, 0.00000, 0.00000);
  35297. CreateDynamicObject(1535, 177.12770, 2509.72754, -84.13050, 0.00000, 0.00000, 0.00000);
  35298. CreateDynamicObject(19380, 176.25819, 2505.61157, -80.61000, 0.00000, 90.00000, 0.00000);
  35299. CreateDynamicObject(19380, 165.80792, 2505.60229, -80.61000, 0.00000, 90.00000, 0.00000);
  35300. CreateDynamicObject(19380, 155.31279, 2505.63184, -80.61000, 0.00000, 90.00000, 0.00000);
  35301. CreateDynamicObject(19380, 180.77750, 2505.70728, -76.12000, 0.00000, 0.00000, 0.00000);
  35302. CreateDynamicObject(19375, 176.33250, 2496.53442, -84.21410, 0.00000, 90.00000, 0.00000);
  35303. CreateDynamicObject(19375, 176.33566, 2486.90967, -84.21410, 0.00000, 90.00000, 0.00000);
  35304. CreateDynamicObject(18755, 173.69800, 2483.19604, -82.18000, 0.00000, 0.00000, -90.00000);
  35305. CreateDynamicObject(19450, 171.28337, 2496.60547, -82.43000, 0.00000, 0.00000, 0.00000);
  35306. CreateDynamicObject(19450, 171.27251, 2486.98560, -82.43000, 0.00000, 0.00000, 0.00000);
  35307. CreateDynamicObject(19450, 180.75031, 2496.41187, -82.43000, 0.00000, 0.00000, 0.00000);
  35308. CreateDynamicObject(19450, 180.75990, 2486.79810, -82.43000, 0.00000, 0.00000, 0.00000);
  35309. CreateDynamicObject(19450, 180.27991, 2485.14868, -82.43000, 0.00000, 0.00000, 90.00000);
  35310. CreateDynamicObject(19450, 167.08611, 2485.17334, -82.43000, 0.00000, 0.00000, 90.00000);
  35311. CreateDynamicObject(19439, 175.47040, 2485.12866, -80.40010, 90.00000, 0.00000, 90.00000);
  35312. CreateDynamicObject(19439, 171.96770, 2485.11987, -80.40010, 90.00000, 0.00000, 90.00000);
  35313. CreateDynamicObject(1330, 178.24197, 2485.86890, -83.68860, 0.00000, 0.00000, 0.00000);
  35314. CreateDynamicObject(1535, 180.73372, 2490.51587, -84.13050, 0.00000, 0.00000, 90.00000);
  35315. CreateDynamicObject(1535, 180.73009, 2497.61230, -84.13050, 0.00000, 0.00000, 90.00000);
  35316. CreateDynamicObject(1712, 179.99945, 2487.48560, -84.12810, 0.00000, 0.00000, 220.00000);
  35317. CreateDynamicObject(2261, 178.28606, 2485.76196, -82.17560, 0.00000, 0.00000, 180.00000);
  35318. CreateDynamicObject(2260, 171.84410, 2487.32690, -82.21700, 0.00000, 0.00000, 90.00000);
  35319. CreateDynamicObject(2262, 171.85159, 2492.88452, -82.13970, 0.00000, 0.00000, 90.00000);
  35320. CreateDynamicObject(2263, 171.86945, 2495.82813, -81.89590, 0.00000, 0.00000, 90.00000);
  35321. CreateDynamicObject(2264, 171.87030, 2498.90015, -82.09670, 0.00000, 0.00000, 90.00000);
  35322. CreateDynamicObject(2265, 171.84715, 2490.49463, -82.12310, 0.00000, 0.00000, 90.00000);
  35323. CreateDynamicObject(19439, 175.43393, 2485.15039, -86.17230, 90.00000, 0.00000, 90.00000);
  35324. CreateDynamicObject(19439, 171.94534, 2485.15381, -86.17230, 90.00000, 0.00000, 90.00000);
  35325. CreateDynamicObject(19380, 176.20483, 2495.98071, -80.61000, 0.00000, 90.00000, 0.00000);
  35326. CreateDynamicObject(19380, 176.20393, 2486.34692, -80.61000, 0.00000, 90.00000, 0.00000);
  35327. }
  35328. stock LoadStudioApartments() //by Private200
  35329. {
  35330. new tmpobjid;
  35331. tmpobjid = CreateDynamicObject(19377, 235.273666, 231.651199, 998.126220, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35332. SetDynamicObjectMaterial(tmpobjid, 0, 9907, "monlith_sfe", "window5b", 0xFF99CCFF);
  35333. tmpobjid = CreateDynamicObject(19456, 240.430206, 235.651504, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35334. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35335. tmpobjid = CreateDynamicObject(19456, 228.883499, 235.651748, 999.966125, 0.000000, 0.000000, 89.900001, -1, -1, -1, 300.00, 300.00);
  35336. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35337. tmpobjid = CreateDynamicObject(19456, 230.160934, 240.529769, 1003.374389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35338. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35339. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35340. tmpobjid = CreateDynamicObject(8572, 233.857345, 242.920913, 1000.471130, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35341. SetDynamicObjectMaterial(tmpobjid, 0, 9583, "bigshap_sfw", "ship2wall_3", 0x00000000);
  35342. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0xFFBFBFBF);
  35343. SetDynamicObjectMaterial(tmpobjid, 2, 9583, "bigshap_sfw", "ship2wall_3", 0x00000000);
  35344. tmpobjid = CreateDynamicObject(19456, 234.298706, 243.661804, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35345. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35346. tmpobjid = CreateDynamicObject(19456, 230.094406, 240.432495, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35347. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35348. tmpobjid = CreateDynamicObject(19456, 237.128692, 235.653503, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35349. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35350. tmpobjid = CreateDynamicObject(19456, 227.497695, 235.651504, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35351. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35352. tmpobjid = CreateDynamicObject(19456, 234.298706, 243.663803, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35353. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35354. tmpobjid = CreateDynamicObject(2151, 230.410995, 236.906600, 998.232299, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35355. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35356. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35357. tmpobjid = CreateDynamicObject(2151, 230.409805, 235.543594, 998.233215, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35358. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35359. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35360. tmpobjid = CreateDynamicObject(2154, 230.409805, 238.282394, 998.232727, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35361. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35362. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35363. tmpobjid = CreateDynamicObject(2152, 230.409805, 239.624099, 998.232971, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35364. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35365. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35366. tmpobjid = CreateDynamicObject(2153, 230.409805, 240.979995, 998.232971, 0.000000, 0.000000, 89.893898, -1, -1, -1, 300.00, 300.00);
  35367. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35368. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35369. tmpobjid = CreateDynamicObject(2127, 231.379989, 242.010955, 998.184387, 0.000000, 0.000000, 49.000000, -1, -1, -1, 300.00, 300.00);
  35370. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35371. SetDynamicObjectMaterial(tmpobjid, 1, 9583, "bigshap_sfw", "ship2wall_3", 0xFF990000);
  35372. SetDynamicObjectMaterial(tmpobjid, 2, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35373. tmpobjid = CreateDynamicObject(19456, 232.120498, 243.308898, 999.970092, 0.000000, 0.000000, -41.875999, -1, -1, -1, 300.00, 300.00);
  35374. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35375. tmpobjid = CreateDynamicObject(19456, 239.053924, 238.921981, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35376. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35377. tmpobjid = CreateDynamicObject(19377, 229.897994, 237.183303, 1001.639221, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35378. SetDynamicObjectMaterial(tmpobjid, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0x00000000);
  35379. SetDynamicObjectMaterial(tmpobjid, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0x00000000);
  35380. tmpobjid = CreateDynamicObject(2273, 230.670104, 238.757598, 999.858276, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35381. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  35382. tmpobjid = CreateDynamicObject(2273, 230.670104, 239.641799, 999.858276, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35383. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  35384. tmpobjid = CreateDynamicObject(19437, 235.048797, 241.186996, 1003.374389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35385. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35386. tmpobjid = CreateDynamicObject(19437, 235.048797, 236.027603, 1003.374389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35387. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35388. tmpobjid = CreateDynamicObject(19437, 230.968734, 236.335617, 1003.374389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35389. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35390. tmpobjid = CreateDynamicObject(19437, 230.206268, 237.029907, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35391. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35392. tmpobjid = CreateDynamicObject(19437, 230.968704, 241.469406, 1003.374389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35393. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35394. tmpobjid = CreateDynamicObject(19456, 230.968704, 247.081497, 1003.374389, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35395. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35396. tmpobjid = CreateDynamicObject(19437, 230.089294, 240.752197, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35397. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35398. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35399. tmpobjid = CreateDynamicObject(3498, 234.984298, 241.757293, 1000.872619, -0.122299, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35400. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35401. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0xFFBFBFBF);
  35402. tmpobjid = CreateDynamicObject(19377, 225.631225, 239.235336, 1003.908020, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35403. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35404. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35405. tmpobjid = CreateDynamicObject(19456, 230.880722, 240.543502, 1005.357910, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35406. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35407. tmpobjid = CreateDynamicObject(19377, 225.647201, 237.152603, 1002.254211, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35408. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35409. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35410. tmpobjid = CreateDynamicObject(3498, 238.824462, 243.387313, 1000.869140, -0.122299, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35411. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35412. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0xFFBFBFBF);
  35413. tmpobjid = CreateDynamicObject(3498, 238.824462, 235.887451, 1000.884826, -0.122299, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35414. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0x00000000);
  35415. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "walp72S", 0xFFBFBFBF);
  35416. tmpobjid = CreateDynamicObject(2155, 233.124298, 236.223693, 998.233581, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35417. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35418. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35419. tmpobjid = CreateDynamicObject(2155, 233.124298, 237.051696, 998.233581, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35420. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35421. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35422. tmpobjid = CreateDynamicObject(2155, 232.661605, 236.058898, 998.233581, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35423. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35424. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35425. tmpobjid = CreateDynamicObject(2155, 232.661605, 236.888107, 998.233581, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35426. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35427. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFFBFBFBF);
  35428. tmpobjid = CreateDynamicObject(19393, 231.942596, 241.899093, 1003.365966, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35429. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35430. tmpobjid = CreateDynamicObject(19437, 234.351806, 241.899093, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35431. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35432. tmpobjid = CreateDynamicObject(19377, 235.443191, 240.535339, 1004.526306, 0.000000, -50.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35433. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35434. SetDynamicObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "Bow_church_grass_alt", 0x00000000);
  35435. tmpobjid = CreateDynamicObject(19393, 234.774993, 235.639419, 999.976135, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35436. SetDynamicObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschurchwall04_256", 0x00000000);
  35437. tmpobjid = CreateDynamicObject(1491, 231.159301, 241.885696, 1001.727416, 0.000000, 0.000000, 0.122299, -1, -1, -1, 300.00, 300.00);
  35438. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "CJ_WOODDOOR5", 0x00000000);
  35439. SetDynamicObjectMaterial(tmpobjid, 1, 14534, "ab_wooziea", "CJ_WOODDOOR5", 0x00000000);
  35440. SetDynamicObjectMaterial(tmpobjid, 2, 14534, "ab_wooziea", "CJ_WOODDOOR5", 0x00000000);
  35441. tmpobjid = CreateDynamicObject(2314, 237.869400, 239.767593, 998.234008, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35442. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0x00000000);
  35443. SetDynamicObjectMaterial(tmpobjid, 1, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35444. tmpobjid = CreateDynamicObject(2267, 238.902099, 239.068023, 999.779785, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35445. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35446. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  35447. tmpobjid = CreateDynamicObject(19820, 239.498397, 238.485595, 999.357971, 0.000000, -90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35448. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0xFF0000FF);
  35449. tmpobjid = CreateDynamicObject(19820, 239.498397, 238.575607, 999.357971, 0.000000, -90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35450. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0xFFFF0000);
  35451. tmpobjid = CreateDynamicObject(19456, 239.053894, 229.766998, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35452. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35453. tmpobjid = CreateDynamicObject(19456, 233.803741, 230.788330, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35454. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35455. tmpobjid = CreateDynamicObject(19456, 236.186538, 230.739578, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35456. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35457. tmpobjid = CreateDynamicObject(2132, 234.378845, 232.013793, 998.233276, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35458. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0x00000000);
  35459. SetDynamicObjectMaterial(tmpobjid, 2, 10765, "airportgnd_sfse", "white", 0x00000000);
  35460. tmpobjid = CreateDynamicObject(2273, 234.381011, 232.543350, 999.817382, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35461. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35462. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  35463. tmpobjid = CreateDynamicObject(2273, 234.103561, 232.656250, 999.717407, -90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35464. SetDynamicObjectMaterial(tmpobjid, 0, 8487, "ballyswater", "waterclear256", 0x00000000);
  35465. SetDynamicObjectMaterial(tmpobjid, 1, 8487, "ballyswater", "waterclear256", 0x00000000);
  35466. tmpobjid = CreateDynamicObject(2267, 237.810165, 234.338485, 998.254211, -90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35467. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "white", 0x00000000);
  35468. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0xFF0000CC);
  35469. tmpobjid = CreateDynamicObject(19377, 235.430191, 230.821777, 998.145324, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35470. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", 0x5E5E5EFF);
  35471. tmpobjid = CreateDynamicObject(19437, 237.168792, 230.287796, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35472. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35473. tmpobjid = CreateDynamicObject(19437, 239.507644, 232.614715, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35474. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35475. tmpobjid = CreateDynamicObject(19981, 238.067459, 228.473846, 999.737304, -90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35476. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "white", 0x00000000);
  35477. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  35478. SetDynamicObjectMaterial(tmpobjid, 2, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35479. tmpobjid = CreateDynamicObject(19581, 238.935806, 231.660995, 1000.424621, 0.000000, 180.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35480. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0x00000000);
  35481. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  35482. tmpobjid = CreateDynamicObject(1510, 238.964492, 231.779296, 999.614379, 90.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35483. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0xFF0000FF);
  35484. tmpobjid = CreateDynamicObject(1510, 238.964492, 231.574401, 999.614379, 90.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35485. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0xFF990000);
  35486. tmpobjid = CreateDynamicObject(19823, 237.913406, 231.121994, 999.758911, 0.000000, 0.000000, -45.000000, -1, -1, -1, 300.00, 300.00);
  35487. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0x00000000);
  35488. tmpobjid = CreateDynamicObject(2230, 239.346893, 237.819793, 999.042480, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35489. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0x00000000);
  35490. SetDynamicObjectMaterial(tmpobjid, 2, 14652, "ab_trukstpa", "mp_diner_wood", 0x00000000);
  35491. tmpobjid = CreateDynamicObject(2230, 239.346893, 239.683303, 999.042480, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35492. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0x00000000);
  35493. SetDynamicObjectMaterial(tmpobjid, 2, 14652, "ab_trukstpa", "mp_diner_wood", 0x00000000);
  35494. tmpobjid = CreateDynamicObject(19377, 235.273666, 240.431472, 998.145324, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35495. SetDynamicObjectMaterial(tmpobjid, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0x00000000);
  35496. SetDynamicObjectMaterial(tmpobjid, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0x00000000);
  35497. tmpobjid = CreateDynamicObject(19456, 240.329895, 235.621429, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35498. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35499. tmpobjid = CreateDynamicObject(19456, 239.048507, 230.719772, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35500. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35501. tmpobjid = CreateDynamicObject(19377, 227.810501, 246.816802, 1001.639221, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35502. SetDynamicObjectMaterial(tmpobjid, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0x00000000);
  35503. SetDynamicObjectMaterial(tmpobjid, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0x00000000);
  35504. tmpobjid = CreateDynamicObject(19456, 240.335006, 229.401229, 999.966125, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35505. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35506. tmpobjid = CreateDynamicObject(19364, 238.893920, 231.024475, 998.173217, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35507. SetDynamicObjectMaterial(tmpobjid, 0, 14815, "whore_main", "WH_tiles", 0x00000000);
  35508. tmpobjid = CreateDynamicObject(19456, 236.508697, 235.620101, 1003.270019, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35509. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35510. tmpobjid = CreateDynamicObject(19393, 234.784988, 235.619522, 999.956115, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35511. SetDynamicObjectMaterial(tmpobjid, 0, 3922, "bistro", "ahoodfence2", 0x00000000);
  35512. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  35513. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  35514. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  35515. tmpobjid = CreateDynamicObject(19456, 237.473999, 264.332489, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35516. tmpobjid = CreateDynamicObject(19456, 228.037597, 264.332489, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35517. tmpobjid = CreateDynamicObject(19377, 227.629501, 245.389312, 1001.606079, 0.000000, 90.000000, 47.991001, -1, -1, -1, 300.00, 300.00);
  35518. tmpobjid = CreateDynamicObject(2298, 234.860351, 237.615081, 1001.661804, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35519. tmpobjid = CreateDynamicObject(1649, 235.131500, 238.658599, 1003.235107, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35520. tmpobjid = CreateDynamicObject(19377, 235.273666, 240.431472, 1004.822082, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35521. tmpobjid = CreateDynamicObject(2205, 234.354705, 235.894897, 1001.727111, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35522. tmpobjid = CreateDynamicObject(19893, 233.698669, 236.133148, 1002.662597, 0.000000, 0.000000, 164.661849, -1, -1, -1, 300.00, 300.00);
  35523. tmpobjid = CreateDynamicObject(1715, 234.079177, 237.065689, 1001.727661, 0.000000, 0.000000, 325.671081, -1, -1, -1, 300.00, 300.00);
  35524. tmpobjid = CreateDynamicObject(1742, 234.212295, 235.533706, 1003.040283, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35525. tmpobjid = CreateDynamicObject(1649, 230.899734, 239.154266, 1003.332275, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35526. tmpobjid = CreateDynamicObject(19437, 230.206298, 241.361999, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35527. tmpobjid = CreateDynamicObject(19377, 227.810501, 246.816802, 1001.639221, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35528. tmpobjid = CreateDynamicObject(2394, 230.614501, 239.277603, 1003.107299, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35529. tmpobjid = CreateDynamicObject(19981, 230.624298, 239.594802, 1003.458801, 90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35530. tmpobjid = CreateDynamicObject(19981, 230.624298, 239.594802, 1003.458801, 90.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35531. tmpobjid = CreateDynamicObject(2386, 230.552001, 237.513198, 1002.374206, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35532. tmpobjid = CreateDynamicObject(2384, 230.537704, 238.084197, 1002.447509, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35533. tmpobjid = CreateDynamicObject(2070, 231.172393, 237.574005, 1002.452087, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35534. tmpobjid = CreateDynamicObject(2030, 233.741897, 239.988067, 998.626403, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35535. tmpobjid = CreateDynamicObject(2123, 233.765518, 238.841461, 998.821899, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35536. tmpobjid = CreateDynamicObject(2123, 234.567504, 239.998703, 998.821899, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35537. tmpobjid = CreateDynamicObject(2123, 233.822113, 241.211715, 998.821899, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35538. tmpobjid = CreateDynamicObject(2123, 232.936599, 240.022506, 998.821899, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35539. tmpobjid = CreateDynamicObject(2828, 232.933624, 236.005371, 1002.662536, 0.000000, 0.000000, 312.951995, -1, -1, -1, 300.00, 300.00);
  35540. tmpobjid = CreateDynamicObject(2864, 230.512405, 238.799804, 999.279418, 0.000000, 0.000000, 7.247700, -1, -1, -1, 300.00, 300.00);
  35541. tmpobjid = CreateDynamicObject(11728, 233.204193, 235.662506, 999.797973, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35542. tmpobjid = CreateDynamicObject(19828, 231.369903, 240.268402, 1002.170715, -90.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35543. tmpobjid = CreateDynamicObject(19828, 231.369903, 237.588104, 1002.170715, -90.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35544. tmpobjid = CreateDynamicObject(19830, 230.496994, 236.379455, 999.284973, 0.000000, 0.000000, 135.000000, -1, -1, -1, 300.00, 300.00);
  35545. tmpobjid = CreateDynamicObject(19874, 230.348800, 238.477905, 999.299377, 0.000000, 0.000000, 30.000000, -1, -1, -1, 300.00, 300.00);
  35546. tmpobjid = CreateDynamicObject(11743, 232.600097, 235.912094, 999.286071, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35547. tmpobjid = CreateDynamicObject(11706, 233.266403, 243.509201, 998.128173, -0.122299, 0.000000, 0.733798, -1, -1, -1, 300.00, 300.00);
  35548. tmpobjid = CreateDynamicObject(19377, 235.430191, 230.821777, 1001.516723, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35549. tmpobjid = CreateDynamicObject(1753, 236.221038, 237.956100, 998.233520, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35550. tmpobjid = CreateDynamicObject(2295, 234.361053, 241.178894, 1001.727172, 0.000000, 0.000000, -45.000000, -1, -1, -1, 300.00, 300.00);
  35551. tmpobjid = CreateDynamicObject(1754, 237.524246, 236.467269, 998.233215, 0.000000, 0.000000, 170.000000, -1, -1, -1, 300.00, 300.00);
  35552. tmpobjid = CreateDynamicObject(2345, 231.055374, 238.244720, 1004.415100, 38.852199, 0.000000, 90.322998, -1, -1, -1, 300.00, 300.00);
  35553. tmpobjid = CreateDynamicObject(2345, 231.048492, 239.457519, 1004.415100, 38.852199, 0.000000, 90.322998, -1, -1, -1, 300.00, 300.00);
  35554. tmpobjid = CreateDynamicObject(2519, 237.152374, 235.117187, 998.233886, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35555. tmpobjid = CreateDynamicObject(2528, 236.010299, 231.282546, 998.233703, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35556. tmpobjid = CreateDynamicObject(1649, 240.036743, 232.634536, 999.802673, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35557. tmpobjid = CreateDynamicObject(1649, 237.143402, 229.617706, 999.802673, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35558. tmpobjid = CreateDynamicObject(19570, 238.232101, 231.135635, 999.758850, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35559. tmpobjid = CreateDynamicObject(19617, 236.296386, 243.611923, 1000.277893, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35560. tmpobjid = CreateDynamicObject(19617, 237.176406, 243.611892, 1000.011901, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35561. tmpobjid = CreateDynamicObject(19617, 238.056396, 243.611892, 999.783874, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35562. tmpobjid = CreateDynamicObject(3810, 238.835311, 241.969619, 1000.638916, 0.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35563. tmpobjid = CreateDynamicObject(19456, 237.473999, 264.332489, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35564. tmpobjid = CreateDynamicObject(19456, 228.037597, 264.332489, 999.966125, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35565. tmpobjid = CreateDynamicObject(19377, 227.629501, 245.389312, 1001.606079, 0.000000, 90.000000, 47.991001, -1, -1, -1, 300.00, 300.00);
  35566. tmpobjid = CreateDynamicObject(19437, 230.206298, 241.361999, 1003.374389, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35567. tmpobjid = CreateDynamicObject(19981, 230.624298, 239.594802, 1003.458801, 90.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35568. tmpobjid = CreateDynamicObject(19981, 230.624298, 239.594802, 1003.458801, 90.000000, 0.000000, 180.000000, -1, -1, -1, 300.00, 300.00);
  35569. tmpobjid = CreateDynamicObject(2070, 231.172393, 240.260498, 1002.452087, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35570. tmpobjid = CreateDynamicObject(1731, 232.832794, 235.880706, 1003.413574, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00);
  35571. tmpobjid = CreateDynamicObject(19828, 231.369903, 240.268402, 1002.170715, -90.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35572. tmpobjid = CreateDynamicObject(19874, 230.348800, 238.477905, 999.299377, 0.000000, 0.000000, 30.000000, -1, -1, -1, 300.00, 300.00);
  35573. tmpobjid = CreateDynamicObject(19377, 235.430191, 230.821777, 1001.516723, 0.000000, 90.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35574. tmpobjid = CreateDynamicObject(2345, 231.055374, 238.244720, 1004.415100, 38.852199, 0.000000, 90.322998, -1, -1, -1, 300.00, 300.00);
  35575. tmpobjid = CreateDynamicObject(2345, 231.048492, 239.457519, 1004.415100, 38.852199, 0.000000, 90.322998, -1, -1, -1, 300.00, 300.00);
  35576. tmpobjid = CreateDynamicObject(1649, 240.036697, 232.634506, 999.802673, -180.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00);
  35577. tmpobjid = CreateDynamicObject(1649, 237.143402, 229.617706, 999.802673, -180.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35578. tmpobjid = CreateDynamicObject(1649, 235.131500, 238.658599, 1003.235107, -180.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);
  35579. }
  35580. stock LoadMafiaBar() //by Vomau
  35581. {
  35582. new g_Object[255];
  35583. g_Object[0] = CreateDynamicObject(19462, 1934.3580, -2067.6208, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35584. g_Object[1] = CreateDynamicObject(19462, 1930.8574, -2067.6208, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35585. g_Object[2] = CreateDynamicObject(19462, 1937.8492, -2067.6208, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35586. g_Object[3] = CreateDynamicObject(14399, 1930.0992, -2065.1816, 787.0446, 0.0000, 0.0000, 180.0000); //bar2
  35587. g_Object[4] = CreateDynamicObject(19462, 1927.3575, -2067.6208, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35588. g_Object[5] = CreateDynamicObject(19462, 1923.8574, -2067.6218, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35589. g_Object[6] = CreateDynamicObject(19462, 1927.3575, -2077.2438, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35590. g_Object[7] = CreateDynamicObject(19462, 1930.8574, -2077.2412, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35591. g_Object[8] = CreateDynamicObject(19462, 1934.3479, -2077.2412, 787.1101, 0.0000, 90.0000, 0.0000); //wall102
  35592. g_Object[9] = CreateDynamicObject(14596, 1932.1999, -2057.0659, 780.4937, 0.0000, 0.0000, 90.0000); //paperchase_stairs
  35593. g_Object[10] = CreateDynamicObject(19384, 1928.4504, -2062.8691, 788.8214, 0.0000, 0.0000, 90.0000); //wall032
  35594. g_Object[11] = CreateDynamicObject(19446, 1934.8619, -2062.8669, 788.8247, 0.0000, 0.0000, 90.0000); //wall086
  35595. g_Object[12] = CreateDynamicObject(19446, 1922.0412, -2062.8669, 788.8247, 0.0000, 0.0000, 90.0000); //wall086
  35596. g_Object[13] = CreateDynamicObject(19462, 1921.7386, -2069.2333, 787.6707, 0.0000, 90.0000, 0.0000); //wall102
  35597. SetObjectMaterial(g_Object[13], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35598. g_Object[14] = CreateDynamicObject(19446, 1939.5998, -2067.6115, 788.8247, 0.0000, 0.0000, 0.0000); //wall086
  35599. g_Object[15] = CreateDynamicObject(19462, 1923.4084, -2069.2333, 785.9907, 0.0000, 0.0000, 0.0000); //wall102
  35600. SetObjectMaterial(g_Object[15], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35601. g_Object[16] = CreateDynamicObject(19462, 1918.2696, -2069.2333, 787.6707, 0.0000, 90.0000, 0.0000); //wall102
  35602. SetObjectMaterial(g_Object[16], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35603. g_Object[17] = CreateDynamicObject(19370, 1921.4975, -2063.2912, 787.3480, 0.0000, 90.0000, 0.0000); //wall018
  35604. SetObjectMaterial(g_Object[17], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35605. g_Object[18] = CreateDynamicObject(19173, 1916.5340, -2068.6420, 789.5040, 0.0000, 0.0000, 90.0000); //SAMPPicture2
  35606. g_Object[19] = CreateDynamicObject(19370, 1921.1872, -2063.2912, 787.5081, 0.0000, 90.0000, 0.0000); //wall018
  35607. SetObjectMaterial(g_Object[19], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35608. g_Object[20] = CreateDynamicObject(19370, 1920.9277, -2064.5620, 787.6281, 0.0000, 90.0000, 0.0000); //wall018
  35609. SetObjectMaterial(g_Object[20], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35610. g_Object[21] = CreateDynamicObject(19446, 1920.8009, -2072.4907, 788.8247, 0.0000, 0.0000, 90.0000); //wall086
  35611. g_Object[22] = CreateDynamicObject(19446, 1940.4713, -2072.4907, 788.8247, 0.0000, 0.0000, 90.0000); //wall086
  35612. g_Object[23] = CreateDynamicObject(19370, 1921.8686, -2064.9624, 785.9771, 0.0000, 0.0000, 90.0000); //wall018
  35613. SetObjectMaterial(g_Object[23], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35614. g_Object[24] = CreateDynamicObject(19354, 1919.2125, -2063.2797, 788.8300, 0.0000, 0.0000, 0.0000); //wall002
  35615. g_Object[25] = CreateDynamicObject(19354, 1917.7021, -2064.8093, 788.8300, 0.0000, 0.0000, 90.0000); //wall002
  35616. g_Object[26] = CreateDynamicObject(19446, 1916.4503, -2069.6928, 788.8247, 0.0000, 0.0000, 0.0000); //wall086
  35617. g_Object[27] = CreateDynamicObject(19446, 1925.5412, -2077.2121, 788.8247, 0.0000, 0.0000, 0.0000); //wall086
  35618. g_Object[28] = CreateDynamicObject(19446, 1935.5804, -2077.2121, 788.8247, 0.0000, 0.0000, 0.0000); //wall086
  35619. g_Object[29] = CreateDynamicObject(19384, 1930.5509, -2081.9128, 788.8314, 0.0000, 0.0000, 90.0000); //wall032
  35620. g_Object[30] = CreateDynamicObject(19354, 1933.7218, -2081.9125, 788.8300, 0.0000, 0.0000, 90.0000); //wall002
  35621. g_Object[31] = CreateDynamicObject(19354, 1936.9316, -2081.9125, 788.8300, 0.0000, 0.0000, 90.0000); //wall002
  35622. g_Object[32] = CreateDynamicObject(19354, 1927.3514, -2081.9125, 788.8300, 0.0000, 0.0000, 90.0000); //wall002
  35623. g_Object[33] = CreateDynamicObject(19354, 1924.1418, -2081.9125, 788.8300, 0.0000, 0.0000, 90.0000); //wall002
  35624. g_Object[34] = CreateDynamicObject(1569, 1929.7821, -2081.8515, 787.1881, 0.0000, 0.0000, 0.0000); //ADAM_V_DOOR
  35625. g_Object[35] = CreateDynamicObject(11711, 1930.5190, -2081.8581, 789.9785, 0.0000, 0.0000, 0.0000); //ExitSign1
  35626. g_Object[36] = CreateDynamicObject(19454, 1930.7381, -2076.9965, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35627. g_Object[37] = CreateDynamicObject(19454, 1927.2679, -2076.9965, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35628. g_Object[38] = CreateDynamicObject(19454, 1934.2379, -2076.9965, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35629. g_Object[39] = CreateDynamicObject(19454, 1923.8684, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35630. g_Object[40] = CreateDynamicObject(19454, 1920.3879, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35631. g_Object[41] = CreateDynamicObject(19454, 1916.8979, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35632. g_Object[42] = CreateDynamicObject(19454, 1927.3686, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35633. g_Object[43] = CreateDynamicObject(19454, 1930.8608, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35634. g_Object[44] = CreateDynamicObject(19454, 1934.3509, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35635. g_Object[45] = CreateDynamicObject(19454, 1937.8424, -2067.6198, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35636. g_Object[46] = CreateDynamicObject(19454, 1937.7076, -2076.9965, 790.5838, 0.0000, 90.0000, 0.0000); //wall094
  35637. g_Object[47] = CreateDynamicObject(19462, 1924.9068, -2068.1826, 781.3106, 0.0000, 90.0000, 0.0000); //wall102
  35638. SetObjectMaterial(g_Object[47], 0, 8486, "ballys02", "walltiles_128", 0x00000000);
  35639. g_Object[48] = CreateDynamicObject(19462, 1928.3791, -2068.1826, 781.3106, 0.0000, 90.0000, 0.0000); //wall102
  35640. SetObjectMaterial(g_Object[48], 0, 8486, "ballys02", "walltiles_128", 0x00000000);
  35641. g_Object[49] = CreateDynamicObject(19454, 1926.3010, -2072.8537, 783.0324, 0.0000, 0.0000, 90.0000); //wall094
  35642. SetObjectMaterial(g_Object[49], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35643. g_Object[50] = CreateDynamicObject(19454, 1923.8004, -2068.1948, 783.0424, 0.0000, 0.0000, 0.0000); //wall094
  35644. SetObjectMaterial(g_Object[50], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35645. g_Object[51] = CreateDynamicObject(19454, 1930.0891, -2068.1948, 783.0324, 0.0000, 0.0000, 0.0000); //wall094
  35646. SetObjectMaterial(g_Object[51], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35647. g_Object[52] = CreateDynamicObject(19454, 1922.1009, -2063.4123, 783.0424, 0.0000, 0.0000, 90.0000); //wall094
  35648. SetObjectMaterial(g_Object[52], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35649. g_Object[53] = CreateDynamicObject(1523, 1927.5394, -2072.8798, 781.3563, 0.0000, 0.0000, 90.0000); //Gen_doorEXT10
  35650. g_Object[54] = CreateDynamicObject(2528, 1924.4283, -2068.8024, 781.4180, 0.0000, 0.0000, 90.0000); //CJ_TOILET3
  35651. g_Object[55] = CreateDynamicObject(2528, 1924.4283, -2072.0649, 781.4180, 0.0000, 0.0000, 90.0000); //CJ_TOILET3
  35652. g_Object[56] = CreateDynamicObject(19454, 1922.7518, -2071.2761, 783.0424, 0.0000, 0.0000, 90.0000); //wall094
  35653. SetObjectMaterial(g_Object[56], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35654. g_Object[57] = CreateDynamicObject(2528, 1924.4283, -2070.3840, 781.4180, 0.0000, 0.0000, 90.0000); //CJ_TOILET3
  35655. g_Object[58] = CreateDynamicObject(1523, 1927.5394, -2071.1884, 781.3563, 0.0000, 0.0000, 90.0000); //Gen_doorEXT10
  35656. g_Object[59] = CreateDynamicObject(19454, 1922.7518, -2069.5844, 783.0424, 0.0000, 0.0000, 90.0000); //wall094
  35657. SetObjectMaterial(g_Object[59], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35658. g_Object[60] = CreateDynamicObject(1523, 1927.5394, -2069.5278, 781.3563, 0.0000, 0.0000, 90.0000); //Gen_doorEXT10
  35659. g_Object[61] = CreateDynamicObject(19454, 1922.7518, -2067.9238, 783.0424, 0.0000, 0.0000, 90.0000); //wall094
  35660. SetObjectMaterial(g_Object[61], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35661. g_Object[62] = CreateDynamicObject(2523, 1924.3846, -2067.1020, 781.4055, 0.0000, 0.0000, 90.0000); //CJ_B_SINK3
  35662. g_Object[63] = CreateDynamicObject(2523, 1924.3846, -2065.1105, 781.4055, 0.0000, 0.0000, 90.0000); //CJ_B_SINK3
  35663. g_Object[64] = CreateDynamicObject(2741, 1923.9969, -2067.2949, 782.9663, 0.0000, 0.0000, 90.0000); //CJ_SOAP_DISP
  35664. g_Object[65] = CreateDynamicObject(2741, 1923.9969, -2063.8842, 782.9663, 0.0000, 0.0000, 90.0000); //CJ_SOAP_DISP
  35665. g_Object[66] = CreateDynamicObject(14662, 1922.1368, -2066.2858, 783.4586, 0.0000, 0.0000, 90.0000); //int_tatooA02
  35666. g_Object[67] = CreateDynamicObject(19454, 1925.5974, -2068.1948, 783.9826, 0.0000, 90.0000, 0.0000); //wall094
  35667. g_Object[68] = CreateDynamicObject(19454, 1929.0870, -2068.1948, 783.9826, 0.0000, 90.0000, 0.0000); //wall094
  35668. g_Object[69] = CreateDynamicObject(16779, 1920.0130, -2068.3803, 790.9630, 0.0000, 0.0000, 0.0000); //ufo_light02
  35669. g_Object[70] = CreateDynamicObject(1502, 1927.7169, -2063.4946, 775.5220, 0.0000, 0.0000, 0.0000); //Gen_doorINT04
  35670. g_Object[71] = CreateDynamicObject(2685, 1923.9239, -2065.5805, 783.0280, 0.0000, 0.0000, 90.0000); //CJ_food_post1
  35671. g_Object[72] = CreateDynamicObject(2773, 1923.2735, -2069.5253, 788.2258, 0.0000, 0.0000, 0.0000); //CJ_AIRPRT_BAR
  35672. g_Object[73] = CreateDynamicObject(19391, 1928.4466, -2063.4157, 783.0435, 0.0000, 0.0000, 90.0000); //wall039
  35673. SetObjectMaterial(g_Object[73], 0, 2514, "cj_bathroom", "cj_toilet", 0x00000000);
  35674. g_Object[74] = CreateDynamicObject(2773, 1923.2735, -2071.4472, 788.2258, 0.0000, 0.0000, 0.0000); //CJ_AIRPRT_BAR
  35675. g_Object[75] = CreateDynamicObject(2773, 1923.2735, -2067.6040, 788.2258, 0.0000, 0.0000, 0.0000); //CJ_AIRPRT_BAR
  35676. g_Object[76] = CreateDynamicObject(2773, 1923.2735, -2065.6921, 788.2258, 0.0000, 0.0000, 0.0000); //CJ_AIRPRT_BAR
  35677. g_Object[77] = CreateDynamicObject(2773, 1923.2735, -2073.3784, 788.0457, 0.0000, 0.0000, 0.0000); //CJ_AIRPRT_BAR
  35678. g_Object[78] = CreateDynamicObject(2773, 1922.3326, -2064.7312, 788.2258, 0.0000, 0.0000, 90.0000); //CJ_AIRPRT_BAR
  35679. g_Object[79] = CreateDynamicObject(19354, 1930.8208, -2082.0690, 788.8300, 0.0000, 0.0000, 90.0000); //wall002
  35680. g_Object[80] = CreateDynamicObject(1757, 1911.4189, -2068.1005, 769.6857, 0.0000, 0.0000, 270.0000); //LOW_COUCH_5
  35681. g_Object[81] = CreateDynamicObject(19463, 1929.3105, -2059.1347, 769.7100, 0.0000, 90.0000, 0.0000); //wall103
  35682. g_Object[82] = CreateDynamicObject(19463, 1925.8302, -2059.1347, 769.7100, 0.0000, 90.0000, 0.0000); //wall103
  35683. g_Object[83] = CreateDynamicObject(19463, 1922.3387, -2059.1347, 769.7100, 0.0000, 90.0000, 0.0000); //wall103
  35684. g_Object[84] = CreateDynamicObject(19463, 1918.8784, -2059.1347, 769.7100, 0.0000, 90.0000, 0.0000); //wall103
  35685. g_Object[85] = CreateDynamicObject(19463, 1915.4173, -2059.1347, 769.7100, 0.0000, 90.0000, 0.0000); //wall103
  35686. g_Object[86] = CreateDynamicObject(19463, 1911.9870, -2059.1347, 769.7100, 0.0000, 90.0000, 0.0000); //wall103
  35687. g_Object[87] = CreateDynamicObject(19463, 1926.2480, -2065.6965, 769.7100, 0.0000, 90.0000, 90.0000); //wall103
  35688. g_Object[88] = CreateDynamicObject(19463, 1916.6477, -2065.6965, 769.7100, 0.0000, 90.0000, 90.0000); //wall103
  35689. g_Object[89] = CreateDynamicObject(19463, 1907.0279, -2065.6965, 769.7100, 0.0000, 90.0000, 90.0000); //wall103
  35690. g_Object[90] = CreateDynamicObject(19463, 1907.0279, -2069.1960, 769.7100, 0.0000, 90.0000, 90.0000); //wall103
  35691. g_Object[91] = CreateDynamicObject(19456, 1926.3155, -2067.5141, 771.4650, 0.0000, 0.0000, 90.0000); //wall096
  35692. g_Object[92] = CreateDynamicObject(19456, 1916.7047, -2067.5141, 771.4650, 0.0000, 0.0000, 90.0000); //wall096
  35693. g_Object[93] = CreateDynamicObject(19456, 1907.0246, -2070.8374, 771.4650, 0.0000, 0.0000, 90.0000); //wall096
  35694. g_Object[94] = CreateDynamicObject(19456, 1905.4748, -2063.9567, 771.4650, 0.0000, 0.0000, 90.0000); //wall096
  35695. g_Object[95] = CreateDynamicObject(19456, 1926.3155, -2054.3454, 771.4650, 0.0000, 0.0000, 90.0000); //wall096
  35696. g_Object[96] = CreateDynamicObject(19456, 1916.7047, -2054.3430, 771.4650, 0.0000, 0.0000, 90.0000); //wall096
  35697. g_Object[97] = CreateDynamicObject(19456, 1930.9449, -2065.4951, 771.4650, 0.0000, 0.0000, 0.0000); //wall096
  35698. g_Object[98] = CreateDynamicObject(19393, 1930.9427, -2059.0942, 771.4613, 0.0000, 0.0000, 0.0000); //wall041
  35699. g_Object[99] = CreateDynamicObject(19456, 1910.2043, -2059.0939, 771.4650, 0.0000, 0.0000, 0.0000); //wall096
  35700. g_Object[100] = CreateDynamicObject(19456, 1902.2142, -2067.1550, 771.4650, 0.0000, 0.0000, 0.0000); //wall096
  35701. g_Object[101] = CreateDynamicObject(19393, 1930.9427, -2055.9211, 771.4613, 0.0000, 0.0000, 0.0000); //wall041
  35702. g_Object[102] = CreateDynamicObject(19456, 1911.8547, -2072.2539, 771.4550, 0.0000, 0.0000, 0.0000); //wall096
  35703. g_Object[103] = CreateDynamicObject(19364, 1910.2894, -2054.3430, 771.4639, 0.0000, 0.0000, 90.0000); //wall012
  35704. g_Object[104] = CreateDynamicObject(19454, 1929.1512, -2062.6313, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35705. g_Object[105] = CreateDynamicObject(19454, 1929.1512, -2053.0300, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35706. g_Object[106] = CreateDynamicObject(19454, 1925.6606, -2062.6413, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35707. g_Object[107] = CreateDynamicObject(19454, 1922.1606, -2062.6413, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35708. g_Object[108] = CreateDynamicObject(19454, 1918.6601, -2062.6413, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35709. g_Object[109] = CreateDynamicObject(19454, 1915.1695, -2062.6413, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35710. g_Object[110] = CreateDynamicObject(19454, 1911.6894, -2062.6413, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35711. g_Object[111] = CreateDynamicObject(19454, 1925.6721, -2053.0300, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35712. g_Object[112] = CreateDynamicObject(19454, 1922.2019, -2053.0300, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35713. g_Object[113] = CreateDynamicObject(19454, 1918.7214, -2053.0300, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35714. g_Object[114] = CreateDynamicObject(19454, 1915.2508, -2053.0300, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35715. g_Object[115] = CreateDynamicObject(19454, 1911.7999, -2053.0300, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35716. g_Object[116] = CreateDynamicObject(19454, 1908.2097, -2066.8229, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35717. g_Object[117] = CreateDynamicObject(19454, 1904.7187, -2066.8229, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35718. g_Object[118] = CreateDynamicObject(19454, 1901.2193, -2066.8229, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35719. g_Object[119] = CreateDynamicObject(19454, 1911.6894, -2072.2333, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35720. g_Object[120] = CreateDynamicObject(922, 1919.0996, -2054.8686, 770.6701, 0.0000, 0.0000, 0.0000); //Packing_carates1
  35721. g_Object[121] = CreateDynamicObject(2991, 1907.1500, -2065.0664, 770.4157, 0.0000, 0.0000, 0.0000); //imy_bbox
  35722. g_Object[122] = CreateDynamicObject(925, 1912.3391, -2055.3593, 770.8280, 0.0000, 0.0000, 0.0000); //RACK2
  35723. g_Object[123] = CreateDynamicObject(2008, 1902.7657, -2069.7302, 769.7537, 0.0000, 0.0000, 90.0000); //officedesk1
  35724. g_Object[124] = CreateDynamicObject(1757, 1908.4886, -2070.1210, 769.6857, 0.0000, 0.0000, 90.0000); //LOW_COUCH_5
  35725. g_Object[125] = CreateDynamicObject(1523, 1927.6483, -2063.4174, 781.2761, 0.0000, 0.0000, 0.0000); //Gen_doorEXT10
  35726. g_Object[126] = CreateDynamicObject(2115, 1909.9940, -2069.5693, 769.6132, 0.0000, 0.0000, 90.0000); //LOW_DINNING_1
  35727. g_Object[127] = CreateDynamicObject(3015, 1902.4930, -2064.3315, 769.8956, 0.0000, 0.0000, 0.0000); //cr_cratestack
  35728. g_Object[128] = CreateDynamicObject(3015, 1902.4930, -2064.7919, 769.8956, 0.0000, 0.0000, 0.0000); //cr_cratestack
  35729. g_Object[129] = CreateDynamicObject(3015, 1902.4930, -2065.3020, 769.8956, 0.0000, 0.0000, 0.0000); //cr_cratestack
  35730. g_Object[130] = CreateDynamicObject(2358, 1903.6739, -2064.3686, 769.9071, 0.0000, 0.0000, 0.0000); //AMMO_BOX_c2
  35731. g_Object[131] = CreateDynamicObject(2358, 1903.6739, -2064.3686, 770.1475, 0.0000, 0.0000, 0.0000); //AMMO_BOX_c2
  35732. g_Object[132] = CreateDynamicObject(2358, 1903.6739, -2064.3686, 770.3875, 0.0000, 0.0000, 0.0000); //AMMO_BOX_c2
  35733. g_Object[133] = CreateDynamicObject(2359, 1903.8443, -2064.8977, 769.9848, 0.0000, 0.0000, 0.0000); //AMMO_BOX_c5
  35734. g_Object[134] = CreateDynamicObject(3014, 1904.7419, -2064.4174, 769.9874, 0.0000, 0.0000, 0.0000); //cr_guncrate
  35735. g_Object[135] = CreateDynamicObject(3014, 1904.7419, -2065.0480, 769.9874, 0.0000, 0.0000, 0.0000); //cr_guncrate
  35736. g_Object[136] = CreateDynamicObject(3014, 1904.7419, -2065.6286, 769.9874, 0.0000, 0.0000, 0.0000); //cr_guncrate
  35737. g_Object[137] = CreateDynamicObject(1431, 1909.6958, -2065.0454, 770.3225, 0.0000, 0.0000, 90.0000); //DYN_BOX_PILE
  35738. g_Object[138] = CreateDynamicObject(1431, 1905.9957, -2070.2287, 770.3438, 0.0000, 0.0000, 0.0000); //DYN_BOX_PILE
  35739. g_Object[139] = CreateDynamicObject(1415, 1923.6854, -2066.8840, 769.8660, 0.0000, 0.0000, 180.0000); //DYN_DUMPSTER
  35740. g_Object[140] = CreateDynamicObject(1415, 1926.1561, -2066.8840, 769.8660, 0.0000, 0.0000, 180.0000); //DYN_DUMPSTER
  35741. g_Object[141] = CreateDynamicObject(1372, 1928.6937, -2066.7958, 769.9215, 0.0000, 0.0000, 180.0000); //CJ_Dump2_LOW
  35742. g_Object[142] = CreateDynamicObject(14782, 1910.7148, -2060.9226, 770.7747, 0.0000, 0.0000, 90.0000); //int3int_boxing30
  35743. g_Object[143] = CreateDynamicObject(19899, 1930.4128, -2056.0454, 769.7197, 0.0000, 0.0000, 180.0000); //ToolCabinet1
  35744. g_Object[144] = CreateDynamicObject(19899, 1930.4128, -2062.1147, 769.7197, 0.0000, 0.0000, 180.0000); //ToolCabinet1
  35745. g_Object[145] = CreateDynamicObject(1502, 1931.0012, -2059.8361, 769.7406, 0.0000, 0.0000, 90.0000); //Gen_doorINT04
  35746. g_Object[146] = CreateDynamicObject(19921, 1907.7855, -2065.9799, 771.1218, 0.0000, 0.0000, -20.7999); //CutsceneToolBox1
  35747. g_Object[147] = CreateDynamicObject(3630, 1921.3487, -2059.4772, 771.0504, 0.0000, 0.0000, 0.0000); //crdboxes2_LAs
  35748. g_Object[148] = CreateDynamicObject(2945, 1903.4914, -2065.6523, 770.4215, -58.2999, 0.0000, 1.8997); //kmb_netting
  35749. g_Object[149] = CreateDynamicObject(3630, 1921.3487, -2062.5786, 771.0504, 0.0000, 0.0000, 0.0000); //crdboxes2_LAs
  35750. g_Object[150] = CreateDynamicObject(1421, 1915.8011, -2062.7038, 770.5410, 0.0000, 0.0000, 270.0000); //DYN_BOXES
  35751. g_Object[151] = CreateDynamicObject(1421, 1915.8011, -2060.7451, 770.5410, 0.0000, 0.0000, 270.0000); //DYN_BOXES
  35752. g_Object[152] = CreateDynamicObject(1421, 1915.8011, -2058.8049, 770.5410, 0.0000, 0.0000, 270.0000); //DYN_BOXES
  35753. g_Object[153] = CreateDynamicObject(19454, 1932.6523, -2052.6596, 773.2785, 0.0000, 90.0000, 0.0000); //wall094
  35754. g_Object[154] = CreateDynamicObject(925, 1914.8994, -2055.3593, 770.8280, 0.0000, 0.0000, 0.0000); //RACK2
  35755. g_Object[155] = CreateDynamicObject(922, 1924.4698, -2054.8686, 770.6701, 0.0000, 0.0000, 0.0000); //Packing_carates1
  35756. g_Object[156] = CreateDynamicObject(934, 1916.8509, -2066.6181, 770.9862, 0.0000, 0.0000, 90.0000); //GENERATOR_BIG
  35757. g_Object[157] = CreateDynamicObject(1716, 1931.0301, -2068.0590, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35758. g_Object[158] = CreateDynamicObject(1716, 1932.5101, -2068.0590, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35759. g_Object[159] = CreateDynamicObject(1716, 1938.7218, -2068.0590, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35760. g_Object[160] = CreateDynamicObject(1716, 1934.1307, -2068.0590, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35761. g_Object[161] = CreateDynamicObject(1716, 1935.6213, -2068.0590, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35762. g_Object[162] = CreateDynamicObject(2531, 1938.7552, -2063.6208, 787.2473, 0.0000, 0.0000, -37.5000); //CJ_OFF2_LIC_1_M
  35763. g_Object[163] = CreateDynamicObject(1716, 1937.1816, -2068.0590, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35764. g_Object[164] = CreateDynamicObject(1716, 1929.8205, -2067.5190, 787.1712, 0.0000, 0.0000, 0.0000); //kb_slot_stool
  35765. g_Object[165] = CreateDynamicObject(11686, 1935.2600, -2063.3491, 787.1337, 0.0000, 0.0000, 180.0000); //CBarSection1
  35766. g_Object[166] = CreateDynamicObject(2964, 1921.6770, -2066.9404, 787.8568, 0.0000, 0.0000, 137.8999); //k_pooltablesm
  35767. g_Object[167] = CreateDynamicObject(2964, 1921.5310, -2070.0969, 787.8568, 0.0000, 0.0000, 137.8999); //k_pooltablesm
  35768. g_Object[168] = CreateDynamicObject(1723, 1917.0714, -2071.5068, 787.6837, 0.0000, 0.0000, 90.0000); //mrk_seating1
  35769. g_Object[169] = CreateDynamicObject(1723, 1917.0714, -2067.9150, 787.6837, 0.0000, 0.0000, 90.0000); //mrk_seating1
  35770. g_Object[170] = CreateDynamicObject(1549, 1917.0582, -2068.6945, 787.7318, 0.0000, 0.0000, 90.0000); //CJ_ASHTRAY_b
  35771. g_Object[171] = CreateDynamicObject(19462, 1926.9071, -2068.3015, 775.5100, 0.0000, 90.0000, 0.0000); //wall102
  35772. g_Object[172] = CreateDynamicObject(19462, 1930.4068, -2068.3015, 775.5100, 0.0000, 90.0000, 0.0000); //wall102
  35773. g_Object[173] = CreateDynamicObject(19446, 1932.2037, -2068.3125, 777.2758, 0.0000, 0.0000, 0.0000); //wall086
  35774. g_Object[174] = CreateDynamicObject(19446, 1925.1617, -2068.3125, 777.2758, 0.0000, 0.0000, 0.0000); //wall086
  35775. g_Object[175] = CreateDynamicObject(19446, 1928.7209, -2073.1301, 777.2758, 0.0000, 0.0000, 90.0000); //wall086
  35776. g_Object[176] = CreateDynamicObject(19354, 1925.3006, -2063.4863, 777.2846, 0.0000, 0.0000, 90.0000); //wall002
  35777. g_Object[177] = CreateDynamicObject(19354, 1931.7110, -2063.4863, 777.2846, 0.0000, 0.0000, 90.0000); //wall002
  35778. g_Object[178] = CreateDynamicObject(1671, 1930.2561, -2070.2370, 776.0172, 0.0000, 0.0000, 270.0000); //swivelchair_A
  35779. g_Object[179] = CreateDynamicObject(19454, 1926.8996, -2068.3708, 778.9890, 0.0000, 90.0000, 0.0000); //wall094
  35780. g_Object[180] = CreateDynamicObject(19454, 1930.3996, -2068.3708, 778.9890, 0.0000, 90.0000, 0.0000); //wall094
  35781. g_Object[181] = CreateDynamicObject(19384, 1928.5058, -2063.4855, 777.2847, 0.0000, 0.0000, 90.0000); //wall032
  35782. g_Object[182] = CreateDynamicObject(2357, 1928.7270, -2068.9177, 775.9589, 0.0000, 0.0000, 90.0000); //DUNC_DINNING
  35783. g_Object[183] = CreateDynamicObject(19999, 1928.7159, -2071.9990, 775.5831, 0.0000, 0.0000, 180.0000); //CutsceneChair2
  35784. g_Object[184] = CreateDynamicObject(1671, 1930.2561, -2068.9257, 776.0172, 0.0000, 0.0000, 270.0000); //swivelchair_A
  35785. g_Object[185] = CreateDynamicObject(1671, 1930.2561, -2067.6245, 776.0172, 0.0000, 0.0000, 270.0000); //swivelchair_A
  35786. g_Object[186] = CreateDynamicObject(1671, 1927.2154, -2070.2370, 776.0172, 0.0000, 0.0000, 90.0000); //swivelchair_A
  35787. g_Object[187] = CreateDynamicObject(1671, 1927.2154, -2068.9758, 776.0172, 0.0000, 0.0000, 90.0000); //swivelchair_A
  35788. g_Object[188] = CreateDynamicObject(1671, 1927.2154, -2067.7446, 776.0172, 0.0000, 0.0000, 90.0000); //swivelchair_A
  35789. g_Object[189] = CreateDynamicObject(19786, 1928.7253, -2073.1701, 777.8413, 0.0000, 0.0000, 180.0000); //LCDTVBig1
  35790. g_Object[190] = CreateDynamicObject(2427, 1935.3022, -2062.9321, 788.1640, 0.0000, 0.0000, 0.0000); //CJ_FF_JUICE_L
  35791. g_Object[191] = CreateDynamicObject(2965, 1921.1938, -2066.7485, 788.7733, 0.0000, 0.0000, 0.0000); //k_pooltriangle01
  35792. g_Object[192] = CreateDynamicObject(338, 1921.9405, -2067.9169, 788.9223, -47.0000, 99.0998, 114.8000); //poolcue
  35793. g_Object[193] = CreateDynamicObject(19824, 1932.9814, -2063.1633, 788.2312, 0.0000, 0.0000, 0.0000); //AlcoholBottle5
  35794. g_Object[194] = CreateDynamicObject(19823, 1933.1887, -2063.1735, 788.2221, 0.0000, 0.0000, 0.0000); //AlcoholBottle4
  35795. g_Object[195] = CreateDynamicObject(1512, 1933.4559, -2063.1713, 788.3676, 0.0000, 0.0000, 164.2998); //DYN_WINE_03
  35796. g_Object[196] = CreateDynamicObject(1669, 1937.1075, -2063.3168, 788.3765, 0.0000, 0.0000, 0.0000); //propwinebotl1
  35797. g_Object[197] = CreateDynamicObject(1544, 1937.2845, -2063.3740, 788.2564, 0.0000, 0.0000, 0.0000); //CJ_BEER_B_1
  35798. g_Object[198] = CreateDynamicObject(1486, 1937.4991, -2063.3303, 788.3745, 0.0000, 0.0000, 0.0000); //DYN_BEER_1
  35799. g_Object[199] = CreateDynamicObject(2429, 1934.7558, -2062.6926, 788.3518, 0.0000, 0.0000, 0.0000); //CJ_FF_CUP_DISP
  35800. g_Object[200] = CreateDynamicObject(2429, 1936.2163, -2062.6926, 788.3518, 0.0000, 0.0000, 0.0000); //CJ_FF_CUP_DISP
  35801. g_Object[201] = CreateDynamicObject(1665, 1931.4923, -2067.0949, 788.4442, 0.0000, 0.0000, 0.0000); //propashtray1
  35802. g_Object[202] = CreateDynamicObject(1665, 1933.0218, -2067.0949, 788.4442, 0.0000, 0.0000, 0.0000); //propashtray1
  35803. g_Object[203] = CreateDynamicObject(1665, 1934.7219, -2067.0949, 788.4442, 0.0000, 0.0000, 0.0000); //propashtray1
  35804. g_Object[204] = CreateDynamicObject(1665, 1936.4023, -2067.0949, 788.4442, 0.0000, 0.0000, 0.0000); //propashtray1
  35805. g_Object[205] = CreateDynamicObject(1665, 1938.3227, -2067.0949, 788.4442, 0.0000, 0.0000, 0.0000); //propashtray1
  35806. g_Object[206] = CreateDynamicObject(338, 1922.0329, -2067.8996, 788.8920, -47.0000, 99.0998, 114.8000); //poolcue
  35807. g_Object[207] = CreateDynamicObject(3106, 1921.3863, -2070.0986, 788.7880, 0.0000, 0.0000, 0.0000); //k_poolball8
  35808. g_Object[208] = CreateDynamicObject(3003, 1921.8183, -2070.3898, 788.7774, 0.0000, 0.0000, 0.0000); //k_poolballcue
  35809. g_Object[209] = CreateDynamicObject(2998, 1921.3243, -2069.6850, 788.7976, 0.0000, 0.0000, 0.0000); //k_poolballstp04
  35810. g_Object[210] = CreateDynamicObject(3100, 1921.7821, -2070.0390, 788.7827, 0.0000, 0.0000, 0.0000); //k_poolballspt02
  35811. g_Object[211] = CreateDynamicObject(3105, 1921.0233, -2070.0473, 788.7866, 0.0000, 0.0000, 0.0000); //k_poolballspt07
  35812. g_Object[212] = CreateDynamicObject(2997, 1922.1944, -2070.2375, 788.7943, 0.0000, 0.0000, 0.0000); //k_poolballstp03
  35813. g_Object[213] = CreateDynamicObject(2996, 1921.8216, -2070.6879, 788.7901, 0.0000, 0.0000, 0.0000); //k_poolballstp02
  35814. g_Object[214] = CreateDynamicObject(3103, 1920.8210, -2069.7497, 788.7860, 0.0000, 0.0000, 0.0000); //k_poolballspt05
  35815. g_Object[215] = CreateDynamicObject(1723, 1934.5622, -2081.2836, 787.1287, 0.0000, 0.0000, 180.0000); //mrk_seating1
  35816. g_Object[216] = CreateDynamicObject(1723, 1928.4809, -2081.2836, 787.1287, 0.0000, 0.0000, 180.0000); //mrk_seating1
  35817. g_Object[217] = CreateDynamicObject(2315, 1932.8177, -2079.8608, 787.1762, 0.0000, 0.0000, 0.0000); //CJ_TV_TABLE4
  35818. g_Object[218] = CreateDynamicObject(1723, 1932.5406, -2078.4121, 787.1287, 0.0000, 0.0000, 0.0000); //mrk_seating1
  35819. g_Object[219] = CreateDynamicObject(1502, 1927.6556, -2062.8757, 787.0744, 0.0000, 0.0000, 0.0000); //Gen_doorINT04
  35820. g_Object[220] = CreateDynamicObject(1723, 1934.5614, -2076.4445, 787.1287, 0.0000, 0.0000, 180.0000); //mrk_seating1
  35821. g_Object[221] = CreateDynamicObject(1723, 1926.4997, -2073.4812, 787.1287, 0.0000, 0.0000, 0.0000); //mrk_seating1
  35822. g_Object[222] = CreateDynamicObject(1723, 1926.4404, -2078.3908, 787.1287, 0.0000, 0.0000, 0.0000); //mrk_seating1
  35823. g_Object[223] = CreateDynamicObject(2315, 1932.8176, -2074.9907, 787.1762, 0.0000, 0.0000, 0.0000); //CJ_TV_TABLE4
  35824. g_Object[224] = CreateDynamicObject(2315, 1926.7375, -2079.8608, 787.1762, 0.0000, 0.0000, 0.0000); //CJ_TV_TABLE4
  35825. g_Object[225] = CreateDynamicObject(2315, 1926.7375, -2074.9907, 787.1762, 0.0000, 0.0000, 0.0000); //CJ_TV_TABLE4
  35826. g_Object[226] = CreateDynamicObject(1723, 1928.4713, -2076.4445, 787.1287, 0.0000, 0.0000, 180.0000); //mrk_seating1
  35827. g_Object[227] = CreateDynamicObject(1723, 1932.5699, -2073.4812, 787.1287, 0.0000, 0.0000, 0.0000); //mrk_seating1
  35828. g_Object[228] = CreateDynamicObject(19370, 1921.7275, -2063.2912, 787.1978, 0.0000, 90.0000, 0.0000); //wall018
  35829. SetObjectMaterial(g_Object[228], 0, 14650, "ab_trukstpc", "sa_wood08_128", 0x00000000);
  35830. g_Object[229] = CreateDynamicObject(2961, 1930.0102, -2062.9467, 788.6464, 0.0000, 0.0000, 180.0000); //fire_break
  35831. g_Object[230] = CreateDynamicObject(1778, 1930.3603, -2061.7004, 787.2133, 0.0000, 0.0000, 270.0000); //CJ_MOP_PAIL
  35832. g_Object[231] = CreateDynamicObject(1514, 1930.5791, -2066.6240, 788.5355, 0.0000, 0.0000, -43.1999); //DYN_FF_TILL
  35833. g_Object[232] = CreateDynamicObject(2700, 1931.7165, -2063.2187, 789.5230, 0.0000, 0.0000, 270.0000); //CJ_SEX_TV2
  35834. g_Object[233] = CreateDynamicObject(2229, 1919.5716, -2062.7871, 787.7042, 0.0000, 0.0000, 52.4999); //SWANK_SPEAKER
  35835. g_Object[234] = CreateDynamicObject(2004, 1939.1666, -2066.6062, 787.7930, 0.0000, 0.0000, 180.0000); //cr_safe_door
  35836. g_Object[235] = CreateDynamicObject(2690, 1932.6794, -2063.0891, 787.5222, 0.0000, 0.0000, 0.0000); //CJ_FIRE_EXT
  35837. g_Object[236] = CreateDynamicObject(2344, 1932.4812, -2067.3229, 788.4226, 0.0000, 0.0000, 180.0000); //CJ_REMOTE
  35838. g_Object[237] = CreateDynamicObject(19814, 1932.2214, -2062.9545, 787.5178, 0.0000, 0.0000, 0.0000); //ElectricalOutlet2
  35839. g_Object[238] = CreateDynamicObject(1665, 1927.5312, -2079.9133, 787.6840, 0.0000, 0.0000, 0.0000); //propashtray1
  35840. g_Object[239] = CreateDynamicObject(19896, 1927.2508, -2080.0463, 787.6865, 0.0000, 0.0000, 0.0000); //CigarettePack1
  35841. g_Object[240] = CreateDynamicObject(19827, 1929.4901, -2081.8369, 788.6900, 0.0000, 0.0000, 180.0000); //LightSwitch2
  35842. g_Object[241] = CreateDynamicObject(1486, 1933.0102, -2075.2556, 787.7974, 0.0000, 0.0000, 0.0000); //DYN_BEER_1
  35843. g_Object[242] = CreateDynamicObject(1486, 1933.9903, -2075.1755, 787.7974, 0.0000, 0.0000, 0.0000); //DYN_BEER_1
  35844. g_Object[243] = CreateDynamicObject(1486, 1933.8000, -2074.6950, 787.7974, 0.0000, 0.0000, 0.0000); //DYN_BEER_1
  35845. g_Object[244] = CreateDynamicObject(2827, 1927.4261, -2075.0615, 787.6920, 0.0000, 0.0000, 0.0000); //GB_novels05
  35846. g_Object[245] = CreateDynamicObject(2742, 1926.6158, -2063.6835, 783.0454, 0.0000, 0.0000, 0.0000); //CJ_HANDDRIER
  35847. g_Object[246] = CreateDynamicObject(2742, 1925.6064, -2063.6835, 783.0454, 0.0000, 0.0000, 0.0000); //CJ_HANDDRIER
  35848. g_Object[247] = CreateDynamicObject(1670, 1933.4521, -2079.8918, 787.6914, 0.0000, 0.0000, 0.0000); //propcollecttable
  35849. g_Object[248] = CreateDynamicObject(16779, 1927.4835, -2077.3625, 790.9630, 0.0000, 0.0000, 0.0000); //ufo_light02
  35850. g_Object[249] = CreateDynamicObject(16779, 1933.5533, -2077.3625, 790.9630, 0.0000, 0.0000, 0.0000); //ufo_light02
  35851. g_Object[250] = CreateDynamicObject(19175, 1939.4825, -2070.1420, 789.1589, 0.0000, 0.0000, 270.0000); //SAMPPicture4
  35852. g_Object[251] = CreateDynamicObject(1724, 1938.9101, -2071.2221, 787.0900, 0.0000, 0.0000, 270.0000); //mrk_seating1b
  35853. g_Object[252] = CreateDynamicObject(2725, 1937.3916, -2071.6796, 787.5042, 0.0000, 0.0000, 0.0000); //LM_stripTable
  35854. g_Object[253] = CreateDynamicObject(1724, 1935.9598, -2072.2324, 787.0900, 0.0000, 0.0000, 90.0000); //mrk_seating1b
  35855. g_Object[254] = CreateDynamicObject(2099, 1925.8131, -2062.9523, 787.2022, 0.0000, 0.0000, 0.0000); //MED_HI_FI_1
  35856. }
  35857. stock LoadCustomHouse1() //by RayLucker
  35858. {
  35859. new tmpobjid;
  35860. tmpobjid = CreateDynamicObject(19377,2434.695,-1610.655,1567.842,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35861. SetDynamicObjectMaterial(tmpobjid, 0, 14488, "dogsgym", "ah_yelplnks", -1);
  35862. tmpobjid = CreateDynamicObject(19377,2445.198,-1610.656,1567.842,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35863. SetDynamicObjectMaterial(tmpobjid, 0, 14488, "dogsgym", "ah_yelplnks", -1);
  35864. tmpobjid = CreateDynamicObject(19377,2434.687,-1620.286,1567.842,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35865. SetDynamicObjectMaterial(tmpobjid, 0, 14488, "dogsgym", "ah_yelplnks", -1);
  35866. tmpobjid = CreateDynamicObject(19377,2445.187,-1620.290,1567.842,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35867. SetDynamicObjectMaterial(tmpobjid, 0, 14488, "dogsgym", "ah_yelplnks", -1);
  35868. tmpobjid = CreateDynamicObject(19450,2434.998,-1623.119,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35869. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35870. tmpobjid = CreateDynamicObject(19450,2444.592,-1623.119,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35871. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35872. tmpobjid = CreateDynamicObject(19388,2437.467,-1619.958,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35873. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35874. tmpobjid = CreateDynamicObject(19450,2435.948,-1615.232,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35875. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35876. tmpobjid = CreateDynamicObject(19431,2439.875,-1619.957,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35877. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35878. tmpobjid = CreateDynamicObject(19451,2430.824,-1623.430,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35879. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_bathtiles", -1);
  35880. tmpobjid = CreateDynamicObject(19360,2432.263,-1618.579,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35881. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35882. tmpobjid = CreateDynamicObject(19431,2433.782,-1619.303,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35883. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35884. tmpobjid = CreateDynamicObject(19388,2433.785,-1621.713,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35885. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35886. tmpobjid = CreateDynamicObject(19450,2430.804,-1613.731,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35887. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35888. tmpobjid = CreateDynamicObject(19450,2433.357,-1612.479,1569.677,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  35889. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35890. tmpobjid = CreateDynamicObject(19450,2442.991,-1612.479,1569.677,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  35891. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35892. tmpobjid = CreateDynamicObject(19450,2440.596,-1615.004,1569.677,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  35893. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35894. tmpobjid = CreateDynamicObject(19388,2440.596,-1621.427,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35895. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35896. tmpobjid = CreateDynamicObject(19450,2445.512,-1621.102,1569.677,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  35897. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35898. tmpobjid = CreateDynamicObject(19450,2445.486,-1618.641,1569.677,0.000,0.000,269.994,-1,-1,-1,300.000,300.000);
  35899. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35900. tmpobjid = CreateDynamicObject(1522,2434.045,-1623.109,1567.880,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35901. SetDynamicObjectMaterial(tmpobjid, 0, 18065, "ab_sfammumain", "gun_door1", -1);
  35902. tmpobjid = CreateDynamicObject(2708,2439.391,-1622.771,1567.927,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  35903. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35904. SetDynamicObjectMaterial(tmpobjid, 1, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  35905. tmpobjid = CreateDynamicObject(912,2436.782,-1622.656,1568.494,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  35906. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35907. tmpobjid = CreateDynamicObject(2815,2434.371,-1622.832,1567.927,0.000,0.000,1.543,-1,-1,-1,300.000,300.000);
  35908. SetDynamicObjectMaterial(tmpobjid, 0, 14802, "lee_bdupsflat", "Bdup_Rug", -1);
  35909. tmpobjid = CreateDynamicObject(1728,2436.541,-1618.036,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35910. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35911. tmpobjid = CreateDynamicObject(14632,2453.222,-1621.686,1569.427,0.000,0.000,359.885,-1,-1,-1,300.000,300.000);
  35912. SetDynamicObjectMaterial(tmpobjid, 0, 19962, "samproadsigns", "materialtext1", -1);
  35913. SetDynamicObjectMaterial(tmpobjid, 1, 19962, "samproadsigns", "materialtext1", 0);
  35914. SetDynamicObjectMaterial(tmpobjid, 2, 2567, "ab", "Box_Texturepage", 0);
  35915. SetDynamicObjectMaterial(tmpobjid, 3, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  35916. tmpobjid = CreateDynamicObject(19433,2438.572,-1616.522,1567.854,0.000,90.000,274.000,-1,-1,-1,300.000,300.000);
  35917. SetDynamicObjectMaterial(tmpobjid, 0, 2815, "gb_rugs01", "GB_livingrug02", -1);
  35918. tmpobjid = CreateDynamicObject(1729,2439.140,-1619.334,1567.927,0.000,0.000,193.311,-1,-1,-1,300.000,300.000);
  35919. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35920. tmpobjid = CreateDynamicObject(2205,2436.571,-1614.975,1567.782,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35921. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35922. SetDynamicObjectMaterial(tmpobjid, 1, 14665, "genintint711_1", "interiorwindowglow", 0);
  35923. SetDynamicObjectMaterial(tmpobjid, 2, 14665, "genintint711_1", "interiorwindowglow", 0);
  35924. SetDynamicObjectMaterial(tmpobjid, 3, 14665, "genintint711_1", "interiorwindowglow", 0);
  35925. SetDynamicObjectMaterial(tmpobjid, 4, 14665, "genintint711_1", "interiorwindowglow", 0);
  35926. SetDynamicObjectMaterial(tmpobjid, 5, 19962, "samproadsigns", "materialtext1", 0);
  35927. SetDynamicObjectMaterial(tmpobjid, 6, 19962, "samproadsigns", "speedlimit5sign", 0);
  35928. tmpobjid = CreateDynamicObject(2313,2437.572,-1613.036,1567.927,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35929. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35930. SetDynamicObjectMaterial(tmpobjid, 2, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  35931. tmpobjid = CreateDynamicObject(1786,2438.157,-1612.713,1568.427,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35932. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35933. tmpobjid = CreateDynamicObject(1744,2436.034,-1614.297,1569.646,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35934. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35935. tmpobjid = CreateDynamicObject(2272,2436.543,-1617.114,1569.630,358.521,3.991,90.103,-1,-1,-1,300.000,300.000);
  35936. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35937. tmpobjid = CreateDynamicObject(19317,2440.156,-1614.178,1568.693,352.932,0.000,356.631,-1,-1,-1,300.000,300.000);
  35938. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35939. tmpobjid = CreateDynamicObject(2256,2438.187,-1612.583,1569.833,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35940. SetDynamicObjectMaterial(tmpobjid, 0, 14789, "ab_sfgymmain", "gymwinodow3", -1);
  35941. SetDynamicObjectMaterial(tmpobjid, 1, 14789, "ab_sfgymmain", "gymwinodow3", 0);
  35942. tmpobjid = CreateDynamicObject(2273,2439.284,-1620.536,1569.732,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35943. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35944. tmpobjid = CreateDynamicObject(1810,2439.828,-1617.466,1567.927,0.000,0.000,-114.499,-1,-1,-1,300.000,300.000);
  35945. SetDynamicObjectMaterial(tmpobjid, 0, 14665, "genintint711_1", "interiorwindowglow", -5658199);
  35946. tmpobjid = CreateDynamicObject(2674,2436.605,-1621.198,1567.949,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35947. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35948. tmpobjid = CreateDynamicObject(19573,2439.967,-1622.739,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35949. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35950. tmpobjid = CreateDynamicObject(2266,2436.751,-1622.536,1569.463,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  35951. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35952. SetDynamicObjectMaterial(tmpobjid, 1, 18065, "ab_sfammumain", "shelf_glas", 0);
  35953. tmpobjid = CreateDynamicObject(2266,2436.751,-1622.535,1569.463,0.000,0.000,179.994,-1,-1,-1,300.000,300.000);
  35954. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35955. SetDynamicObjectMaterial(tmpobjid, 1, 18065, "ab_sfammumain", "shelf_glas", 0);
  35956. tmpobjid = CreateDynamicObject(2266,2436.751,-1622.535,1569.463,0.000,0.000,179.994,-1,-1,-1,300.000,300.000);
  35957. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  35958. SetDynamicObjectMaterial(tmpobjid, 1, 18065, "ab_sfammumain", "shelf_glas", 0);
  35959. tmpobjid = CreateDynamicObject(19450,2431.091,-1613.566,1569.677,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  35960. SetDynamicObjectMaterial(tmpobjid, 0, 14718, "lasmall1int2", "burglry_wall7", -1);
  35961. tmpobjid = CreateDynamicObject(2356,2437.629,-1614.390,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  35962. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35963. tmpobjid = CreateDynamicObject(2028,2438.961,-1613.891,1568.010,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35964. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35965. tmpobjid = CreateDynamicObject(2559,2437.668,-1612.985,1569.254,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  35966. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  35967. tmpobjid = CreateDynamicObject(2684,2436.107,-1617.938,1569.567,0.000,-6.899,90.000,-1,-1,-1,300.000,300.000);
  35968. SetDynamicObjectMaterial(tmpobjid, 0, 15040, "cuntcuts", "csnewspaper02", -1);
  35969. tmpobjid = CreateDynamicObject(19579,2436.306,-1614.349,1568.574,-0.000,-0.000,84.600,-1,-1,-1,300.000,300.000);
  35970. SetDynamicObjectMaterial(tmpobjid, 0, 10101, "2notherbuildsfe", "ferry_build14", -16777216);
  35971. tmpobjid = CreateDynamicObject(19610,2436.306,-1614.351,1568.703,-89.999,89.999,-52.499,-1,-1,-1,300.000,300.000);
  35972. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0);
  35973. tmpobjid = CreateDynamicObject(2265,2436.757,-1614.768,1569.041,0.000,89.999,82.500,-1,-1,-1,300.000,300.000);
  35974. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0);
  35975. SetDynamicObjectMaterial(tmpobjid, 1, 18646, "matcolours", "grey-80-percent", 0);
  35976. tmpobjid = CreateDynamicObject(2265,2435.869,-1613.925,1569.041,0.000,90.000,-97.499,-1,-1,-1,300.000,300.000);
  35977. SetDynamicObjectMaterial(tmpobjid, 0, 10765, "airportgnd_sfse", "black64", 0);
  35978. SetDynamicObjectMaterial(tmpobjid, 1, 10765, "airportgnd_sfse", "black64", 0);
  35979. tmpobjid = CreateDynamicObject(19808,2436.676,-1614.223,1568.733,-0.000,-0.000,70.100,-1,-1,-1,300.000,300.000);
  35980. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35981. tmpobjid = CreateDynamicObject(3014,2440.221,-1616.736,1568.088,0.000,0.000,115.800,-1,-1,-1,300.000,300.000);
  35982. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35983. tmpobjid = CreateDynamicObject(19377,2435.695,-1610.655,1571.341,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35984. SetDynamicObjectMaterial(tmpobjid, 0, 14859, "gf1", "mp_cop_ceiling", -1);
  35985. tmpobjid = CreateDynamicObject(19377,2446.198,-1610.656,1571.341,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35986. SetDynamicObjectMaterial(tmpobjid, 0, 14859, "gf1", "mp_cop_ceiling", -1);
  35987. tmpobjid = CreateDynamicObject(19377,2435.687,-1620.286,1571.341,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35988. SetDynamicObjectMaterial(tmpobjid, 0, 14859, "gf1", "mp_cop_ceiling", -1);
  35989. tmpobjid = CreateDynamicObject(19377,2446.187,-1620.290,1571.341,0.000,90.000,0.000,-1,-1,-1,300.000,300.000);
  35990. SetDynamicObjectMaterial(tmpobjid, 0, 14859, "gf1", "mp_cop_ceiling", -1);
  35991. tmpobjid = CreateDynamicObject(2162,2436.126,-1613.968,1569.048,0.000,0.000,450.000,-1,-1,-1,300.000,300.000);
  35992. SetDynamicObjectMaterial(tmpobjid, 0, 1730, "cj_furniture", "CJ_books", 0);
  35993. SetDynamicObjectMaterial(tmpobjid, 1, 19962, "samproadsigns", "materialtext1", 0);
  35994. SetDynamicObjectMaterial(tmpobjid, 2, 19962, "samproadsigns", "materialtext1", 0);
  35995. tmpobjid = CreateDynamicObject(1486,2436.400,-1615.041,1568.848,0.000,0.000,171.900,-1,-1,-1,300.000,300.000);
  35996. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35997. tmpobjid = CreateDynamicObject(1486,2436.470,-1615.182,1568.848,0.000,0.000,-146.899,-1,-1,-1,300.000,300.000);
  35998. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  35999. tmpobjid = CreateDynamicObject(1486,2436.318,-1615.186,1568.848,0.000,0.000,-37.999,-1,-1,-1,300.000,300.000);
  36000. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36001. tmpobjid = CreateDynamicObject(1665,2436.624,-1615.045,1568.748,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36002. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36003. tmpobjid = CreateDynamicObject(19896,2436.455,-1614.059,1568.737,0.000,0.000,47.399,-1,-1,-1,300.000,300.000);
  36004. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36005. tmpobjid = CreateDynamicObject(1486,2436.501,-1615.291,1568.838,0.000,0.000,-37.999,-1,-1,-1,300.000,300.000);
  36006. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36007. tmpobjid = CreateDynamicObject(1734,2437.981,-1618.239,1571.241,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36008. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36009. tmpobjid = CreateDynamicObject(1734,2437.981,-1615.109,1571.241,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36010. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36011. tmpobjid = CreateDynamicObject(2684,2436.107,-1617.549,1569.353,0.000,4.900,90.000,-1,-1,-1,300.000,300.000);
  36012. SetDynamicObjectMaterial(tmpobjid, 0, 15040, "cuntcuts", "csnewspaper", -1);
  36013. tmpobjid = CreateDynamicObject(1486,2436.902,-1615.523,1568.060,0.000,0.000,-51.100,-1,-1,-1,300.000,300.000);
  36014. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36015. tmpobjid = CreateDynamicObject(1499,2436.700,-1619.987,1567.918,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36016. SetDynamicObjectMaterial(tmpobjid, 0, 14789, "ab_sfgymmain", "gym_floor6", -1);
  36017. SetDynamicObjectMaterial(tmpobjid, 1, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  36018. tmpobjid = CreateDynamicObject(2266,2436.751,-1622.535,1569.463,0.000,0.000,179.994,-1,-1,-1,300.000,300.000);
  36019. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  36020. SetDynamicObjectMaterial(tmpobjid, 1, 18065, "ab_sfammumain", "shelf_glas", 0);
  36021. tmpobjid = CreateDynamicObject(19807,2437.003,-1622.755,1569.137,0.000,0.000,152.499,-1,-1,-1,300.000,300.000);
  36022. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36023. tmpobjid = CreateDynamicObject(2953,2436.887,-1622.461,1569.088,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36024. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36025. tmpobjid = CreateDynamicObject(2894,2436.442,-1622.644,1569.067,0.000,0.000,176.300,-1,-1,-1,300.000,300.000);
  36026. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36027. tmpobjid = CreateDynamicObject(1742,2433.761,-1619.981,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36028. SetDynamicObjectMaterial(tmpobjid, 2, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36029. tmpobjid = CreateDynamicObject(927,2432.903,-1618.498,1569.568,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36030. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36031. tmpobjid = CreateDynamicObject(19826,2435.923,-1623.018,1569.537,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36032. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36033. tmpobjid = CreateDynamicObject(2256,2433.586,-1613.673,1569.833,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36034. SetDynamicObjectMaterial(tmpobjid, 0, 14789, "ab_sfgymmain", "gymwinodow3", -1);
  36035. SetDynamicObjectMaterial(tmpobjid, 1, 14789, "ab_sfgymmain", "gymwinodow3", 0);
  36036. tmpobjid = CreateDynamicObject(2559,2433.068,-1614.056,1569.254,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36037. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36038. tmpobjid = CreateDynamicObject(2808,2434.661,-1614.102,1568.508,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36039. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  36040. SetDynamicObjectMaterial(tmpobjid, 1, 13003, "ce_racestart", "CJ_TARTAN", 0);
  36041. tmpobjid = CreateDynamicObject(2808,2435.371,-1614.112,1568.512,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36042. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  36043. SetDynamicObjectMaterial(tmpobjid, 1, 13003, "ce_racestart", "CJ_TARTAN", 0);
  36044. tmpobjid = CreateDynamicObject(2808,2435.369,-1616.244,1568.508,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36045. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", -1);
  36046. SetDynamicObjectMaterial(tmpobjid, 1, 13003, "ce_racestart", "CJ_TARTAN", 0);
  36047. tmpobjid = CreateDynamicObject(19922,2434.172,-1616.040,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36048. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "CJ_WOOD6", -1);
  36049. tmpobjid = CreateDynamicObject(1620,2431.543,-1618.471,1570.507,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  36050. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36051. tmpobjid = CreateDynamicObject(2136,2431.422,-1617.996,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36052. SetDynamicObjectMaterial(tmpobjid, 3, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36053. SetDynamicObjectMaterial(tmpobjid, 4, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36054. tmpobjid = CreateDynamicObject(2135,2431.411,-1615.994,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36055. SetDynamicObjectMaterial(tmpobjid, 3, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36056. tmpobjid = CreateDynamicObject(1811,2433.621,-1615.428,1568.397,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36057. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36058. tmpobjid = CreateDynamicObject(1811,2433.531,-1616.388,1568.397,0.000,0.000,-169.000,-1,-1,-1,300.000,300.000);
  36059. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36060. tmpobjid = CreateDynamicObject(19585,2431.234,-1615.522,1569.198,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36061. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36062. tmpobjid = CreateDynamicObject(2267,2435.818,-1615.677,1570.038,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  36063. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36064. tmpobjid = CreateDynamicObject(19173,2430.942,-1616.528,1569.338,0.000,360.000,270.000,-1,-1,-1,300.000,300.000);
  36065. SetDynamicObjectMaterial(tmpobjid, 0, 14584, "ab_abbatoir01", "ab_tiles", 0);
  36066. tmpobjid = CreateDynamicObject(19173,2430.940,-1618.678,1569.338,0.000,360.000,270.000,-1,-1,-1,300.000,300.000);
  36067. SetDynamicObjectMaterial(tmpobjid, 0, 14584, "ab_abbatoir01", "ab_tiles", 0);
  36068. tmpobjid = CreateDynamicObject(19826,2433.889,-1620.695,1569.567,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36069. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36070. tmpobjid = CreateDynamicObject(19451,2430.885,-1623.400,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36071. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_bathtiles", -1);
  36072. tmpobjid = CreateDynamicObject(19451,2428.914,-1623.090,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36073. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_bathtiles", -1);
  36074. tmpobjid = CreateDynamicObject(19361,2432.133,-1619.379,1569.677,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36075. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_bathtiles", -1);
  36076. tmpobjid = CreateDynamicObject(19431,2433.602,-1619.303,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36077. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_bathtiles", -1);
  36078. tmpobjid = CreateDynamicObject(19392,2433.605,-1621.713,1569.677,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36079. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_bathtiles", -1);
  36080. tmpobjid = CreateDynamicObject(2097,2431.968,-1620.089,1568.227,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36081. SetDynamicObjectMaterial(tmpobjid, 0, 14665, "genintint711_1", "interiorwindowglow", 0);
  36082. tmpobjid = CreateDynamicObject(1208,2431.274,-1621.856,1567.927,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  36083. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36084. tmpobjid = CreateDynamicObject(19452,2428.917,-1621.296,1567.877,0.000,90.000,90.000,-1,-1,-1,300.000,300.000);
  36085. SetDynamicObjectMaterial(tmpobjid, 0, 15041, "bigsfsave", "mp_carter_tilewall", 0);
  36086. tmpobjid = CreateDynamicObject(11707,2431.651,-1622.938,1569.173,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36087. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36088. tmpobjid = CreateDynamicObject(2751,2432.021,-1622.901,1567.963,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36089. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36090. tmpobjid = CreateDynamicObject(1499,2433.750,-1622.448,1567.928,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36091. SetDynamicObjectMaterial(tmpobjid, 0, 14789, "ab_sfgymmain", "gym_floor6", -1);
  36092. SetDynamicObjectMaterial(tmpobjid, 1, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  36093. tmpobjid = CreateDynamicObject(1734,2437.981,-1621.489,1571.241,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36094. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36095. tmpobjid = CreateDynamicObject(1734,2434.419,-1616.319,1571.241,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36096. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36097. tmpobjid = CreateDynamicObject(1734,2432.637,-1621.349,1571.241,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36098. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36099. tmpobjid = CreateDynamicObject(1798,2442.329,-1622.253,1567.927,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36100. SetDynamicObjectMaterial(tmpobjid, 0, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36101. SetDynamicObjectMaterial(tmpobjid, 1, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36102. SetDynamicObjectMaterial(tmpobjid, 2, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36103. tmpobjid = CreateDynamicObject(2573,2444.938,-1619.566,1567.927,0.000,0.000,270.000,-1,-1,-1,300.000,300.000);
  36104. SetDynamicObjectMaterial(tmpobjid, 0, 19962, "samproadsigns", "materialtext1", -1);
  36105. SetDynamicObjectMaterial(tmpobjid, 1, 19962, "samproadsigns", "materialtext1", 0);
  36106. SetDynamicObjectMaterial(tmpobjid, 2, 19962, "samproadsigns", "materialtext1", 0);
  36107. SetDynamicObjectMaterial(tmpobjid, 3, 14652, "ab_trukstpa", "mp_diner_wood", 0);
  36108. tmpobjid = CreateDynamicObject(18870,2445.015,-1619.921,1568.808,0.000,0.000,-110.699,-1,-1,-1,300.000,300.000);
  36109. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36110. tmpobjid = CreateDynamicObject(2670,2442.739,-1622.248,1568.018,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36111. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36112. tmpobjid = CreateDynamicObject(1734,2443.351,-1620.918,1571.241,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36113. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36114. tmpobjid = CreateDynamicObject(19826,2441.054,-1623.023,1569.567,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36115. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1);
  36116. tmpobjid = CreateDynamicObject(1499,2440.612,-1622.162,1567.928,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36117. SetDynamicObjectMaterial(tmpobjid, 0, 14789, "ab_sfgymmain", "gym_floor6", -1);
  36118. SetDynamicObjectMaterial(tmpobjid, 1, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  36119. tmpobjid = CreateDynamicObject(2259,2432.339,-1622.525,1569.593,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36120. SetDynamicObjectMaterial(tmpobjid, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0);
  36121. SetDynamicObjectMaterial(tmpobjid, 1, 14581, "ab_mafiasuitea", "barbersmir1", 0);
  36122. tmpobjid = CreateDynamicObject(19914,2436.122,-1619.786,1568.703,9.099,84.600,14.199,-1,-1,-1,300.000,300.000);
  36123. tmpobjid = CreateDynamicObject(19825,2439.023,-1619.840,1570.570,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36124. tmpobjid = CreateDynamicObject(2843,2436.017,-1616.521,1568.431,0.000,0.000,-18.400,-1,-1,-1,300.000,300.000);
  36125. tmpobjid = CreateDynamicObject(1666,2436.561,-1614.848,1568.818,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36126. tmpobjid = CreateDynamicObject(2849,2436.559,-1613.826,1568.728,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36127. tmpobjid = CreateDynamicObject(371,2440.229,-1616.211,1568.137,-10.999,0.000,197.199,-1,-1,-1,300.000,300.000);
  36128. tmpobjid = CreateDynamicObject(19610,2439.131,-1613.041,1568.478,0.000,0.000,33.099,-1,-1,-1,300.000,300.000);
  36129. tmpobjid = CreateDynamicObject(348,2440.032,-1616.696,1569.604,90.000,71.399,0.000,-1,-1,-1,300.000,300.000);
  36130. tmpobjid = CreateDynamicObject(2392,2439.265,-1622.670,1569.728,0.000,0.000,89.299,-1,-1,-1,300.000,300.000);
  36131. tmpobjid = CreateDynamicObject(2386,2437.919,-1622.763,1568.958,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36132. tmpobjid = CreateDynamicObject(2386,2439.290,-1622.763,1568.428,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36133. tmpobjid = CreateDynamicObject(2147,2431.375,-1614.893,1567.927,0.000,0.000,91.000,-1,-1,-1,300.000,300.000);
  36134. tmpobjid = CreateDynamicObject(2613,2431.558,-1613.118,1567.927,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36135. tmpobjid = CreateDynamicObject(2838,2434.044,-1615.888,1568.747,0.000,0.000,-59.699,-1,-1,-1,300.000,300.000);
  36136. tmpobjid = CreateDynamicObject(2831,2434.150,-1615.138,1568.757,0.000,0.000,159.300,-1,-1,-1,300.000,300.000);
  36137. tmpobjid = CreateDynamicObject(2673,2432.503,-1616.308,1568.018,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36138. tmpobjid = CreateDynamicObject(2822,2431.128,-1618.061,1568.968,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36139. tmpobjid = CreateDynamicObject(19563,2431.156,-1616.571,1568.998,0.000,0.000,7.099,-1,-1,-1,300.000,300.000);
  36140. tmpobjid = CreateDynamicObject(2823,2431.438,-1617.467,1569.008,0.000,0.000,80.099,-1,-1,-1,300.000,300.000);
  36141. tmpobjid = CreateDynamicObject(1752,2431.096,-1614.811,1569.707,0.000,0.000,79.400,-1,-1,-1,300.000,300.000);
  36142. tmpobjid = CreateDynamicObject(2514,2431.571,-1621.121,1567.927,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36143. tmpobjid = CreateDynamicObject(2524,2432.796,-1622.466,1567.927,0.000,0.000,180.000,-1,-1,-1,300.000,300.000);
  36144. tmpobjid = CreateDynamicObject(2819,2432.591,-1622.258,1567.987,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36145. tmpobjid = CreateDynamicObject(2048,2430.955,-1617.493,1570.278,0.000,0.000,90.000,-1,-1,-1,300.000,300.000);
  36146. tmpobjid = CreateDynamicObject(2828,2445.061,-1620.497,1568.828,0.000,0.000,57.000,-1,-1,-1,300.000,300.000);
  36147. tmpobjid = CreateDynamicObject(2816,2442.663,-1620.397,1568.608,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36148. tmpobjid = CreateDynamicObject(2255,2442.778,-1619.301,1569.658,0.000,0.000,0.000,-1,-1,-1,300.000,300.000);
  36149. tmpobjid = CreateDynamicObject(2103,2434.102,-1616.991,1568.697,0.000,0.000,61.399,-1,-1,-1,300.000,300.000);
  36150. }
  36151. stock LoadCustomHouse2() //by Symphony
  36152. {
  36153. CreateDynamicObject(19369, 1358.84998, -812.65002, 1093.09998, 0.00000, 0.00000, 0.00000);
  36154. CreateDynamicObject(19379, 1364.00732, -825.45001, 1091.26404, 0.00000, 90.00000, 0.00000);
  36155. CreateDynamicObject(19379, 1364.00684, -815.84998, 1091.26404, 0.00000, 90.00000, 0.00000);
  36156. CreateDynamicObject(19379, 1374.50000, -815.84998, 1091.26404, 0.00000, 90.00000, 0.00000);
  36157. CreateDynamicObject(19379, 1374.50000, -825.45001, 1091.26404, 0.00000, 90.00000, 0.00000);
  36158. CreateDynamicObject(19369, 1358.84998, -815.84998, 1093.09998, 0.00000, 0.00000, 0.00000);
  36159. CreateDynamicObject(19369, 1358.84998, -819.04999, 1093.09998, 0.00000, 0.00000, 0.00000);
  36160. CreateDynamicObject(19369, 1358.84998, -822.25000, 1093.09998, 0.00000, 0.00000, 0.00000);
  36161. CreateDynamicObject(19369, 1358.84998, -825.45001, 1093.09998, 0.00000, 0.00000, 0.00000);
  36162. CreateDynamicObject(19369, 1358.84998, -828.65002, 1093.09998, 0.00000, 0.00000, 0.00000);
  36163. CreateDynamicObject(19369, 1360.50000, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36164. CreateDynamicObject(19369, 1363.69995, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36165. CreateDynamicObject(19369, 1366.90002, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36166. CreateDynamicObject(19369, 1370.09998, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36167. CreateDynamicObject(19369, 1373.30005, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36168. CreateDynamicObject(19369, 1376.50000, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36169. CreateDynamicObject(19369, 1379.69995, -830.15002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36170. CreateDynamicObject(19369, 1379.69995, -828.50000, 1093.09998, 0.00000, 0.00000, 0.00000);
  36171. CreateDynamicObject(19369, 1379.69995, -825.29999, 1093.09998, 0.00000, 0.00000, 0.00000);
  36172. CreateDynamicObject(19369, 1379.69995, -822.09998, 1093.09998, 0.00000, 0.00000, 0.00000);
  36173. CreateDynamicObject(19369, 1379.69995, -818.90002, 1093.09998, 0.00000, 0.00000, 0.00000);
  36174. CreateDynamicObject(19369, 1379.69995, -815.70001, 1093.09998, 0.00000, 0.00000, 0.00000);
  36175. CreateDynamicObject(19369, 1379.69995, -812.50000, 1093.09998, 0.00000, 0.00000, 0.00000);
  36176. CreateDynamicObject(19369, 1378.09998, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36177. CreateDynamicObject(19369, 1374.90002, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36178. CreateDynamicObject(19369, 1371.69995, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36179. CreateDynamicObject(19369, 1368.50000, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36180. CreateDynamicObject(19369, 1365.30005, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36181. CreateDynamicObject(19369, 1362.09998, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36182. CreateDynamicObject(19369, 1358.90002, -811.00000, 1093.09998, 0.00000, 0.00000, 90.00000);
  36183. CreateDynamicObject(1569, 1379.66003, -821.89789, 1091.30005, 0.00000, 0.00000, 90.00000);
  36184. CreateDynamicObject(1569, 1379.66003, -818.90002, 1091.30005, 0.00000, 0.00000, -90.00000);
  36185. CreateDynamicObject(2001, 1379.50000, -822.00000, 1091.35083, 0.00000, 0.00000, 0.00000);
  36186. CreateDynamicObject(2001, 1379.50000, -818.79999, 1091.35083, 0.00000, 0.00000, 0.00000);
  36187. CreateDynamicObject(2013, 1378.09998, -811.59998, 1091.19995, 0.00000, 0.00000, 0.00000);
  36188. CreateDynamicObject(2014, 1377.09998, -811.59998, 1091.19995, 0.00000, 0.00000, 0.00000);
  36189. CreateDynamicObject(2015, 1376.13000, -811.59998, 1091.19995, 0.00000, 0.00000, 0.00000);
  36190. CreateDynamicObject(2016, 1375.13000, -811.59998, 1091.19995, 0.00000, 0.00000, 0.00000);
  36191. CreateDynamicObject(2131, 1379.09998, -816.50000, 1091.34998, 0.00000, 0.00000, -90.00000);
  36192. CreateDynamicObject(2133, 1379.09998, -815.50000, 1091.35059, 0.00000, 0.00000, -90.00000);
  36193. CreateDynamicObject(2747, 1375.74805, -813.96002, 1091.80005, 0.00000, 0.00000, 90.00000);
  36194. CreateDynamicObject(2747, 1376.73999, -813.96002, 1091.80005, 0.00000, 0.00000, 90.00000);
  36195. CreateDynamicObject(2747, 1376.73999, -815.53003, 1091.80005, 0.00000, 0.00000, 90.00000);
  36196. CreateDynamicObject(2747, 1375.74805, -815.53003, 1091.80005, 0.00000, 0.00000, 90.00000);
  36197. CreateDynamicObject(2079, 1374.80457, -815.53003, 1091.98999, 0.00000, 0.00000, 900.00000);
  36198. CreateDynamicObject(2079, 1374.80457, -813.96002, 1091.98999, 0.00000, 0.00000, 900.00000);
  36199. CreateDynamicObject(2079, 1377.80457, -815.53003, 1091.98999, 0.00000, 0.00000, 0.00000);
  36200. CreateDynamicObject(2079, 1377.80457, -813.94012, 1091.98999, 0.00000, 0.00000, 0.00000);
  36201. CreateDynamicObject(2010, 1374.47961, -811.26990, 1091.35046, 0.00000, 0.00000, 0.00000);
  36202. CreateDynamicObject(2010, 1379.46436, -814.85443, 1091.35046, 0.00000, 0.00000, 0.00000);
  36203. CreateDynamicObject(2864, 1374.91663, -811.29761, 1092.19983, 0.00000, 0.00000, -28.00000);
  36204. CreateDynamicObject(2864, 1374.91663, -811.50000, 1092.19983, 0.00000, 0.00000, -28.00000);
  36205. CreateDynamicObject(2864, 1374.91663, -811.70001, 1092.19983, 0.00000, 0.00000, -28.00000);
  36206. CreateDynamicObject(2864, 1374.91663, -811.90002, 1092.19983, 0.00000, 0.00000, -28.00000);
  36207. CreateDynamicObject(2865, 1375.62268, -811.36060, 1092.20996, 0.00000, 0.00000, 34.60000);
  36208. CreateDynamicObject(2865, 1375.62268, -811.79999, 1092.20996, 0.00000, 0.00000, 34.60000);
  36209. CreateDynamicObject(2863, 1376.45459, -811.39502, 1092.20056, 0.00000, 0.00000, 212.39999);
  36210. CreateDynamicObject(2863, 1376.45459, -811.79999, 1092.20056, 0.00000, 0.00000, 212.39999);
  36211. CreateDynamicObject(2270, 1379.10999, -819.65002, 1092.19995, 0.00000, 0.00000, -90.00000);
  36212. CreateDynamicObject(2270, 1379.10999, -821.15002, 1092.19995, 0.00000, 0.00000, -90.00000);
  36213. CreateDynamicObject(19369, 1378.00000, -822.40002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36214. CreateDynamicObject(19369, 1374.80005, -822.40002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36215. CreateDynamicObject(19369, 1370.07996, -824.09998, 1093.09998, 0.00000, 0.00000, 0.00000);
  36216. CreateDynamicObject(19369, 1370.07996, -827.29999, 1093.09998, 0.00000, 0.00000, 0.00000);
  36217. CreateDynamicObject(19369, 1370.07996, -830.50000, 1093.09998, 0.00000, 0.00000, 0.00000);
  36218. CreateDynamicObject(1502, 1370.80005, -822.40002, 1091.34998, 0.00000, 0.00000, 0.00000);
  36219. CreateDynamicObject(19397, 1371.59998, -822.40002, 1093.09998, 0.00000, 0.00000, 90.00000);
  36220. CreateDynamicObject(2010, 1370.46326, -822.14398, 1091.35095, 0.00000, 0.00000, 0.00000);
  36221. CreateDynamicObject(2257, 1379.59998, -826.29999, 1093.50000, 0.00000, 0.00000, -90.00000);
  36222. CreateDynamicObject(2010, 1370.57300, -822.63892, 1091.35095, 0.00000, 0.00000, 0.00000);
  36223. CreateDynamicObject(1723, 1370.68005, -829.63208, 1091.35034, 0.00000, 0.00000, 90.00000);
  36224. CreateDynamicObject(1723, 1370.68005, -825.50000, 1091.35034, 0.00000, 0.00000, 90.00000);
  36225. CreateDynamicObject(1433, 1370.75000, -826.54999, 1091.55005, 0.00000, 0.00000, 0.00000);
  36226. CreateDynamicObject(2854, 1370.61914, -826.75079, 1092.05664, 0.00000, 0.00000, 129.53998);
  36227. CreateDynamicObject(2855, 1371.08386, -826.73102, 1092.05762, 0.00000, 0.00000, 90.00000);
  36228. CreateDynamicObject(2855, 1371.08057, -826.29999, 1092.05762, 0.00000, 0.00000, 90.00000);
  36229. CreateDynamicObject(2249, 1370.35815, -826.22241, 1092.69995, 0.00000, 0.00000, 69.36000);
  36230. CreateDynamicObject(19174, 1370.17041, -826.50000, 1093.80005, 0.00000, 0.00000, 90.00000);
  36231. CreateDynamicObject(19377, 1374.55908, -825.37708, 1094.85352, 0.00000, 90.00000, 0.00000);
  36232. CreateDynamicObject(19377, 1374.55908, -815.76001, 1094.85352, 0.00000, 90.00000, 0.00000);
  36233. CreateDynamicObject(19377, 1364.09998, -815.76001, 1094.85352, 0.00000, 90.00000, 0.00000);
  36234. CreateDynamicObject(19377, 1364.09998, -825.40002, 1094.85352, 0.00000, 90.00000, 0.00000);
  36235. CreateDynamicObject(14455, 1364.95093, -830.00000, 1092.84985, 0.00000, 0.00000, 0.00000);
  36236. CreateDynamicObject(14455, 1359.29004, -830.00000, 1092.84985, 0.00000, 0.00000, 0.00000);
  36237. CreateDynamicObject(1723, 1369.46997, -822.79382, 1091.35205, 0.00000, 0.00000, -90.00000);
  36238. CreateDynamicObject(1723, 1369.46997, -827.00000, 1091.35205, 0.00000, 0.00000, -90.00000);
  36239. CreateDynamicObject(1433, 1369.40002, -825.90002, 1091.50000, 0.00000, 0.00000, 0.00000);
  36240. CreateDynamicObject(2249, 1369.72192, -826.26715, 1092.67004, 0.00000, 0.00000, -118.08004);
  36241. CreateDynamicObject(2855, 1369.73999, -825.52869, 1092.00720, 0.00000, 0.00000, -90.00000);
  36242. CreateDynamicObject(2855, 1369.73999, -825.95001, 1092.00720, 0.00000, 0.00000, -90.00000);
  36243. CreateDynamicObject(2816, 1369.21130, -825.78577, 1092.00720, 0.00000, 0.00000, -96.54003);
  36244. CreateDynamicObject(1723, 1359.46997, -829.00000, 1091.35205, 0.00000, 0.00000, 90.00000);
  36245. CreateDynamicObject(1433, 1359.50000, -825.90002, 1091.50000, 0.00000, 0.00000, 0.00000);
  36246. CreateDynamicObject(1723, 1359.46997, -824.79382, 1091.35205, 0.00000, 0.00000, 90.00000);
  36247. CreateDynamicObject(2855, 1359.19995, -826.29999, 1092.00696, 0.00000, 0.00000, 90.00000);
  36248. CreateDynamicObject(2855, 1359.19995, -825.90002, 1092.00696, 0.00000, 0.00000, 90.00000);
  36249. CreateDynamicObject(2816, 1359.72754, -826.04486, 1092.00696, 0.00000, 0.00000, 81.71994);
  36250. CreateDynamicObject(2249, 1359.17920, -825.53064, 1092.59998, 0.00000, 0.00000, 60.77998);
  36251. CreateDynamicObject(19174, 1358.94006, -825.83087, 1093.80005, 0.00000, 0.00000, 90.00000);
  36252. CreateDynamicObject(19174, 1369.99023, -825.85168, 1093.80005, 0.00000, 0.00000, -90.00000);
  36253. CreateDynamicObject(1799, 1376.10315, -824.25000, 1091.35046, 0.00000, 0.00000, -90.00000);
  36254. CreateDynamicObject(1799, 1376.10315, -827.50000, 1091.35046, 0.00000, 0.00000, -90.00000);
  36255. CreateDynamicObject(16780, 1364.30005, -825.79999, 1094.73999, 0.00000, 0.00000, 0.00000);
  36256. CreateDynamicObject(16780, 1376.09998, -814.66998, 1094.76001, 0.00000, 0.00000, 0.00000);
  36257. CreateDynamicObject(16780, 1376.40002, -826.29999, 1094.76001, 0.00000, 0.00000, 0.00000);
  36258. CreateDynamicObject(2964, 1364.31287, -825.69141, 1091.35120, 0.00000, 0.00000, 0.00000);
  36259. CreateDynamicObject(338, 1363.42285, -826.21021, 1092.39001, 0.00000, 90.00000, 90.00000);
  36260. CreateDynamicObject(338, 1363.30005, -826.21021, 1092.39001, 0.00000, 90.00000, 90.00000);
  36261. CreateDynamicObject(2965, 1364.31128, -825.66052, 1092.24805, 0.00000, 0.00000, 0.00000);
  36262. CreateDynamicObject(2995, 1364.18994, -825.65002, 1092.24805, 0.00000, 0.00000, 90.00000);
  36263. CreateDynamicObject(2996, 1364.25000, -825.69189, 1092.24805, 0.00000, 0.00000, 90.00000);
  36264. CreateDynamicObject(2997, 1364.25000, -825.62000, 1092.24805, 0.00000, 0.00000, 90.00000);
  36265. CreateDynamicObject(2998, 1364.31995, -825.57001, 1092.24829, 0.00000, 0.00000, 90.00000);
  36266. CreateDynamicObject(2999, 1364.32336, -825.65002, 1092.24829, 0.00000, 0.00000, 90.00000);
  36267. CreateDynamicObject(3000, 1364.32556, -825.72998, 1092.24829, 0.00000, 0.00000, 90.00000);
  36268. CreateDynamicObject(3001, 1364.40002, -825.53003, 1092.24829, 0.00000, 0.00000, 90.00000);
  36269. CreateDynamicObject(2995, 1364.40002, -825.60999, 1092.24829, 0.00000, 0.00000, 90.00000);
  36270. CreateDynamicObject(2996, 1364.40002, -825.69000, 1092.24829, 0.00000, 0.00000, 90.00000);
  36271. CreateDynamicObject(2998, 1364.40002, -825.77002, 1092.24829, 0.00000, 0.00000, 90.00000);
  36272. CreateDynamicObject(2999, 1364.47998, -825.48999, 1092.24829, 0.00000, 0.00000, 90.00000);
  36273. CreateDynamicObject(2996, 1364.47998, -825.57001, 1092.24829, 0.00000, 0.00000, 90.00000);
  36274. CreateDynamicObject(3003, 1364.47998, -825.65002, 1092.24829, 0.00000, 0.00000, 90.00000);
  36275. CreateDynamicObject(3000, 1364.47998, -825.72998, 1092.24829, 0.00000, 0.00000, 90.00000);
  36276. CreateDynamicObject(3001, 1364.47998, -825.81000, 1092.24841, 0.00000, 0.00000, 90.00000);
  36277. CreateDynamicObject(338, 1365.30005, -826.21021, 1092.39001, 0.00000, 90.00000, 90.00000);
  36278. CreateDynamicObject(338, 1365.19995, -826.21021, 1092.39001, 0.00000, 90.00000, 90.00000);
  36279. CreateDynamicObject(2010, 1372.65002, -822.14398, 1091.35095, 0.00000, 0.00000, 0.00000);
  36280. CreateDynamicObject(2010, 1372.65002, -822.63892, 1091.35095, 0.00000, 0.00000, 0.00000);
  36281. CreateDynamicObject(2069, 1369.58423, -829.65009, 1091.40002, 0.00000, 0.00000, 0.00000);
  36282. CreateDynamicObject(2069, 1359.50000, -829.65009, 1091.40002, 0.00000, 0.00000, 0.00000);
  36283. CreateDynamicObject(2010, 1379.22998, -823.10999, 1091.34998, 0.00000, 0.00000, 0.00000);
  36284. CreateDynamicObject(2010, 1379.22998, -829.56000, 1091.35046, 0.00000, 0.00000, 0.00000);
  36285. CreateDynamicObject(2296, 1362.07312, -811.29218, 1091.35266, 0.00000, 0.00000, 0.00000);
  36286. CreateDynamicObject(1788, 1364.18066, -811.31732, 1091.90002, 0.00000, 0.00000, 0.00000);
  36287. CreateDynamicObject(1788, 1364.18066, -811.31732, 1092.30005, 0.00000, 0.00000, 0.00000);
  36288. CreateDynamicObject(1788, 1364.18066, -811.31732, 1092.75000, 0.00000, 0.00000, 0.00000);
  36289. CreateDynamicObject(1788, 1361.94995, -811.31732, 1092.75000, 0.00000, 0.00000, 0.00000);
  36290. CreateDynamicObject(1788, 1361.94995, -811.31732, 1091.90002, 0.00000, 0.00000, 0.00000);
  36291. CreateDynamicObject(1788, 1361.94995, -811.31732, 1092.30005, 0.00000, 0.00000, 0.00000);
  36292. CreateDynamicObject(1788, 1364.18066, -811.31732, 1093.19995, 0.00000, 0.00000, 0.00000);
  36293. CreateDynamicObject(1788, 1361.94995, -811.31732, 1093.19995, 0.00000, 0.00000, 0.00000);
  36294. CreateDynamicObject(2028, 1363.24500, -812.21790, 1091.44995, 0.00000, 0.00000, 27.54000);
  36295. CreateDynamicObject(2104, 1361.37610, -811.03162, 1091.35144, 0.00000, 0.00000, 0.00000);
  36296. CreateDynamicObject(2104, 1365.19995, -811.03162, 1091.35144, 0.00000, 0.00000, 0.00000);
  36297. CreateDynamicObject(2229, 1360.98071, -811.11951, 1091.35156, 0.00000, 0.00000, 0.00000);
  36298. CreateDynamicObject(2229, 1365.80005, -811.11951, 1091.35156, 0.00000, 0.00000, 0.00000);
  36299. CreateDynamicObject(1723, 1364.08899, -815.41748, 1091.35083, 0.00000, 0.00000, 900.00000);
  36300. CreateDynamicObject(1827, 1363.06909, -813.65991, 1091.35107, 0.00000, 0.00000, 0.00000);
  36301. CreateDynamicObject(2247, 1363.66235, -813.11176, 1092.19995, 0.00000, 0.00000, -43.38000);
  36302. CreateDynamicObject(2854, 1363.02405, -813.17792, 1091.77795, 0.00000, 0.00000, -2.16000);
  36303. CreateDynamicObject(2855, 1363.55103, -813.74182, 1091.77795, 0.00000, 0.00000, 0.00000);
  36304. CreateDynamicObject(1510, 1363.09180, -813.70569, 1091.79004, 0.00000, 0.00000, 0.00000);
  36305. CreateDynamicObject(2816, 1362.58826, -813.66687, 1091.77783, 0.00000, 0.00000, -74.27999);
  36306. CreateDynamicObject(2010, 1366.00793, -811.44507, 1091.35046, 0.00000, 0.00000, 0.00000);
  36307. CreateDynamicObject(2010, 1360.24805, -811.40228, 1091.35046, 0.00000, 0.00000, 0.00000);
  36308. }
  36309. stock LoadRestaurant() //by Rehasher
  36310. {
  36311. CreateDynamicObject(19457, -1801.19226, 1231.20813, 21.22890, 0.00000, 0.00000, 0.00000);
  36312. CreateDynamicObject(19457, -1801.11365, 1230.10181, 21.22890, 0.00000, 0.00000, 90.00000);
  36313. CreateDynamicObject(19461, -1796.45679, 1245.58557, 21.22890, 0.00000, 0.00000, 90.00000);
  36314. CreateDynamicObject(19457, -1796.35193, 1231.20813, 21.22890, 0.00000, 0.00000, 0.00000);
  36315. CreateDynamicObject(19394, -1799.50500, 1235.93457, 21.22890, 0.00000, 0.00000, 90.00000);
  36316. CreateDynamicObject(19438, -1797.10388, 1235.93457, 21.22890, 0.00000, 0.00000, 90.00000);
  36317. CreateDynamicObject(19397, -1799.50500, 1235.95459, 21.22890, 0.00000, 0.00000, 90.00000);
  36318. CreateDynamicObject(19442, -1797.10388, 1235.95459, 21.22890, 0.00000, 0.00000, 90.00000);
  36319. CreateDynamicObject(19397, -1794.64294, 1230.10181, 21.22890, 0.00000, 0.00000, 90.00000);
  36320. CreateDynamicObject(19461, -1796.33191, 1231.22705, 21.22890, 0.00000, 0.00000, 0.00000);
  36321. CreateDynamicObject(19461, -1786.82495, 1245.58557, 21.22890, 0.00000, 0.00000, 90.00000);
  36322. CreateDynamicObject(19461, -1783.45068, 1234.03809, 21.22890, 0.00000, 0.00000, 0.00000);
  36323. CreateDynamicObject(19397, -1783.45068, 1240.45117, 21.22890, 0.00000, 0.00000, 0.00000);
  36324. CreateDynamicObject(19461, -1783.45068, 1246.86584, 21.22890, 0.00000, 0.00000, 0.00000);
  36325. CreateDynamicObject(14463, -1810.68335, 1245.28125, 22.43120, 0.00000, 0.00000, 180.00000);
  36326. CreateDynamicObject(19378, -1788.23889, 1240.27063, 19.58110, 0.00000, 90.00000, 90.00000);
  36327. CreateDynamicObject(19378, -1788.23889, 1229.77576, 19.58110, 0.00000, 90.00000, 90.00000);
  36328. CreateDynamicObject(19378, -1797.86865, 1229.77576, 19.58110, 0.00000, 90.00000, 90.00000);
  36329. CreateDynamicObject(19378, -1797.86865, 1240.27063, 19.58110, 0.00000, 90.00000, 90.00000);
  36330. CreateDynamicObject(19462, -1788.08655, 1240.45117, 19.58520, 0.00000, 90.00000, 90.00000);
  36331. CreateDynamicObject(19462, -1794.64294, 1237.38403, 19.58520, 0.00000, 90.00000, 0.00000);
  36332. CreateDynamicObject(19462, -1794.64294, 1227.75378, 19.58520, 0.00000, 90.00000, 0.00000);
  36333. CreateDynamicObject(18020, -1771.98291, 1238.40234, 21.67300, 0.00000, 0.00000, 0.00000);
  36334. CreateDynamicObject(2515, -1777.87622, 1242.37268, 20.68620, 0.00000, 0.00000, 180.00000);
  36335. CreateDynamicObject(2515, -1776.16882, 1242.37268, 20.68620, 0.00000, 0.00000, 180.00000);
  36336. CreateDynamicObject(2515, -1774.48010, 1242.37268, 20.68620, 0.00000, 0.00000, 180.00000);
  36337. CreateDynamicObject(2515, -1772.83008, 1242.37268, 20.68620, 0.00000, 0.00000, 180.00000);
  36338. CreateDynamicObject(2742, -1781.80457, 1243.88171, 20.97550, 0.00000, 0.00000, 90.00000);
  36339. CreateDynamicObject(2742, -1781.80457, 1242.82166, 20.97550, 0.00000, 0.00000, 90.00000);
  36340. CreateDynamicObject(2738, -1776.93286, 1248.43665, 20.28840, 0.00000, 0.00000, 0.00000);
  36341. CreateDynamicObject(2738, -1772.95044, 1248.43665, 20.28840, 0.00000, 0.00000, 0.00000);
  36342. CreateDynamicObject(2686, -1778.70825, 1242.45081, 21.33460, 0.00000, 0.00000, 90.00000);
  36343. CreateDynamicObject(2741, -1777.18091, 1241.99146, 21.33460, 0.00000, 0.00000, 180.00000);
  36344. CreateDynamicObject(2741, -1775.57166, 1241.99146, 21.33456, 0.00000, 0.00000, 180.00000);
  36345. CreateDynamicObject(2741, -1773.97180, 1241.99146, 21.33460, 0.00000, 0.00000, 180.00000);
  36346. CreateDynamicObject(2670, -1774.40515, 1246.66089, 19.78550, 0.00000, 0.00000, 257.00000);
  36347. CreateDynamicObject(2685, -1774.76636, 1241.93103, 21.33460, 0.00000, 0.00000, 180.00000);
  36348. CreateDynamicObject(1535, -1781.32666, 1241.03491, 19.67370, 0.00000, 0.00000, 0.00000);
  36349. CreateDynamicObject(1535, -1783.41675, 1239.70361, 19.61990, 0.00000, 0.00000, 90.00000);
  36350. CreateDynamicObject(19461, -1801.19226, 1246.24121, 21.22890, 0.00000, 0.00000, 0.00000);
  36351. CreateDynamicObject(1522, -1795.42285, 1230.11182, 19.57990, 0.00000, 0.00000, 0.00000);
  36352. CreateDynamicObject(3109, -1801.18677, 1232.89868, 20.84890, 0.00000, 0.00000, 180.00000);
  36353. CreateDynamicObject(19173, -1801.12842, 1238.66248, 21.99560, 0.00000, 0.00000, -90.00000);
  36354. CreateDynamicObject(18002, -1801.07776, 1243.53918, 21.04080, 0.00000, 0.00000, 90.00000);
  36355. CreateDynamicObject(1744, -1801.33655, 1239.91101, 20.51460, 0.00000, 0.00000, 90.00000);
  36356. CreateDynamicObject(18002, -1801.07776, 1244.43994, 21.04080, 0.00000, 0.00000, 90.00000);
  36357. CreateDynamicObject(1541, -1797.34387, 1237.97534, 20.93500, 0.00000, 0.00000, 90.00000);
  36358. CreateDynamicObject(2360, -1796.88416, 1234.63306, 19.66870, 0.00000, 0.00000, 90.00000);
  36359. CreateDynamicObject(2169, -1796.93152, 1233.65393, 20.29760, 0.00000, 90.00000, -90.00000);
  36360. CreateDynamicObject(19442, -1792.89905, 1237.82336, 21.22890, 0.00000, 0.00000, 0.00000);
  36361. CreateDynamicObject(19461, -1783.45068, 1234.03809, 21.22890, 0.00000, 0.00000, 0.00000);
  36362. CreateDynamicObject(19442, -1792.18542, 1238.71423, 21.22890, 0.00000, 0.00000, 90.00000);
  36363. CreateDynamicObject(19442, -1792.89905, 1230.97058, 21.22890, 0.00000, 0.00000, 0.00000);
  36364. CreateDynamicObject(19442, -1784.34351, 1238.71423, 21.22890, 0.00000, 0.00000, 90.00000);
  36365. CreateDynamicObject(19325, -1792.89905, 1234.36121, 20.94890, 0.00000, 0.00000, 0.00000);
  36366. CreateDynamicObject(19461, -1791.60535, 1242.19885, 17.94390, 0.00000, 0.00000, 90.00000);
  36367. CreateDynamicObject(19461, -1796.33325, 1237.29773, 17.94390, 0.00000, 0.00000, 0.00000);
  36368. CreateDynamicObject(19461, -1781.97571, 1242.19885, 17.94390, 0.00000, 0.00000, 90.00000);
  36369. CreateDynamicObject(19461, -1788.17188, 1238.71423, 17.94390, 0.00000, 0.00000, 90.00000);
  36370. CreateDynamicObject(19461, -1792.89905, 1233.96753, 17.94390, 0.00000, 0.00000, 0.00000);
  36371. CreateDynamicObject(2257, -1796.22864, 1234.06567, 21.24340, 0.00000, 0.00000, 90.00000);
  36372. CreateDynamicObject(2267, -1783.56372, 1243.61401, 21.61090, 0.00000, 0.00000, -90.00000);
  36373. CreateDynamicObject(2270, -1800.60986, 1243.63477, 21.23240, 0.00000, 0.00000, 90.00000);
  36374. CreateDynamicObject(2270, -1800.60986, 1244.31482, 21.03240, 0.00000, 0.00000, 90.00000);
  36375. CreateDynamicObject(2027, -1786.09436, 1244.33325, 20.25200, 0.00000, 0.00000, 0.00000);
  36376. CreateDynamicObject(2027, -1790.17944, 1244.33325, 20.25200, 0.00000, 0.00000, 0.00000);
  36377. CreateDynamicObject(2027, -1794.25854, 1244.33325, 20.25200, 0.00000, 0.00000, 0.00000);
  36378. CreateDynamicObject(2311, -1792.20459, 1232.29089, 19.66820, 0.00000, 0.00000, 0.00000);
  36379. CreateDynamicObject(1726, -1790.43054, 1230.73474, 19.66830, 0.00000, 0.00000, 180.00000);
  36380. CreateDynamicObject(1726, -1792.44458, 1233.87207, 19.66830, 0.00000, 0.00000, 0.00000);
  36381. CreateDynamicObject(1726, -1790.43054, 1234.84656, 19.66830, 0.00000, 0.00000, 180.00000);
  36382. CreateDynamicObject(2311, -1792.20459, 1236.40637, 19.66820, 0.00000, 0.00000, 0.00000);
  36383. CreateDynamicObject(1726, -1792.44458, 1237.98352, 19.66830, 0.00000, 0.00000, 0.00000);
  36384. CreateDynamicObject(1428, -1796.77258, 1237.68115, 20.65730, -75.00000, 0.00000, 0.00000);
  36385. CreateDynamicObject(1428, -1796.83606, 1240.40198, 20.65730, -75.00000, 0.00000, 6.00000);
  36386. CreateDynamicObject(2311, -1798.22961, 1242.16101, 20.27970, 90.00000, 0.00000, -14.00000);
  36387. CreateDynamicObject(2311, -1785.79834, 1235.11511, 19.66820, 0.00000, 0.00000, 90.00000);
  36388. CreateDynamicObject(2311, -1785.79834, 1231.97107, 19.66820, 0.00000, 0.00000, 90.00000);
  36389. CreateDynamicObject(1727, -1787.36401, 1231.60437, 19.66890, 0.00000, 0.00000, 92.00000);
  36390. CreateDynamicObject(1727, -1787.42395, 1232.85876, 19.66890, 0.00000, 0.00000, 88.00000);
  36391. CreateDynamicObject(1727, -1787.44397, 1234.70105, 19.66890, 0.00000, 0.00000, 91.00000);
  36392. CreateDynamicObject(1727, -1787.42395, 1235.97290, 19.66890, 0.00000, 0.00000, 85.00000);
  36393. CreateDynamicObject(1726, -1784.09839, 1236.89624, 19.66830, 0.00000, 0.00000, -90.00000);
  36394. CreateDynamicObject(1726, -1784.09839, 1233.75708, 19.66830, 0.00000, 0.00000, -90.00000);
  36395. CreateDynamicObject(1670, -1785.83655, 1232.26855, 20.19210, 0.00000, 0.00000, 0.00000);
  36396. CreateDynamicObject(1670, -1790.91101, 1236.33020, 20.19210, 0.00000, 0.00000, 139.00000);
  36397. CreateDynamicObject(2204, -1801.24036, 1236.53137, 19.62930, 0.00000, 0.00000, 90.00000);
  36398. CreateDynamicObject(1520, -1791.62036, 1236.54529, 20.23230, 0.00000, 0.00000, 38.00000);
  36399. CreateDynamicObject(2829, -1786.03699, 1244.36829, 20.47520, 0.00000, 0.00000, 113.00000);
  36400. CreateDynamicObject(14384, -1800.26245, 1233.65869, 21.16370, 0.00000, 0.00000, 180.00000);
  36401. CreateDynamicObject(19457, -1797.21277, 1227.96216, 18.99180, 0.00000, 0.00000, 0.00000);
  36402. CreateDynamicObject(19457, -1801.13696, 1229.24622, 20.46890, 0.00000, 90.00000, 90.00000);
  36403. CreateDynamicObject(2864, -1796.86511, 1231.58154, 20.78483, 0.00000, 0.00000, 0.00000);
  36404. CreateDynamicObject(2822, -1796.69714, 1230.89319, 20.78610, 0.00000, 0.00000, 0.00000);
  36405. CreateDynamicObject(2822, -1797.38562, 1230.52136, 20.78610, 0.00000, 0.00000, -222.00000);
  36406. CreateDynamicObject(2829, -1800.69470, 1230.56677, 20.58320, 0.00000, 0.00000, 0.00000);
  36407. CreateDynamicObject(2131, -1800.64197, 1233.89600, 19.66910, 0.00000, 0.00000, 90.00000);
  36408. CreateDynamicObject(2249, -1785.79834, 1235.11511, 20.89970, 0.00000, 0.00000, 90.00000);
  36409. CreateDynamicObject(2249, -1785.79834, 1231.97107, 20.89970, 0.00000, 0.00000, 90.00000);
  36410. CreateDynamicObject(2249, -1792.20459, 1236.41638, 20.89970, 0.00000, 0.00000, 0.00000);
  36411. CreateDynamicObject(2249, -1792.20459, 1232.29089, 20.89970, 0.00000, 0.00000, 0.00000);
  36412. CreateDynamicObject(2100, -1788.82166, 1230.25537, 19.66890, 0.00000, 0.00000, 180.00000);
  36413. CreateDynamicObject(2108, -1783.93445, 1230.51001, 19.66830, 0.00000, 0.00000, 0.00000);
  36414. CreateDynamicObject(2108, -1783.93445, 1238.19666, 19.66830, 0.00000, 0.00000, 62.00000);
  36415. CreateDynamicObject(2108, -1783.87439, 1245.11145, 19.66830, 0.00000, 0.00000, 120.00000);
  36416. CreateDynamicObject(2828, -1796.59766, 1233.39063, 20.76600, 0.00000, 0.00000, 84.00000);
  36417. CreateDynamicObject(2826, -1785.84912, 1235.87036, 19.73680, 0.00000, 0.00000, 0.00000);
  36418. CreateDynamicObject(2826, -1791.37524, 1232.28857, 19.73680, 0.00000, 0.00000, 69.00000);
  36419. CreateDynamicObject(2771, -1796.80847, 1240.47217, 20.98300, 0.00000, 0.00000, 90.00000);
  36420. CreateDynamicObject(1548, -1796.57764, 1238.95227, 20.80600, 0.00000, 0.00000, 90.00000);
  36421. CreateDynamicObject(1549, -1783.78589, 1239.03345, 19.67350, 0.00000, 0.00000, 47.00000);
  36422. CreateDynamicObject(1549, -1800.89893, 1233.21008, 19.67010, 0.00000, 0.00000, 56.00000);
  36423. CreateDynamicObject(1893, -1798.87622, 1232.60608, 23.25640, 0.00000, 0.00000, 90.00000);
  36424. CreateDynamicObject(1502, -1800.29297, 1235.92029, 19.52980, 0.00000, 0.00000, 0.00000);
  36425. CreateDynamicObject(2690, -1800.93311, 1235.63989, 20.00880, -18.00000, 4.00000, 44.00000);
  36426. CreateDynamicObject(2961, -1798.09900, 1236.06494, 21.42549, 0.00000, 0.00000, 180.00000);
  36427. CreateDynamicObject(19169, -1796.42847, 1245.49463, 21.51920, 90.00000, -90.00000, 90.00000);
  36428. CreateDynamicObject(19168, -1797.92285, 1245.49463, 21.51870, 90.00000, 90.00000, -90.00000);
  36429. CreateDynamicObject(19431, -1796.38464, 1247.21045, 22.28890, 0.00000, 90.00000, -90.00000);
  36430. CreateDynamicObject(19431, -1797.98535, 1247.21045, 22.28890, 0.00000, 90.00000, -90.00000);
  36431. CreateDynamicObject(19431, -1798.69434, 1247.20044, 21.55780, 90.00000, 90.00000, -90.00000);
  36432. CreateDynamicObject(19431, -1795.66846, 1247.20044, 21.55780, 90.00000, 90.00000, -90.00000);
  36433. CreateDynamicObject(19431, -1796.38464, 1247.21045, 20.84510, 0.00000, 90.00000, -90.00000);
  36434. CreateDynamicObject(19431, -1796.38464, 1247.21045, 21.00510, 0.00000, 90.00000, -90.00000);
  36435. CreateDynamicObject(19431, -1797.98535, 1247.21045, 20.84510, 0.00000, 90.00000, -90.00000);
  36436. CreateDynamicObject(19431, -1797.98535, 1247.21045, 21.00510, 0.00000, 90.00000, -90.00000);
  36437. CreateDynamicObject(1486, -1801.02026, 1238.51965, 20.81550, 0.00000, 0.00000, 193.00000);
  36438. CreateDynamicObject(1486, -1801.02026, 1238.39966, 20.81550, 0.00000, 0.00000, 193.00000);
  36439. CreateDynamicObject(1486, -1801.02026, 1238.61975, 20.81550, 0.00000, 0.00000, 135.00000);
  36440. CreateDynamicObject(1486, -1801.06030, 1238.73975, 20.81550, 0.00000, 0.00000, 155.00000);
  36441. CreateDynamicObject(1486, -1801.00024, 1238.85974, 20.81550, 0.00000, 0.00000, 155.00000);
  36442. CreateDynamicObject(1543, -1801.00586, 1238.01697, 20.63590, 0.00000, 0.00000, 0.00000);
  36443. CreateDynamicObject(1543, -1801.08582, 1237.89697, 20.63590, 0.00000, 0.00000, -25.00000);
  36444. CreateDynamicObject(1543, -1801.14575, 1237.81702, 20.63590, 0.00000, 0.00000, -25.00000);
  36445. CreateDynamicObject(1543, -1801.08582, 1237.63696, 20.63590, 0.00000, 0.00000, -79.00000);
  36446. CreateDynamicObject(1520, -1801.08337, 1238.03296, 21.03850, 90.00000, 90.00000, -4.00000);
  36447. CreateDynamicObject(1520, -1801.08337, 1237.89294, 21.03850, 90.00000, 90.00000, 0.00000);
  36448. CreateDynamicObject(1520, -1801.08337, 1237.75293, 21.03850, 90.00000, 90.00000, 2.00000);
  36449. CreateDynamicObject(1520, -1801.08337, 1237.65295, 21.03850, 90.00000, 90.00000, 0.00000);
  36450. CreateDynamicObject(1520, -1801.08337, 1237.51294, 21.03850, 90.00000, 90.00000, -5.00000);
  36451. CreateDynamicObject(1664, -1801.06653, 1238.45410, 21.17850, 0.00000, 0.00000, 0.00000);
  36452. CreateDynamicObject(1664, -1801.10645, 1238.33411, 21.17850, 0.00000, 0.00000, -62.00000);
  36453. CreateDynamicObject(1664, -1801.06641, 1238.59412, 21.17850, 0.00000, 0.00000, -40.00000);
  36454. CreateDynamicObject(1664, -1801.06641, 1238.73413, 21.17850, 0.00000, 0.00000, -16.00000);
  36455. CreateDynamicObject(1664, -1801.04639, 1238.87415, 21.17850, 0.00000, 0.00000, -62.00000);
  36456. CreateDynamicObject(2596, -1800.38391, 1230.49365, 22.12090, 0.00000, 0.00000, 180.00000);
  36457. CreateDynamicObject(1575, -1796.98706, 1233.18481, 20.68600, 0.00000, 0.00000, 105.00000);
  36458. CreateDynamicObject(19513, -1797.07275, 1233.56689, 20.77760, 0.00000, -156.00000, -84.00000);
  36459. CreateDynamicObject(19513, -1797.11279, 1233.60693, 20.77760, 0.00000, -156.00000, -84.00000);
  36460. CreateDynamicObject(18868, -1797.19739, 1233.83521, 20.78680, 0.00000, 0.00000, -113.00000);
  36461. CreateDynamicObject(335, -1796.69238, 1233.37195, 20.75580, 90.00000, 90.00000, -236.00000);
  36462. CreateDynamicObject(2001, -1800.66736, 1245.02795, 19.66720, 0.00000, 0.00000, 0.00000);
  36463. CreateDynamicObject(2001, -1793.32898, 1230.53918, 19.66720, 0.00000, 0.00000, -73.00000);
  36464. CreateDynamicObject(2001, -1795.90918, 1230.53918, 19.66720, 0.00000, 0.00000, -33.00000);
  36465. CreateDynamicObject(10060, -1813.74976, 1241.78162, 45.59150, 0.00000, 180.00000, 0.00000);
  36466. CreateDynamicObject(2740, -1794.68335, 1242.18921, 22.79960, 0.00000, 0.00000, 0.00000);
  36467. CreateDynamicObject(2740, -1788.40076, 1242.18921, 22.79960, 0.00000, 0.00000, 0.00000);
  36468. CreateDynamicObject(2740, -1788.40076, 1236.96155, 22.79960, 0.00000, 0.00000, 0.00000);
  36469. CreateDynamicObject(2740, -1788.40076, 1231.81555, 22.79960, 0.00000, 0.00000, 0.00000);
  36470. CreateDynamicObject(2740, -1794.68335, 1236.96155, 22.79960, 0.00000, 0.00000, 0.00000);
  36471. CreateDynamicObject(2740, -1794.68335, 1231.81555, 22.79960, 0.00000, 0.00000, 0.00000);
  36472. CreateDynamicObject(3034, -1785.84045, 1230.15173, 21.68320, 0.00000, 0.00000, 180.00000);
  36473. CreateDynamicObject(2500, -1797.09656, 1236.13416, 20.78560, 0.00000, 0.00000, 180.00000);
  36474. CreateDynamicObject(2682, -1794.14929, 1244.74829, 20.66380, 0.00000, 0.00000, 0.00000);
  36475. CreateDynamicObject(2682, -1790.31360, 1245.04004, 20.66380, 0.00000, 0.00000, 0.00000);
  36476. CreateDynamicObject(2682, -1786.24243, 1244.95276, 20.66380, 0.00000, 0.00000, 12.00000);
  36477. CreateDynamicObject(3034, -1790.53333, 1230.15173, 21.68320, 0.00000, 0.00000, 180.00000);
  36478. CreateDynamicObject(19442, -1792.96338, 1229.39038, 21.22890, 0.00000, 0.00000, 0.00000);
  36479. CreateDynamicObject(2541, -1800.99854, 1238.40405, 18.86780, 0.00000, 0.00000, 69.00000);
  36480. CreateDynamicObject(2880, -1786.12024, 1244.25403, 20.48290, -18.00000, -79.00000, 0.00000);
  36481. CreateDynamicObject(2769, -1785.89417, 1244.67004, 20.47470, 0.00000, 0.00000, 84.00000);
  36482. CreateDynamicObject(2713, -1798.06030, 1235.67017, 19.78940, 0.00000, 0.00000, 10.00000);
  36483. CreateDynamicObject(2712, -1797.92224, 1235.70496, 20.27500, 0.00000, 0.00000, 4.00000);
  36484. CreateDynamicObject(3119, -1794.18701, 1245.33643, 20.65480, 0.00000, 0.00000, -62.00000);
  36485. CreateDynamicObject(2796, -1783.46021, 1240.67285, 22.33010, 0.00000, 0.00000, 90.00000);
  36486. CreateDynamicObject(2671, -1779.23523, 1245.83643, 19.67880, 0.00000, 0.00000, 0.00000);
  36487. CreateDynamicObject(2671, -1790.96204, 1244.27563, 19.66848, 0.00000, 0.00000, 0.00000);
  36488. CreateDynamicObject(2245, -1797.32800, 1241.81848, 21.04560, 0.00000, 0.00000, 0.00000);
  36489. CreateDynamicObject(2421, -1798.93420, 1230.23877, 20.74570, 0.00000, 0.00000, 178.00000);
  36490. CreateDynamicObject(2684, -1797.62170, 1236.08423, 21.84510, 0.00000, 0.00000, 180.00000);
  36491. CreateDynamicObject(2687, -1798.02588, 1236.08423, 21.93010, 0.00000, 0.00000, 180.00000);
  36492. CreateDynamicObject(1547, -1796.60828, 1237.62134, 20.78620, 0.00000, 0.00000, 91.00000);
  36493. CreateDynamicObject(2453, -1798.41931, 1241.90125, 21.14540, 0.00000, 0.00000, 0.00000);
  36494. CreateDynamicObject(2587, -1796.50208, 1234.16089, 22.02850, 0.00000, 0.00000, -90.00000);
  36495. CreateDynamicObject(2688, -1798.10168, 1235.80481, 21.53411, 0.00000, 0.00000, 0.00000);
  36496. CreateDynamicObject(2769, -1800.99561, 1238.02844, 20.41180, 0.00000, 0.00000, -22.00000);
  36497. CreateDynamicObject(2769, -1800.99561, 1237.90845, 20.41180, 0.00000, 0.00000, -24.00000);
  36498. CreateDynamicObject(2769, -1800.99561, 1237.76843, 20.41180, 0.00000, 0.00000, -16.00000);
  36499. CreateDynamicObject(2769, -1800.99561, 1237.64844, 20.41180, 0.00000, 0.00000, -16.00000);
  36500. CreateDynamicObject(2769, -1800.99561, 1237.50842, 20.41180, 0.00000, 0.00000, -26.00000);
  36501. }
  36502. stock LoadCustomApartment() //by Alekseyka
  36503. {
  36504. new home;
  36505. home = CreateObject(19376,1698.765,-1424.589,36.223,0.000,90.000,0.000,300.000);
  36506. SetObjectMaterial(home, 0, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  36507. home = CreateObject(3034,1703.915,-1425.682,38.071,0.000,0.000,270.000,300.000);
  36508. SetObjectMaterial(home, 0, 4830, "airport2", "sanairtex3", 0);
  36509. home = CreateObject(19449,1703.902,-1423.889,35.460,0.000,0.000,0.000,300.000);
  36510. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36511. home = CreateObject(3034,1703.915,-1420.487,38.071,0.000,0.000,269.994,300.000);
  36512. SetObjectMaterial(home, 0, 4830, "airport2", "sanairtex3", 0);
  36513. home = CreateObject(19430,1703.903,-1423.084,38.959,0.000,0.000,0.000,300.000);
  36514. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36515. home = CreateObject(19449,1703.902,-1423.189,40.659,0.000,0.000,0.000,300.000);
  36516. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36517. home = CreateObject(19449,1699.220,-1428.260,38.060,0.000,0.000,90.000,300.000);
  36518. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36519. home = CreateObject(19443,1703.817,-1427.709,36.860,0.000,0.000,90.000,300.000);
  36520. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36521. home = CreateObject(19443,1703.113,-1428.474,36.860,0.000,0.000,0.000,300.000);
  36522. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36523. home = CreateObject(19443,1702.192,-1427.709,39.409,90.000,0.000,90.000,300.000);
  36524. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36525. home = CreateObject(19443,1700.531,-1428.424,40.360,0.000,0.000,0.000,300.000);
  36526. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36527. home = CreateObject(19443,1702.192,-1428.424,38.693,0.000,90.000,0.000,300.000);
  36528. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36529. home = CreateObject(19443,1698.760,-1428.424,40.360,0.000,0.000,0.000,300.000);
  36530. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36531. home = CreateObject(19443,1697.097,-1428.424,38.698,0.000,90.000,0.000,300.000);
  36532. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36533. home = CreateObject(19443,1696.360,-1428.424,36.860,0.000,0.000,0.000,300.000);
  36534. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36535. home = CreateObject(19443,1695.645,-1427.709,36.860,0.000,0.000,90.000,300.000);
  36536. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36537. home = CreateObject(19443,1697.099,-1427.709,39.409,90.000,0.000,90.000,300.000);
  36538. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36539. home = CreateObject(18084,1702.963,-1427.813,37.791,0.000,0.000,90.000,300.000);
  36540. SetObjectMaterial(home, 0, 8639, "chinatownmall", "ctmall10_64", 0);
  36541. home = CreateObject(18084,1702.963,-1418.331,37.791,0.000,0.000,90.000,300.000);
  36542. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36543. home = CreateObject(19376,1698.765,-1414.959,36.223,0.000,90.000,0.000,300.000);
  36544. SetObjectMaterial(home, 0, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  36545. home = CreateObject(19449,1703.902,-1414.286,35.460,0.000,0.000,0.000,300.000);
  36546. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36547. home = CreateObject(19449,1703.903,-1413.857,38.959,0.000,0.000,0.000,300.000);
  36548. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36549. home = CreateObject(2836,1699.354,-1421.389,36.310,0.000,0.000,0.000,300.000);
  36550. SetObjectMaterial(home, 0, 9494, "chinatownsfe", "chtown6_sf", 0);
  36551. SetObjectMaterial(home, 1, 9494, "chinatownsfe", "chtown6_sf", 0);
  36552. home = CreateObject(1744,1700.109,-1428.175,39.082,0.000,0.000,180.000,300.000);
  36553. SetObjectMaterial(home, 0, 9583, "bigshap_sfw", "bridge_walls2_sfw", 0);
  36554. SetObjectMaterial(home, 2, 9583, "bigshap_sfw", "bridge_walls2_sfw", 0);
  36555. home = CreateObject(1744,1700.109,-1428.175,38.613,0.000,0.000,180.000,300.000);
  36556. SetObjectMaterial(home, 0, 9583, "bigshap_sfw", "bridge_walls2_sfw", 0);
  36557. home = CreateObject(1819,1699.340,-1421.968,36.310,0.000,0.000,0.000,300.000);
  36558. SetObjectMaterial(home, 0, 3776, "ci_studio", "studioroof", 0);
  36559. home = CreateObject(19172,1700.026,-1412.530,37.060,0.000,0.000,180.000,300.000);
  36560. SetObjectMaterial(home, 0, 1677, "wshxrefhse2", "yellowbeige_128", 0);
  36561. home = CreateObject(1727,1701.858,-1421.901,36.310,0.000,0.000,270.000,300.000);
  36562. SetObjectMaterial(home, 1, 14407, "carter_block", "mp_carter_tramp", 0);
  36563. home = CreateObject(1726,1698.772,-1419.366,36.310,0.000,0.000,0.000,300.000);
  36564. SetObjectMaterial(home, 1, 14407, "carter_block", "mp_carter_tramp", 0);
  36565. home = CreateObject(2230,1701.666,-1428.126,36.310,0.000,0.000,180.000,300.000);
  36566. SetObjectMaterial(home, 2, 9583, "bigshap_sfw", "bridge_walls2_sfw", 0);
  36567. SetObjectMaterial(home, 3, 9583, "bigshap_sfw", "bridge_walls2_sfw", 0);
  36568. home = CreateObject(2230,1697.025,-1428.082,36.310,0.000,0.000,180.000,300.000);
  36569. SetObjectMaterial(home, 2, 9583, "bigshap_sfw", "bridge_walls2_sfw", 0);
  36570. home = CreateObject(1727,1701.834,-1420.316,36.310,0.000,0.000,269.994,300.000);
  36571. SetObjectMaterial(home, 1, 14407, "carter_block", "mp_carter_tramp", 0);
  36572. home = CreateObject(2836,1699.357,-1422.484,36.310,0.000,0.000,0.000,300.000);
  36573. SetObjectMaterial(home, 1, 9494, "chinatownsfe", "chtown6_sf", 0);
  36574. home = CreateObject(2281,1703.326,-1423.067,37.810,0.000,0.000,270.000,300.000);
  36575. SetObjectMaterial(home, 0, 18029, "genintintsmallrest", "GB_restaursmll04", 0);
  36576. SetObjectMaterial(home, 1, 14581, "ab_mafiasuitea", "walp45S", 0);
  36577. home = CreateObject(2319,1703.383,-1426.427,36.310,0.000,0.000,90.000,300.000);
  36578. SetObjectMaterial(home, 0, 18029, "genintintsmallrest", "GB_restaursmll04", 0);
  36579. home = CreateObject(2267,1699.648,-1428.145,37.798,0.000,0.000,180.000,300.000);
  36580. SetObjectMaterial(home, 1, 10370, "alleys_sfs", "ws_asphalt", 0);
  36581. home = CreateObject(19375,1692.152,-1421.379,39.839,0.000,90.000,0.000,300.000);
  36582. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36583. home = CreateObject(19375,1699.893,-1428.174,39.837,0.000,90.000,0.000,300.000);
  36584. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36585. home = CreateObject(19356,1703.187,-1422.285,39.839,0.000,90.000,89.999,300.000);
  36586. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36587. home = CreateObject(19375,1699.243,-1414.079,39.837,0.000,90.000,0.000,300.000);
  36588. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36589. home = CreateObject(19378,1698.404,-1421.291,40.261,0.000,90.000,0.000,300.000);
  36590. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36591. home = CreateObject(19449,1699.175,-1416.943,38.060,0.000,0.000,90.000,300.000);
  36592. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36593. home = CreateObject(19449,1695.262,-1414.822,38.060,0.000,0.000,0.000,300.000);
  36594. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36595. home = CreateObject(19174,1695.344,-1424.875,38.247,0.000,0.000,90.000,300.000);
  36596. SetObjectMaterial(home, 0, 14420, "dr_gsbits", "mp_apt1_pic7", 0);
  36597. home = CreateObject(19172,1695.348,-1418.626,38.205,0.000,0.000,90.000,300.000);
  36598. SetObjectMaterial(home, 0, 14420, "dr_gsbits", "mp_apt1_pic6", 0);
  36599. home = CreateObject(19356,1703.187,-1418.787,39.839,0.000,90.000,90.000,300.000);
  36600. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36601. home = CreateObject(18075,1696.683,-1416.975,40.012,0.000,0.000,0.000,300.000);
  36602. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36603. home = CreateObject(19357,1695.262,-1427.624,38.060,0.000,0.000,0.000,300.000);
  36604. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36605. home = CreateObject(19357,1695.262,-1424.441,38.060,0.000,0.000,0.000,300.000);
  36606. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36607. home = CreateObject(19387,1695.262,-1421.230,38.060,0.000,0.000,0.000,300.000);
  36608. SetObjectMaterial(home, 0, 14534, "ab_wooziea", "walp72S", 0);
  36609. home = CreateObject(19376,1688.279,-1421.379,36.223,0.000,90.000,0.000,300.000);
  36610. SetObjectMaterial(home, 0, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  36611. home = CreateObject(19390,1695.230,-1421.234,38.061,0.000,0.000,0.000,300.000);
  36612. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36613. home = CreateObject(19453,1695.230,-1427.604,38.060,0.000,0.000,0.000,300.000);
  36614. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36615. home = CreateObject(19453,1690.383,-1426.125,38.060,0.000,0.000,90.000,300.000);
  36616. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36617. home = CreateObject(19356,1693.584,-1422.907,35.560,0.000,0.000,90.000,300.000);
  36618. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36619. home = CreateObject(19356,1690.376,-1422.907,35.560,0.000,0.000,90.000,300.000);
  36620. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36621. home = CreateObject(19356,1691.520,-1424.430,35.560,0.000,0.000,0.000,300.000);
  36622. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36623. home = CreateObject(19356,1693.584,-1423.073,35.560,0.000,0.000,90.000,300.000);
  36624. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36625. home = CreateObject(19356,1690.376,-1423.073,35.560,0.000,0.000,90.000,300.000);
  36626. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36627. home = CreateObject(19356,1691.694,-1424.430,35.560,0.000,0.000,0.000,300.000);
  36628. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36629. home = CreateObject(19356,1695.055,-1424.769,35.560,0.000,0.000,0.000,300.000);
  36630. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36631. home = CreateObject(19356,1694.881,-1424.769,35.560,0.000,0.000,0.000,300.000);
  36632. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36633. home = CreateObject(19356,1693.387,-1425.968,35.560,0.000,0.000,90.000,300.000);
  36634. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36635. home = CreateObject(19356,1693.389,-1425.790,35.560,0.000,0.000,90.000,300.000);
  36636. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36637. home = CreateObject(19453,1691.343,-1421.300,38.060,0.000,0.000,0.000,300.000);
  36638. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36639. home = CreateObject(19453,1695.230,-1414.850,38.060,0.000,0.000,0.000,300.000);
  36640. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36641. home = CreateObject(19453,1690.428,-1416.980,38.060,0.000,0.000,90.000,300.000);
  36642. SetObjectMaterial(home, 0, 5766, "capitol_lawn", "capitol3_LAwN", 0);
  36643. SetObjectMaterial(home, 1, 15041, "bigsfsave", "AH_flroortile5", 0);
  36644. home = CreateObject(1499,1695.286,-1421.973,36.310,0.000,0.000,90.000,300.000);
  36645. SetObjectMaterial(home, 0, 14842, "genintintpolicea", "poldesk", 0);
  36646. SetObjectMaterial(home, 1, 1730, "cj_furniture", "CJ_WOOD5", 0);
  36647. home = CreateObject(19426,1694.796,-1423.965,35.558,0.000,0.000,0.000,300.000);
  36648. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36649. home = CreateObject(19426,1694.796,-1424.909,35.558,0.000,0.000,0.000,300.000);
  36650. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36651. home = CreateObject(19426,1693.911,-1425.708,35.558,0.000,0.000,90.000,300.000);
  36652. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36653. home = CreateObject(19426,1692.583,-1425.708,35.558,0.000,0.000,90.000,300.000);
  36654. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36655. home = CreateObject(19426,1691.781,-1424.821,35.558,0.000,0.000,0.000,300.000);
  36656. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36657. home = CreateObject(19426,1691.781,-1423.972,35.558,0.000,0.000,0.000,300.000);
  36658. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36659. home = CreateObject(19426,1692.671,-1423.160,35.558,0.000,0.000,90.000,300.000);
  36660. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36661. home = CreateObject(19426,1693.904,-1423.160,35.558,0.000,0.000,90.000,300.000);
  36662. SetObjectMaterial(home, 0, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36663. home = CreateObject(19357,1693.193,-1424.700,36.253,0.000,90.000,0.000,300.000);
  36664. SetObjectMaterial(home, 0, 15041, "bigsfsave", "AH_flroortile5", 0);
  36665. home = CreateObject(2136,1691.915,-1420.859,36.310,0.000,0.000,90.000,300.000);
  36666. SetObjectMaterial(home, 1, 6094, "canalsg_law", "ws_sheetwood_clean", 0);
  36667. SetObjectMaterial(home, 2, 14476, "carlslounge", "AH_plnskirting", 0);
  36668. SetObjectMaterial(home, 3, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36669. SetObjectMaterial(home, 4, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36670. SetObjectMaterial(home, 5, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36671. SetObjectMaterial(home, 6, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36672. SetObjectMaterial(home, 7, 9525, "boigas_sfw", "GEwhite1_64", 0);
  36673. home = CreateObject(1495,1696.563,-1417.045,36.310,0.000,0.000,0.000,300.000);
  36674. SetObjectMaterial(home, 1, 14581, "ab_mafiasuitea", "walp45S", 0);
  36675. SetObjectMaterial(home, 2, 14842, "genintintpolicea", "poldesk", 0);
  36676. home = CreateObject(3034,1691.428,-1420.380,38.457,0.000,0.000,90.000,300.000);
  36677. SetObjectMaterial(home, 0, 14581, "ab_mafiasuitea", "barbersmir1", 0);
  36678. home = CreateObject(19430,1703.903,-1428.302,38.959,0.000,0.000,0.000,300.000);
  36679. home = CreateObject(18084,1702.963,-1425.204,37.791,0.000,0.000,90.000,300.000);
  36680. home = CreateObject(18084,1702.963,-1420.933,37.791,0.000,0.000,90.000,300.000);
  36681. home = CreateObject(1960,1703.797,-1423.101,38.168,0.000,0.000,90.000,300.000);
  36682. home = CreateObject(2315,1698.923,-1428.175,36.316,0.000,0.000,0.000,300.000);
  36683. home = CreateObject(1788,1700.296,-1427.913,36.880,0.000,0.000,180.000,300.000);
  36684. home = CreateObject(1785,1699.305,-1427.922,36.412,0.000,0.000,0.000,300.000);
  36685. home = CreateObject(19143,1697.099,-1422.000,39.880,289.000,0.000,0.000,300.000);
  36686. home = CreateObject(2252,1703.285,-1425.135,37.130,0.000,0.000,0.000,300.000);
  36687. home = CreateObject(2245,1703.285,-1426.107,37.116,0.000,0.000,0.000,300.000);
  36688. home = CreateObject(19380,1697.308,-1420.886,45.172,0.000,0.000,0.000,300.000);
  36689. home = CreateObject(19380,1698.572,-1418.810,45.172,0.000,0.000,90.000,300.000);
  36690. home = CreateObject(19380,1701.663,-1420.468,45.172,0.000,0.000,0.000,300.000);
  36691. home = CreateObject(19380,1698.083,-1423.443,45.172,0.000,0.000,90.000,300.000);
  36692. home = CreateObject(19143,1697.099,-1420.119,39.880,288.995,0.000,0.000,300.000);
  36693. home = CreateObject(19143,1698.297,-1418.500,39.880,288.995,0.000,0.000,300.000);
  36694. home = CreateObject(19143,1700.535,-1418.500,39.880,288.995,0.000,0.000,300.000);
  36695. home = CreateObject(19143,1701.742,-1420.119,39.880,288.995,0.000,0.000,300.000);
  36696. home = CreateObject(19143,1701.742,-1422.000,39.880,289.000,0.000,0.000,300.000);
  36697. home = CreateObject(19143,1698.297,-1423.459,39.880,288.995,0.000,0.000,300.000);
  36698. home = CreateObject(19143,1700.535,-1423.459,39.880,288.995,0.000,0.000,300.000);
  36699. home = CreateObject(2001,1695.874,-1427.125,36.310,0.000,0.000,0.000,300.000);
  36700. home = CreateObject(10444,1687.951,-1438.290,36.909,0.000,0.000,0.000,300.000);
  36701. home = CreateObject(2528,1693.305,-1417.572,36.310,0.000,0.000,0.000,300.000);
  36702. home = CreateObject(18075,1690.482,-1418.999,39.740,0.000,0.000,0.000,300.000);
  36703. }
  36704. stock LoadGhettoBar() //by Alekseyka
  36705. {
  36706. new tmpobjid;
  36707. tmpobjid = CreateDynamicObjectEx(19378,2592.055,-1648.251,1357.323,0.000,90.000,0.000,300.000,300.000);
  36708. SetDynamicObjectMaterial(tmpobjid, 0, 14771, "int_brothelint3", "GB_nastybar12", 0);
  36709. tmpobjid = CreateDynamicObjectEx(19378,2581.555,-1648.251,1357.323,0.000,90.000,0.000,300.000,300.000);
  36710. SetDynamicObjectMaterial(tmpobjid, 0, 14771, "int_brothelint3", "GB_nastybar12", 0);
  36711. tmpobjid = CreateDynamicObjectEx(19378,2592.055,-1657.881,1357.323,0.000,90.000,0.000,300.000,300.000);
  36712. SetDynamicObjectMaterial(tmpobjid, 0, 14771, "int_brothelint3", "GB_nastybar12", 0);
  36713. tmpobjid = CreateDynamicObjectEx(19378,2602.555,-1657.881,1357.323,0.000,90.000,0.000,300.000,300.000);
  36714. SetDynamicObjectMaterial(tmpobjid, 0, 14771, "int_brothelint3", "GB_nastybar12", 0);
  36715. tmpobjid = CreateDynamicObjectEx(16151,2583.103,-1652.075,1357.729,0.000,0.000,270.000,300.000,300.000);
  36716. SetDynamicObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  36717. SetDynamicObjectMaterial(tmpobjid, 3, 731, "gtatreeshi9", "bchamae", 0);
  36718. SetDynamicObjectMaterial(tmpobjid, 7, 4849, "ground3_las", "floorboard256128", 0);
  36719. SetDynamicObjectMaterial(tmpobjid, 8, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36720. SetDynamicObjectMaterial(tmpobjid, 9, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36721. SetDynamicObjectMaterial(tmpobjid, 10, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36722. tmpobjid = CreateDynamicObjectEx(19449,2582.076,-1653.003,1359.160,0.000,0.000,90.000,300.000,300.000);
  36723. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36724. tmpobjid = CreateDynamicObjectEx(19449,2577.330,-1648.124,1359.160,0.000,0.000,0.000,300.000,300.000);
  36725. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36726. tmpobjid = CreateDynamicObjectEx(19449,2586.804,-1657.879,1359.160,0.000,0.000,0.000,300.000,300.000);
  36727. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36728. tmpobjid = CreateDynamicObjectEx(19449,2594.927,-1643.472,1359.160,0.000,0.000,90.000,300.000,300.000);
  36729. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36730. tmpobjid = CreateDynamicObjectEx(19449,2596.159,-1648.230,1359.160,0.000,0.000,0.000,300.000,300.000);
  36731. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36732. tmpobjid = CreateDynamicObjectEx(19449,2591.442,-1662.375,1359.160,0.000,0.000,90.000,300.000,300.000);
  36733. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36734. tmpobjid = CreateDynamicObjectEx(19449,2599.500,-1657.703,1359.160,0.000,0.000,0.000,300.000,300.000);
  36735. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36736. tmpobjid = CreateDynamicObjectEx(19449,2600.887,-1653.112,1359.160,0.000,0.000,90.000,300.000,300.000);
  36737. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36738. tmpobjid = CreateDynamicObjectEx(19449,2600.917,-1658.009,1359.160,0.000,0.000,90.000,300.000,300.000);
  36739. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36740. tmpobjid = CreateDynamicObjectEx(1712,2599.052,-1654.918,1357.410,0.000,0.000,270.000,300.000,300.000);
  36741. SetDynamicObjectMaterial(tmpobjid, 0, 6404, "beafron1_law2", "comptwall31", 0);
  36742. tmpobjid = CreateDynamicObjectEx(1712,2596.778,-1653.715,1357.410,0.000,0.000,0.000,300.000,300.000);
  36743. SetDynamicObjectMaterial(tmpobjid, 0, 6404, "beafron1_law2", "comptwall31", 0);
  36744. tmpobjid = CreateDynamicObjectEx(1712,2598.343,-1657.425,1357.410,0.000,0.000,180.000,300.000,300.000);
  36745. SetDynamicObjectMaterial(tmpobjid, 0, 6404, "beafron1_law2", "comptwall31", 0);
  36746. tmpobjid = CreateDynamicObjectEx(19449,2601.052,-1662.375,1359.160,0.000,0.000,90.000,300.000,300.000);
  36747. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36748. tmpobjid = CreateDynamicObjectEx(1712,2596.778,-1658.608,1357.410,0.000,0.000,0.000,300.000,300.000);
  36749. SetDynamicObjectMaterial(tmpobjid, 0, 6404, "beafron1_law2", "comptwall31", 0);
  36750. tmpobjid = CreateDynamicObjectEx(1712,2598.343,-1661.814,1357.410,0.000,0.000,179.994,300.000,300.000);
  36751. SetDynamicObjectMaterial(tmpobjid, 0, 6404, "beafron1_law2", "comptwall31", 0);
  36752. tmpobjid = CreateDynamicObjectEx(1712,2599.041,-1659.505,1357.410,0.000,0.000,269.994,300.000,300.000);
  36753. SetDynamicObjectMaterial(tmpobjid, 0, 6404, "beafron1_law2", "comptwall31", 0);
  36754. tmpobjid = CreateDynamicObjectEx(2747,2597.426,-1660.271,1357.822,0.000,0.000,0.000,300.000,300.000);
  36755. SetDynamicObjectMaterial(tmpobjid, 0, 4830, "airport2", "brnstucco1", 0);
  36756. SetDynamicObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36757. tmpobjid = CreateDynamicObjectEx(2747,2597.440,-1655.281,1357.822,0.000,0.000,90.000,300.000,300.000);
  36758. SetDynamicObjectMaterial(tmpobjid, 0, 4830, "airport2", "brnstucco1", 0);
  36759. SetDynamicObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36760. tmpobjid = CreateDynamicObjectEx(1495,2587.763,-1643.496,1357.410,0.000,0.000,0.000,300.000,300.000);
  36761. SetDynamicObjectMaterial(tmpobjid, 0, 14709, "lamidint2", "mp_apt1_floor", 0);
  36762. SetDynamicObjectMaterial(tmpobjid, 1, 14709, "lamidint2", "mp_apt1_floor", 0);
  36763. SetDynamicObjectMaterial(tmpobjid, 2, 14777, "int_casinoint3", "GB_midbar05", 0);
  36764. tmpobjid = CreateDynamicObjectEx(1522,2577.538,-1652.986,1357.416,0.000,0.000,0.000,300.000,300.000);
  36765. SetDynamicObjectMaterial(tmpobjid, 0, 14581, "ab_mafiasuitea", "kit_door1", 0);
  36766. tmpobjid = CreateDynamicObjectEx(19387,2588.538,-1643.472,1359.160,0.000,0.000,90.000,300.000,300.000);
  36767. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36768. tmpobjid = CreateDynamicObjectEx(19449,2582.125,-1643.471,1359.160,0.000,0.000,90.000,300.000,300.000);
  36769. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36770. tmpobjid = CreateDynamicObjectEx(19377,2581.555,-1641.651,1357.624,0.000,90.000,0.000,300.000,300.000);
  36771. SetDynamicObjectMaterial(tmpobjid, 0, 14771, "int_brothelint3", "GB_nastybar12", 0);
  36772. tmpobjid = CreateDynamicObjectEx(2638,2577.416,-1644.689,1358.369,0.000,0.000,90.000,300.000,300.000);
  36773. SetDynamicObjectMaterial(tmpobjid, 0, 3819, "baseball_sfsx", "telepole128", 0);
  36774. SetDynamicObjectMaterial(tmpobjid, 1, 4830, "airport2", "brnstucco1", 0);
  36775. tmpobjid = CreateDynamicObjectEx(2639,2585.653,-1644.689,1358.338,0.000,0.000,90.000,300.000,300.000);
  36776. SetDynamicObjectMaterial(tmpobjid, 0, 3819, "baseball_sfsx", "telepole128", 0);
  36777. SetDynamicObjectMaterial(tmpobjid, 1, 4830, "airport2", "brnstucco1", 0);
  36778. tmpobjid = CreateDynamicObjectEx(2639,2580.770,-1644.689,1358.338,0.000,0.000,90.000,300.000,300.000);
  36779. SetDynamicObjectMaterial(tmpobjid, 0, 3819, "baseball_sfsx", "telepole128", 0);
  36780. SetDynamicObjectMaterial(tmpobjid, 1, 4830, "airport2", "brnstucco1", 0);
  36781. tmpobjid = CreateDynamicObjectEx(2639,2582.625,-1644.689,1358.338,0.000,0.000,270.000,300.000,300.000);
  36782. SetDynamicObjectMaterial(tmpobjid, 0, 3819, "baseball_sfsx", "telepole128", 0);
  36783. SetDynamicObjectMaterial(tmpobjid, 1, 4830, "airport2", "brnstucco1", 0);
  36784. tmpobjid = CreateDynamicObjectEx(2747,2579.375,-1644.790,1358.123,0.000,0.000,90.000,300.000,300.000);
  36785. SetDynamicObjectMaterial(tmpobjid, 0, 4830, "airport2", "brnstucco1", 0);
  36786. SetDynamicObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36787. tmpobjid = CreateDynamicObjectEx(2747,2584.174,-1644.720,1358.123,0.000,0.000,90.000,300.000,300.000);
  36788. SetDynamicObjectMaterial(tmpobjid, 0, 4830, "airport2", "brnstucco1", 0);
  36789. SetDynamicObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "ferry_build14", 0);
  36790. tmpobjid = CreateDynamicObjectEx(19452,2586.721,-1641.656,1355.960,0.000,0.000,0.000,300.000,300.000);
  36791. SetDynamicObjectMaterial(tmpobjid, 0, 18202, "w_towncs_t", "hatwall256hi", 0);
  36792. tmpobjid = CreateDynamicObjectEx(19452,2581.989,-1646.384,1355.960,0.000,0.000,90.000,300.000,300.000);
  36793. SetDynamicObjectMaterial(tmpobjid, 0, 18202, "w_towncs_t", "hatwall256hi", 0);
  36794. tmpobjid = CreateDynamicObjectEx(1432,2588.819,-1660.458,1357.410,0.000,0.000,0.000,300.000,300.000);
  36795. SetDynamicObjectMaterial(tmpobjid, 0, 9515, "bigboxtemp1", "board64_law", 0);
  36796. SetDynamicObjectMaterial(tmpobjid, 1, 6404, "beafron1_law2", "melroran3_law", 0);
  36797. SetDynamicObjectMaterial(tmpobjid, 2, 6404, "beafron1_law2", "melroran3_law", 0);
  36798. tmpobjid = CreateDynamicObjectEx(1432,2588.605,-1655.344,1357.410,0.000,0.000,0.000,300.000,300.000);
  36799. SetDynamicObjectMaterial(tmpobjid, 0, 9515, "bigboxtemp1", "board64_law", 0);
  36800. SetDynamicObjectMaterial(tmpobjid, 1, 6404, "beafron1_law2", "melroran3_law", 0);
  36801. SetDynamicObjectMaterial(tmpobjid, 2, 6404, "beafron1_law2", "melroran3_law", 0);
  36802. tmpobjid = CreateDynamicObjectEx(1432,2594.287,-1651.258,1357.410,0.000,0.000,0.000,300.000,300.000);
  36803. SetDynamicObjectMaterial(tmpobjid, 0, 9515, "bigboxtemp1", "board64_law", 0);
  36804. SetDynamicObjectMaterial(tmpobjid, 1, 6404, "beafron1_law2", "melroran3_law", 0);
  36805. SetDynamicObjectMaterial(tmpobjid, 2, 6404, "beafron1_law2", "melroran3_law", 0);
  36806. tmpobjid = CreateDynamicObjectEx(3034,2592.501,-1643.604,1359.571,0.000,0.000,0.000,300.000,300.000);
  36807. SetDynamicObjectMaterial(tmpobjid, 0, 3820, "boxhses_sfsx", "ws_boxhouse_wins5", 0);
  36808. tmpobjid = CreateDynamicObjectEx(3034,2577.454,-1649.281,1359.571,0.000,0.000,90.000,300.000,300.000);
  36809. SetDynamicObjectMaterial(tmpobjid, 0, 3820, "boxhses_sfsx", "ws_boxhouse_wins5", 0);
  36810. tmpobjid = CreateDynamicObjectEx(630,2581.802,-1645.505,1358.734,0.000,0.000,-49.200,300.000,300.000);
  36811. SetDynamicObjectMaterial(tmpobjid, 0, 3897, "libertyhi", "newtreea128", 0);
  36812. tmpobjid = CreateDynamicObjectEx(630,2581.780,-1644.343,1358.734,0.000,0.000,0.000,300.000,300.000);
  36813. SetDynamicObjectMaterial(tmpobjid, 0, 716, "gta_tree_bevhills", "trunk3", 0);
  36814. tmpobjid = CreateDynamicObjectEx(19449,2596.159,-1657.991,1362.160,0.000,180.000,0.000,300.000,300.000);
  36815. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36816. tmpobjid = CreateDynamicObjectEx(19379,2602.555,-1657.881,1360.989,0.000,90.000,0.000,300.000,300.000);
  36817. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0);
  36818. tmpobjid = CreateDynamicObjectEx(19379,2592.055,-1657.881,1360.989,0.000,90.000,0.000,300.000,300.000);
  36819. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0);
  36820. tmpobjid = CreateDynamicObjectEx(19379,2592.055,-1648.251,1360.989,0.000,90.000,0.000,300.000,300.000);
  36821. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0);
  36822. tmpobjid = CreateDynamicObjectEx(19379,2581.555,-1648.251,1360.989,0.000,90.000,0.000,300.000,300.000);
  36823. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "walp72S", 0);
  36824. tmpobjid = CreateDynamicObjectEx(19449,2587.532,-1643.385,1359.167,0.000,0.000,90.000,300.000,300.000);
  36825. SetDynamicObjectMaterial(tmpobjid, 0, 5267, "lashops91_las2", "laspowrec2", 0);
  36826. tmpobjid = CreateDynamicObjectEx(983,2592.328,-1642.962,1357.739,0.000,0.000,0.000,300.000,300.000);
  36827. SetDynamicObjectMaterial(tmpobjid, 0, 1220, "boxes", "crate128", 0);
  36828. SetDynamicObjectMaterial(tmpobjid, 1, 1220, "boxes", "crate128", 0);
  36829. SetDynamicObjectMaterial(tmpobjid, 5, 3820, "boxhses_sfsx", "ws_ irongate", 0);
  36830. tmpobjid = CreateDynamicObjectEx(983,2596.519,-1646.144,1357.740,0.000,0.000,-89.700,300.000,300.000);
  36831. SetDynamicObjectMaterial(tmpobjid, 0, 1220, "boxes", "crate128", 0);
  36832. SetDynamicObjectMaterial(tmpobjid, 1, 1220, "boxes", "crate128", 0);
  36833. SetDynamicObjectMaterial(tmpobjid, 5, 3820, "boxhses_sfsx", "ws_ irongate", 0);
  36834. tmpobjid = CreateDynamicObjectEx(1736,2587.189,-1657.912,1359.995,0.000,0.000,90.000,300.000,300.000);
  36835. tmpobjid = CreateDynamicObjectEx(2964,2591.893,-1657.750,1357.410,0.000,0.000,90.000,300.000,300.000);
  36836. tmpobjid = CreateDynamicObjectEx(17969,2596.032,-1647.630,1358.685,0.000,0.000,0.000,300.000,300.000);
  36837. tmpobjid = CreateDynamicObjectEx(1531,2594.501,-1662.288,1359.270,0.000,0.000,270.000,300.000,300.000);
  36838. tmpobjid = CreateDynamicObjectEx(1529,2591.460,-1662.288,1359.284,0.000,0.000,270.000,300.000,300.000);
  36839. tmpobjid = CreateDynamicObjectEx(1490,2588.654,-1662.278,1359.306,0.000,0.000,270.000,300.000,300.000);
  36840. tmpobjid = CreateDynamicObjectEx(1440,2594.635,-1644.256,1357.928,0.000,0.000,0.000,300.000,300.000);
  36841. tmpobjid = CreateDynamicObjectEx(355,2598.812,-1653.328,1357.660,350.000,270.000,0.000,300.000,300.000);
  36842. tmpobjid = CreateDynamicObjectEx(1664,2597.655,-1654.905,1358.411,0.000,0.000,0.000,300.000,300.000);
  36843. tmpobjid = CreateDynamicObjectEx(2332,2581.964,-1653.217,1357.822,0.000,0.000,180.000,300.000,300.000);
  36844. tmpobjid = CreateDynamicObjectEx(1279,2599.211,-1657.342,1357.342,0.000,0.000,90.000,300.000,300.000);
  36845. tmpobjid = CreateDynamicObjectEx(338,2592.060,-1656.593,1357.660,0.000,0.000,0.000,300.000,300.000);
  36846. tmpobjid = CreateDynamicObjectEx(338,2591.652,-1656.582,1357.660,0.000,0.000,0.000,300.000,300.000);
  36847. tmpobjid = CreateDynamicObjectEx(3105,2592.441,-1657.728,1358.197,0.000,0.000,0.000,300.000,300.000);
  36848. tmpobjid = CreateDynamicObjectEx(3105,2591.706,-1658.378,1358.339,0.000,0.000,0.000,300.000,300.000);
  36849. tmpobjid = CreateDynamicObjectEx(3104,2591.482,-1658.036,1358.339,0.000,0.000,0.000,300.000,300.000);
  36850. tmpobjid = CreateDynamicObjectEx(3101,2591.783,-1657.400,1358.339,0.000,0.000,0.000,300.000,300.000);
  36851. tmpobjid = CreateDynamicObjectEx(3100,2591.946,-1657.921,1358.339,0.000,0.000,0.000,300.000,300.000);
  36852. tmpobjid = CreateDynamicObjectEx(3000,2591.573,-1657.630,1358.339,0.000,0.000,0.000,300.000,300.000);
  36853. tmpobjid = CreateDynamicObjectEx(2998,2592.186,-1658.501,1358.339,0.000,0.000,0.000,300.000,300.000);
  36854. tmpobjid = CreateDynamicObjectEx(2980,2587.135,-1658.827,1358.198,0.000,0.000,90.000,300.000,300.000);
  36855. tmpobjid = CreateDynamicObjectEx(2980,2587.136,-1658.093,1358.198,0.000,0.000,90.000,300.000,300.000);
  36856. tmpobjid = CreateDynamicObjectEx(2980,2587.138,-1657.333,1358.198,0.000,0.000,90.000,300.000,300.000);
  36857. tmpobjid = CreateDynamicObjectEx(2837,2579.329,-1644.359,1358.545,0.000,0.000,0.000,300.000,300.000);
  36858. tmpobjid = CreateDynamicObjectEx(2857,2595.418,-1645.260,1357.410,0.000,0.000,0.000,300.000,300.000);
  36859. tmpobjid = CreateDynamicObjectEx(3092,2590.070,-1662.088,1359.318,0.000,0.000,0.000,300.000,300.000);
  36860. tmpobjid = CreateDynamicObjectEx(1265,2592.801,-1643.987,1357.879,0.000,0.000,0.000,300.000,300.000);
  36861. tmpobjid = CreateDynamicObjectEx(630,2599.196,-1661.760,1358.435,0.000,0.000,0.000,300.000,300.000);
  36862. tmpobjid = CreateDynamicObjectEx(630,2598.983,-1658.744,1358.435,0.000,0.000,0.000,300.000,300.000);
  36863. tmpobjid = CreateDynamicObjectEx(2244,2579.757,-1651.711,1358.631,0.000,0.000,0.000,300.000,300.000);
  36864. tmpobjid = CreateDynamicObjectEx(2256,2586.929,-1655.409,1359.557,0.000,16.000,90.000,300.000,300.000);
  36865. tmpobjid = CreateDynamicObjectEx(2286,2599.543,-1655.583,1359.719,0.000,0.000,270.000,300.000,300.000);
  36866. tmpobjid = CreateDynamicObjectEx(2267,2599.593,-1660.228,1359.780,0.000,0.000,270.000,300.000,300.000);
  36867. tmpobjid = CreateDynamicObjectEx(1897,2590.084,-1662.288,1358.527,0.000,0.000,0.000,300.000,300.000);
  36868. tmpobjid = CreateDynamicObjectEx(2103,2586.472,-1652.338,1358.354,0.000,0.000,90.000,300.000,300.000);
  36869. tmpobjid = CreateDynamicObjectEx(1750,2599.363,-1653.418,1358.317,0.000,0.000,330.000,300.000,300.000);
  36870. tmpobjid = CreateDynamicObjectEx(1780,2599.570,-1653.239,1357.162,0.000,0.000,90.000,300.000,300.000);
  36871. tmpobjid = CreateDynamicObjectEx(2814,2583.985,-1644.646,1358.545,0.000,0.000,0.000,300.000,300.000);
  36872. tmpobjid = CreateDynamicObjectEx(2867,2579.364,-1645.064,1358.545,0.000,0.000,0.000,300.000,300.000);
  36873. tmpobjid = CreateDynamicObjectEx(19897,2597.229,-1655.885,1358.260,0.000,0.000,0.000,300.000,300.000);
  36874. tmpobjid = CreateDynamicObjectEx(2725,2592.076,-1655.030,1357.000,0.000,0.000,0.000,300.000,300.000);
  36875. tmpobjid = CreateDynamicObjectEx(2725,2592.076,-1655.029,1361.321,0.000,180.000,0.000,300.000,300.000);
  36876. tmpobjid = CreateDynamicObjectEx(16101,2592.051,-1655.057,1350.076,0.000,0.000,0.000,300.000,300.000);
  36877. tmpobjid = CreateDynamicObjectEx(18075,2600.585,-1655.624,1360.950,0.000,0.000,0.000,300.000,300.000);
  36878. tmpobjid = CreateDynamicObjectEx(6874,2616.784,-1636.776,1350.727,0.000,0.000,0.000,300.000,300.000);
  36879. tmpobjid = CreateDynamicObjectEx(6874,2586.460,-1628.516,1350.076,0.000,0.000,0.000,300.000,300.000);
  36880. tmpobjid = CreateDynamicObjectEx(6874,2577.904,-1677.862,1350.181,0.000,0.000,0.000,300.000,300.000);
  36881. tmpobjid = CreateDynamicObjectEx(6874,2614.909,-1677.463,1351.173,0.000,0.000,0.000,300.000,300.000);
  36882. tmpobjid = CreateDynamicObjectEx(6874,2552.657,-1652.153,1350.551,0.000,0.000,0.000,300.000,300.000);
  36883. tmpobjid = CreateDynamicObjectEx(18075,2581.101,-1649.793,1360.930,0.000,0.000,0.000,300.000,300.000);
  36884. tmpobjid = CreateDynamicObjectEx(16779,2583.686,-1648.392,1361.037,0.000,0.000,0.000,300.000,300.000);
  36885. tmpobjid = CreateDynamicObjectEx(18075,2591.267,-1654.229,1360.898,0.000,0.000,0.000,300.000,300.000);
  36886. tmpobjid = CreateDynamicObjectEx(1530,2599.413,-1660.321,1359.401,0.000,0.000,0.000,300.000,300.000);
  36887. tmpobjid = CreateDynamicObjectEx(1528,2599.414,-1655.629,1359.380,0.000,0.000,0.000,300.000,300.000);
  36888. tmpobjid = CreateDynamicObjectEx(6874,2628.211,-1661.858,1351.193,0.000,0.000,0.000,300.000,300.000);
  36889. tmpobjid = CreateDynamicObjectEx(2280,2579.320,-1644.058,1359.244,0.000,0.000,0.000,300.000,300.000);
  36890. tmpobjid = CreateDynamicObjectEx(2281,2584.143,-1644.058,1359.244,0.000,0.000,0.000,300.000,300.000);
  36891. tmpobjid = CreateDynamicObjectEx(1526,2596.071,-1650.794,1359.349,0.000,0.000,0.000,300.000,300.000);
  36892. }
  36893. stock LoadCustomClub() //by TomF
  36894. {
  36895. CreateDynamicObject(19446, 1294.72021, -876.16333, 2004.17383, 0.00000, 0.00000, 0.00000);
  36896. CreateDynamicObject(19458, 1296.52783, -876.17664, 2002.36743, 0.00000, 90.00000, 0.00000);
  36897. CreateDynamicObject(19458, 1300.01294, -876.18982, 2002.36743, 0.00000, 90.00000, 0.00000);
  36898. CreateDynamicObject(19458, 1303.51147, -876.18518, 2002.36743, 0.00000, 90.00000, 0.00000);
  36899. CreateDynamicObject(19446, 1307.79980, -876.40106, 2004.17102, 0.00000, 0.00000, 0.00000);
  36900. CreateDynamicObject(19446, 1299.45703, -880.81299, 2004.17444, 0.00000, 0.00000, -90.00000);
  36901. CreateDynamicObject(1536, 1297.92261, -880.78143, 2002.43433, 0.00000, 0.00000, 0.00000);
  36902. CreateDynamicObject(1536, 1300.93152, -880.75635, 2002.43433, 0.00000, 0.00000, 180.05981);
  36903. CreateDynamicObject(1892, 1297.45386, -881.34247, 2002.45337, 0.00000, 0.00000, 90.00002);
  36904. CreateDynamicObject(1892, 1301.41870, -881.35138, 2002.45337, 0.00000, 0.00000, 90.00002);
  36905. CreateDynamicObject(2165, 1297.23547, -876.53754, 2002.45361, 0.00000, 0.00000, 268.20029);
  36906. CreateDynamicObject(1671, 1295.85742, -876.65924, 2002.88147, 0.00000, 0.00000, -303.54019);
  36907. CreateDynamicObject(970, 1303.31653, -871.39850, 2003.00110, 0.00000, 0.00000, -0.36000);
  36908. CreateDynamicObject(14407, 1299.25134, -869.45789, 1999.26855, 0.00000, 0.00000, 0.60000);
  36909. CreateDynamicObject(19446, 1312.26172, -866.63995, 2004.16052, 0.00000, 0.00000, 0.00000);
  36910. CreateDynamicObject(19446, 1312.27087, -866.65009, 2000.83105, 0.00000, 0.00000, 0.00000);
  36911. CreateDynamicObject(19446, 1287.68091, -866.65710, 2000.84961, 0.00000, 0.00000, 0.00000);
  36912. CreateDynamicObject(19458, 1296.46191, -866.62897, 1999.21240, 0.00000, 90.00000, 0.00000);
  36913. CreateDynamicObject(19458, 1299.96143, -866.63116, 1999.21240, 0.00000, 90.00000, 0.00000);
  36914. CreateDynamicObject(19458, 1303.44019, -866.63422, 1999.21240, 0.00000, 90.00000, 0.00000);
  36915. CreateDynamicObject(19446, 1299.40601, -871.42487, 2000.60950, 0.00000, 0.00000, -90.00000);
  36916. CreateDynamicObject(970, 1295.23962, -871.36780, 2003.00110, 0.00000, 0.00000, -0.36000);
  36917. CreateDynamicObject(19446, 1297.24512, -871.63647, 2000.59436, 0.00000, 0.00000, 0.00000);
  36918. CreateDynamicObject(19446, 1301.30139, -871.61169, 2000.59436, 0.00000, 0.00000, 0.00000);
  36919. CreateDynamicObject(19458, 1306.94043, -866.62396, 1999.21240, 0.00000, 90.00000, 0.00000);
  36920. CreateDynamicObject(19458, 1310.43005, -866.61029, 1999.21240, 0.00000, 90.00000, 0.00000);
  36921. CreateDynamicObject(19458, 1292.96545, -866.61676, 1999.21240, 0.00000, 90.00000, 0.00000);
  36922. CreateDynamicObject(19458, 1289.46899, -866.62280, 1999.21240, 0.00000, 90.00000, 0.00000);
  36923. CreateDynamicObject(19446, 1308.88940, -871.42938, 2000.60950, 0.00000, 0.00000, -90.00000);
  36924. CreateDynamicObject(19446, 1289.82312, -871.42352, 2000.60950, 0.00000, 0.00000, -90.00000);
  36925. CreateDynamicObject(19446, 1289.82312, -871.42352, 2004.03967, 0.00000, 0.00000, -90.00000);
  36926. CreateDynamicObject(19458, 1289.41370, -856.99255, 1999.21240, 0.00000, 90.00000, 0.00000);
  36927. CreateDynamicObject(19458, 1292.90173, -857.00616, 1999.21240, 0.00000, 90.00000, 0.00000);
  36928. CreateDynamicObject(19458, 1296.40125, -856.99402, 1999.21240, 0.00000, 90.00000, 0.00000);
  36929. CreateDynamicObject(19458, 1299.89868, -856.99457, 1999.21240, 0.00000, 90.00000, 0.00000);
  36930. CreateDynamicObject(19458, 1303.40112, -856.99335, 1999.21240, 0.00000, 90.00000, 0.00000);
  36931. CreateDynamicObject(19458, 1306.89917, -856.99023, 1999.21240, 0.00000, 90.00000, 0.00000);
  36932. CreateDynamicObject(19458, 1310.39954, -856.97205, 1999.21240, 0.00000, 90.00000, 0.00000);
  36933. CreateDynamicObject(19446, 1312.21729, -857.07727, 2000.83105, 0.00000, 0.00000, 0.00000);
  36934. CreateDynamicObject(19446, 1312.28650, -857.04315, 2004.14185, 0.00000, 0.00000, 0.00000);
  36935. CreateDynamicObject(19446, 1293.57898, -852.52228, 1998.60498, 0.00000, 0.00000, 0.00000);
  36936. CreateDynamicObject(19446, 1303.03198, -852.44739, 1998.60498, 0.00000, 0.00000, 0.00000);
  36937. CreateDynamicObject(19446, 1298.30603, -857.26569, 1998.62781, 0.00000, 0.00000, -90.00000);
  36938. CreateDynamicObject(19458, 1298.29651, -855.58215, 2000.31091, 0.00000, 90.00000, 89.99998);
  36939. CreateDynamicObject(19458, 1298.29626, -852.11780, 2000.31091, 0.00000, 90.00000, 89.99998);
  36940. CreateDynamicObject(19458, 1298.29150, -848.63507, 2000.31091, 0.00000, 90.00000, 89.99998);
  36941. CreateDynamicObject(19446, 1287.67078, -860.07562, 2000.84961, 0.00000, 0.00000, 0.00000);
  36942. CreateDynamicObject(19446, 1287.65955, -855.12079, 2004.04541, 0.00000, 0.00000, 0.00000);
  36943. CreateDynamicObject(19446, 1307.86426, -852.39874, 2000.60950, 0.00000, 0.00000, -90.00000);
  36944. CreateDynamicObject(19446, 1307.86426, -852.39874, 2004.07581, 0.00000, 0.00000, -90.00000);
  36945. CreateDynamicObject(19446, 1288.74829, -852.11841, 2000.64954, 0.00000, 0.00000, -90.00000);
  36946. CreateDynamicObject(19446, 1288.74902, -852.10614, 2003.93005, 0.00000, 0.00000, -90.00000);
  36947. CreateDynamicObject(19458, 1291.60498, -847.25397, 2005.58325, 0.00000, 90.00000, 0.00000);
  36948. CreateDynamicObject(19458, 1288.30396, -847.22516, 2005.58545, 0.00000, 90.00000, 0.00000);
  36949. CreateDynamicObject(19458, 1304.70569, -847.56842, 1999.21240, 0.00000, 90.00000, 0.00000);
  36950. CreateDynamicObject(19458, 1308.20593, -847.56342, 1999.21240, 0.00000, 90.00000, 0.00000);
  36951. CreateDynamicObject(19458, 1311.68823, -847.51337, 1999.21240, 0.00000, 90.00000, 0.00000);
  36952. CreateDynamicObject(19446, 1312.72925, -847.51678, 2000.83105, 0.00000, 0.00000, 0.00000);
  36953. CreateDynamicObject(19446, 1286.66345, -847.28198, 2000.83105, 0.00000, 0.00000, 0.00000);
  36954. CreateDynamicObject(19446, 1298.28613, -846.79144, 2002.02820, 0.00000, 0.00000, -90.00000);
  36955. CreateDynamicObject(14877, 1303.94153, -850.82776, 1998.27307, 0.00000, 0.00000, 180.00015);
  36956. CreateDynamicObject(14877, 1286.79065, -853.75726, 1997.21106, 0.00000, 0.00000, 360.00012);
  36957. CreateDynamicObject(14877, 1303.93494, -853.88049, 1998.27307, 0.00000, 0.00000, 180.48013);
  36958. CreateDynamicObject(19608, 1298.14551, -844.69550, 2003.27478, 0.00000, 180.10001, 0.00000);
  36959. CreateDynamicObject(19446, 1302.98767, -842.09485, 2001.99182, 0.00000, 0.00000, 0.00000);
  36960. CreateDynamicObject(19446, 1303.05493, -842.81946, 1998.60498, 0.00000, 0.00000, 0.00000);
  36961. CreateDynamicObject(19446, 1308.37720, -842.78888, 2000.91272, 0.00000, 0.00000, -90.00000);
  36962. CreateDynamicObject(19446, 1307.60742, -842.78772, 2000.91272, 0.00000, 0.00000, -90.00000);
  36963. CreateDynamicObject(1822, 1306.82288, -844.79242, 1999.24658, 0.00000, 0.00000, 0.00000);
  36964. CreateDynamicObject(2855, 1307.07385, -844.50525, 1999.73401, 0.00000, 0.00000, 37.38000);
  36965. CreateDynamicObject(2853, 1307.44922, -844.13690, 1999.74231, 0.00000, 0.00000, 0.00000);
  36966. CreateDynamicObject(11729, 1310.11157, -852.02069, 1999.27087, 0.00000, 0.00000, -180.00005);
  36967. CreateDynamicObject(11729, 1310.78345, -852.02325, 1999.27087, 0.00000, 0.00000, -180.00005);
  36968. CreateDynamicObject(11729, 1311.46484, -852.02130, 1999.27087, 0.00000, 0.00000, -180.00005);
  36969. CreateDynamicObject(11729, 1312.36389, -851.20905, 1999.27087, 0.00000, 0.00000, -90.00000);
  36970. CreateDynamicObject(11729, 1312.37122, -850.53839, 1999.27087, 0.00000, 0.00000, -90.00000);
  36971. CreateDynamicObject(11729, 1312.39331, -849.87872, 1999.27087, 0.00000, 0.00000, -90.00000);
  36972. CreateDynamicObject(11729, 1312.39673, -849.21619, 1999.27087, 0.00000, 0.00000, -90.00000);
  36973. CreateDynamicObject(2371, 1307.13086, -851.65204, 1999.29077, 0.00000, 0.00000, -90.00001);
  36974. CreateDynamicObject(2371, 1312.60181, -845.98224, 1999.29077, 0.00000, 0.00000, -180.00029);
  36975. CreateDynamicObject(2394, 1307.71838, -851.35828, 2000.00220, 0.00000, 0.00000, 0.00000);
  36976. CreateDynamicObject(2394, 1307.75977, -852.03143, 2000.00220, 0.00000, 0.00000, 0.00000);
  36977. CreateDynamicObject(2390, 1312.36609, -847.44360, 2000.01489, 0.00000, 0.00000, -87.30000);
  36978. CreateDynamicObject(2390, 1312.38123, -846.63947, 2000.01489, 0.00000, 0.00000, -87.30000);
  36979. CreateDynamicObject(2390, 1312.36621, -845.92175, 2000.01489, 0.00000, 0.00000, -87.30000);
  36980. CreateDynamicObject(1811, 1305.30139, -843.33502, 1999.90173, 0.00000, 0.00000, 93.42000);
  36981. CreateDynamicObject(1811, 1306.07397, -843.31952, 1999.90173, 0.00000, 0.00000, 93.42000);
  36982. CreateDynamicObject(1811, 1304.55237, -843.36157, 1999.90173, 0.00000, 0.00000, 93.42000);
  36983. CreateDynamicObject(19446, 1306.21899, -852.39056, 2000.60950, 0.00000, 0.00000, -90.00000);
  36984. CreateDynamicObject(19446, 1306.21814, -852.39142, 2004.07581, 0.00000, 0.00000, -90.00000);
  36985. CreateDynamicObject(19446, 1290.26929, -852.16742, 2000.64954, 0.00000, 0.00000, -90.00000);
  36986. CreateDynamicObject(19446, 1290.26990, -852.15497, 2003.93005, 0.00000, 0.00000, -90.00000);
  36987. CreateDynamicObject(19446, 1303.04907, -844.54016, 2001.99182, 0.00000, 0.00000, 0.00000);
  36988. CreateDynamicObject(1491, 1302.99023, -849.34833, 2000.39746, 0.00000, 0.00000, 270.00006);
  36989. CreateDynamicObject(1491, 1303.01794, -852.36774, 2000.39746, 0.00000, 0.00000, 450.18039);
  36990. CreateDynamicObject(19446, 1293.44421, -847.27502, 2001.99182, 0.00000, 0.00000, 0.00000);
  36991. CreateDynamicObject(19384, 1287.69202, -853.77332, 2000.87158, 0.00000, 0.00000, 0.00000);
  36992. CreateDynamicObject(19458, 1282.93176, -849.87689, 1996.04919, 0.00000, 90.00000, 0.00000);
  36993. CreateDynamicObject(19446, 1280.44897, -854.61371, 2000.21033, 0.00000, 0.00000, -90.00000);
  36994. CreateDynamicObject(19446, 1279.90894, -845.37213, 1997.80615, 0.00000, 0.00000, -90.00000);
  36995. CreateDynamicObject(19446, 1282.90430, -854.60516, 1996.80542, 0.00000, 0.00000, -90.00000);
  36996. CreateDynamicObject(19458, 1279.43774, -849.73486, 1996.04919, 0.00000, 90.00000, 0.00000);
  36997. CreateDynamicObject(19458, 1275.95483, -849.78375, 1996.04919, 0.00000, 90.00000, 0.00000);
  36998. CreateDynamicObject(19458, 1272.46667, -849.78717, 1996.04919, 0.00000, 90.00000, 0.00000);
  36999. CreateDynamicObject(19446, 1270.27356, -845.39331, 1997.80615, 0.00000, 0.00000, -90.00000);
  37000. CreateDynamicObject(19446, 1270.81909, -850.28113, 1997.87207, 0.00000, 0.00000, 0.00000);
  37001. CreateDynamicObject(19446, 1284.75867, -847.37915, 1997.80713, 0.00000, 0.00000, 0.00000);
  37002. CreateDynamicObject(19446, 1287.93994, -852.15515, 1997.32666, 0.00000, 0.00000, -90.00000);
  37003. CreateDynamicObject(3498, 1307.82178, -857.95935, 1997.90808, 0.00000, 0.00000, 0.00000);
  37004. CreateDynamicObject(3498, 1308.10876, -865.97424, 1997.94727, 0.00000, 0.00000, 0.00000);
  37005. CreateDynamicObject(19458, 1310.41174, -866.61066, 2002.41968, 0.00000, 90.00000, 0.00000);
  37006. CreateDynamicObject(19458, 1306.94043, -866.62396, 2002.40393, 0.00000, 90.00000, 0.00000);
  37007. CreateDynamicObject(19458, 1306.89917, -856.99023, 2002.41650, 0.00000, 90.00000, 0.00000);
  37008. CreateDynamicObject(19446, 1303.91956, -880.81610, 2004.17444, 0.00000, 0.00000, -90.00000);
  37009. CreateDynamicObject(19458, 1307.00989, -876.19550, 2002.36743, 0.00000, 90.00000, 0.00000);
  37010. CreateDynamicObject(970, 1305.24475, -869.22925, 2003.00098, 0.00000, 0.00000, -90.00001);
  37011. CreateDynamicObject(970, 1305.23621, -865.10156, 2003.00098, 0.00000, 0.00000, -90.00001);
  37012. CreateDynamicObject(970, 1305.23352, -860.93445, 2003.00098, 0.00000, 0.00000, -90.00001);
  37013. CreateDynamicObject(970, 1305.23560, -856.78497, 2003.00098, 0.00000, 0.00000, -90.00001);
  37014. CreateDynamicObject(970, 1305.21716, -854.53271, 2003.00098, 0.00000, 0.00000, -90.00001);
  37015. CreateDynamicObject(14651, 1274.47424, -852.84784, 1998.27539, 0.00000, 0.00000, -89.99995);
  37016. CreateDynamicObject(1649, 1287.59070, -869.05652, 2004.26331, 0.00000, 0.00000, -90.00000);
  37017. CreateDynamicObject(14877, 1286.12366, -859.21606, 2000.21838, 0.00000, 0.00000, 269.51978);
  37018. CreateDynamicObject(19458, 1285.90601, -874.32227, 2002.23340, 0.00000, 90.00000, 0.00000);
  37019. CreateDynamicObject(19458, 1282.45007, -874.34863, 2002.23340, 0.00000, 90.00000, 0.00000);
  37020. CreateDynamicObject(19446, 1273.31165, -854.60577, 1996.80542, 0.00000, 0.00000, -90.00000);
  37021. CreateDynamicObject(19446, 1270.98999, -854.58966, 2000.21033, 0.00000, 0.00000, -90.00000);
  37022. CreateDynamicObject(19446, 1285.19128, -859.34863, 2000.19702, 0.00000, 0.00000, 0.00000);
  37023. CreateDynamicObject(19458, 1285.97571, -864.71021, 2002.23340, 0.00000, 90.00000, 0.00000);
  37024. CreateDynamicObject(19458, 1282.47839, -864.72388, 2002.23340, 0.00000, 90.00000, 0.00000);
  37025. CreateDynamicObject(19446, 1285.17712, -855.05719, 2003.62085, 0.00000, 0.00000, 0.00000);
  37026. CreateDynamicObject(19446, 1277.22925, -866.64142, 2004.04541, 0.00000, 0.00000, 0.00000);
  37027. CreateDynamicObject(19446, 1280.52661, -871.42755, 2004.03967, 0.00000, 0.00000, -90.00000);
  37028. CreateDynamicObject(19458, 1278.99182, -864.71869, 2002.23340, 0.00000, 90.00000, 0.06000);
  37029. CreateDynamicObject(19458, 1278.97351, -874.33270, 2002.23340, 0.00000, 90.00000, 0.00000);
  37030. CreateDynamicObject(19446, 1277.21252, -862.97028, 2004.04541, 0.00000, 0.00000, 0.00000);
  37031. CreateDynamicObject(19446, 1278.73828, -859.86658, 2003.63867, 0.00000, 0.00000, -90.00000);
  37032. CreateDynamicObject(1649, 1287.58911, -864.68536, 2004.26331, 0.00000, 0.00000, -90.00000);
  37033. CreateDynamicObject(1649, 1287.59619, -860.27509, 2004.26331, 0.00000, 0.00000, -90.00000);
  37034. CreateDynamicObject(1671, 1281.47400, -867.05194, 2002.72278, 0.00000, 0.00000, 366.83972);
  37035. CreateDynamicObject(1828, 1283.76624, -864.41406, 2002.30139, 0.00000, 0.00000, 0.00000);
  37036. CreateDynamicObject(626, 1278.51404, -860.76349, 2004.28821, 0.00000, 0.00000, 0.00000);
  37037. CreateDynamicObject(1708, 1279.92456, -860.53741, 2002.28015, 0.00000, 0.00000, 0.00000);
  37038. CreateDynamicObject(1713, 1278.06860, -863.75903, 2002.31970, 0.00000, 0.00000, 90.06012);
  37039. CreateDynamicObject(626, 1278.39221, -870.60931, 2004.28821, 0.00000, 0.00000, 0.00000);
  37040. CreateDynamicObject(2207, 1283.18359, -868.91504, 2002.31287, 0.00000, 0.00000, 152.09985);
  37041. CreateDynamicObject(19474, 1278.42688, -866.65607, 2002.62012, 0.00000, 0.00000, 0.00000);
  37042. CreateDynamicObject(1930, 1278.09851, -866.43549, 2003.11853, 0.00000, 0.00000, 0.00000);
  37043. CreateDynamicObject(1930, 1278.08557, -866.58051, 2003.11853, 0.00000, 0.00000, 0.00000);
  37044. CreateDynamicObject(1930, 1278.13696, -866.53003, 2003.11853, 0.00000, 0.00000, 0.00000);
  37045. CreateDynamicObject(1930, 1278.07422, -866.52155, 2003.11853, 0.00000, 0.00000, 0.00000);
  37046. CreateDynamicObject(1930, 1278.02368, -866.47003, 2003.11853, 0.00000, 0.00000, 0.00000);
  37047. CreateDynamicObject(1930, 1278.02307, -866.57324, 2003.11853, 0.00000, 0.00000, 0.00000);
  37048. CreateDynamicObject(1932, 1278.62329, -866.11066, 2003.13831, 0.00000, 0.00000, 0.00000);
  37049. CreateDynamicObject(1932, 1278.62390, -866.03064, 2003.13831, 0.00000, 0.00000, 0.00000);
  37050. CreateDynamicObject(1932, 1278.68384, -866.05115, 2003.13831, 0.00000, 0.00000, 0.00000);
  37051. CreateDynamicObject(1932, 1278.70325, -866.13135, 2003.13831, 0.00000, 0.00000, 0.00000);
  37052. CreateDynamicObject(1932, 1278.66272, -866.19098, 2003.05823, 0.00000, 0.00000, 0.00000);
  37053. CreateDynamicObject(1932, 1278.58289, -866.15021, 2003.05823, 0.00000, 0.00000, 0.00000);
  37054. CreateDynamicObject(1933, 1278.46472, -867.37286, 2003.13843, 0.00000, 0.00000, 0.00000);
  37055. CreateDynamicObject(1933, 1278.41443, -867.34711, 2003.13843, 0.00000, 0.00000, 0.00000);
  37056. CreateDynamicObject(1933, 1278.39465, -867.41650, 2003.13843, 0.00000, 0.00000, 0.00000);
  37057. CreateDynamicObject(1933, 1278.35730, -867.36554, 2003.13843, 0.00000, 0.00000, 0.00000);
  37058. CreateDynamicObject(1933, 1278.46411, -867.43610, 2003.13843, 0.00000, 0.00000, 0.00000);
  37059. CreateDynamicObject(1933, 1278.53418, -867.39246, 2003.06226, 0.00000, 0.00000, 0.00000);
  37060. CreateDynamicObject(2165, 1282.56555, -850.66400, 1996.15198, 0.00000, 0.00000, 55.62001);
  37061. CreateDynamicObject(1811, 1284.06030, -851.07709, 1996.65051, 0.00000, 0.00000, -31.73999);
  37062. CreateDynamicObject(2315, 1271.41931, -847.25012, 1996.10425, 0.00000, 0.00000, -89.99998);
  37063. CreateDynamicObject(2315, 1273.97839, -846.02966, 1996.09412, 0.00000, 0.00000, 0.00000);
  37064. CreateDynamicObject(2315, 1271.53687, -846.03503, 1996.10095, 0.00000, 0.00000, 0.00000);
  37065. CreateDynamicObject(19446, 1274.54480, -849.44696, 1997.80615, 0.00000, 0.00000, -90.00000);
  37066. CreateDynamicObject(1499, 1279.25916, -849.36200, 1996.11694, 0.00000, 0.00000, 89.99995);
  37067. CreateDynamicObject(19446, 1279.23486, -843.06067, 1997.87207, 0.00000, 0.00000, 0.00000);
  37068. CreateDynamicObject(2005, 1274.94495, -845.83673, 1996.44080, 0.00000, 0.00000, 0.00000);
  37069. CreateDynamicObject(1550, 1276.24561, -845.65698, 1996.48071, 9.00000, 6.42000, -52.80000);
  37070. CreateDynamicObject(1550, 1276.61218, -845.63007, 1996.48071, 9.00000, 6.42000, -52.80000);
  37071. CreateDynamicObject(2005, 1274.29944, -845.72290, 1996.44080, 0.00000, 0.00000, 0.00000);
  37072. CreateDynamicObject(2005, 1273.67920, -845.71082, 1996.44788, 0.00000, 0.00000, 0.00000);
  37073. CreateDynamicObject(2468, 1271.05518, -848.79456, 1996.52209, 0.00000, 0.00000, 91.08002);
  37074. CreateDynamicObject(19624, 1273.10071, -845.71051, 1996.95703, 0.00000, 0.00000, 0.00000);
  37075. CreateDynamicObject(19624, 1273.09619, -845.93182, 1996.95703, 0.00000, 0.00000, 0.00000);
  37076. CreateDynamicObject(19624, 1273.10669, -846.19214, 1996.95703, 0.00000, 0.00000, 0.00000);
  37077. CreateDynamicObject(19624, 1272.50427, -845.71399, 1996.95703, 0.00000, 0.00000, 0.00000);
  37078. CreateDynamicObject(19624, 1272.50696, -845.91785, 1996.95703, 0.00000, 0.00000, 0.00000);
  37079. CreateDynamicObject(19624, 1272.49866, -846.18066, 1996.95703, 0.00000, 0.00000, 0.00000);
  37080. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.54187, -92.16002, -0.60000, 179.69998);
  37081. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.61133, -92.16002, -0.60000, 179.69998);
  37082. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.68152, -92.16002, -0.60000, 179.69998);
  37083. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.75171, -92.16002, -0.60000, 179.69998);
  37084. CreateDynamicObject(1210, 1271.48792, -846.00458, 1996.51843, -92.16002, -0.60000, 217.13998);
  37085. CreateDynamicObject(1210, 1271.48792, -846.00458, 1996.59021, -92.16002, -0.60000, 217.13998);
  37086. CreateDynamicObject(1822, 1279.55688, -863.26880, 2002.32434, 0.00000, 0.00000, 0.00000);
  37087. CreateDynamicObject(14455, 1282.47754, -871.07678, 2003.85339, 0.00000, 0.00000, 0.00000);
  37088. CreateDynamicObject(2894, 1282.90198, -869.34497, 2003.08521, 0.00000, 0.00000, -71.04001);
  37089. CreateDynamicObject(2332, 1280.08594, -871.60950, 2002.73547, 0.00000, 0.00000, 179.58011);
  37090. CreateDynamicObject(2332, 1280.08594, -871.60950, 2003.57129, 0.00000, 0.00000, 179.58011);
  37091. CreateDynamicObject(2332, 1279.28125, -871.59784, 2002.73547, 0.00000, 0.00000, 179.58011);
  37092. CreateDynamicObject(2332, 1279.28125, -871.59784, 2003.56934, 0.00000, 0.00000, 179.58011);
  37093. CreateDynamicObject(3015, 1272.06763, -849.04169, 1996.20691, 0.00000, 0.00000, 0.00000);
  37094. CreateDynamicObject(3015, 1272.50806, -849.03540, 1996.20691, 0.00000, 0.00000, 0.00000);
  37095. CreateDynamicObject(3015, 1272.94873, -849.04901, 1996.20691, 0.00000, 0.00000, 0.00000);
  37096. CreateDynamicObject(2912, 1279.74805, -845.93915, 1996.13574, 0.00000, 0.00000, 0.00000);
  37097. CreateDynamicObject(2912, 1280.44836, -845.92249, 1996.13574, 0.00000, 0.00000, 0.00000);
  37098. CreateDynamicObject(2912, 1281.16992, -845.92578, 1996.13574, 0.00000, 0.00000, 0.00000);
  37099. CreateDynamicObject(2912, 1281.17114, -845.90582, 1996.82849, 0.00000, 0.00000, 0.00000);
  37100. CreateDynamicObject(2912, 1280.44958, -845.90259, 1996.82849, 0.00000, 0.00000, 0.00000);
  37101. CreateDynamicObject(2912, 1279.74792, -845.90051, 1996.82849, 0.00000, 0.00000, 0.00000);
  37102. CreateDynamicObject(2912, 1279.75122, -846.64984, 1996.13574, 0.00000, 0.00000, 0.00000);
  37103. CreateDynamicObject(2912, 1280.45313, -846.60748, 1996.13574, 0.00000, 0.00000, 0.00000);
  37104. CreateDynamicObject(1670, 1279.97217, -862.59241, 2002.82166, 0.00000, 0.00000, 39.30000);
  37105. CreateDynamicObject(19449, 1272.51160, -849.72083, 1999.61243, 0.00000, 90.00000, 0.00000);
  37106. CreateDynamicObject(19449, 1275.97925, -849.71637, 1999.61243, 0.00000, 90.00000, 0.00000);
  37107. CreateDynamicObject(19449, 1279.46716, -849.71008, 1999.61243, 0.00000, 90.00000, 0.00000);
  37108. CreateDynamicObject(19449, 1282.96802, -847.37085, 1999.60620, 0.00000, 90.00000, 0.00000);
  37109. CreateDynamicObject(19446, 1281.14172, -850.39001, 2001.27039, 0.00000, 0.00000, 0.00000);
  37110. CreateDynamicObject(2005, 1275.57507, -845.79730, 1996.44336, 0.00000, 0.00000, 0.00000);
  37111. CreateDynamicObject(2005, 1275.56262, -845.96771, 1996.44336, 0.00000, 0.00000, 0.00000);
  37112. CreateDynamicObject(2005, 1275.54016, -846.11169, 1996.44336, 0.00000, 0.00000, 0.00000);
  37113. CreateDynamicObject(2005, 1275.52747, -846.28223, 1996.44336, 0.00000, 0.00000, 0.00000);
  37114. CreateDynamicObject(2005, 1274.91516, -846.00513, 1996.44080, 0.00000, 0.00000, 0.00000);
  37115. CreateDynamicObject(2005, 1274.90149, -846.15015, 1996.44080, 0.00000, 0.00000, 0.00000);
  37116. CreateDynamicObject(2005, 1274.88782, -846.29517, 1996.44080, 0.00000, 0.00000, 0.00000);
  37117. CreateDynamicObject(2005, 1274.26672, -845.87555, 1996.44080, 0.00000, 0.00000, 0.00000);
  37118. CreateDynamicObject(2005, 1274.25305, -845.98785, 1996.44080, 0.00000, 0.00000, 0.00000);
  37119. CreateDynamicObject(2005, 1271.11450, -847.35852, 1996.44080, 0.00000, 0.00000, 90.00003);
  37120. CreateDynamicObject(2005, 1271.29565, -847.34973, 1996.44080, 0.00000, 0.00000, 90.00003);
  37121. CreateDynamicObject(2005, 1271.43726, -847.34729, 1996.44080, 0.00000, 0.00000, 90.00003);
  37122. CreateDynamicObject(2005, 1271.57568, -847.32507, 1996.44080, 0.00000, 0.00000, 90.00003);
  37123. CreateDynamicObject(1575, 1271.24036, -847.85492, 1996.55933, 0.00000, 0.00000, 0.00000);
  37124. CreateDynamicObject(1575, 1271.22241, -848.19519, 1996.55933, 0.00000, 0.00000, 0.00000);
  37125. CreateDynamicObject(1575, 1271.20654, -848.51550, 1996.55933, 0.00000, 0.00000, 0.00000);
  37126. CreateDynamicObject(1575, 1271.13049, -847.96606, 1996.69934, 0.00000, 0.00000, -48.18000);
  37127. CreateDynamicObject(1575, 1271.11304, -848.40631, 1996.69934, 0.00000, 0.00000, -48.18000);
  37128. CreateDynamicObject(1578, 1272.04114, -845.89856, 1996.57971, 0.00000, 0.00000, 89.88001);
  37129. CreateDynamicObject(1578, 1272.05298, -845.85541, 1996.73376, 0.00000, 0.00000, 89.88001);
  37130. CreateDynamicObject(1578, 1271.69788, -846.24182, 1996.09998, 0.00000, 0.00000, 89.88001);
  37131. CreateDynamicObject(1578, 1271.99854, -846.23358, 1996.09998, 0.00000, 0.00000, 89.88001);
  37132. CreateDynamicObject(1578, 1272.25854, -846.24377, 1996.09998, 0.00000, 0.00000, 89.88001);
  37133. CreateDynamicObject(1578, 1272.53931, -846.23480, 1996.09998, 0.00000, 0.00000, 89.88001);
  37134. CreateDynamicObject(1578, 1272.77917, -846.24414, 1996.09998, 0.00000, 0.00000, 89.88001);
  37135. CreateDynamicObject(19446, 1279.22375, -844.64270, 2000.37500, 0.00000, 0.00000, 0.00000);
  37136. CreateDynamicObject(1649, 1287.74548, -869.12506, 2004.26331, 0.00000, 0.00000, -270.00000);
  37137. CreateDynamicObject(1649, 1287.74084, -864.69904, 2004.26331, 0.00000, 0.00000, -270.00000);
  37138. CreateDynamicObject(1649, 1287.73560, -860.35144, 2004.26331, 0.00000, 0.00000, -270.00000);
  37139. CreateDynamicObject(19446, 1299.45703, -880.81299, 2007.61462, 0.00000, 0.00000, -90.00000);
  37140. CreateDynamicObject(19446, 1303.91956, -880.81610, 2007.62524, 0.00000, 0.00000, -90.00000);
  37141. CreateDynamicObject(19446, 1307.62012, -876.35425, 2007.55176, 0.00000, 0.00000, 0.00000);
  37142. CreateDynamicObject(19446, 1312.37402, -871.56610, 2007.57056, 0.00000, 0.00000, -90.00000);
  37143. CreateDynamicObject(19446, 1312.26172, -866.63995, 2007.60742, 0.00000, 0.00000, 0.00000);
  37144. CreateDynamicObject(19446, 1312.30249, -857.05524, 2007.62061, 0.00000, 0.00000, 0.00000);
  37145. CreateDynamicObject(19446, 1307.86426, -852.39874, 2007.55481, 0.00000, 0.00000, -90.00000);
  37146. CreateDynamicObject(19446, 1306.21814, -852.39142, 2007.54468, 0.00000, 0.00000, -90.00000);
  37147. CreateDynamicObject(19446, 1287.66772, -855.12201, 2007.49377, 0.00000, 0.00000, 0.00000);
  37148. CreateDynamicObject(19446, 1294.72021, -876.16333, 2007.60474, 0.00000, 0.00000, 0.00000);
  37149. CreateDynamicObject(19446, 1289.82312, -871.42352, 2007.44507, 0.00000, 0.00000, -90.00000);
  37150. CreateDynamicObject(19446, 1280.52661, -871.42755, 2007.44385, 0.00000, 0.00000, -90.00000);
  37151. CreateDynamicObject(19446, 1277.22925, -866.64142, 2007.48425, 0.00000, 0.00000, 0.00000);
  37152. CreateDynamicObject(19446, 1277.21252, -862.97028, 2007.48438, 0.00000, 0.00000, 0.00000);
  37153. CreateDynamicObject(19446, 1280.43982, -859.85425, 2007.06787, 0.00000, 0.00000, -90.00000);
  37154. CreateDynamicObject(19446, 1285.17712, -855.05719, 2006.99353, 0.00000, 0.00000, 0.00000);
  37155. CreateDynamicObject(1616, 1287.99231, -852.91443, 2008.13782, 0.00000, 0.00000, 158.28001);
  37156. CreateDynamicObject(1616, 1295.09167, -871.73450, 2008.13782, 0.00000, 0.00000, 158.28001);
  37157. CreateDynamicObject(1616, 1277.56641, -860.43439, 2008.13782, 0.00000, 0.00000, 170.99998);
  37158. CreateDynamicObject(1616, 1290.66602, -871.05267, 2008.11926, 0.00000, 0.00000, 248.58006);
  37159. CreateDynamicObject(19446, 1287.61292, -864.64899, 2007.65369, 0.00000, 0.00000, 0.00000);
  37160. CreateDynamicObject(19446, 1287.59863, -874.25220, 2007.65369, 0.00000, 0.00000, 0.00000);
  37161. CreateDynamicObject(19446, 1293.41858, -847.41400, 2005.47900, 0.00000, 0.00000, 0.00000);
  37162. CreateDynamicObject(19446, 1298.28613, -846.79144, 2005.47742, 0.00000, 0.00000, -90.00000);
  37163. CreateDynamicObject(19446, 1303.04907, -844.54016, 2005.43982, 0.00000, 0.00000, 0.00000);
  37164. CreateDynamicObject(19449, 1310.95508, -847.54681, 2002.97986, 0.00000, 90.00000, 0.00000);
  37165. CreateDynamicObject(19449, 1307.44897, -847.56415, 2002.98450, 0.00000, 90.00000, 0.00000);
  37166. CreateDynamicObject(19449, 1304.73572, -847.51172, 2002.97961, 0.00000, 90.00000, 0.00000);
  37167. CreateDynamicObject(19446, 1303.06250, -847.53418, 2004.63232, 0.00000, 0.00000, 0.00000);
  37168. CreateDynamicObject(19446, 1308.37720, -842.78888, 2004.39490, 0.00000, 0.00000, -90.00000);
  37169. CreateDynamicObject(19446, 1307.60742, -842.78772, 2004.37024, 0.00000, 0.00000, -90.00000);
  37170. CreateDynamicObject(19446, 1312.72925, -847.51678, 2004.31726, 0.00000, 0.00000, 0.00000);
  37171. CreateDynamicObject(19449, 1283.53918, -851.38654, 2001.77490, 0.00000, 90.00000, 0.00000);
  37172. CreateDynamicObject(19449, 1280.09839, -851.41193, 2001.77490, 0.00000, 90.00000, 0.00000);
  37173. CreateDynamicObject(14877, 1283.70203, -859.78827, 2000.87659, 0.00000, 0.00000, 450.66013);
  37174. CreateDynamicObject(19446, 1281.65332, -855.02179, 2003.62085, 0.00000, 0.00000, 0.00000);
  37175. CreateDynamicObject(19458, 1283.34460, -854.27490, 2002.87476, 0.00000, 90.00000, 0.00000);
  37176. CreateDynamicObject(8614, 1285.78503, -843.43103, 2004.46167, 0.00000, 0.00000, 179.99986);
  37177. CreateDynamicObject(19458, 1283.34497, -845.59296, 2002.87476, 0.00000, 90.00000, 0.00000);
  37178. CreateDynamicObject(19446, 1281.57983, -846.30273, 2003.62085, 0.00000, 0.00000, 0.00000);
  37179. CreateDynamicObject(19446, 1286.90173, -841.30762, 2003.83484, 0.00000, 0.00000, 0.00000);
  37180. CreateDynamicObject(19446, 1282.82422, -842.34412, 2003.86450, 0.00000, 0.00000, -90.00000);
  37181. CreateDynamicObject(19446, 1286.88049, -847.17267, 2003.84998, 0.00000, 0.00000, 0.00000);
  37182. CreateDynamicObject(19458, 1285.20508, -847.24725, 2002.85864, 0.00000, 90.00000, 0.00000);
  37183. CreateDynamicObject(19458, 1285.20630, -837.82306, 2002.85864, 0.00000, 90.00000, 0.00000);
  37184. CreateDynamicObject(19446, 1291.71265, -842.53644, 2007.15906, 0.00000, 0.00000, -90.00000);
  37185. CreateDynamicObject(19446, 1293.41846, -847.41400, 2008.96069, 0.00000, 0.00000, 0.00000);
  37186. CreateDynamicObject(19446, 1286.60071, -849.02649, 2007.37427, 0.00000, 0.00000, 0.00000);
  37187. CreateDynamicObject(19446, 1281.78882, -852.12531, 2007.42944, 0.00000, 0.00000, -90.00000);
  37188. CreateDynamicObject(1649, 1291.25867, -852.24438, 2007.28760, 0.00000, 0.00000, -360.00000);
  37189. CreateDynamicObject(1649, 1286.82178, -852.24396, 2007.28760, 0.00000, 0.00000, -360.00000);
  37190. CreateDynamicObject(1649, 1291.16479, -852.18561, 2007.33118, 0.00000, 0.00000, -180.00000);
  37191. CreateDynamicObject(1649, 1286.73108, -852.19092, 2007.33118, 0.00000, 0.00000, -180.00000);
  37192. CreateDynamicObject(19446, 1282.82422, -842.34412, 2007.35291, 0.00000, 0.00000, -90.00000);
  37193. CreateDynamicObject(19446, 1282.88611, -859.84344, 2007.06787, 0.00000, 0.00000, -90.00000);
  37194. CreateDynamicObject(19458, 1285.99011, -854.42053, 2005.58447, 0.00000, 90.00000, 0.00000);
  37195. CreateDynamicObject(19446, 1282.92285, -850.37708, 2007.42944, 0.00000, 0.00000, -90.00000);
  37196. CreateDynamicObject(1892, 1301.41870, -881.35138, 2002.45337, 0.00000, 0.00000, 90.00002);
  37197. CreateDynamicObject(19446, 1293.57898, -852.52228, 1998.60498, 0.00000, 0.00000, 0.00000);
  37198. CreateDynamicObject(19446, 1303.03198, -852.44739, 1998.60498, 0.00000, 0.00000, 0.00000);
  37199. CreateDynamicObject(19446, 1287.64124, -855.12891, 2004.04541, 0.00000, 0.00000, 0.00000);
  37200. CreateDynamicObject(19446, 1288.74829, -852.11841, 2000.64954, 0.00000, 0.00000, -90.00000);
  37201. CreateDynamicObject(19458, 1291.83289, -847.30798, 1999.21240, 0.00000, 90.00000, 0.00000);
  37202. CreateDynamicObject(19458, 1288.34583, -847.29492, 1999.21240, 0.00000, 90.00000, 0.00000);
  37203. CreateDynamicObject(19458, 1304.70569, -847.56842, 1999.21240, 0.00000, 90.00000, 0.00000);
  37204. CreateDynamicObject(19458, 1308.20593, -847.56342, 1999.21240, 0.00000, 90.00000, 0.00000);
  37205. CreateDynamicObject(19458, 1311.68823, -847.51337, 1999.21240, 0.00000, 90.00000, 0.00000);
  37206. CreateDynamicObject(19446, 1286.66345, -847.28198, 2000.83105, 0.00000, 0.00000, 0.00000);
  37207. CreateDynamicObject(14877, 1303.94153, -850.82776, 1998.27307, 0.00000, 0.00000, 180.00015);
  37208. CreateDynamicObject(19446, 1302.98767, -842.09485, 2001.99182, 0.00000, 0.00000, 0.00000);
  37209. CreateDynamicObject(19446, 1303.05493, -842.81946, 1998.60498, 0.00000, 0.00000, 0.00000);
  37210. CreateDynamicObject(19446, 1308.37720, -842.78888, 2000.91272, 0.00000, 0.00000, -90.00000);
  37211. CreateDynamicObject(19446, 1307.60742, -842.78772, 2000.91272, 0.00000, 0.00000, -90.00000);
  37212. CreateDynamicObject(19458, 1282.93176, -849.87689, 1996.04919, 0.00000, 90.00000, 0.00000);
  37213. CreateDynamicObject(19446, 1270.27356, -845.39331, 1997.80615, 0.00000, 0.00000, -90.00000);
  37214. CreateDynamicObject(19446, 1284.75867, -847.37915, 1997.80713, 0.00000, 0.00000, 0.00000);
  37215. CreateDynamicObject(19446, 1303.90210, -880.82581, 2004.17444, 0.00000, 0.00000, -90.00000);
  37216. CreateDynamicObject(1649, 1287.71497, -869.06689, 2004.26331, 0.00000, 0.00000, -90.00000);
  37217. CreateDynamicObject(19446, 1273.31165, -854.60577, 1996.80542, 0.00000, 0.00000, -90.00000);
  37218. CreateDynamicObject(19446, 1285.19128, -859.34863, 2000.19702, 0.00000, 0.00000, 0.00000);
  37219. CreateDynamicObject(19446, 1277.22925, -866.64142, 2004.04541, 0.00000, 0.00000, 0.00000);
  37220. CreateDynamicObject(19446, 1280.52661, -871.42755, 2004.03967, 0.00000, 0.00000, -90.00000);
  37221. CreateDynamicObject(19446, 1277.21252, -862.97028, 2004.04541, 0.00000, 0.00000, 0.00000);
  37222. CreateDynamicObject(1649, 1287.71167, -864.66876, 2004.26331, 0.00000, 0.00000, -90.00000);
  37223. CreateDynamicObject(1649, 1287.71338, -860.22650, 2004.26331, 0.00000, 0.00000, -90.00000);
  37224. CreateDynamicObject(2002, 1283.31836, -860.55206, 2002.28784, 0.00000, 0.00000, 0.00000);
  37225. CreateDynamicObject(1930, 1278.09851, -866.43549, 2003.11853, 0.00000, 0.00000, 0.00000);
  37226. CreateDynamicObject(1930, 1278.08557, -866.58051, 2003.11853, 0.00000, 0.00000, 0.00000);
  37227. CreateDynamicObject(1930, 1278.13696, -866.53003, 2003.11853, 0.00000, 0.00000, 0.00000);
  37228. CreateDynamicObject(1930, 1278.07422, -866.52155, 2003.11853, 0.00000, 0.00000, 0.00000);
  37229. CreateDynamicObject(1930, 1278.02368, -866.47003, 2003.11853, 0.00000, 0.00000, 0.00000);
  37230. CreateDynamicObject(1930, 1278.02307, -866.57324, 2003.11853, 0.00000, 0.00000, 0.00000);
  37231. CreateDynamicObject(1932, 1278.62329, -866.11066, 2003.13831, 0.00000, 0.00000, 0.00000);
  37232. CreateDynamicObject(1932, 1278.62390, -866.03064, 2003.13831, 0.00000, 0.00000, 0.00000);
  37233. CreateDynamicObject(1932, 1278.68384, -866.05115, 2003.13831, 0.00000, 0.00000, 0.00000);
  37234. CreateDynamicObject(1932, 1278.70325, -866.13135, 2003.13831, 0.00000, 0.00000, 0.00000);
  37235. CreateDynamicObject(1932, 1278.66272, -866.19098, 2003.05823, 0.00000, 0.00000, 0.00000);
  37236. CreateDynamicObject(1932, 1278.58289, -866.15021, 2003.05823, 0.00000, 0.00000, 0.00000);
  37237. CreateDynamicObject(1933, 1278.46472, -867.37286, 2003.13843, 0.00000, 0.00000, 0.00000);
  37238. CreateDynamicObject(1933, 1278.41443, -867.34711, 2003.13843, 0.00000, 0.00000, 0.00000);
  37239. CreateDynamicObject(1933, 1278.39465, -867.41650, 2003.13843, 0.00000, 0.00000, 0.00000);
  37240. CreateDynamicObject(1933, 1278.35730, -867.36554, 2003.13843, 0.00000, 0.00000, 0.00000);
  37241. CreateDynamicObject(1933, 1278.46411, -867.43610, 2003.13843, 0.00000, 0.00000, 0.00000);
  37242. CreateDynamicObject(1933, 1278.53418, -867.39246, 2003.06226, 0.00000, 0.00000, 0.00000);
  37243. CreateDynamicObject(2315, 1271.43884, -847.25433, 1996.04675, 0.00000, 0.00000, -89.99998);
  37244. CreateDynamicObject(2315, 1273.97839, -846.02966, 1996.04675, 0.00000, 0.00000, 0.00000);
  37245. CreateDynamicObject(2315, 1271.53687, -846.03503, 1996.04675, 0.00000, 0.00000, 0.00000);
  37246. CreateDynamicObject(19446, 1274.54480, -849.44696, 1997.80615, 0.00000, 0.00000, -90.00000);
  37247. CreateDynamicObject(1499, 1279.25916, -849.36200, 1996.11694, 0.00000, 0.00000, 89.99995);
  37248. CreateDynamicObject(19446, 1279.23486, -843.06067, 1997.87207, 0.00000, 0.00000, 0.00000);
  37249. CreateDynamicObject(1212, 1275.77905, -845.67987, 1996.54175, 0.00000, 0.00000, 0.00000);
  37250. CreateDynamicObject(1212, 1275.57324, -846.24011, 1996.54175, 0.00000, 0.00000, 0.00000);
  37251. CreateDynamicObject(1212, 1275.56909, -846.05054, 1996.54175, 0.00000, 0.00000, 0.00000);
  37252. CreateDynamicObject(1212, 1275.57715, -845.89063, 1996.54175, 0.00000, 0.00000, 0.00000);
  37253. CreateDynamicObject(1212, 1275.56360, -845.73010, 1996.54175, 0.00000, 0.00000, 0.00000);
  37254. CreateDynamicObject(1212, 1274.97546, -846.01489, 1996.49927, 0.00000, 0.00000, 0.00000);
  37255. CreateDynamicObject(1212, 1275.06812, -846.14056, 1996.48022, 0.00000, 0.00000, 35.82001);
  37256. CreateDynamicObject(1212, 1274.86987, -846.20526, 1996.48975, 0.00000, 0.00000, -109.37997);
  37257. CreateDynamicObject(1212, 1274.78210, -846.13214, 1996.50879, 0.00000, 0.00000, -109.37997);
  37258. CreateDynamicObject(2005, 1275.09509, -845.67505, 1996.44080, 0.00000, 0.00000, 0.00000);
  37259. CreateDynamicObject(2005, 1274.44666, -845.71368, 1996.44080, 0.00000, 0.00000, 0.00000);
  37260. CreateDynamicObject(2005, 1273.79700, -845.73248, 1996.44080, 0.00000, 0.00000, 0.00000);
  37261. CreateDynamicObject(1212, 1271.40417, -847.60242, 1996.60876, 0.00000, 0.00000, 0.00000);
  37262. CreateDynamicObject(1212, 1271.40271, -847.52240, 1996.60876, 0.00000, 0.00000, 0.00000);
  37263. CreateDynamicObject(1212, 1271.40125, -847.44232, 1996.60876, 0.00000, 0.00000, 0.00000);
  37264. CreateDynamicObject(1212, 1271.39978, -847.36224, 1996.60876, 0.00000, 0.00000, 0.00000);
  37265. CreateDynamicObject(19624, 1273.10071, -845.71051, 1996.95703, 0.00000, 0.00000, 0.00000);
  37266. CreateDynamicObject(19624, 1273.09619, -845.93182, 1996.95703, 0.00000, 0.00000, 0.00000);
  37267. CreateDynamicObject(19624, 1273.10669, -846.19214, 1996.95703, 0.00000, 0.00000, 0.00000);
  37268. CreateDynamicObject(19624, 1272.50427, -845.71399, 1996.95703, 0.00000, 0.00000, 0.00000);
  37269. CreateDynamicObject(19624, 1272.50696, -845.91785, 1996.95703, 0.00000, 0.00000, 0.00000);
  37270. CreateDynamicObject(19624, 1272.49866, -846.18066, 1996.95703, 0.00000, 0.00000, 0.00000);
  37271. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.54187, -92.16002, -0.60000, 179.69998);
  37272. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.61133, -92.16002, -0.60000, 179.69998);
  37273. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.68152, -92.16002, -0.60000, 179.69998);
  37274. CreateDynamicObject(1210, 1273.79919, -846.13770, 1996.75171, -92.16002, -0.60000, 179.69998);
  37275. CreateDynamicObject(1210, 1271.48792, -846.00458, 1996.51843, -92.16002, -0.60000, 217.13998);
  37276. CreateDynamicObject(1210, 1271.48792, -846.00458, 1996.59021, -92.16002, -0.60000, 217.13998);
  37277. CreateDynamicObject(1212, 1274.74658, -846.33478, 1996.48340, 0.00000, 0.00000, -215.33998);
  37278. CreateDynamicObject(2894, 1282.90198, -869.34497, 2003.08521, 0.00000, 0.00000, -71.04001);
  37279. CreateDynamicObject(2912, 1279.74805, -845.93915, 1996.13574, 0.00000, 0.00000, 0.00000);
  37280. CreateDynamicObject(2912, 1280.44836, -845.92249, 1996.13574, 0.00000, 0.00000, 0.00000);
  37281. CreateDynamicObject(2912, 1281.16992, -845.92578, 1996.13574, 0.00000, 0.00000, 0.00000);
  37282. CreateDynamicObject(2912, 1281.17114, -845.90582, 1996.82849, 0.00000, 0.00000, 0.00000);
  37283. CreateDynamicObject(2912, 1280.44958, -845.90259, 1996.82849, 0.00000, 0.00000, 0.00000);
  37284. CreateDynamicObject(2912, 1279.74792, -845.90051, 1996.82849, 0.00000, 0.00000, 0.00000);
  37285. CreateDynamicObject(2912, 1279.75122, -846.64984, 1996.13574, 0.00000, 0.00000, 0.00000);
  37286. CreateDynamicObject(2912, 1280.45313, -846.60748, 1996.13574, 0.00000, 0.00000, 0.00000);
  37287. CreateDynamicObject(19446, 1279.23889, -852.12164, 2001.28674, 0.00000, 0.00000, -90.00000);
  37288. CreateDynamicObject(19446, 1281.14172, -850.39001, 2001.27039, 0.00000, 0.00000, 0.00000);
  37289. CreateDynamicObject(2606, 1291.68079, -842.41516, 2006.61829, 0.00000, 0.00000, 0.00001);
  37290. CreateDynamicObject(2606, 1293.55396, -843.83795, 2007.33228, 0.00000, 0.00000, -90.00000);
  37291. CreateDynamicObject(1952, 1291.98120, -845.73999, 2006.63599, 82.56001, -95.82003, -68.82000);
  37292. CreateDynamicObject(1892, 1286.73010, -842.84338, 2005.67102, 0.00000, 0.00000, -88.62001);
  37293. CreateDynamicObject(2184, 1292.44666, -845.01624, 2005.67078, 0.00000, 0.00000, 164.09995);
  37294. CreateDynamicObject(2315, 1287.21228, -851.27783, 2005.66077, 0.00000, 0.00000, 90.00005);
  37295. CreateDynamicObject(2002, 1292.90149, -849.82117, 2005.67188, 0.00000, 0.00000, -90.00003);
  37296. CreateDynamicObject(348, 1287.58337, -850.03296, 2006.15552, 88.07999, -222.18007, 97.26000);
  37297. CreateDynamicObject(2332, 1287.17688, -850.57465, 2006.79443, 0.00000, 0.00000, 180.41995);
  37298. CreateDynamicObject(348, 1287.37183, -849.96063, 2006.15552, 88.07999, -222.18007, 97.26000);
  37299. CreateDynamicObject(348, 1287.12085, -849.89362, 2006.15552, 88.07999, -222.18007, 97.26000);
  37300. CreateDynamicObject(2606, 1291.68079, -842.41516, 2007.07349, 0.00000, 0.00000, 0.00001);
  37301. CreateDynamicObject(2606, 1291.68079, -842.41516, 2007.52087, 0.00000, 0.00000, 0.00001);
  37302. CreateDynamicObject(2606, 1291.68079, -842.41516, 2007.96460, 0.00000, 0.00000, 0.00001);
  37303. CreateDynamicObject(2606, 1293.55396, -843.83795, 2006.88135, 0.00000, 0.00000, -90.00000);
  37304. CreateDynamicObject(1714, 1291.55737, -846.73676, 2005.66003, 0.00000, 0.00000, 169.49995);
  37305. CreateDynamicObject(1714, 1290.37219, -846.43768, 2005.66003, 0.00000, 0.00000, 159.00012);
  37306. CreateDynamicObject(1952, 1290.35754, -845.38776, 2006.62122, 80.46001, 5.87996, -68.82000);
  37307. CreateDynamicObject(1964, 1291.09460, -845.13904, 2006.57324, 0.00000, 0.00000, 159.95988);
  37308. CreateDynamicObject(1985, 1284.40527, -849.86139, 2005.63647, 0.00000, 0.00000, 0.00000);
  37309. CreateDynamicObject(2596, 1290.26392, -842.89288, 2007.80701, 0.00000, 0.00000, 0.00000);
  37310. CreateDynamicObject(11729, 1286.92419, -848.43854, 2005.67676, 0.00000, 0.00000, 90.00002);
  37311. CreateDynamicObject(11729, 1286.93152, -847.77393, 2005.67676, 0.00000, 0.00000, 90.00002);
  37312. CreateDynamicObject(11729, 1286.93835, -847.10944, 2005.67676, 0.00000, 0.00000, 90.00002);
  37313. CreateDynamicObject(2629, 1285.67651, -847.74255, 2002.94556, 0.00000, 0.00000, -90.00004);
  37314. CreateDynamicObject(2629, 1285.64905, -845.75800, 2002.94556, 0.00000, 0.00000, -90.00004);
  37315. CreateDynamicObject(1491, 1280.96094, -852.16980, 2002.95837, 0.00000, 0.00000, 0.00000);
  37316. CreateDynamicObject(1491, 1283.98450, -852.14594, 2002.95837, 0.00000, 0.00000, 180.00012);
  37317. CreateDynamicObject(2853, 1290.42847, -844.64862, 2006.43872, 0.00000, 0.00000, 196.98006);
  37318. CreateDynamicObject(1713, 1292.85657, -847.47418, 2005.67139, 0.00000, 0.00000, -90.00000);
  37319. CreateDynamicObject(1702, 1296.52563, -867.68616, 1999.29968, 0.00000, 0.00000, -90.00006);
  37320. CreateDynamicObject(1702, 1295.65625, -870.58600, 1999.29968, 0.00000, 0.00000, -180.00017);
  37321. CreateDynamicObject(1825, 1309.60986, -854.93903, 1999.27856, 0.00000, 0.00000, 0.00000);
  37322. CreateDynamicObject(1825, 1309.75781, -860.15222, 1999.27856, 0.00000, 0.00000, 0.00000);
  37323. CreateDynamicObject(1825, 1309.87061, -864.49121, 1999.27856, 0.00000, 0.00000, 87.90001);
  37324. CreateDynamicObject(1825, 1309.73157, -869.00848, 1999.27856, 0.00000, 0.00000, 65.69999);
  37325. CreateDynamicObject(1702, 1301.94543, -869.97125, 1999.29968, 0.00000, 0.00000, -270.00034);
  37326. CreateDynamicObject(1702, 1304.93188, -870.76184, 1999.29968, 0.00000, 0.00000, -180.00017);
  37327. CreateDynamicObject(1827, 1303.93628, -869.01495, 1999.26013, 0.00000, 0.00000, 0.00000);
  37328. CreateDynamicObject(1825, 1305.83594, -866.12354, 1999.27856, 0.00000, 0.00000, 33.83998);
  37329. CreateDynamicObject(1825, 1305.72681, -861.65796, 1999.27856, 0.00000, 0.00000, 160.43999);
  37330. CreateDynamicObject(1702, 1289.97363, -870.40680, 1999.29968, 0.00000, 0.00000, -180.00017);
  37331. CreateDynamicObject(1702, 1287.98767, -866.58990, 1999.29968, 0.00000, 0.00000, -360.00012);
  37332. CreateDynamicObject(1827, 1294.69495, -868.77704, 1999.26013, 0.00000, 0.00000, 0.00000);
  37333. CreateDynamicObject(1705, 1290.98169, -868.04486, 1999.29871, 0.00000, 0.00000, -90.00002);
  37334. CreateDynamicObject(1827, 1288.89758, -868.55780, 1999.26013, 0.00000, 0.00000, 0.00000);
  37335. CreateDynamicObject(19458, 1310.39954, -856.97205, 2002.41101, 0.00000, 90.00000, 0.00000);
  37336. CreateDynamicObject(1702, 1309.22241, -853.07507, 2002.49646, 0.00000, 0.00000, 0.00000);
  37337. CreateDynamicObject(1702, 1306.69568, -853.10718, 2002.49646, 0.00000, 0.00000, 0.00000);
  37338. CreateDynamicObject(1702, 1311.68762, -854.45380, 2002.49646, 0.00000, 0.00000, -89.99996);
  37339. CreateDynamicObject(1702, 1306.10535, -856.43854, 2002.81506, 0.00000, 0.00000, -270.00034);
  37340. CreateDynamicObject(2315, 1308.12415, -854.68927, 2002.47241, 0.00000, 0.00000, 0.00000);
  37341. CreateDynamicObject(1670, 1309.48840, -854.75433, 2002.98596, 0.00000, 0.00000, -33.06000);
  37342. CreateDynamicObject(1670, 1308.24731, -854.79272, 2002.98596, 0.00000, 0.00000, -140.94000);
  37343. CreateDynamicObject(1670, 1308.19910, -855.69952, 2002.98596, 0.00000, 0.00000, -223.20003);
  37344. CreateDynamicObject(1670, 1309.44922, -855.78076, 2002.98596, 0.00000, 0.00000, -165.18002);
  37345. CreateDynamicObject(1705, 1310.02319, -857.25781, 2002.50488, 0.00000, 0.00000, -179.99994);
  37346. CreateDynamicObject(1705, 1308.59009, -857.26715, 2002.50488, 0.00000, 0.00000, -179.99994);
  37347. CreateDynamicObject(1670, 1305.77283, -861.71100, 2000.19836, 0.00000, 0.00000, 0.00000);
  37348. CreateDynamicObject(1670, 1305.66199, -866.21301, 2000.17834, 0.00000, 0.00000, 0.00000);
  37349. CreateDynamicObject(19821, 1288.40479, -868.75018, 1999.68762, 0.00000, 0.00000, 0.00000);
  37350. CreateDynamicObject(19821, 1288.40906, -868.43158, 1999.68762, 0.00000, 0.00000, 0.00000);
  37351. CreateDynamicObject(19819, 1288.58704, -868.46082, 1999.76721, 0.00000, 0.00000, 0.00000);
  37352. CreateDynamicObject(19819, 1288.60132, -868.64032, 1999.76721, 0.00000, 0.00000, 0.00000);
  37353. CreateDynamicObject(1670, 1289.19067, -868.69574, 1999.70007, 0.00000, 0.00000, 84.12001);
  37354. CreateDynamicObject(19821, 1309.09363, -855.10419, 2002.96753, 0.00000, 0.00000, 0.00000);
  37355. CreateDynamicObject(19821, 1308.96021, -855.06195, 2002.96753, 0.00000, 0.00000, 0.00000);
  37356. CreateDynamicObject(2315, 1308.11914, -855.62970, 2002.47241, 0.00000, 0.00000, 0.00000);
  37357. CreateDynamicObject(19824, 1309.10022, -855.29224, 2002.96765, 0.00000, 0.00000, 0.00000);
  37358. CreateDynamicObject(19824, 1308.96094, -855.26904, 2002.96765, 0.00000, 0.00000, 0.00000);
  37359. CreateDynamicObject(19818, 1308.79639, -855.05737, 2003.04297, 0.00000, 0.00000, 0.00000);
  37360. CreateDynamicObject(19818, 1308.86987, -855.19519, 2003.04297, 0.00000, 0.00000, 0.00000);
  37361. CreateDynamicObject(19818, 1308.75439, -855.21332, 2003.04297, 0.00000, 0.00000, 0.00000);
  37362. CreateDynamicObject(19822, 1304.03345, -869.14136, 1999.69250, 0.00000, 0.00000, 0.00000);
  37363. CreateDynamicObject(19818, 1303.87781, -869.21661, 1999.76526, 0.00000, 0.00000, 0.00000);
  37364. CreateDynamicObject(19818, 1303.88733, -869.09052, 1999.76526, 0.00000, 0.00000, 0.00000);
  37365. CreateDynamicObject(19818, 1303.96484, -868.98877, 1999.76526, 0.00000, 0.00000, 0.00000);
  37366. CreateDynamicObject(19822, 1294.41760, -868.65015, 1999.68701, 0.00000, 0.00000, 0.00000);
  37367. CreateDynamicObject(19818, 1294.45764, -868.89764, 1999.77136, 0.00000, 0.00000, 0.00000);
  37368. CreateDynamicObject(19818, 1294.56897, -868.81274, 1999.77136, 0.00000, 0.00000, 0.00000);
  37369. CreateDynamicObject(19824, 1281.18787, -868.49475, 2003.08960, 0.00000, 0.00000, 0.00000);
  37370. CreateDynamicObject(19818, 1281.33081, -868.58478, 2003.16943, 0.00000, 0.00000, 0.00000);
  37371. CreateDynamicObject(19818, 1281.41064, -868.49506, 2003.16943, 0.00000, 0.00000, 0.00000);
  37372. CreateDynamicObject(2725, 1292.96863, -850.50739, 2006.06934, 0.00000, 0.00000, 29.34000);
  37373. CreateDynamicObject(1546, 1293.13794, -850.54834, 2006.60425, 0.00000, 0.00000, 0.00000);
  37374. CreateDynamicObject(1546, 1293.14819, -850.42865, 2006.60425, 0.00000, 0.00000, 0.00000);
  37375. CreateDynamicObject(19818, 1281.42566, -868.35028, 2003.16943, 0.00000, 0.00000, 0.00000);
  37376. CreateDynamicObject(19823, 1281.21448, -868.33240, 2003.08972, 0.00000, 0.00000, -35.04000);
  37377. CreateDynamicObject(1714, 1281.43408, -870.03723, 2002.27502, 0.00000, 0.00000, 148.86003);
  37378. CreateDynamicObject(1671, 1282.93835, -867.25153, 2002.72278, 0.00000, 0.00000, 327.77985);
  37379. CreateDynamicObject(1671, 1284.03369, -868.33459, 2002.72278, 0.00000, 0.00000, 290.57986);
  37380. CreateDynamicObject(626, 1291.88293, -870.83289, 2001.27112, 0.00000, 0.00000, -37.02000);
  37381. CreateDynamicObject(626, 1288.86780, -864.89905, 2001.27112, 0.00000, 0.00000, -37.02000);
  37382. CreateDynamicObject(2855, 1280.32996, -862.69281, 2002.41443, 0.00000, 0.00000, -170.46004);
  37383. CreateDynamicObject(2964, 1308.44666, -861.18304, 2002.49023, 0.00000, 0.00000, 0.00000);
  37384. CreateDynamicObject(2964, 1308.37891, -864.93573, 2002.49023, 0.00000, 0.00000, 0.00000);
  37385. CreateDynamicObject(19384, 1305.25977, -873.03290, 2004.16077, 0.00000, 0.00000, 0.00000);
  37386. CreateDynamicObject(19446, 1305.24951, -879.44281, 2004.06726, 0.00000, 0.00000, 0.00000);
  37387. CreateDynamicObject(19446, 1313.31555, -871.47986, 2004.09912, 0.00000, 0.00000, -90.00000);
  37388. CreateDynamicObject(19384, 1306.93811, -871.50745, 2004.15222, 0.00000, 0.00000, -90.00002);
  37389. CreateDynamicObject(19446, 1310.00977, -873.84912, 2004.09070, 0.00000, 0.00000, -90.00000);
  37390. CreateDynamicObject(2773, 1303.96057, -871.95844, 2002.96545, 0.00000, 0.00000, -93.66004);
  37391. CreateDynamicObject(2773, 1304.12842, -874.53491, 2002.96545, 0.00000, 0.00000, -62.70000);
  37392. CreateDynamicObject(1702, 1311.93433, -870.87000, 2002.47461, 0.00000, 0.00000, -180.00017);
  37393. CreateDynamicObject(1705, 1308.58325, -869.74744, 2002.50488, 0.00000, 0.00000, -269.03995);
  37394. CreateDynamicObject(2315, 1310.22266, -869.23004, 2002.47241, 0.00000, 0.00000, 0.00000);
  37395. CreateDynamicObject(1702, 1309.77844, -867.43433, 2002.49646, 0.00000, 0.00000, 0.00000);
  37396. CreateDynamicObject(1670, 1311.30554, -869.23376, 2002.98596, 0.00000, 0.00000, -74.76001);
  37397. CreateDynamicObject(1670, 1310.46155, -869.21130, 2002.98596, 0.00000, 0.00000, -74.76001);
  37398. CreateDynamicObject(19446, 1306.92371, -876.25659, 2005.75696, 0.00000, -90.00000, 0.00000);
  37399. CreateDynamicObject(19449, 1291.73279, -847.44708, 2008.99219, 0.00000, 90.00000, 0.00000);
  37400. CreateDynamicObject(19449, 1288.23462, -847.44092, 2008.99219, 0.00000, 90.00000, 0.00000);
  37401. CreateDynamicObject(19449, 1285.12085, -847.16833, 2008.99219, 0.00000, 90.00000, 0.00000);
  37402. CreateDynamicObject(19449, 1281.65881, -847.21259, 2008.99219, 0.00000, 90.00000, 0.00000);
  37403. CreateDynamicObject(19446, 1281.57983, -846.30273, 2007.05042, 0.00000, 0.00000, 0.00000);
  37404. CreateDynamicObject(19446, 1281.65332, -855.02179, 2006.98853, 0.00000, 0.00000, 0.00000);
  37405. CreateDynamicObject(19449, 1285.88354, -855.01929, 2008.86646, 0.00000, 90.00000, 0.00000);
  37406. CreateDynamicObject(19449, 1282.41174, -855.03540, 2008.88611, 0.00000, 90.00000, 0.00000);
  37407. CreateDynamicObject(19449, 1285.84717, -864.64362, 2008.86646, 0.00000, 90.00000, 0.00000);
  37408. CreateDynamicObject(19449, 1282.40295, -864.66315, 2008.86646, 0.00000, 90.00000, 0.00000);
  37409. CreateDynamicObject(19449, 1278.92065, -864.63995, 2008.86646, 0.00000, 90.00000, 0.00000);
  37410. CreateDynamicObject(19449, 1278.92102, -874.27173, 2008.86646, 0.00000, 90.00000, 0.00000);
  37411. CreateDynamicObject(19449, 1282.37903, -874.30499, 2008.86646, 0.00000, 90.00000, 0.00000);
  37412. CreateDynamicObject(19449, 1285.87964, -874.27502, 2008.86646, 0.00000, 90.00000, 0.00000);
  37413. CreateDynamicObject(19449, 1296.52979, -875.97894, 2008.86646, 0.00000, 90.00000, 0.00000);
  37414. CreateDynamicObject(19449, 1300.01440, -875.97015, 2008.86646, 0.00000, 90.00000, 0.00000);
  37415. CreateDynamicObject(19449, 1303.47937, -875.95300, 2008.86646, 0.00000, 90.00000, 0.00000);
  37416. CreateDynamicObject(19449, 1306.92358, -875.94861, 2008.86646, 0.00000, 90.00000, 0.00000);
  37417. CreateDynamicObject(19446, 1305.25549, -876.24646, 2007.45288, 0.00000, 0.00000, 0.00000);
  37418. CreateDynamicObject(19446, 1310.01331, -871.49786, 2007.57056, 0.00000, 0.00000, -90.00000);
  37419. CreateDynamicObject(19449, 1289.43823, -866.57513, 2008.86646, 0.00000, 90.00000, 0.00000);
  37420. CreateDynamicObject(19449, 1292.92041, -866.58002, 2008.86646, 0.00000, 90.00000, 0.00000);
  37421. CreateDynamicObject(19449, 1296.41956, -866.58722, 2008.86646, 0.00000, 90.00000, 0.00000);
  37422. CreateDynamicObject(19449, 1299.86707, -866.59064, 2008.86646, 0.00000, 90.00000, 0.00000);
  37423. CreateDynamicObject(19449, 1303.32690, -866.60138, 2008.86646, 0.00000, 90.00000, 0.00000);
  37424. CreateDynamicObject(19449, 1306.76660, -866.60889, 2008.86646, 0.00000, 90.00000, 0.00000);
  37425. CreateDynamicObject(19449, 1310.24890, -866.60748, 2008.86646, 0.00000, 90.00000, 0.00000);
  37426. CreateDynamicObject(19449, 1313.71387, -866.59290, 2008.86646, 0.00000, 90.00000, 0.00000);
  37427. CreateDynamicObject(19449, 1310.56152, -856.99567, 2008.86646, 0.00000, 90.00000, 0.00000);
  37428. CreateDynamicObject(19449, 1307.06091, -856.98871, 2008.86646, 0.00000, 90.00000, 0.00000);
  37429. CreateDynamicObject(19449, 1303.56848, -856.96381, 2008.86646, 0.00000, 90.00000, 0.00000);
  37430. CreateDynamicObject(19449, 1300.10938, -856.95905, 2008.86646, 0.00000, 90.00000, 0.00000);
  37431. CreateDynamicObject(19449, 1296.61035, -856.94861, 2008.86646, 0.00000, 90.00000, 0.00000);
  37432. CreateDynamicObject(19449, 1293.13062, -856.94733, 2008.86646, 0.00000, 90.00000, 0.00000);
  37433. CreateDynamicObject(19449, 1289.70923, -856.96490, 2008.86646, 0.00000, 90.00000, 0.00000);
  37434. CreateDynamicObject(19449, 1286.24707, -856.96143, 2008.86646, 0.00000, 90.00000, 0.00000);
  37435. CreateDynamicObject(19608, 1298.30640, -854.34753, 1998.10657, -71.27995, 179.43980, 0.00000);
  37436. CreateDynamicObject(19446, 1298.28613, -846.79144, 2008.96692, 0.00000, 0.00000, -90.00000);
  37437. CreateDynamicObject(19446, 1303.12598, -847.54108, 2008.02808, 0.00000, 0.00000, 0.00000);
  37438. CreateDynamicObject(19449, 1301.31860, -847.39020, 2008.86646, 0.00000, 90.00000, 0.00000);
  37439. CreateDynamicObject(19449, 1297.86157, -847.41278, 2008.86646, 0.00000, 90.00000, 0.00000);
  37440. CreateDynamicObject(19449, 1295.13806, -847.47137, 2008.86646, 0.00000, 90.00000, 0.00000);
  37441. CreateDynamicObject(3015, 1286.86633, -849.04340, 2005.55371, 0.00000, 0.00000, 0.00000);
  37442. CreateDynamicObject(334, 1287.13953, -849.46173, 2006.15540, 95.82002, -59.76000, 0.00000);
  37443. CreateDynamicObject(334, 1287.13782, -849.86682, 2006.15540, 95.82002, -59.76000, -197.09993);
  37444. CreateDynamicObject(2773, 1301.07190, -878.66626, 2002.96545, 0.00000, 0.00000, -145.92007);
  37445. CreateDynamicObject(2773, 1297.39063, -879.02026, 2002.96545, 0.00000, 0.00000, -203.64009);
  37446. CreateDynamicObject(2773, 1296.35315, -874.99982, 2002.96545, 0.00000, 0.00000, -141.96019);
  37447. CreateDynamicObject(19159, 1301.33521, -859.94263, 2008.59595, 0.00000, 0.00000, 0.00000);
  37448. CreateDynamicObject(19159, 1301.61353, -863.34253, 2008.59595, 0.00000, 0.00000, 0.00000);
  37449. CreateDynamicObject(19159, 1301.58997, -866.27814, 2008.59595, 0.00000, 0.00000, 0.00000);
  37450. CreateDynamicObject(19159, 1298.23254, -865.98077, 2008.59595, 0.00000, 0.00000, 0.00000);
  37451. CreateDynamicObject(19159, 1298.30908, -863.08118, 2008.59595, 0.00000, 0.00000, 0.00000);
  37452. CreateDynamicObject(19159, 1298.36768, -860.00073, 2008.59595, 0.00000, 0.00000, 0.00000);
  37453. CreateDynamicObject(19159, 1294.70435, -865.89880, 2008.59595, 0.00000, 0.00000, 0.00000);
  37454. CreateDynamicObject(19159, 1294.59473, -862.63373, 2008.59595, 0.00000, 0.00000, 0.00000);
  37455. CreateDynamicObject(19159, 1294.69275, -859.67377, 2008.59595, 0.00000, 0.00000, 0.00000);
  37456. CreateDynamicObject(2707, 1302.74048, -857.21570, 2000.41260, -180.00000, 0.00000, 0.00000);
  37457. CreateDynamicObject(2707, 1301.74976, -857.20862, 2000.41260, -180.00000, 0.00000, 0.00000);
  37458. CreateDynamicObject(2707, 1300.78821, -857.21979, 2000.41260, -180.00000, 0.00000, 0.00000);
  37459. CreateDynamicObject(2707, 1299.74695, -857.19830, 2000.41260, -180.00000, 0.00000, 0.00000);
  37460. CreateDynamicObject(2707, 1296.77136, -857.22693, 2000.41260, -180.00000, 0.00000, 0.00000);
  37461. CreateDynamicObject(2707, 1295.82214, -857.23346, 2000.41260, -180.00000, 0.00000, 0.00000);
  37462. CreateDynamicObject(2707, 1294.94067, -857.22809, 2000.41260, -180.00000, 0.00000, 0.00000);
  37463. CreateDynamicObject(2707, 1294.07898, -857.22412, 2000.41260, -180.00000, 0.00000, 0.00000);
  37464. CreateDynamicObject(970, 1297.31421, -869.21497, 2003.00110, 0.00000, 0.00000, 90.00000);
  37465. CreateDynamicObject(970, 1301.23401, -869.19153, 2003.00110, 0.00000, 0.00000, 90.00000);
  37466. CreateDynamicObject(16151, 1288.66492, -859.85052, 1999.61731, 0.00000, 0.00000, -179.64005);
  37467. CreateDynamicObject(19821, 1287.88232, -863.19958, 2000.20801, 0.00000, 0.00000, 0.00000);
  37468. CreateDynamicObject(19821, 1287.83301, -863.32916, 2000.20801, 0.00000, 0.00000, 0.00000);
  37469. CreateDynamicObject(19821, 1287.83533, -863.48608, 2000.20801, 0.00000, 0.00000, 0.00000);
  37470. CreateDynamicObject(19821, 1288.02722, -863.51233, 2000.20801, 0.00000, 0.00000, 0.00000);
  37471. CreateDynamicObject(19821, 1288.03137, -863.34790, 2000.20801, 0.00000, 0.00000, 0.00000);
  37472. CreateDynamicObject(19821, 1288.04346, -863.18042, 2000.20801, 0.00000, 0.00000, 0.00000);
  37473. CreateDynamicObject(19822, 1288.25049, -863.26624, 2000.24487, 0.00000, 0.00000, 0.00000);
  37474. CreateDynamicObject(19822, 1288.21069, -863.38696, 2000.24487, 0.00000, 0.00000, 0.00000);
  37475. CreateDynamicObject(19822, 1288.18579, -863.52118, 2000.24487, 0.00000, 0.00000, 0.00000);
  37476. CreateDynamicObject(19822, 1288.35840, -863.52155, 2000.24487, 0.00000, 0.00000, 0.00000);
  37477. CreateDynamicObject(19822, 1288.38171, -863.39539, 2000.24487, 0.00000, 0.00000, 0.00000);
  37478. CreateDynamicObject(19822, 1288.40125, -863.28076, 2000.24487, 0.00000, 0.00000, 0.00000);
  37479. CreateDynamicObject(19823, 1287.93665, -863.03809, 2000.24500, 0.00000, 0.00000, 0.00000);
  37480. CreateDynamicObject(19823, 1287.92310, -862.93695, 2000.24500, 0.00000, 0.00000, 0.00000);
  37481. CreateDynamicObject(19823, 1288.12549, -863.03741, 2000.24500, 0.00000, 0.00000, 0.00000);
  37482. CreateDynamicObject(19823, 1288.11267, -862.93610, 2000.24500, 0.00000, 0.00000, 0.00000);
  37483. CreateDynamicObject(19823, 1288.29651, -863.16962, 2000.24500, 0.00000, 0.00000, 0.00000);
  37484. CreateDynamicObject(19823, 1288.29004, -863.08728, 2000.24500, 0.00000, 0.00000, 0.00000);
  37485. CreateDynamicObject(19823, 1288.30237, -862.99860, 2000.24500, 0.00000, 0.00000, 0.00000);
  37486. CreateDynamicObject(19823, 1288.30225, -862.93512, 2000.24500, 0.00000, 0.00000, 0.00000);
  37487. CreateDynamicObject(1825, 1293.07947, -865.16876, 1999.27856, 0.00000, 0.00000, 160.43999);
  37488. CreateDynamicObject(19810, 1287.79517, -853.84521, 2001.86719, 0.00000, 0.00000, -89.63998);
  37489. CreateDynamicObject(7666, 1298.13306, -846.93817, 2003.75574, 0.00000, 0.00000, -60.00000);
  37490. CreateDynamicObject(7666, 1295.65308, -847.00415, 2006.73718, -201.18002, 16007.24512, -60.00000);
  37491. CreateDynamicObject(7666, 1300.75000, -846.98145, 2006.73718, -201.18002, 16007.24512, -60.00000);
  37492. CreateDynamicObject(338, 1307.84692, -860.62622, 2003.48657, -95.28001, 44.58001, -91.43999);
  37493. CreateDynamicObject(338, 1307.82043, -861.59613, 2003.48657, -95.28001, 44.58001, -10.67998);
  37494. CreateDynamicObject(338, 1308.13037, -865.36011, 2003.48657, -95.28001, 44.58001, -10.67998);
  37495. CreateDynamicObject(338, 1308.04114, -865.31512, 2003.48657, -95.28001, 44.58001, -10.67998);
  37496. CreateDynamicObject(2965, 1307.68396, -864.94202, 2003.40698, 0.00000, 0.00000, 179.52000);
  37497. CreateDynamicObject(338, 1298.12085, -856.85895, 2001.29126, -537.12024, 5.22004, -115.80002);
  37498. CreateDynamicObject(1955, 1298.06409, -856.71130, 2001.78235, 29.88002, -69.60001, 6.24000);
  37499. }
  37500. stock LoadSmallApartment() //by Alekseyka
  37501. {
  37502. new tmpobjid;
  37503. tmpobjid = CreateObject(19376,1783.012,-1439.526,1358.506,0.000,90.000,0.000,300.000);
  37504. SetObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "woodfloor1", 0);
  37505. tmpobjid = CreateObject(19171,1788.851,-1441.766,1361.292,0.000,0.000,0.000,300.000);
  37506. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37507. tmpobjid = CreateObject(19446,1783.421,-1444.189,1360.343,0.000,0.000,90.000,300.000);
  37508. SetObjectMaterial(tmpobjid, 0, 6867, "vgnpwrmainbld", "sw_wallbrick_02", 0);
  37509. tmpobjid = CreateObject(19445,1783.420,-1444.179,1363.042,0.000,180.000,90.000,300.000);
  37510. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37511. tmpobjid = CreateObject(19445,1788.179,-1439.322,1357.542,0.000,0.000,0.000,300.000);
  37512. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37513. tmpobjid = CreateObject(19427,1788.189,-1443.317,1360.343,0.000,0.000,0.000,300.000);
  37514. SetObjectMaterial(tmpobjid, 0, 6867, "vgnpwrmainbld", "sw_wallbrick_02", 0);
  37515. tmpobjid = CreateObject(19171,1788.851,-1442.511,1360.035,90.000,180.000,180.000,300.000);
  37516. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37517. tmpobjid = CreateObject(19171,1788.851,-1442.511,1361.535,90.000,180.000,180.000,300.000);
  37518. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37519. tmpobjid = CreateObject(19171,1788.851,-1441.766,1359.312,0.000,179.994,0.000,300.000);
  37520. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37521. tmpobjid = CreateObject(19171,1788.851,-1441.000,1360.035,90.000,179.994,0.000,300.000);
  37522. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37523. tmpobjid = CreateObject(19171,1788.851,-1441.000,1361.535,90.000,179.994,0.000,300.000);
  37524. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37525. tmpobjid = CreateObject(19171,1789.010,-1441.760,1360.035,90.000,179.994,0.000,300.000);
  37526. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37527. tmpobjid = CreateObject(19171,1789.009,-1441.759,1361.535,90.000,180.005,359.983,300.000);
  37528. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37529. tmpobjid = CreateObject(19171,1789.009,-1441.766,1360.492,0.000,0.000,0.000,300.000);
  37530. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37531. tmpobjid = CreateObject(19427,1788.189,-1440.182,1360.343,0.000,0.000,0.000,300.000);
  37532. SetObjectMaterial(tmpobjid, 0, 6867, "vgnpwrmainbld", "sw_wallbrick_02", 0);
  37533. tmpobjid = CreateObject(19445,1783.440,-1444.179,1357.542,0.000,0.000,90.000,300.000);
  37534. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37535. tmpobjid = CreateObject(19445,1788.179,-1439.322,1363.042,0.000,180.000,0.000,300.000);
  37536. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37537. tmpobjid = CreateObject(19171,1788.851,-1438.636,1359.312,0.000,179.994,0.000,300.000);
  37538. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37539. tmpobjid = CreateObject(19171,1788.851,-1439.361,1360.035,90.000,179.994,179.994,300.000);
  37540. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37541. tmpobjid = CreateObject(19171,1788.851,-1439.361,1361.535,90.000,180.005,179.983,300.000);
  37542. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37543. tmpobjid = CreateObject(19171,1788.851,-1438.636,1361.292,0.000,0.000,0.000,300.000);
  37544. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37545. tmpobjid = CreateObject(19171,1788.851,-1437.900,1360.035,90.000,180.005,359.989,300.000);
  37546. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37547. tmpobjid = CreateObject(19171,1788.851,-1437.900,1361.535,90.000,180.005,0.000,300.000);
  37548. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37549. tmpobjid = CreateObject(19171,1789.009,-1438.619,1360.035,90.000,179.994,0.000,300.000);
  37550. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37551. tmpobjid = CreateObject(19171,1789.009,-1438.619,1361.535,90.000,179.994,0.000,300.000);
  37552. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37553. tmpobjid = CreateObject(19171,1789.009,-1438.636,1360.492,0.000,0.000,0.000,300.000);
  37554. SetObjectMaterial(tmpobjid, 0, 4600, "theatrelan2", "sl_whitewash1", 0);
  37555. tmpobjid = CreateObject(19446,1788.189,-1433.069,1360.343,0.000,0.000,0.000,300.000);
  37556. SetObjectMaterial(tmpobjid, 0, 6867, "vgnpwrmainbld", "sw_wallbrick_02", 0);
  37557. tmpobjid = CreateObject(1768,1786.640,-1440.137,1358.593,0.000,0.000,270.000,300.000);
  37558. SetObjectMaterial(tmpobjid, 2, 14385, "trailerkb", "tr_wood1", 0);
  37559. tmpobjid = CreateObject(1768,1783.735,-1439.241,1358.593,0.000,0.000,0.000,300.000);
  37560. SetObjectMaterial(tmpobjid, 1, 14385, "trailerkb", "tr_wood1", 0);
  37561. SetObjectMaterial(tmpobjid, 2, 14385, "trailerkb", "tr_wood1", 0);
  37562. tmpobjid = CreateObject(2029,1784.177,-1441.031,1358.393,0.000,0.000,0.000,300.000);
  37563. SetObjectMaterial(tmpobjid, 0, 14385, "trailerkb", "tr_kit_2ba", 0);
  37564. tmpobjid = CreateObject(1742,1786.353,-1436.432,1358.593,0.000,0.000,0.000,300.000);
  37565. SetObjectMaterial(tmpobjid, 2, 14385, "trailerkb", "tr_wall2", 0);
  37566. tmpobjid = CreateObject(19445,1783.597,-1436.461,1357.542,0.000,0.000,90.000,300.000);
  37567. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37568. tmpobjid = CreateObject(1814,1784.194,-1444.143,1358.593,0.000,0.000,0.000,300.000);
  37569. SetObjectMaterial(tmpobjid, 0, 14385, "trailerkb", "tr_kit_2ba", 0);
  37570. tmpobjid = CreateObject(1498,1780.079,-1444.145,1358.593,0.000,0.000,0.000,300.000);
  37571. SetObjectMaterial(tmpobjid, 0, 6056, "venice_law", "newlawdoor", 0);
  37572. SetObjectMaterial(tmpobjid, 1, 10101, "2notherbuildsfe", "Bow_church_grass_alt", 0);
  37573. SetObjectMaterial(tmpobjid, 3, 10101, "2notherbuildsfe", "flatdoor01_law", 0);
  37574. tmpobjid = CreateObject(19446,1783.596,-1436.450,1360.343,0.000,0.000,90.000,300.000);
  37575. SetObjectMaterial(tmpobjid, 0, 6867, "vgnpwrmainbld", "sw_wallbrick_02", 0);
  37576. tmpobjid = CreateObject(19445,1783.596,-1436.470,1363.042,0.000,180.000,90.000,300.000);
  37577. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37578. tmpobjid = CreateObject(19446,1778.874,-1440.041,1360.343,0.000,0.000,0.000,300.000);
  37579. SetObjectMaterial(tmpobjid, 0, 6867, "vgnpwrmainbld", "sw_wallbrick_02", 0);
  37580. tmpobjid = CreateObject(19445,1778.894,-1440.041,1357.542,0.000,0.000,0.000,300.000);
  37581. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37582. tmpobjid = CreateObject(19445,1778.894,-1440.041,1363.042,0.000,180.000,0.000,300.000);
  37583. SetObjectMaterial(tmpobjid, 0, 8130, "vgsschurch", "vgschapelwall01_64", 0);
  37584. tmpobjid = CreateObject(14455,1778.996,-1434.401,1360.265,0.000,0.000,270.000,300.000);
  37585. SetObjectMaterial(tmpobjid, 0, 14385, "trailerkb", "tr_kit_2ba", 0);
  37586. tmpobjid = CreateObject(19376,1783.011,-1439.525,1362.106,0.000,90.000,0.000,300.000);
  37587. SetObjectMaterial(tmpobjid, 0, 4860, "railway_las", "lasunion7", 0);
  37588. tmpobjid = CreateObject(19893,1783.960,-1440.852,1359.182,0.000,0.000,166.100,300.000);
  37589. SetObjectMaterial(tmpobjid, 1, 2602, "police_props_un", "GUS", 0);
  37590. tmpobjid = CreateObject(19623,1779.125,-1442.196,1360.583,0.000,0.000,162.699,300.000);
  37591. tmpobjid = CreateObject(19622,1780.912,-1436.672,1359.298,-12.100,0.000,0.000,300.000);
  37592. tmpobjid = CreateObject(19325,1788.274,-1440.383,1361.355,0.000,0.000,0.000,300.000);
  37593. tmpobjid = CreateObject(19325,1788.273,-1440.382,1361.355,0.000,0.000,0.000,300.000);
  37594. tmpobjid = CreateObject(19325,1788.273,-1440.382,1361.355,0.000,0.000,0.000,300.000);
  37595. tmpobjid = CreateObject(19325,1788.273,-1440.382,1361.355,0.000,0.000,0.000,300.000);
  37596. tmpobjid = CreateObject(19325,1788.273,-1440.382,1361.355,0.000,0.000,0.000,300.000);
  37597. tmpobjid = CreateObject(2069,1786.555,-1439.374,1358.623,0.000,0.000,0.000,300.000);
  37598. tmpobjid = CreateObject(2277,1787.608,-1440.140,1360.192,0.000,0.000,270.000,300.000);
  37599. tmpobjid = CreateObject(2114,1787.902,-1443.449,1358.739,0.000,0.000,0.000,300.000);
  37600. tmpobjid = CreateObject(1734,1784.411,-1440.931,1362.007,0.000,0.000,0.000,300.000);
  37601. tmpobjid = CreateObject(1816,1784.116,-1437.381,1358.593,0.000,0.000,0.000,300.000);
  37602. tmpobjid = CreateObject(630,1787.699,-1443.758,1359.618,0.000,0.000,0.000,300.000);
  37603. tmpobjid = CreateObject(2244,1784.712,-1436.829,1359.375,0.000,0.000,0.000,300.000);
  37604. tmpobjid = CreateObject(2048,1781.156,-1436.555,1360.737,0.000,0.000,0.000,300.000);
  37605. tmpobjid = CreateObject(1744,1778.799,-1443.140,1360.196,0.000,0.000,90.000,300.000);
  37606. tmpobjid = CreateObject(2269,1783.412,-1437.025,1360.099,0.000,0.000,0.000,300.000);
  37607. tmpobjid = CreateObject(2275,1779.462,-1440.298,1360.099,0.000,0.000,90.000,300.000);
  37608. tmpobjid = CreateObject(1788,1785.009,-1443.645,1359.167,0.000,0.000,180.000,300.000);
  37609. tmpobjid = CreateObject(2229,1785.809,-1444.099,1358.593,0.000,0.000,180.000,300.000);
  37610. tmpobjid = CreateObject(2229,1782.959,-1444.093,1358.593,0.000,0.000,179.994,300.000);
  37611. tmpobjid = CreateObject(2245,1779.195,-1442.697,1360.814,0.000,0.000,0.000,300.000);
  37612. tmpobjid = CreateObject(19559,1779.751,-1443.957,1358.885,-17.599,0.000,-178.400,300.000);
  37613. tmpobjid = CreateObject(19591,1782.475,-1444.093,1360.082,0.000,0.000,0.000,300.000);
  37614. tmpobjid = CreateObject(19814,1782.885,-1444.090,1358.865,0.000,0.199,-178.200,300.000);
  37615. tmpobjid = CreateObject(19822,1784.274,-1441.025,1359.193,0.000,0.000,0.000,300.000);
  37616. tmpobjid = CreateObject(19829,1781.808,-1444.103,1359.843,0.000,0.000,178.900,300.000);
  37617. tmpobjid = CreateObject(19897,1785.258,-1440.828,1359.213,0.000,0.000,-162.699,300.000);
  37618. tmpobjid = CreateObject(19878,1779.165,-1441.947,1358.662,0.000,0.000,90.400,300.000);
  37619. tmpobjid = CreateObject(19786,1784.698,-1444.151,1360.354,0.000,0.000,179.999,300.000);
  37620. tmpobjid = CreateObject(19171,1788.449,-1441.720,1360.499,88.799,89.999,0.000,300.000);
  37621. tmpobjid = CreateObject(19171,1788.441,-1438.564,1360.526,88.500,89.699,0.000,300.000);
  37622. }
  37623. stock LoadModernHouse1() //by DjordjevicTM
  37624. {
  37625. new housedjord;
  37626. housedjord = CreateDynamicObjectEx(19378,247.573,-1848.020,3332.277,0.000,90.000,0.000,300.000,300.000);
  37627. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_furn_floor", 0x00000000);
  37628. housedjord = CreateDynamicObjectEx(19450,242.268,-1848.020,3334.100,0.000,0.000,0.000,300.000,300.000);
  37629. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37630. housedjord = CreateDynamicObjectEx(19450,245.822,-1852.807,3334.100,0.000,0.000,90.000,300.000,300.000);
  37631. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37632. housedjord = CreateDynamicObjectEx(19450,239.831,-1850.032,3331.182,0.000,0.000,90.000,300.000,300.000);
  37633. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37634. housedjord = CreateDynamicObjectEx(19378,239.384,-1854.778,3332.847,0.000,90.000,0.000,300.000,300.000);
  37635. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_furn_floor", 0x00000000);
  37636. housedjord = CreateDynamicObjectEx(19450,244.561,-1854.765,3331.182,0.000,0.000,0.000,300.000,300.000);
  37637. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37638. housedjord = CreateDynamicObjectEx(1506,242.554,-1851.335,3332.903,0.000,0.000,-45.000,300.000,300.000);
  37639. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0x00000000);
  37640. housedjord = CreateDynamicObjectEx(19087,244.619,-1849.984,3333.808,0.000,0.000,0.000,300.000,300.000);
  37641. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37642. housedjord = CreateDynamicObjectEx(19089,244.619,-1849.984,3333.795,0.000,90.000,90.000,300.000,300.000);
  37643. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37644. housedjord = CreateDynamicObjectEx(19089,244.619,-1849.984,3333.355,0.000,90.000,90.000,300.000,300.000);
  37645. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37646. housedjord = CreateDynamicObjectEx(1744,243.878,-1849.986,3332.201,0.000,0.000,180.000,300.000,300.000);
  37647. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37648. housedjord = CreateDynamicObjectEx(1744,243.876,-1850.141,3332.327,0.000,0.000,180.000,300.000,300.000);
  37649. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37650. housedjord = CreateDynamicObjectEx(1744,243.864,-1850.227,3332.455,0.000,0.000,180.000,300.000,300.000);
  37651. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37652. housedjord = CreateDynamicObjectEx(19450,238.399,-1846.203,3334.100,0.000,0.000,90.000,300.000,300.000);
  37653. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37654. housedjord = CreateDynamicObjectEx(19450,252.731,-1846.220,3334.100,0.000,0.000,90.000,300.000,300.000);
  37655. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37656. housedjord = CreateDynamicObjectEx(19450,247.701,-1846.209,3336.230,0.000,180.000,90.000,300.000,300.000);
  37657. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37658. housedjord = CreateDynamicObjectEx(19089,249.784,-1846.267,3332.365,0.000,90.000,0.000,300.000,300.000);
  37659. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37660. housedjord = CreateDynamicObjectEx(19089,247.899,-1846.278,3332.300,0.000,180.000,0.000,300.000,300.000);
  37661. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37662. housedjord = CreateDynamicObjectEx(19089,243.225,-1846.267,3332.300,0.000,180.000,0.000,300.000,300.000);
  37663. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37664. housedjord = CreateDynamicObjectEx(19089,249.784,-1846.267,3334.469,0.000,90.000,0.000,300.000,300.000);
  37665. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37666. housedjord = CreateDynamicObjectEx(19378,258.035,-1848.021,3332.277,0.000,90.000,0.000,300.000,300.000);
  37667. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_furn_floor", 0x00000000);
  37668. housedjord = CreateDynamicObjectEx(19451,250.592,-1857.532,3334.100,0.000,0.000,0.000,300.000,300.000);
  37669. SetDynamicObjectMaterial(housedjord, 0, 9524, "blokmodb", "lombard_build1_1", 0x00000000);
  37670. housedjord = CreateDynamicObjectEx(18762,250.120,-1852.954,3331.890,0.000,90.000,90.000,300.000,300.000);
  37671. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37672. housedjord = CreateDynamicObjectEx(18762,250.102,-1849.967,3333.759,0.000,180.000,90.000,300.000,300.000);
  37673. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37674. housedjord = CreateDynamicObjectEx(18762,250.138,-1853.204,3334.644,0.000,180.000,90.000,300.000,300.000);
  37675. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37676. housedjord = CreateDynamicObjectEx(18762,250.121,-1852.000,3335.161,0.000,90.000,90.000,300.000,300.000);
  37677. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37678. housedjord = CreateDynamicObjectEx(19834,250.160,-1852.522,3333.546,0.000,90.000,-90.000,300.000,300.000);
  37679. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37680. housedjord = CreateDynamicObjectEx(19834,250.155,-1852.181,3333.546,0.000,90.000,-90.000,300.000,300.000);
  37681. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37682. housedjord = CreateDynamicObjectEx(19834,250.169,-1851.841,3333.546,0.000,90.000,-90.000,300.000,300.000);
  37683. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37684. housedjord = CreateDynamicObjectEx(19834,250.164,-1851.501,3333.546,0.000,90.000,-90.000,300.000,300.000);
  37685. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37686. housedjord = CreateDynamicObjectEx(19834,250.158,-1851.141,3333.546,0.000,90.000,-90.000,300.000,300.000);
  37687. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37688. housedjord = CreateDynamicObjectEx(19834,250.152,-1850.761,3333.546,0.000,90.000,-90.000,300.000,300.000);
  37689. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37690. housedjord = CreateDynamicObjectEx(19834,250.159,-1851.521,3334.367,0.000,0.000,-90.000,300.000,300.000);
  37691. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37692. housedjord = CreateDynamicObjectEx(19834,250.159,-1851.521,3333.986,0.000,0.000,-90.000,300.000,300.000);
  37693. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37694. housedjord = CreateDynamicObjectEx(19834,250.159,-1851.521,3333.626,0.000,0.000,-90.000,300.000,300.000);
  37695. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37696. housedjord = CreateDynamicObjectEx(19834,250.159,-1851.521,3333.286,0.000,0.000,-90.000,300.000,300.000);
  37697. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37698. housedjord = CreateDynamicObjectEx(19834,250.159,-1851.521,3332.906,0.000,0.000,-90.000,300.000,300.000);
  37699. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37700. housedjord = CreateDynamicObjectEx(19834,250.159,-1851.521,3332.565,0.000,0.000,-90.000,300.000,300.000);
  37701. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37702. housedjord = CreateDynamicObjectEx(19378,255.908,-1857.658,3332.277,0.000,90.000,0.000,300.000,300.000);
  37703. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_furn_floor", 0x00000000);
  37704. housedjord = CreateDynamicObjectEx(19451,255.274,-1854.889,3334.100,0.000,0.000,90.000,300.000,300.000);
  37705. SetDynamicObjectMaterial(housedjord, 0, 9524, "blokmodb", "lombard_build1_1", 0x00000000);
  37706. housedjord = CreateDynamicObjectEx(19451,256.606,-1854.540,3334.100,0.000,0.000,0.000,300.000,300.000);
  37707. SetDynamicObjectMaterial(housedjord, 0, 9524, "blokmodb", "lombard_build1_1", 0x00000000);
  37708. housedjord = CreateDynamicObjectEx(18762,253.064,-1849.967,3335.689,0.000,270.000,0.000,300.000,300.000);
  37709. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37710. housedjord = CreateDynamicObjectEx(18762,254.314,-1849.955,3335.686,0.000,270.000,0.000,300.000,300.000);
  37711. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37712. housedjord = CreateDynamicObjectEx(18762,256.654,-1849.932,3333.698,0.000,180.000,90.000,300.000,300.000);
  37713. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37714. housedjord = CreateDynamicObjectEx(18762,250.121,-1852.000,3336.157,0.000,90.000,90.000,300.000,300.000);
  37715. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37716. housedjord = CreateDynamicObjectEx(1744,259.167,-1846.677,3332.184,0.000,0.000,-90.000,300.000,300.000);
  37717. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37718. housedjord = CreateDynamicObjectEx(1744,259.362,-1846.719,3332.325,0.000,0.000,-90.000,300.000,300.000);
  37719. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37720. housedjord = CreateDynamicObjectEx(1744,259.542,-1846.762,3332.473,0.000,0.000,-90.000,300.000,300.000);
  37721. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37722. housedjord = CreateDynamicObjectEx(1744,259.782,-1846.759,3332.631,0.000,0.000,-90.000,300.000,300.000);
  37723. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37724. housedjord = CreateDynamicObjectEx(1744,259.900,-1846.742,3332.829,0.000,0.000,-90.000,300.000,300.000);
  37725. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37726. housedjord = CreateDynamicObjectEx(1744,260.080,-1846.742,3333.000,0.000,0.000,-90.000,300.000,300.000);
  37727. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37728. housedjord = CreateDynamicObjectEx(1744,260.240,-1846.724,3333.161,0.000,0.000,-90.000,300.000,300.000);
  37729. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37730. housedjord = CreateDynamicObjectEx(1744,260.479,-1846.696,3333.295,0.000,0.000,-90.000,300.000,300.000);
  37731. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37732. housedjord = CreateDynamicObjectEx(1744,260.719,-1846.695,3333.416,0.000,0.000,-90.000,300.000,300.000);
  37733. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37734. housedjord = CreateDynamicObjectEx(19358,260.194,-1848.149,3332.014,0.000,0.000,90.000,300.000,300.000);
  37735. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37736. housedjord = CreateDynamicObjectEx(19358,259.033,-1846.212,3334.095,0.000,0.000,90.000,300.000,300.000);
  37737. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37738. housedjord = CreateDynamicObjectEx(19378,265.669,-1843.339,3333.679,0.000,90.000,0.000,300.000,300.000);
  37739. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_furn_floor", 0x00000000);
  37740. housedjord = CreateDynamicObjectEx(19358,261.630,-1848.152,3332.014,0.000,0.000,90.000,300.000,300.000);
  37741. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37742. housedjord = CreateDynamicObjectEx(19358,262.206,-1846.223,3334.095,0.000,0.000,90.000,300.000,300.000);
  37743. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37744. housedjord = CreateDynamicObjectEx(19358,262.212,-1847.844,3334.095,0.000,0.000,0.000,300.000,300.000);
  37745. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37746. housedjord = CreateDynamicObjectEx(19358,262.206,-1850.981,3334.095,0.000,0.000,0.000,300.000,300.000);
  37747. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37748. housedjord = CreateDynamicObjectEx(1744,261.850,-1848.556,3333.593,0.000,0.000,-180.000,300.000,300.000);
  37749. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37750. housedjord = CreateDynamicObjectEx(1744,261.843,-1848.776,3333.794,0.000,0.000,-180.000,300.000,300.000);
  37751. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37752. housedjord = CreateDynamicObjectEx(1744,261.845,-1848.936,3333.974,0.000,0.000,-180.000,300.000,300.000);
  37753. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37754. housedjord = CreateDynamicObjectEx(1744,261.824,-1849.156,3334.174,0.000,0.000,-180.000,300.000,300.000);
  37755. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37756. housedjord = CreateDynamicObjectEx(1744,261.794,-1849.415,3334.355,0.000,0.000,-180.000,300.000,300.000);
  37757. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37758. housedjord = CreateDynamicObjectEx(1744,261.748,-1849.634,3334.496,0.000,0.000,-180.000,300.000,300.000);
  37759. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37760. housedjord = CreateDynamicObjectEx(1744,261.735,-1849.861,3334.636,0.000,0.000,-180.000,300.000,300.000);
  37761. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37762. housedjord = CreateDynamicObjectEx(1744,261.739,-1850.077,3334.823,0.000,0.000,-180.000,300.000,300.000);
  37763. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37764. housedjord = CreateDynamicObjectEx(1744,261.752,-1850.265,3334.954,0.000,0.000,-180.000,300.000,300.000);
  37765. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37766. housedjord = CreateDynamicObjectEx(19358,260.335,-1849.688,3332.366,0.000,0.000,180.000,300.000,300.000);
  37767. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37768. housedjord = CreateDynamicObjectEx(19358,260.340,-1850.403,3333.601,35.000,0.000,180.000,300.000,300.000);
  37769. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37770. housedjord = CreateDynamicObjectEx(1744,261.753,-1850.565,3335.114,0.000,0.000,-180.000,300.000,300.000);
  37771. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37772. housedjord = CreateDynamicObjectEx(1744,261.740,-1850.826,3335.347,0.000,0.000,-180.000,300.000,300.000);
  37773. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37774. housedjord = CreateDynamicObjectEx(1744,261.758,-1851.130,3335.512,0.000,0.000,-180.000,300.000,300.000);
  37775. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37776. housedjord = CreateDynamicObjectEx(19358,260.325,-1852.249,3334.118,0.000,0.000,180.000,300.000,300.000);
  37777. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37778. housedjord = CreateDynamicObjectEx(19358,258.638,-1850.280,3334.062,0.000,0.000,90.000,300.000,300.000);
  37779. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37780. housedjord = CreateDynamicObjectEx(19378,257.038,-1855.792,3335.781,0.000,90.000,0.000,300.000,300.000);
  37781. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "la_flair1", 0x00000000);
  37782. housedjord = CreateDynamicObjectEx(19358,261.968,-1851.033,3334.095,0.000,0.000,90.000,300.000,300.000);
  37783. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37784. housedjord = CreateDynamicObjectEx(19450,262.227,-1851.081,3337.560,0.000,0.000,0.000,300.000,300.000);
  37785. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37786. housedjord = CreateDynamicObjectEx(19450,257.416,-1846.209,3337.560,0.000,0.000,90.000,300.000,300.000);
  37787. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37788. housedjord = CreateDynamicObjectEx(19358,256.319,-1847.918,3337.386,0.000,0.000,0.000,300.000,300.000);
  37789. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37790. housedjord = CreateDynamicObjectEx(19358,258.638,-1850.280,3337.562,0.000,0.000,90.000,300.000,300.000);
  37791. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37792. housedjord = CreateDynamicObjectEx(19358,257.563,-1850.279,3337.562,0.000,0.000,90.000,300.000,300.000);
  37793. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37794. housedjord = CreateDynamicObjectEx(19358,256.321,-1850.155,3337.391,0.000,0.000,0.000,300.000,300.000);
  37795. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37796. housedjord = CreateDynamicObjectEx(18762,256.654,-1849.932,3338.585,0.000,180.000,90.000,300.000,300.000);
  37797. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37798. housedjord = CreateDynamicObjectEx(19431,260.168,-1851.001,3337.548,0.000,0.000,0.000,300.000,300.000);
  37799. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37800. housedjord = CreateDynamicObjectEx(19449,255.437,-1851.734,3337.560,0.000,0.000,90.000,300.000,300.000);
  37801. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37802. housedjord = CreateDynamicObjectEx(18762,256.666,-1847.297,3335.704,0.000,270.000,90.000,300.000,300.000);
  37803. SetDynamicObjectMaterial(housedjord, 0, 3820, "boxhses_sfsx", "stonewall_la", 0xFFFFFFFF);
  37804. housedjord = CreateDynamicObjectEx(19325,245.939,-1846.247,3333.203,0.000,0.000,90.000,300.000,300.000);
  37805. SetDynamicObjectMaterial(housedjord, 0, -1, "none", "none", 0xFF0AFC95);
  37806. housedjord = CreateDynamicObjectEx(19089,244.974,-1846.270,3332.300,0.000,180.000,0.000,300.000,300.000);
  37807. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37808. housedjord = CreateDynamicObjectEx(19089,246.224,-1846.269,3332.300,0.000,180.000,0.000,300.000,300.000);
  37809. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37810. housedjord = CreateDynamicObjectEx(19449,262.182,-1856.623,3337.560,0.000,0.000,0.000,300.000,300.000);
  37811. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37812. housedjord = CreateDynamicObjectEx(19388,261.268,-1851.713,3337.574,0.000,0.000,90.000,300.000,300.000);
  37813. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37814. housedjord = CreateDynamicObjectEx(19387,261.265,-1851.753,3337.574,0.000,0.000,90.000,300.000,300.000);
  37815. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37816. housedjord = CreateDynamicObjectEx(1502,260.459,-1851.716,3335.869,0.000,0.000,0.000,300.000,300.000);
  37817. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37818. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37819. housedjord = CreateDynamicObjectEx(19449,252.928,-1856.612,3337.560,0.000,0.000,0.000,300.000,300.000);
  37820. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37821. housedjord = CreateDynamicObjectEx(19449,260.049,-1858.091,3337.560,0.000,0.000,90.000,300.000,300.000);
  37822. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37823. housedjord = CreateDynamicObjectEx(19387,254.399,-1858.104,3337.574,0.000,0.000,90.000,300.000,300.000);
  37824. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37825. housedjord = CreateDynamicObjectEx(1502,253.630,-1858.087,3335.869,0.000,0.000,0.000,300.000,300.000);
  37826. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37827. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37828. housedjord = CreateDynamicObjectEx(19834,247.062,-1852.716,3332.427,0.000,0.000,0.000,300.000,300.000);
  37829. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37830. housedjord = CreateDynamicObjectEx(19834,247.042,-1852.709,3333.111,0.000,0.000,0.000,300.000,300.000);
  37831. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37832. housedjord = CreateDynamicObjectEx(19834,245.941,-1852.717,3333.301,0.000,90.000,0.000,300.000,300.000);
  37833. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37834. housedjord = CreateDynamicObjectEx(19834,247.082,-1852.711,3334.396,0.000,0.000,0.000,300.000,300.000);
  37835. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37836. housedjord = CreateDynamicObjectEx(2259,247.771,-1852.250,3333.761,0.000,90.000,-180.000,300.000,300.000);
  37837. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37838. SetDynamicObjectMaterial(housedjord, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37839. housedjord = CreateDynamicObjectEx(2259,247.261,-1852.245,3333.761,0.000,90.000,-180.000,300.000,300.000);
  37840. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37841. SetDynamicObjectMaterial(housedjord, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37842. housedjord = CreateDynamicObjectEx(19834,248.187,-1852.711,3333.301,0.000,90.000,0.000,300.000,300.000);
  37843. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37844. housedjord = CreateDynamicObjectEx(19834,247.044,-1852.712,3331.899,0.000,90.000,0.000,300.000,300.000);
  37845. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37846. housedjord = CreateDynamicObjectEx(11682,247.468,-1850.094,3332.364,0.000,0.000,0.000,300.000,300.000);
  37847. SetDynamicObjectMaterial(housedjord, 0, 5986, "chateau_lawn", "chatwall01_law", 0xFFFFFFFF);
  37848. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37849. housedjord = CreateDynamicObjectEx(11684,246.676,-1850.106,3332.364,0.000,0.000,0.000,300.000,300.000);
  37850. SetDynamicObjectMaterial(housedjord, 0, 5986, "chateau_lawn", "chatwall01_law", 0xFFFFFFFF);
  37851. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37852. housedjord = CreateDynamicObjectEx(19376,255.332,-1855.056,3332.283,0.000,90.000,0.000,300.000,300.000);
  37853. SetDynamicObjectMaterial(housedjord, 0, 14577, "casinovault01", "vaultFloor", 0x00000000);
  37854. housedjord = CreateDynamicObjectEx(19451,255.335,-1850.287,3330.628,0.000,0.000,90.000,300.000,300.000);
  37855. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0x00000000);
  37856. housedjord = CreateDynamicObjectEx(18762,247.067,-1851.706,3330.094,0.000,0.000,0.000,300.000,300.000);
  37857. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37858. housedjord = CreateDynamicObjectEx(11682,248.547,-1851.992,3332.364,0.000,0.000,-90.000,300.000,300.000);
  37859. SetDynamicObjectMaterial(housedjord, 0, 5986, "chateau_lawn", "chatwall01_law", 0xFFFFFFFF);
  37860. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37861. housedjord = CreateDynamicObjectEx(11684,248.534,-1851.156,3332.364,0.000,0.000,-90.000,300.000,300.000);
  37862. SetDynamicObjectMaterial(housedjord, 0, 5986, "chateau_lawn", "chatwall01_law", 0xFFFFFFFF);
  37863. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37864. housedjord = CreateDynamicObjectEx(1906,254.767,-1852.725,3333.203,0.000,0.000,0.000,300.000,300.000);
  37865. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37866. housedjord = CreateDynamicObjectEx(1906,254.767,-1852.625,3333.203,0.000,0.000,0.000,300.000,300.000);
  37867. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37868. housedjord = CreateDynamicObjectEx(1906,254.767,-1852.525,3333.203,0.000,0.000,0.000,300.000,300.000);
  37869. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37870. housedjord = CreateDynamicObjectEx(18762,254.724,-1852.414,3330.709,180.000,0.000,0.000,300.000,300.000);
  37871. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37872. housedjord = CreateDynamicObjectEx(2132,252.192,-1854.380,3332.349,0.000,0.000,-180.000,300.000,300.000);
  37873. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37874. housedjord = CreateDynamicObjectEx(2133,253.172,-1854.385,3332.349,0.000,0.000,-180.000,300.000,300.000);
  37875. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37876. housedjord = CreateDynamicObjectEx(2131,255.163,-1854.370,3332.349,0.000,0.000,-180.000,300.000,300.000);
  37877. SetDynamicObjectMaterial(housedjord, 1, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37878. housedjord = CreateDynamicObjectEx(19920,247.242,-1851.503,3332.603,0.000,0.000,142.000,300.000,300.000);
  37879. SetDynamicObjectMaterial(housedjord, 0, -1, "none", "none", 0xFFFFFFFF);
  37880. housedjord = CreateDynamicObjectEx(19916,256.056,-1854.521,3332.318,0.000,0.000,-180.000,300.000,300.000);
  37881. SetDynamicObjectMaterial(housedjord, 0, -1, "none", "none", 0xFFFFFFFF);
  37882. housedjord = CreateDynamicObjectEx(18762,253.739,-1852.415,3330.709,180.000,0.000,0.000,300.000,300.000);
  37883. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37884. housedjord = CreateDynamicObjectEx(19327,247.017,-1852.674,3333.321,0.000,0.000,-180.000,300.000,300.000);
  37885. SetDynamicObjectMaterialText(housedjord, 0, "SONY", 140, "Ariel", 20, 1, 0xFFFFFFFF, 0x00000000, 1);
  37886. housedjord = CreateDynamicObjectEx(1906,246.327,-1852.701,3333.306,-90.000,0.000,0.000,300.000,300.000);
  37887. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFF00000);
  37888. housedjord = CreateDynamicObjectEx(2255,254.637,-1852.465,3333.689,-90.000,0.000,90.000,300.000,300.000);
  37889. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37890. SetDynamicObjectMaterial(housedjord, 1, -1, "none", "none", 0xFF000000);
  37891. housedjord = CreateDynamicObjectEx(1906,254.767,-1852.825,3333.203,0.000,0.000,0.000,300.000,300.000);
  37892. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37893. housedjord = CreateDynamicObjectEx(2613,254.806,-1851.735,3332.824,0.000,0.000,0.000,300.000,300.000);
  37894. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37895. housedjord = CreateDynamicObjectEx(2613,254.368,-1851.743,3332.824,0.000,0.000,0.000,300.000,300.000);
  37896. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37897. housedjord = CreateDynamicObjectEx(2613,254.358,-1851.418,3332.824,0.000,0.000,0.000,300.000,300.000);
  37898. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37899. housedjord = CreateDynamicObjectEx(2613,254.810,-1851.424,3332.824,0.000,0.000,0.000,300.000,300.000);
  37900. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFFFF0000);
  37901. housedjord = CreateDynamicObjectEx(19386,254.421,-1858.212,3337.574,0.000,0.000,90.000,300.000,300.000);
  37902. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37903. housedjord = CreateDynamicObjectEx(19448,260.708,-1858.194,3337.560,0.000,0.000,90.000,300.000,300.000);
  37904. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37905. housedjord = CreateDynamicObjectEx(19448,252.984,-1862.986,3337.560,0.000,0.000,0.000,300.000,300.000);
  37906. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37907. housedjord = CreateDynamicObjectEx(19448,259.731,-1862.970,3337.560,0.000,0.000,0.000,300.000,300.000);
  37908. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37909. housedjord = CreateDynamicObjectEx(19448,256.953,-1865.135,3337.560,0.000,0.000,90.000,300.000,300.000);
  37910. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37911. housedjord = CreateDynamicObjectEx(19375,257.203,-1862.911,3335.783,0.000,90.000,0.000,300.000,300.000);
  37912. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37913. housedjord = CreateDynamicObjectEx(19450,243.308,-1852.147,3334.100,0.000,0.000,45.000,300.000,300.000);
  37914. SetDynamicObjectMaterial(housedjord, 0, 18031, "cj_exp", "mp_cloth_wall", 0x00000000);
  37915. housedjord = CreateDynamicObjectEx(2006,242.720,-1851.356,3333.973,0.000,0.000,-45.000,300.000,300.000);
  37916. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37917. housedjord = CreateDynamicObjectEx(14446,255.993,-1853.600,3336.227,0.000,0.000,0.000,300.000,300.000);
  37918. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37919. SetDynamicObjectMaterial(housedjord, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  37920. SetDynamicObjectMaterial(housedjord, 2, 14387, "dr_gsnew", "mp_gs_wall", 0x00000000);
  37921. housedjord = CreateDynamicObjectEx(2082,253.134,-1852.897,3335.869,0.000,0.000,0.000,300.000,300.000);
  37922. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37923. housedjord = CreateDynamicObjectEx(2082,257.839,-1852.839,3335.869,0.000,0.000,0.000,300.000,300.000);
  37924. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37925. housedjord = CreateDynamicObjectEx(19403,260.462,-1856.466,3336.939,0.000,0.000,0.000,300.000,300.000);
  37926. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37927. housedjord = CreateDynamicObjectEx(19449,260.472,-1859.678,3339.812,0.000,0.000,0.000,300.000,300.000);
  37928. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37929. housedjord = CreateDynamicObjectEx(19449,265.203,-1854.944,3337.560,0.000,0.000,90.000,300.000,300.000);
  37930. SetDynamicObjectMaterial(housedjord, 0, 4828, "airport3_las", "brwall_128", 0x00000000);
  37931. housedjord = CreateDynamicObjectEx(1742,258.628,-1850.302,3332.364,0.000,0.000,-180.000,300.000,300.000);
  37932. SetDynamicObjectMaterial(housedjord, 2, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37933. housedjord = CreateDynamicObjectEx(19433,261.220,-1856.803,3336.308,0.000,90.000,90.000,300.000,300.000);
  37934. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37935. housedjord = CreateDynamicObjectEx(19433,261.223,-1855.499,3338.111,0.000,180.000,90.000,300.000,300.000);
  37936. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37937. housedjord = CreateDynamicObjectEx(19433,261.210,-1857.424,3338.111,0.000,180.000,90.000,300.000,300.000);
  37938. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37939. housedjord = CreateDynamicObjectEx(19433,261.818,-1856.349,3338.111,0.000,180.000,0.000,300.000,300.000);
  37940. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37941. housedjord = CreateDynamicObjectEx(19433,261.817,-1856.610,3338.111,0.000,180.000,0.000,300.000,300.000);
  37942. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  37943. housedjord = CreateDynamicObjectEx(19381,244.609,-1846.128,3332.364,0.000,0.000,90.000,300.000,300.000);
  37944. SetDynamicObjectMaterial(housedjord, 0, 10765, "airportgnd_sfse", "white", 0x00000000);
  37945. housedjord = CreateDynamicObjectEx(18980,268.430,-1861.463,3336.020,90.000,0.000,-90.000,300.000,300.000);
  37946. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0xFFFFFFFF);
  37947. housedjord = CreateDynamicObjectEx(18980,256.426,-1873.610,3336.040,90.000,0.000,-180.000,300.000,300.000);
  37948. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0xFFFFFFFF);
  37949. housedjord = CreateDynamicObjectEx(19360,258.228,-1863.487,3335.791,0.000,90.000,0.000,300.000,300.000);
  37950. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0x00000000);
  37951. housedjord = CreateDynamicObjectEx(18980,260.135,-1874.164,3336.020,90.000,0.000,-180.000,300.000,300.000);
  37952. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0xFFFFFFFF);
  37953. housedjord = CreateDynamicObjectEx(18980,268.803,-1865.527,3336.020,90.000,0.000,-90.000,300.000,300.000);
  37954. SetDynamicObjectMaterial(housedjord, 0, 14387, "dr_gsnew", "mp_gs_pooltiles", 0xFFFFFFFF);
  37955. housedjord = CreateDynamicObjectEx(1742,254.583,-1865.117,3334.234,0.000,0.000,-180.000,300.000,300.000);
  37956. SetDynamicObjectMaterial(housedjord, 2, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37957. housedjord = CreateDynamicObjectEx(1744,254.828,-1865.194,3337.498,0.000,0.000,-180.000,300.000,300.000);
  37958. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37959. housedjord = CreateDynamicObjectEx(1744,256.207,-1861.465,3335.972,0.000,0.000,-90.000,300.000,300.000);
  37960. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37961. housedjord = CreateDynamicObjectEx(1744,256.107,-1861.470,3335.781,0.000,0.000,-90.000,300.000,300.000);
  37962. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37963. housedjord = CreateDynamicObjectEx(1744,257.057,-1861.151,3335.781,0.000,0.000,-180.000,300.000,300.000);
  37964. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37965. housedjord = CreateDynamicObjectEx(1744,257.139,-1861.261,3335.972,0.000,0.000,-180.000,300.000,300.000);
  37966. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37967. housedjord = CreateDynamicObjectEx(14842,258.768,-1864.985,3337.463,0.000,0.000,-180.000,300.000,300.000);
  37968. SetDynamicObjectMaterial(housedjord, 0, -1, "none", "none", 0xFFFFFFFF);
  37969. housedjord = CreateDynamicObjectEx(14842,259.018,-1863.466,3337.463,0.000,0.000,-180.000,300.000,300.000);
  37970. SetDynamicObjectMaterial(housedjord, 0, -1, "none", "none", 0xFFFFFFFF);
  37971. housedjord = CreateDynamicObjectEx(2134,258.189,-1858.737,3335.870,0.000,0.000,0.000,300.000,300.000);
  37972. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37973. SetDynamicObjectMaterial(housedjord, 1, 10765, "airportgnd_sfse", "white", 0xFF808080);
  37974. SetDynamicObjectMaterial(housedjord, 2, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37975. SetDynamicObjectMaterial(housedjord, 4, -1, "none", "none", 0xFF808080);
  37976. housedjord = CreateDynamicObjectEx(2134,259.170,-1858.734,3335.870,0.000,0.000,0.000,300.000,300.000);
  37977. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37978. SetDynamicObjectMaterial(housedjord, 1, 10765, "airportgnd_sfse", "white", 0xFF808080);
  37979. SetDynamicObjectMaterial(housedjord, 2, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37980. SetDynamicObjectMaterial(housedjord, 4, -1, "none", "none", 0xFF808080);
  37981. housedjord = CreateDynamicObjectEx(2134,257.208,-1858.740,3335.870,0.000,0.000,0.000,300.000,300.000);
  37982. SetDynamicObjectMaterial(housedjord, 0, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37983. SetDynamicObjectMaterial(housedjord, 1, 10765, "airportgnd_sfse", "white", 0xFF808080);
  37984. SetDynamicObjectMaterial(housedjord, 2, 14650, "ab_trukstpc", "mp_CJ_WOOD5", 0xFF808080);
  37985. SetDynamicObjectMaterial(housedjord, 4, -1, "none", "none", 0xFF808080);
  37986. housedjord = CreateDynamicObjectEx(2515,258.163,-1858.513,3337.043,0.000,0.000,0.000,300.000,300.000);
  37987. SetDynamicObjectMaterial(housedjord, 0, -1, "none", "none", 0xFFFFFFFF);
  37988. housedjord = CreateDynamicObjectEx(2255,258.153,-1858.769,3337.549,0.000,0.000,0.000,300.000,300.000);
  37989. SetDynamicObjectMaterial(housedjord, 0, 14581, "ab_mafiasuitea", "barbersmir1", 0x00000000);
  37990. housedjord = CreateDynamicObjectEx(19327,256.037,-1854.004,3334.221,0.000,0.000,-180.000,300.000,300.000);
  37991. SetDynamicObjectMaterialText(housedjord, 0, "LG", 140, "Ariel", 35, 1, 0xFFFF0000, 0x00000000, 1);
  37992. housedjord = CreateDynamicObjectEx(19327,256.037,-1854.014,3334.161,0.000,0.000,-180.000,300.000,300.000);
  37993. SetDynamicObjectMaterialText(housedjord, 0, "Freeze Tehnology", 140, "Ariel", 15, 1, 0xFF000000, 0x00000000, 1);
  37994. housedjord = CreateDynamicObjectEx(19377,240.442,-1849.355,3335.705,0.000,90.000,0.000,300.000,300.000);
  37995. housedjord = CreateDynamicObjectEx(19377,250.931,-1849.405,3335.705,0.000,90.000,0.000,300.000,300.000);
  37996. housedjord = CreateDynamicObjectEx(19377,261.553,-1846.955,3339.202,0.000,90.000,0.000,300.000,300.000);
  37997. housedjord = CreateDynamicObjectEx(19377,255.114,-1855.226,3335.579,0.000,90.000,0.000,300.000,300.000);
  37998. housedjord = CreateDynamicObjectEx(2816,247.052,-1851.808,3332.593,0.000,0.000,-16.000,300.000,300.000);
  37999. housedjord = CreateDynamicObjectEx(19581,254.016,-1853.082,3333.215,0.000,0.000,171.000,300.000,300.000);
  38000. housedjord = CreateDynamicObjectEx(19582,254.065,-1852.629,3333.227,0.000,0.000,0.000,300.000,300.000);
  38001. housedjord = CreateDynamicObjectEx(19591,250.562,-1846.330,3333.943,0.000,0.000,0.000,300.000,300.000);
  38002. housedjord = CreateDynamicObjectEx(2267,252.472,-1846.354,3333.998,0.000,0.000,0.000,300.000,300.000);
  38003. housedjord = CreateDynamicObjectEx(2263,255.563,-1846.809,3333.819,0.000,0.000,0.000,300.000,300.000);
  38004. housedjord = CreateDynamicObjectEx(2264,261.605,-1847.535,3334.929,0.000,0.000,-90.000,300.000,300.000);
  38005. housedjord = CreateDynamicObjectEx(2254,242.399,-1848.129,3334.271,0.000,0.000,90.000,300.000,300.000);
  38006. housedjord = CreateDynamicObjectEx(2251,242.705,-1846.599,3333.202,0.000,0.000,90.000,300.000,300.000);
  38007. housedjord = CreateDynamicObjectEx(2241,259.855,-1848.608,3332.802,0.000,0.000,90.000,300.000,300.000);
  38008. housedjord = CreateDynamicObjectEx(2853,258.340,-1852.347,3336.364,0.000,0.000,0.000,300.000,300.000);
  38009. housedjord = CreateDynamicObjectEx(2828,253.510,-1852.215,3336.367,0.000,0.000,-164.000,300.000,300.000);
  38010. housedjord = CreateDynamicObjectEx(19632,261.068,-1856.286,3336.375,0.000,0.000,0.000,300.000,300.000);
  38011. housedjord = CreateDynamicObjectEx(19632,261.082,-1856.608,3336.375,0.000,0.000,0.000,300.000,300.000);
  38012. housedjord = CreateDynamicObjectEx(19632,261.095,-1856.448,3336.495,0.000,0.000,0.000,300.000,300.000);
  38013. housedjord = CreateDynamicObjectEx(2406,257.188,-1857.926,3337.108,-6.000,0.000,-180.000,300.000,300.000);
  38014. housedjord = CreateDynamicObjectEx(2405,256.495,-1857.886,3337.108,-6.000,0.000,-180.000,300.000,300.000);
  38015. housedjord = CreateDynamicObjectEx(2286,256.009,-1851.839,3337.490,0.000,0.000,0.000,300.000,300.000);
  38016. housedjord = CreateDynamicObjectEx(10444,263.638,-1876.892,3335.997,0.000,0.000,0.000,300.000,300.000);
  38017. housedjord = CreateDynamicObjectEx(10444,263.638,-1876.892,3336.077,0.000,0.000,0.000,300.000,300.000);
  38018. housedjord = CreateDynamicObjectEx(10444,263.638,-1876.892,3336.116,0.000,0.000,0.000,300.000,300.000);
  38019. housedjord = CreateDynamicObjectEx(2384,254.638,-1864.901,3336.001,0.000,0.000,0.000,300.000,300.000);
  38020. housedjord = CreateDynamicObjectEx(2384,254.009,-1864.902,3336.372,0.000,0.000,0.000,300.000,300.000);
  38021. housedjord = CreateDynamicObjectEx(2870,254.472,-1864.893,3337.837,0.000,0.000,0.000,300.000,300.000);
  38022. housedjord = CreateDynamicObjectEx(2749,256.519,-1864.418,3336.537,0.000,0.000,0.000,300.000,300.000);
  38023. housedjord = CreateDynamicObjectEx(2751,256.376,-1864.375,3336.582,0.000,0.000,0.000,300.000,300.000);
  38024. housedjord = CreateDynamicObjectEx(2752,256.497,-1864.195,3336.582,0.000,0.000,0.000,300.000,300.000);
  38025. housedjord = CreateDynamicObjectEx(2741,259.139,-1858.329,3337.283,0.000,0.000,0.000,300.000,300.000);
  38026. housedjord = CreateDynamicObjectEx(2751,257.153,-1858.631,3336.954,0.000,0.000,0.000,300.000,300.000);
  38027. housedjord = CreateDynamicObjectEx(2752,257.323,-1858.573,3336.954,0.000,0.000,0.000,300.000,300.000);
  38028. housedjord = CreateDynamicObjectEx(2239,253.328,-1858.657,3335.869,0.000,0.000,52.000,300.000,300.000);
  38029. housedjord = CreateDynamicObjectEx(19377,258.156,-1856.436,3339.202,0.000,90.000,0.000,300.000,300.000);
  38030. housedjord = CreateDynamicObjectEx(19377,258.010,-1866.109,3339.202,0.000,90.000,0.000,300.000,300.000);
  38031. }
  38032. stock LoadModernHouse2() //by KristianBenne2
  38033. {
  38034. new door = CreateDynamicObject(1506, 1246.21533, -1119.26526, 3457.90112, 0.00000, 0.00000, 90.00000);
  38035. SetDynamicObjectMaterial(door, 0, 19430, "all_walls", "wall6");
  38036. door = CreateDynamicObject(1502, 1242.67285, -1112.59009, 3457.89868, 0.00000, 0.00000, 0.00000);
  38037. SetDynamicObjectMaterial(door, 1, 2117, "cj_tables", "CJ_WOOD5");
  38038. door = CreateDynamicObject(1502, 1242.67297, -1124.51331, 3457.89868, 0.00000, 0.00000, 0.00000);
  38039. SetDynamicObjectMaterial(door, 1, 2117, "cj_tables", "CJ_WOOD5");
  38040. door = CreateDynamicObject(1502, 1233.04150, -1124.51306, 3457.89868, 0.00000, 0.00000, 0.00000);
  38041. SetDynamicObjectMaterial(door, 1, 2117, "cj_tables", "CJ_WOOD5");
  38042. CreateDynamicObject(2193, 1246.60754, -1119.24915, 3458.35962, 90.00000, 0.00000, 0.00000);
  38043. CreateDynamicObject(2193, 1246.60645, -1119.24719, 3458.96313, 90.00000, 0.00000, 0.00000);
  38044. CreateDynamicObject(2193, 1246.60535, -1117.76624, 3459.38306, 270.00000, 0.00000, 0.00000);
  38045. CreateDynamicObject(2193, 1246.60645, -1117.76624, 3459.98755, 270.00000, 0.00000, 0.00000);
  38046. CreateDynamicObject(2193, 1246.59082, -1119.17456, 3460.39478, 0.00000, 0.00000, 270.00000);
  38047. CreateDynamicObject(2193, 1246.58936, -1118.43811, 3460.39478, 0.00000, 0.00000, 270.00000);
  38048. CreateDynamicObject(2193, 1246.58948, -1118.07642, 3460.39478, 0.00000, 0.00000, 270.00000);
  38049. CreateDynamicObject(2006, 1246.08826, -1117.89526, 3459.05664, 0.00000, 0.00000, 90.00000);
  38050. CreateDynamicObject(1823, 1242.09058, -1125.70728, 3457.89160, 0.00000, 0.00000, 90.00000);
  38051. CreateDynamicObject(1823, 1239.09814, -1125.69946, 3457.89160, 0.00000, 0.00000, 90.00000);
  38052. CreateDynamicObject(1823, 1245.09094, -1119.68896, 3457.89160, 0.00000, 0.00000, 225.00000);
  38053. CreateDynamicObject(1823, 1245.81604, -1116.65112, 3457.89160, 0.00000, 0.00000, 135.00000);
  38054. CreateDynamicObject(2249, 1245.10327, -1116.62769, 3459.04419, 0.00000, 0.00000, 0.00000);
  38055. CreateDynamicObject(2250, 1244.98193, -1120.42627, 3458.80811, 0.00000, 0.00000, 0.00000);
  38056. CreateDynamicObject(2238, 1236.46497, -1127.65601, 3458.68848, 0.00000, 0.00000, 0.00000);
  38057. CreateDynamicObject(1520, 1236.46338, -1129.38599, 3459.97656, 0.00000, 0.00000, 30.67370);
  38058. CreateDynamicObject(1512, 1236.47937, -1128.36621, 3460.12280, 0.00000, 0.00000, 270.00000);
  38059. CreateDynamicObject(1664, 1236.48975, -1126.10168, 3460.09033, 0.00000, 0.00000, 0.00000);
  38060. CreateDynamicObject(1668, 1236.47363, -1126.22205, 3460.09033, 0.00000, 0.00000, 0.00000);
  38061. CreateDynamicObject(1520, 1236.48462, -1125.54272, 3459.97656, 0.00000, 0.00000, 30.67370);
  38062. CreateDynamicObject(1668, 1236.56592, -1128.21997, 3460.09033, 0.00000, 0.00000, 0.00000);
  38063. CreateDynamicObject(2475, 1238.16797, -1124.37158, 3456.72340, 0.00000, 0.00000, 180.00000);
  38064. CreateDynamicObject(2475, 1240.33582, -1124.38367, 3456.72340, 0.00000, 0.00000, 180.00000);
  38065. CreateDynamicObject(2576, 1244.54260, -1126.27637, 3457.90845, 0.00000, 0.00000, 270.00000);
  38066. CreateDynamicObject(2518, 1231.77844, -1127.78711, 3458.18188, 0.00000, 0.00000, 90.00000);
  38067. CreateDynamicObject(2247, 1231.40735, -1126.01270, 3459.41187, 0.00000, 0.00000, 80.00000);
  38068. CreateDynamicObject(14842, 1232.84216, -1130.72058, 3460.10156, 0.00000, 0.00000, 90.00000);
  38069. CreateDynamicObject(2475, 1229.95154, -1118.58411, 3458.32324, 0.00000, 0.00000, 180.00000);
  38070. CreateDynamicObject(2475, 1230.46997, -1118.58325, 3458.32227, 0.00000, 0.00000, 180.00000);
  38071. CreateDynamicObject(2855, 1230.25537, -1118.30981, 3458.45410, 0.00000, 0.00000, 0.00000);
  38072. CreateDynamicObject(2816, 1229.50745, -1118.30591, 3458.45532, 0.00000, 0.00000, 0.00000);
  38073. CreateDynamicObject(1785, 1229.45081, -1118.45227, 3459.22852, 0.00000, 0.00000, 0.00000);
  38074. CreateDynamicObject(2238, 1222.93298, -1110.13940, 3458.68848, 0.00000, 0.00000, 0.00000);
  38075. CreateDynamicObject(1956, 1236.12939, -1121.27197, 3459.97437, 0.00000, 270.00000, 0.00000);
  38076. CreateDynamicObject(1956, 1236.12939, -1122.26599, 3460.25854, 0.00000, 270.00000, 0.00000);
  38077. CreateDynamicObject(1956, 1236.12939, -1123.40198, 3459.83252, 0.00000, 270.00000, 0.00000);
  38078. CreateDynamicObject(19318, 1236.09875, -1122.22571, 3460.22534, 0.00000, 20.00000, 270.00000);
  38079. CreateDynamicObject(19317, 1236.08167, -1121.26318, 3460.00317, 0.00000, 0.00000, 270.00000);
  38080. CreateDynamicObject(2828, 1230.41931, -1118.40356, 3459.12988, 0.00000, 0.00000, 0.00000);
  38081. CreateDynamicObject(19424, 1236.19592, -1122.25916, 3460.26196, 0.00000, 0.00000, 90.00000);
  38082. CreateDynamicObject(19424, 1236.21484, -1121.25806, 3459.95288, 0.00000, 0.00000, 90.00000);
  38083. CreateDynamicObject(1956, 1222.80457, -1127.17090, 3459.83252, 0.00000, 270.00000, -135.00000);
  38084. CreateDynamicObject(2344, 1223.33118, -1109.83850, 3458.28833, 0.00000, 0.00000, 0.00000);
  38085. CreateDynamicObject(19184, 1222.53845, -1110.80920, 3458.59961, 0.00000, 0.00000, 0.72140);
  38086. CreateDynamicObject(2266, 1225.09448, -1127.23242, 3459.52393, 0.00000, 0.00000, 180.00000);
  38087. CreateDynamicObject(2026, 1227.84131, -1125.59888, 3461.30884, 0.00000, 0.00000, 0.00000);
  38088. CreateDynamicObject(2854, 1235.44458, -1113.39258, 3458.38818, 0.00000, 0.00000, 0.00000);
  38089. CreateDynamicObject(1520, 1223.91638, -1118.19727, 3460.17773, 0.00000, 0.00000, 30.67370);
  38090. CreateDynamicObject(1520, 1223.84460, -1118.31909, 3460.17773, 0.00000, 0.00000, 30.67370);
  38091. CreateDynamicObject(1520, 1223.88745, -1117.24255, 3460.17773, 0.00000, 0.00000, 30.67370);
  38092. CreateDynamicObject(1517, 1223.99670, -1117.52209, 3460.32959, 0.00000, 0.00000, 30.67370);
  38093. CreateDynamicObject(1517, 1223.93384, -1118.40649, 3460.32959, 0.00000, 0.00000, 0.00000);
  38094. CreateDynamicObject(2374, 1236.40088, -1115.18469, 3459.22070, 0.00000, 0.00000, 90.00000);
  38095. CreateDynamicObject(2475, 1236.27844, -1115.39966, 3456.52441, 0.00000, 0.00000, 90.00000);
  38096. CreateDynamicObject(2475, 1236.27844, -1113.93054, 3456.52441, 0.00000, 0.00000, 90.00000);
  38097. CreateDynamicObject(2475, 1236.27734, -1113.55725, 3456.52344, 0.00000, 0.00000, 90.00000);
  38098. CreateDynamicObject(2396, 1236.40088, -1114.70288, 3459.22070, 0.00000, 0.00000, 90.00000);
  38099. CreateDynamicObject(2372, 1236.79456, -1114.28552, 3461.36206, 0.00000, 180.00000, 0.00000);
  38100. CreateDynamicObject(2689, 1237.00647, -1114.11853, 3459.88647, 0.00000, 0.00000, 0.00000);
  38101. CreateDynamicObject(2704, 1236.99829, -1113.90991, 3459.88647, 0.00000, 0.00000, 0.00000);
  38102. CreateDynamicObject(2706, 1237.02905, -1113.71899, 3459.88647, 0.00000, 0.00000, 0.00000);
  38103. CreateDynamicObject(2705, 1237.01123, -1113.51855, 3459.88647, 0.00000, 0.00000, 0.00000);
  38104. CreateDynamicObject(2843, 1236.41675, -1113.68140, 3457.90942, 0.00000, 0.00000, 0.00000);
  38105. CreateDynamicObject(2384, 1236.39307, -1112.96582, 3458.81860, 0.00000, 0.00000, 0.00000);
  38106. CreateDynamicObject(18634, 1237.02148, -1115.25061, 3457.92188, 0.00000, 90.00000, 16.78030);
  38107. CreateDynamicObject(18636, 1236.53613, -1113.79907, 3458.75049, 0.00000, 0.00000, 20.00000);
  38108. CreateDynamicObject(2741, 1231.28711, -1126.27026, 3459.69312, 0.00000, 0.00000, 90.00000);
  38109. CreateDynamicObject(2742, 1231.40771, -1125.14294, 3459.80396, 0.00000, 0.00000, 90.00000);
  38110. CreateDynamicObject(2868, 1235.91785, -1125.17993, 3460.42969, 0.00000, 0.00000, 0.00000);
  38111. CreateDynamicObject(2870, 1235.91602, -1129.55701, 3460.42944, 0.00000, 0.00000, 47.88939);
  38112. CreateDynamicObject(1823, 1236.41724, -1111.21594, 3457.89160, 0.00000, 0.00000, 0.00000);
  38113. CreateDynamicObject(1823, 1236.40186, -1108.21143, 3457.89160, 0.00000, 0.00000, 0.00000);
  38114. CreateDynamicObject(2576, 1244.50024, -1108.90063, 3457.90869, 0.00000, 0.00000, 270.00000);
  38115. CreateDynamicObject(2173, 1240.81177, -1111.97791, 3457.90894, 0.00000, 0.00000, 180.00000);
  38116. CreateDynamicObject(2249, 1236.39783, -1109.89685, 3460.56909, 0.00000, 0.00000, 90.00000);
  38117. CreateDynamicObject(1956, 1244.39978, -1105.59241, 3460.11279, 0.00000, 90.00000, -135.00000);
  38118. CreateDynamicObject(2628, 1240.59375, -1105.98889, 3457.90918, 0.00000, 0.00000, 0.00000);
  38119. CreateDynamicObject(2854, 1236.77612, -1110.76672, 3458.38818, 0.00000, 0.00000, 0.00000);
  38120. CreateDynamicObject(19040, 1237.20386, -1107.91943, 3458.41504, 0.00000, 0.00000, 200.00000);
  38121. CreateDynamicObject(2828, 1244.58228, -1111.19214, 3459.02881, 0.00000, 0.00000, 90.00000);
  38122. CreateDynamicObject(2196, 1240.60071, -1111.98010, 3458.70459, 0.00000, 0.00000, 100.00000);
  38123. CreateDynamicObject(2894, 1239.65918, -1112.06995, 3458.71021, 0.00000, 0.00000, 90.00000);
  38124. CreateDynamicObject(2853, 1238.56238, -1125.13293, 3458.38818, 0.00000, 0.00000, 0.00000);
  38125. CreateDynamicObject(2250, 1240.78320, -1124.68921, 3460.31909, 0.00000, 0.00000, 0.00000);
  38126. CreateDynamicObject(19309, 1222.93726, -1120.24744, 3458.54297, 0.00000, 90.00000, 0.00000);
  38127. CreateDynamicObject(19309, 1222.93726, -1120.24744, 3458.43481, 0.00000, 90.00000, 0.00000);
  38128. CreateDynamicObject(19309, 1222.93726, -1120.24744, 3458.32666, 0.00000, 90.00000, 0.00000);
  38129. CreateDynamicObject(19309, 1222.93726, -1120.24744, 3458.21851, 0.00000, 90.00000, 0.00000);
  38130. //Walls
  38131. new wall = CreateDynamicObject(19450, 1236.21057, -1110.97375, 3459.65527, 0.00000, 0.00000, 0.00000); //LONG
  38132. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38133. wall = CreateDynamicObject(19450, 1236.21057, -1126.09290, 3459.65527, 0.00000, 0.00000, 0.00000);
  38134. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38135. wall = CreateDynamicObject(19450, 1231.17773, -1129.30664, 3459.65527, 0.00000, 0.00000, 0.00000);
  38136. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38137. wall = CreateDynamicObject(19450, 1231.17395, -1106.70154, 3459.65527, 0.00000, 0.00000, 0.00000);
  38138. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38139. wall = CreateDynamicObject(19450, 1223.99341, -1118.6929, 3457.39307, 0.00000, 0.00000, 90.00000);
  38140. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38141. wall = CreateDynamicObject(19450, 1231.39771, -1130.78015, 3459.65527, 0.00000, 0.00000, 90.00000);
  38142. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38143. wall = CreateDynamicObject(19450, 1224.01794, -1117.91907, 3457.39307, 0.00000, 0.00000, 90.00000);
  38144. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38145. wall = CreateDynamicObject(19358, 1245.07483, -1110.97217, 3459.65527, 0.00000, 0.00000, 0.00000); //MEDIUM
  38146. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38147. wall = CreateDynamicObject(19358, 1240.24756, -1112.56494, 3459.65527, 0.00000, 0.00000, 90.00000);
  38148. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38149. wall = CreateDynamicObject(19358, 1237.03674, -1112.56494, 3459.65527, 0.00000, 0.00000, 90.00000);
  38150. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38151. wall = CreateDynamicObject(19358, 1240.24902, -1124.49707, 3459.65527, 0.00000, 0.00000, 90.00000);
  38152. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38153. wall = CreateDynamicObject(19358, 1237.03918, -1124.49707, 3459.65527, 0.00000, 0.00000, 90.00000);
  38154. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38155. wall = CreateDynamicObject(19358, 1245.07483, -1126.08069, 3459.65527, 0.00000, 0.00000, 0.00000);
  38156. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38157. wall = CreateDynamicObject(19358, 1233.82495, -1112.56494, 3459.65527, 0.00000, 0.00000, 90.00000);
  38158. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38159. wall = CreateDynamicObject(19358, 1231.38867, -1109.32605, 3459.65527, 0.00000, 0.00000, 90.00000);
  38160. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38161. wall = CreateDynamicObject(19358, 1224.96753, -1127.82080, 3459.65527, 0.00000, 0.00000, 90.00000);
  38162. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38163. wall = CreateDynamicObject(19358, 1224.96619, -1109.32605, 3459.65527, 0.00000, 0.00000, 90.00000);
  38164. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38165. wall = CreateDynamicObject(19358, 1222.13782, -1124.99365, 3459.65527, 0.00000, 0.00000, 0.00000);
  38166. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38167. wall = CreateDynamicObject(19358, 1222.13782, -1112.15320, 3459.65527, 0.00000, 0.00000, 0.00000);
  38168. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38169. wall = CreateDynamicObject(19358, 1222.13782, -1118.57214, 3459.65527, 0.00000, 0.00000, 0.00000);
  38170. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38171. wall = CreateDynamicObject(19431, 1245.61609, -1120.75916, 3459.65527, 0.00000, 0.00000, 135.00000); //SMALL
  38172. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38173. wall = CreateDynamicObject(19431, 1245.61816, -1116.29321, 3459.65527, 0.00000, 0.00000, -135.00000);
  38174. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38175. wall = CreateDynamicObject(19431, 1244.48035, -1105.52722, 3459.65527, 0.00000, 0.00000, -135.00000);
  38176. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38177. wall = CreateDynamicObject(19431, 1236.80322, -1105.52734, 3459.65527, 0.00000, 0.00000, 135.00000);
  38178. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38179. wall = CreateDynamicObject(19431, 1244.48035, -1131.52759, 3459.65527, 0.00000, 0.00000, 135.00000);
  38180. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38181. wall = CreateDynamicObject(19431, 1236.80237, -1131.52795, 3459.65527, 0.00000, 0.00000, -135.00000);
  38182. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38183. wall = CreateDynamicObject(19431, 1236.21143, -1120.93481, 3459.65527, 0.00000, 0.00000, 0.00000);
  38184. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38185. wall = CreateDynamicObject(19431, 1236.21143, -1116.12085, 3459.65527, 0.00000, 0.00000, 0.00000);
  38186. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38187. wall = CreateDynamicObject(19431, 1222.73083, -1127.22778, 3459.65527, 0.00000, 0.00000, -135.00000);
  38188. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38189. wall = CreateDynamicObject(19431, 1222.73035, -1109.91882, 3459.65527, 0.00000, 0.00000, 135.00000);
  38190. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38191. wall = CreateDynamicObject(19431, 1231.71545, -1112.02307, 3459.65527, 0.00000, 0.00000, -135.00000);
  38192. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38193. wall = CreateDynamicObject(19431, 1229.61426, -1118.69092, 3459.65527, 0.00000, 0.00000, 90.00000);
  38194. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38195. wall = CreateDynamicObject(19431, 1222.95032, -1118.69189, 3459.65527, 0.00000, 0.00000, 90.00000);
  38196. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38197. wall = CreateDynamicObject(19431, 1230.29309, -1118.69189, 3459.65527, 0.00000, 0.00000, 90.00000);
  38198. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38199. wall = CreateDynamicObject(19431, 1230.33057, -1127.82178, 3459.65527, 0.00000, 0.00000, 90.00000);
  38200. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38201. wall = CreateDynamicObject(19431, 1222.95032, -1117.18774, 3459.65527, 0.00000, 0.00000, 90.00000);
  38202. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38203. wall = CreateDynamicObject(19431, 1223.66431, -1117.93884, 3459.65527, 0.00000, 0.00000, 0.00000);
  38204. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38205. wall = CreateDynamicObject(19431, 1228.90039, -1117.90210, 3459.65527, 0.00000, 0.00000, 0.00000);
  38206. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38207. wall = CreateDynamicObject(19431, 1231.00745, -1117.81433, 3459.65527, 0.00000, 0.00000, 0.00000);
  38208. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38209. wall = CreateDynamicObject(19431, 1231.89087, -1124.49805, 3459.65527, 0.00000, 0.00000, 90.00000);
  38210. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38211. wall = CreateDynamicObject(19431, 1237.08301, -1115.91113, 3459.65527, 0.00000, 0.00000, 90.00000);
  38212. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38213. wall = CreateDynamicObject(19404, 1245.07483, -1122.86975, 3459.65527, 0.00000, 0.00000, 0.00000); //WINDOW MEDIUM
  38214. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38215. wall = CreateDynamicObject(19404, 1245.07483, -1114.18359, 3459.65527, 0.00000, 0.00000, 0.00000);
  38216. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38217. wall = CreateDynamicObject(19404, 1245.07483, -1107.76123, 3459.65527, 0.00000, 0.00000, 0.00000);
  38218. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38219. wall = CreateDynamicObject(19404, 1239.03613, -1104.93481, 3459.65527, 0.00000, 0.00000, 90.00000);
  38220. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38221. wall = CreateDynamicObject(19404, 1242.24609, -1104.93481, 3459.65527, 0.00000, 0.00000, 90.00000);
  38222. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38223. wall = CreateDynamicObject(19404, 1245.07483, -1129.29187, 3459.65527, 0.00000, 0.00000, 0.00000);
  38224. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38225. wall = CreateDynamicObject(19404, 1242.24512, -1132.12134, 3459.65527, 0.00000, 0.00000, 90.00000);
  38226. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38227. wall = CreateDynamicObject(19404, 1239.03650, -1132.12134, 3459.65527, 0.00000, 0.00000, 90.00000);
  38228. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38229. wall = CreateDynamicObject(19404, 1228.17920, -1127.82080, 3459.65527, 0.00000, 0.00000, 90.00000);
  38230. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38231. wall = CreateDynamicObject(19404, 1228.17725, -1109.32605, 3459.65527, 0.00000, 0.00000, 90.00000);
  38232. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38233. wall = CreateDynamicObject(19404, 1222.13782, -1121.78235, 3459.65527, 0.00000, 0.00000, 0.00000);
  38234. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38235. wall = CreateDynamicObject(19404, 1222.13782, -1115.36292, 3459.65527, 0.00000, 0.00000, 0.00000);
  38236. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38237. wall = CreateDynamicObject(19388, 1246.20984, -1118.52515, 3459.65527, 0.00000, 0.00000, 0.00000); //DOOR MEDIUM
  38238. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38239. wall = CreateDynamicObject(19388, 1243.45886, -1112.56494, 3459.65527, 0.00000, 0.00000, 90.00000);
  38240. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38241. wall = CreateDynamicObject(19388, 1243.45886, -1124.49707, 3459.65527, 0.00000, 0.00000, 90.00000);
  38242. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38243. wall = CreateDynamicObject(19388, 1236.21057, -1118.52795, 3459.65527, 0.00000, 0.00000, 0.00000);
  38244. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38245. wall = CreateDynamicObject(19388, 1233.82849, -1124.49707, 3459.65430, 0.00000, 0.00000, 90.00000);
  38246. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38247. wall = CreateDynamicObject(19388, 1237.79541, -1114.21899, 3459.65527, 0.00000, 0.00000, 0.00000);
  38248. SetDynamicObjectMaterial(wall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38249. //Walls bathroom //OR 18008, intclothesa, mp_cloth_vicfloor
  38250. new bwall = CreateDynamicObject(19447, 1236.20862, -1129.30090, 3459.65527, 0.00000, 0.00000, 0.00000);
  38251. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38252. bwall = CreateDynamicObject(19447, 1231.39771, -1130.77612, 3459.65527, 0.00000, 0.00000, 90.00000);
  38253. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38254. bwall = CreateDynamicObject(19447, 1231.17969, -1129.30859, 3459.65527, 0.00000, 0.00000, 0.00000);
  38255. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38256. bwall = CreateDynamicObject(19428, 1231.89294, -1124.50000, 3459.65527, 0.00000, 0.00000, 90.00000);
  38257. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38258. bwall = CreateDynamicObject(19428, 1235.36145, -1124.49902, 3459.65527, 0.00000, 0.00000, 90.00000);
  38259. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38260. bwall = CreateDynamicObject(19385, 1233.82947, -1124.49805, 3459.65527, 0.00000, 0.00000, 90.00000);
  38261. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38262. bwall = CreateDynamicObject(19432, 1231.91223, -1128.88403, 3459.65527, 0.00000, 0.00000, 90.00000);
  38263. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38264. bwall = CreateDynamicObject(19432, 1233.68481, -1131.10461, 3459.65527, 0.00000, 0.00000, 0.00000);
  38265. SetDynamicObjectMaterial(bwall, 0, 18008, "intclothesa", "mp_cloth_wall");
  38266. CreateDynamicObject(19325, 1231.67371, -1128.83765, 3458.11572, 90.00000, 0.00000, 90.00000); //Window
  38267. CreateDynamicObject(19325, 1233.69470, -1131.96960, 3458.11572, 90.00000, 0.00000, 0.00000); //Window
  38268. //Floor
  38269. new mainfloor = CreateDynamicObject(19379, 1241.08459, -1113.49292, 3457.82104, 0.00000, 90.00000, 0.00000);
  38270. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38271. mainfloor = CreateDynamicObject(19379, 1241.08459, -1123.12720, 3457.82104, 0.00000, 90.00000, 0.00000);
  38272. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38273. mainfloor = CreateDynamicObject(19379, 1230.58459, -1123.12720, 3457.82104, 0.00000, 90.00000, 0.00000);
  38274. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38275. mainfloor = CreateDynamicObject(19379, 1230.58459, -1113.49292, 3457.82104, 0.00000, 90.00000, 0.00000);
  38276. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38277. mainfloor = CreateDynamicObject(19379, 1241.08459, -1103.85852, 3457.82104, 0.00000, 90.00000, 0.00000);
  38278. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38279. mainfloor = CreateDynamicObject(19379, 1241.08459, -1132.76062, 3457.82104, 0.00000, 90.00000, 0.00000);
  38280. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38281. mainfloor = CreateDynamicObject(19379, 1220.08313, -1113.49292, 3457.82104, 0.00000, 90.00000, 0.00000);
  38282. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38283. mainfloor = CreateDynamicObject(19379, 1220.08313, -1123.12720, 3457.82104, 0.00000, 90.00000, 0.00000);
  38284. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38285. mainfloor = CreateDynamicObject(19379, 1230.58459, -1132.76062, 3457.82104, 0.00000, 90.00000, 0.00000);
  38286. SetDynamicObjectMaterial(mainfloor, 0, 18030, "gap", "mp_furn_floor");
  38287. new kfloor = CreateDynamicObject(19379, 1225.83801, -1123.43616, 3457.82300, 0.00000, 90.00000, 0.00000); //Kitchen
  38288. SetDynamicObjectMaterial(kfloor, 0, 3961, "lee_kitch", "dinerfloor01_128");
  38289. new carpet = CreateDynamicObject(19373, 1240.68408, -1118.56665, 3457.82690, 0.00000, 90.00000, 0.00000); //Carpets & Bathroom
  38290. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38291. carpet = CreateDynamicObject(19373, 1240.06555, -1126.51453, 3457.82690, 0.00000, 90.00000, 0.00000);
  38292. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38293. carpet = CreateDynamicObject(19373, 1240.06165, -1124.50261, 3459.28491, 90.00000, 0.00000, 90.00000);
  38294. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38295. carpet = CreateDynamicObject(19373, 1224.79138, -1111.96497, 3457.82690, 0.00000, 90.00000, 0.00000);
  38296. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38297. carpet = CreateDynamicObject(19373, 1227.79626, -1125.67346, 3457.82690, 0.00000, 90.00000, 0.00000);
  38298. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38299. carpet = CreateDynamicObject(19373, 1238.14758, -1109.20227, 3457.82690, 0.00000, 90.00000, 90.00000);
  38300. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38301. carpet = CreateDynamicObject(19373, 1236.22595, -1109.17212, 3459.28491, 90.00000, 0.00000, 0.00000);
  38302. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet12-256x256");
  38303. carpet = CreateDynamicObject(19369, 1239.01990, -1118.56738, 3456.16919, 0.00000, 0.00000, 0.00000);
  38304. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38305. carpet = CreateDynamicObject(19369, 1240.71265, -1120.08325, 3456.16821, 0.00000, 0.00000, 90.00000);
  38306. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38307. carpet = CreateDynamicObject(19369, 1242.35291, -1118.56543, 3456.16919, 0.00000, 0.00000, 0.00000);
  38308. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38309. carpet = CreateDynamicObject(19369, 1240.71265, -1117.04932, 3456.16821, 0.00000, 0.00000, 90.00000);
  38310. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38311. new shelf = CreateDynamicObject(2046, 1236.47803, -1122.27710, 3459.87939, 0.00000, 0.00000, 90.00000);
  38312. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38313. SetDynamicObjectMaterial(shelf, 1, 18008, "intclothesa", "mp_cloth_wall");
  38314. shelf = CreateDynamicObject(2046, 1236.47803, -1120.77112, 3459.87939, 0.00000, 0.00000, 90.00000);
  38315. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38316. SetDynamicObjectMaterial(shelf, 1, 18008, "intclothesa", "mp_cloth_wall");
  38317. new plant = CreateDynamicObject(2811, 1241.17957, -1113.01331, 3457.90869, 0.00000, 0.00000, 0.00000);
  38318. SetDynamicObjectMaterial(plant, 1, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38319. new bathroomf = CreateDynamicObject(19375, 1230.88135, -1129.31702, 3457.82202, 0.00000, 90.00000, 0.00000); //Bathroom
  38320. SetDynamicObjectMaterial(bathroomf, 0, 14706, "labig2int2", "ab_tile1");
  38321. //Ceiling
  38322. new ceiling = CreateDynamicObject(19377, 1241.08459, -1103.85852, 3461.39990, 0.00000, 90.00000, 0.00000);
  38323. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38324. ceiling = CreateDynamicObject(19377, 1241.08459, -1113.49292, 3461.39990, 0.00000, 90.00000, 0.00000);
  38325. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38326. ceiling = CreateDynamicObject(19377, 1241.08459, -1123.12720, 3461.39990, 0.00000, 90.00000, 0.00000);
  38327. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38328. ceiling = CreateDynamicObject(19377, 1241.08276, -1132.74072, 3461.39990, 0.00000, 90.00000, 0.00000);
  38329. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38330. ceiling = CreateDynamicObject(19377, 1230.58459, -1113.49292, 3461.39990, 0.00000, 90.00000, 0.00000);
  38331. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38332. ceiling = CreateDynamicObject(19377, 1220.08313, -1113.49292, 3461.39990, 0.00000, 90.00000, 0.00000);
  38333. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38334. ceiling = CreateDynamicObject(19377, 1230.58459, -1123.12720, 3461.39990, 0.00000, 90.00000, 0.00000);
  38335. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38336. ceiling = CreateDynamicObject(19377, 1220.08313, -1123.12720, 3461.39990, 0.00000, 90.00000, 0.00000);
  38337. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38338. ceiling = CreateDynamicObject(19377, 1230.58459, -1132.74072, 3461.39990, 0.00000, 90.00000, 0.00000);
  38339. SetDynamicObjectMaterial(ceiling, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38340. //Window top-list
  38341. new windowl = CreateDynamicObject(637, 1245.22949, -1114.18799, 3460.66699, 0.00000, 0.00000, 180.00000);
  38342. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38343. windowl = CreateDynamicObject(637, 1245.24109, -1122.85364, 3460.66699, 0.00000, 0.00000, 180.00000);
  38344. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38345. windowl = CreateDynamicObject(637, 1245.23816, -1107.80835, 3460.66699, 0.00000, 0.00000, 180.00000);
  38346. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38347. windowl = CreateDynamicObject(637, 1242.27600, -1104.71997, 3460.66699, 0.00000, 0.00000, 270.00000);
  38348. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38349. windowl = CreateDynamicObject(637, 1239.03564, -1104.72644, 3460.66699, 0.00000, 0.00000, 270.00000);
  38350. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38351. windowl = CreateDynamicObject(637, 1228.17163, -1109.12268, 3460.66699, 0.00000, 0.00000, 270.00000);
  38352. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38353. windowl = CreateDynamicObject(637, 1221.94214, -1115.35889, 3460.66699, 0.00000, 0.00000, 0.00000);
  38354. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38355. windowl = CreateDynamicObject(637, 1221.95227, -1121.78589, 3460.66699, 0.00000, 0.00000, 0.00000);
  38356. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38357. windowl = CreateDynamicObject(637, 1228.20935, -1127.92944, 3460.66699, 0.00000, 0.00000, 90.00000);
  38358. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38359. windowl = CreateDynamicObject(637, 1245.21082, -1129.23621, 3460.66699, 0.00000, 0.00000, 180.00000);
  38360. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38361. windowl = CreateDynamicObject(637, 1242.21387, -1132.26953, 3460.66699, 0.00000, 0.00000, 90.00000);
  38362. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38363. windowl = CreateDynamicObject(637, 1239.01306, -1132.31750, 3460.66699, 0.00000, 0.00000, 90.00000);
  38364. SetDynamicObjectMaterial(windowl, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38365. //Curtains
  38366. new curtain = CreateDynamicObject(2559, 1227.67969, -1109.80530, 3459.24390, 0.00000, 0.00000, 0.00000);
  38367. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38368. curtain = CreateDynamicObject(2559, 1238.54846, -1105.41455, 3459.24390, 0.00000, 0.00000, 0.00000);
  38369. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38370. curtain = CreateDynamicObject(2559, 1244.56226, -1107.29358, 3459.24390, 0.00000, 0.00000, 270.00000);
  38371. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38372. curtain = CreateDynamicObject(2559, 1244.58826, -1113.69043, 3459.24390, 0.00000, 0.00000, 270.00000);
  38373. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38374. curtain = CreateDynamicObject(2559, 1244.57178, -1122.37305, 3459.24390, 0.00000, 0.00000, 270.00000);
  38375. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38376. curtain = CreateDynamicObject(2559, 1244.54907, -1128.77380, 3459.24390, 0.00000, 0.00000, 270.00000);
  38377. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38378. curtain = CreateDynamicObject(2559, 1242.71252, -1131.64478, 3459.24390, 0.00000, 0.00000, 180.00000);
  38379. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38380. curtain = CreateDynamicObject(2559, 1228.67578, -1127.27429, 3459.24390, 0.00000, 0.00000, 180.00000);
  38381. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38382. curtain = CreateDynamicObject(2559, 1222.62048, -1122.29211, 3459.24390, 0.00000, 0.00000, 90.00000);
  38383. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38384. curtain = CreateDynamicObject(2559, 1222.61475, -1115.84875, 3459.24390, 0.00000, 0.00000, 90.00000);
  38385. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38386. curtain = CreateDynamicObject(2558, 1241.75159, -1105.40515, 3459.24390, 0.00000, 0.00000, 0.00000);
  38387. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38388. curtain = CreateDynamicObject(2558, 1239.50757, -1131.63757, 3459.24390, 0.00000, 0.00000, 180.00000);
  38389. SetDynamicObjectMaterial(curtain, 1, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38390. //Curtains 2527, cj_bathroom CJ_PILLOWCASE
  38391. //Windows & TVs
  38392. new windowf = CreateDynamicObject(2737, 1245.11121, -1123.05957, 3459.60889, 0.00000, 0.00000, 270.00000);
  38393. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38394. windowf = CreateDynamicObject(2737, 1245.13000, -1129.51282, 3459.60889, 0.00000, 0.00000, 270.00000);
  38395. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38396. windowf = CreateDynamicObject(2737, 1245.14404, -1114.41785, 3459.60889, 0.00000, 0.00000, 270.00000);
  38397. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38398. windowf = CreateDynamicObject(2737, 1245.13013, -1108.01636, 3459.60889, 0.00000, 0.00000, 270.00000);
  38399. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38400. windowf = CreateDynamicObject(2737, 1242.44543, -1104.87915, 3459.60889, 0.00000, 0.00000, 0.00000);
  38401. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38402. windowf = CreateDynamicObject(2737, 1239.19897, -1104.87415, 3459.60889, 0.00000, 0.00000, 0.00000);
  38403. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38404. windowf = CreateDynamicObject(2737, 1228.42957, -1109.28613, 3459.60889, 0.00000, 0.00000, 0.00000);
  38405. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38406. windowf = CreateDynamicObject(2737, 1222.14758, -1115.13599, 3459.60889, 0.00000, 0.00000, 90.00000);
  38407. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38408. windowf = CreateDynamicObject(2737, 1222.12622, -1121.60742, 3459.60889, 0.00000, 0.00000, 90.00000);
  38409. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38410. windowf = CreateDynamicObject(2737, 1227.97888, -1127.81824, 3459.60889, 0.00000, 0.00000, 180.00000);
  38411. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38412. windowf = CreateDynamicObject(2737, 1238.83643, -1132.19983, 3459.60889, 0.00000, 0.00000, 180.00000);
  38413. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38414. windowf = CreateDynamicObject(2737, 1242.01672, -1132.21985, 3459.60889, 0.00000, 0.00000, 180.00000);
  38415. SetDynamicObjectMaterial(windowf, 0, 18008, "intclothesa", "mp_cloth_wall");
  38416. //Lamps
  38417. new lamp = CreateDynamicObject(1731, 1222.36926, -1120.19629, 3459.99268, 0.00000, 0.00000, 180.00000); //Wall
  38418. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38419. lamp = CreateDynamicObject(1731, 1222.36926, -1123.19629, 3459.99268, 0.00000, 0.00000, 180.00000);
  38420. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38421. lamp = CreateDynamicObject(1731, 1222.37976, -1113.46814, 3459.99268, 0.00000, 0.00000, 180.00000);
  38422. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38423. lamp = CreateDynamicObject(1731, 1226.40759, -1109.56616, 3459.99268, 0.00000, 0.00000, 90.00000);
  38424. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38425. lamp = CreateDynamicObject(1731, 1237.45435, -1112.79614, 3459.99268, 0.00000, 0.00000, 90.00000);
  38426. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38427. lamp = CreateDynamicObject(1731, 1245.35083, -1120.66394, 3459.99268, 0.00000, 0.00000, 315.00000);
  38428. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38429. lamp = CreateDynamicObject(1731, 1245.35913, -1116.37415, 3459.99268, 0.00000, 0.00000, -315.00000);
  38430. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38431. lamp = CreateDynamicObject(1731, 1236.46680, -1110.87610, 3459.99268, 0.00000, 0.00000, 180.00000);
  38432. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38433. lamp = CreateDynamicObject(1731, 1236.47217, -1107.45508, 3459.99268, 0.00000, 0.00000, 180.00000);
  38434. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38435. lamp = CreateDynamicObject(1731, 1238.38623, -1124.75513, 3459.99268, 0.00000, 0.00000, 90.00000);
  38436. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38437. lamp = CreateDynamicObject(1731, 1241.77124, -1124.74866, 3459.99268, 0.00000, 0.00000, 90.00000);
  38438. SetDynamicObjectMaterial(lamp, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38439. lamp = CreateDynamicObject(2069, 1236.60461, -1124.82288, 3457.92041, 0.00000, 0.00000, 0.00000); //Standing
  38440. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38441. lamp = CreateDynamicObject(2069, 1244.57910, -1124.95947, 3457.92041, 0.00000, 0.00000, 0.00000);
  38442. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38443. lamp = CreateDynamicObject(2069, 1236.59998, -1124.13025, 3457.92041, 0.00000, 0.00000, 0.00000);
  38444. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38445. lamp = CreateDynamicObject(2069, 1236.65588, -1116.45947, 3457.92041, 0.00000, 0.00000, 0.00000);
  38446. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38447. lamp = CreateDynamicObject(2069, 1232.72852, -1113.06738, 3457.92041, 0.00000, 0.00000, 0.00000);
  38448. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38449. lamp = CreateDynamicObject(2069, 1230.67444, -1109.69385, 3457.92041, 0.00000, 0.00000, 0.00000);
  38450. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38451. lamp = CreateDynamicObject(2069, 1243.70288, -1105.36133, 3457.92041, 0.00000, 0.00000, 0.00000);
  38452. SetDynamicObjectMaterial(lamp, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38453. //LIVING ROOM
  38454. //Couch chair
  38455. new couch = CreateDynamicObject(1708, 1235.42432, -1114.39282, 3457.90845, 0.00000, 0.00000, 270.00000);
  38456. SetDynamicObjectMaterial(couch, 2, 1726, "mrk_couches2", "kb_sofa5_256");
  38457. SetDynamicObjectMaterial(couch, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38458. couch = CreateDynamicObject(1708, 1233.32446, -1113.32239, 3457.90845, 0.00000, 0.00000, 0.00000);
  38459. SetDynamicObjectMaterial(couch, 2, 1726, "mrk_couches2", "kb_sofa5_256");
  38460. SetDynamicObjectMaterial(couch, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38461. //Couch
  38462. couch = CreateDynamicObject(1713, 1225.67224, -1114.16638, 3457.90894, 0.00000, 0.00000, 180.00000);
  38463. SetDynamicObjectMaterial(couch, 2, 1726, "mrk_couches2", "kb_sofa5_256");
  38464. SetDynamicObjectMaterial(couch, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38465. couch = CreateDynamicObject(1713, 1227.26563, -1111.12415, 3457.90894, 0.00000, 0.00000, 270.00000);
  38466. SetDynamicObjectMaterial(couch, 2, 1726, "mrk_couches2", "kb_sofa5_256");
  38467. SetDynamicObjectMaterial(couch, 1, 3781, "LSOffice1floors", "carpet13-256x256");
  38468. //Pillows
  38469. new pil = CreateDynamicObject(1563, 1224.08569, -1114.27051, 3458.55493, 0.00000, 0.00000, 180.00000);
  38470. SetDynamicObjectMaterial(pil, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38471. pil = CreateDynamicObject(1563, 1225.62598, -1114.31506, 3458.55493, 0.00000, 0.00000, 180.00000);
  38472. SetDynamicObjectMaterial(pil, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38473. pil = CreateDynamicObject(1563, 1227.38293, -1112.68372, 3458.55493, 0.00000, 0.00000, 270.00000);
  38474. SetDynamicObjectMaterial(pil, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38475. pil = CreateDynamicObject(1563, 1227.40576, -1111.15710, 3458.55493, 0.00000, 0.00000, 270.00000);
  38476. SetDynamicObjectMaterial(pil, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38477. new lowtable = CreateDynamicObject(1818, 1225.33191, -1112.43201, 3457.89160, 0.00000, 0.00000, 90.00000);
  38478. SetDynamicObjectMaterial(lowtable, 0, 2117, "cj_tables", "CJ_WOOD5");
  38479. lowtable = CreateDynamicObject(1742, 1222.55054, -1110.06812, 3456.25000, 0.00000, 0.00000, 45.00000);
  38480. SetDynamicObjectMaterial(lowtable, 2, 2117, "cj_tables", "CJ_WOOD5");
  38481. //Speakers
  38482. new speaker = CreateDynamicObject(2233, 1222.49390, -1110.70386, 3457.90869, 0.00000, 0.00000, 45.00000);
  38483. SetDynamicObjectMaterial(speaker, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38484. speaker = CreateDynamicObject(2233, 1224.00830, -1109.13147, 3457.90869, 0.00000, 0.00000, 45.00000);
  38485. SetDynamicObjectMaterial(speaker, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38486. //TV
  38487. new TV = CreateDynamicObject(2737, 1223.18384, -1110.06140, 3459.08667, 0.00000, 0.00000, 45.00000);
  38488. SetDynamicObjectMaterial(TV, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38489. SetDynamicObjectMaterial(TV, 1, 1786, "cj_tv", "CJ_Black_metal", 0xFF000000);
  38490. TV = CreateDynamicObject(2737, 1236.65125, -1127.39771, 3459.08667, 0.00000, 0.00000, 90.00000);
  38491. SetDynamicObjectMaterial(TV, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38492. SetDynamicObjectMaterial(TV, 1, 1786, "cj_tv", "CJ_Black_metal", 0xFF000000);
  38493. new bookshelf = CreateDynamicObject(1744, 1236.32495, -1127.14294, 3458.07617, 270.00000, 0.00000, 270.00000);
  38494. SetDynamicObjectMaterial(bookshelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38495. bookshelf = CreateDynamicObject(1744, 1235.96143, -1127.13049, 3457.70898, 270.00000, 0.00000, 270.00000);
  38496. SetDynamicObjectMaterial(bookshelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38497. //Bookshelves
  38498. bookshelf = CreateDynamicObject(1742, 1236.16394, -1129.51343, 3457.88794, 0.00000, 0.00000, 90.00000);
  38499. SetDynamicObjectMaterial(bookshelf, 2, 2117, "cj_tables", "CJ_WOOD5");
  38500. bookshelf = CreateDynamicObject(1742, 1236.16394, -1126.18188, 3457.88794, 0.00000, 0.00000, 90.00000);
  38501. SetDynamicObjectMaterial(bookshelf, 2, 2117, "cj_tables", "CJ_WOOD5");
  38502. bookshelf = CreateDynamicObject(1742, 1236.16394, -1127.87683, 3456.25000, 0.00000, 0.00000, 90.00000);
  38503. SetDynamicObjectMaterial(bookshelf, 2, 2117, "cj_tables", "CJ_WOOD5");
  38504. bookshelf = CreateDynamicObject(1742, 1236.22644, -1116.21069, 3457.89600, 0.00000, 0.00000, 270.00000);
  38505. SetDynamicObjectMaterial(bookshelf, 2, 2117, "cj_tables", "CJ_WOOD5");
  38506. bookshelf = CreateDynamicObject(1815, 1235.96387, -1113.86340, 3457.89160, 0.00000, 0.00000, 90.00000);
  38507. SetDynamicObjectMaterial(bookshelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38508. //Windows
  38509. new window = CreateDynamicObject(19466, 1245.09290, -1123.05151, 3459.68604, 0.00000, 0.00000, 0.00000);
  38510. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38511. window = CreateDynamicObject(19466, 1245.13159, -1114.29578, 3459.68604, 0.00000, 0.00000, 0.00000);
  38512. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38513. window = CreateDynamicObject(19466, 1245.10168, -1107.97559, 3459.68604, 0.00000, 0.00000, 0.00000);
  38514. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38515. window = CreateDynamicObject(19466, 1242.09937, -1104.89221, 3459.68604, 0.00000, 0.00000, 90.00000);
  38516. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38517. window = CreateDynamicObject(19466, 1239.01501, -1104.88806, 3459.68604, 0.00000, 0.00000, 90.00000);
  38518. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38519. window = CreateDynamicObject(19466, 1228.27124, -1109.29480, 3459.68604, 0.00000, 0.00000, 90.00000);
  38520. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38521. window = CreateDynamicObject(19466, 1228.15210, -1127.77917, 3459.68604, 0.00000, 0.00000, 90.00000);
  38522. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38523. window = CreateDynamicObject(19466, 1222.15100, -1121.96497, 3459.68604, 0.00000, 0.00000, 0.00000);
  38524. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38525. window = CreateDynamicObject(19466, 1222.14563, -1115.53052, 3459.68604, 0.00000, 0.00000, 0.00000);
  38526. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38527. window = CreateDynamicObject(19466, 1245.12170, -1129.24756, 3459.68604, 0.00000, 0.00000, 0.00000);
  38528. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38529. window = CreateDynamicObject(19466, 1239.05408, -1132.17322, 3459.68604, 0.00000, 0.00000, 90.00000);
  38530. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38531. window = CreateDynamicObject(19466, 1242.27502, -1132.20679, 3459.68604, 0.00000, 0.00000, 90.00000);
  38532. SetDynamicObjectMaterial(window, 0, 18009, "genintrestrest1", "koen_win");
  38533. window = CreateDynamicObject(2259, 1231.74341, -1127.28528, 3459.43921, 0.00000, 0.00000, 90.00000);
  38534. SetDynamicObjectMaterial(window, 1, 18009, "genintrestrest1", "koen_win");
  38535. SetDynamicObjectMaterial(window, 0,2143, "cj_kitchen", "CJ_Black_metal");
  38536. window = CreateDynamicObject(2259, 1238.93652, -1113.51807, 3458.31348, -20.00000, 0.00000, 0.00000);
  38537. SetDynamicObjectMaterial(window, 1, 18009, "genintrestrest1", "koen_win");
  38538. SetDynamicObjectMaterial(window, 0,2143, "cj_kitchen", "CJ_Black_metal");
  38539. //Bar chairs
  38540. CreateDynamicObject(2125, 1227.78796, -1117.20422, 3458.21973, 0.00000, 0.00000, 0.00000);
  38541. CreateDynamicObject(2125, 1226.20569, -1117.21887, 3458.21973, 0.00000, 0.00000, 0.00000);
  38542. CreateDynamicObject(2125, 1224.62463, -1117.21411, 3458.21973, 0.00000, 0.00000, 0.00000);
  38543. //KITCHEN STUFF
  38544. new k4 = CreateDynamicObject(2131, 1229.30383, -1119.28430, 3457.90845, 0.00000, 0.00000, 0.00000);
  38545. SetDynamicObjectMaterial(k4, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38546. SetDynamicObjectMaterial(k4, 2, 2143, "cj_kitchen", "CJ_Black_metal");
  38547. new k1 = CreateDynamicObject(2133, 1226.20618, -1121.86255, 3457.92847, 0.00000, 0.00000, 180.00000); //Kogeplade
  38548. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal", 0xFF000000);
  38549. SetDynamicObjectMaterial(k1, 2, 1956, "mixkb1", "blak_1", 0xFF000000);
  38550. k1 = CreateDynamicObject(2133, 1222.72473, -1121.26672, 3457.90845, 0.00000, 0.00000, 90.00000);
  38551. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38552. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38553. k1 = CreateDynamicObject(2134, 1228.31470, -1119.27649, 3457.90845, 0.00000, 0.00000, 0.00000);
  38554. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38555. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38556. new k3 = CreateDynamicObject(2141, 1222.69958, -1124.23608, 3457.90845, 0.00000, 0.00000, 90.00000);
  38557. SetDynamicObjectMaterial(k3, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38558. SetDynamicObjectMaterial(k3, 2, 2143, "cj_kitchen", "CJ_Black_metal");
  38559. k1 = CreateDynamicObject(2134, 1227.31604, -1119.27649, 3457.90845, 0.00000, 0.00000, 0.00000);
  38560. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38561. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38562. k1 = CreateDynamicObject(2134, 1224.31714, -1119.28455, 3457.90845, 0.00000, 0.00000, 0.00000);
  38563. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38564. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38565. k1 = CreateDynamicObject(2134, 1223.31726, -1119.28455, 3457.90845, 0.00000, 0.00000, 0.00000);
  38566. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38567. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38568. k1 = CreateDynamicObject(2134, 1222.71533, -1119.28076, 3457.90747, 0.00000, 0.00000, 90.00000);
  38569. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38570. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38571. k1 = CreateDynamicObject(2134, 1222.71472, -1120.25879, 3457.90747, 0.00000, 0.00000, 90.00000);
  38572. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38573. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38574. k1 = CreateDynamicObject(2133, 1222.72473, -1122.26575, 3457.90845, 0.00000, 0.00000, 90.00000);
  38575. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38576. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38577. k1 = CreateDynamicObject(2134, 1222.71545, -1123.25708, 3457.90747, 0.00000, 0.00000, 90.00000);
  38578. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38579. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38580. k1 = CreateDynamicObject(2133, 1227.17615, -1122.76343, 3457.90845, 0.00000, 0.00000, 0.00000);
  38581. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38582. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38583. k1 = CreateDynamicObject(2133, 1227.20508, -1121.74255, 3457.90845, 0.00000, 0.00000, 180.00000);
  38584. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38585. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38586. k1 = CreateDynamicObject(2133, 1226.17627, -1122.76343, 3457.90845, 0.00000, 0.00000, 0.00000);
  38587. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38588. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38589. k1 = CreateDynamicObject(2133, 1225.17786, -1122.76343, 3457.90845, 0.00000, 0.00000, 0.00000);
  38590. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38591. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38592. k1 = CreateDynamicObject(2133, 1226.20618, -1121.74255, 3457.90845, 0.00000, 0.00000, 180.00000);
  38593. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38594. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38595. k1 = CreateDynamicObject(2133, 1225.20593, -1121.74255, 3457.90845, 0.00000, 0.00000, 180.00000);
  38596. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38597. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38598. CreateDynamicObject(2134, 1228.31592, -1119.59436, 3458.55493, 270.00000, 0.00000, 0.00000); //Don't texture
  38599. CreateDynamicObject(2134, 1228.31726, -1118.53894, 3458.24243, 90.00000, 0.00000, 0.00000); //Don't texture
  38600. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38601. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38602. CreateDynamicObject(2134, 1221.98535, -1120.26172, 3458.24243, 90.00000, 0.00000, 90.00000); //Don't texture
  38603. CreateDynamicObject(2134, 1223.04004, -1120.26184, 3458.55493, 270.00000, 0.00000, 90.00000); //Don't texture
  38604. k1 = CreateDynamicObject(2134, 1226.31726, -1119.27649, 3457.90845, 0.00000, 0.00000, 0.00000);
  38605. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38606. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38607. k1 = CreateDynamicObject(2134, 1225.31702, -1119.27649, 3457.90845, 0.00000, 0.00000, 0.00000);
  38608. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38609. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38610. k1 = CreateDynamicObject(2117, 1223.44666, -1118.28955, 3458.34351, 0.00000, 0.00000, 0.00000);
  38611. SetDynamicObjectMaterial(k1, 0, 2117, "cj_tables", "marble1");
  38612. k1 = CreateDynamicObject(2117, 1225.43359, -1118.28955, 3458.34351, 0.00000, 0.00000, 0.00000);
  38613. SetDynamicObjectMaterial(k1, 0, 2117, "cj_tables", "marble1");
  38614. k1 = CreateDynamicObject(2117, 1227.42065, -1118.28955, 3458.34351, 0.00000, 0.00000, 0.00000);
  38615. SetDynamicObjectMaterial(k1, 0, 2117, "cj_tables", "marble1");
  38616. //Sink
  38617. CreateDynamicObject(2518, 1225.80127, -1119.43396, 3458.15991, 0.00000, 0.00000, 0.00000);
  38618. //Kogeplade
  38619. new plate = CreateDynamicObject(2613, 1226.26282, -1120.96936, 3458.59106, 0.00000, 0.00000, 0.00000);
  38620. SetDynamicObjectMaterial(plate, 0, 19184, "mapmarkers", "Red-2", 0xFFA60202);
  38621. plate = CreateDynamicObject(2613, 1226.26282, -1121.30420, 3458.59106, 0.00000, 0.00000, 0.00000);
  38622. SetDynamicObjectMaterial(plate, 0, 19184, "mapmarkers", "Red-2", 0xFFA60202);
  38623. plate = CreateDynamicObject(2613, 1226.71619, -1121.30420, 3458.59106, 0.00000, 0.00000, 0.00000);
  38624. SetDynamicObjectMaterial(plate, 0, 19184, "mapmarkers", "Red-2", 0xFFA60202);
  38625. plate = CreateDynamicObject(2613, 1226.71619, -1120.96936, 3458.59106, 0.00000, 0.00000, 0.00000);
  38626. SetDynamicObjectMaterial(plate, 0, 19184, "mapmarkers", "Red-2", 0xFFA60202);
  38627. //Table/cahirs
  38628. new table = CreateDynamicObject(2029, 1227.83997, -1126.19580, 3457.89526, 0.00000, 0.00000, 90.00000);
  38629. SetDynamicObjectMaterial(table, 0, 2117, "cj_tables", "CJ_WOOD5");
  38630. new chair = CreateDynamicObject(2124, 1229.00671, -1126.23657, 3458.73608, 0.00000, 0.00000, 0.00000);
  38631. SetDynamicObjectMaterial(chair, 0, 2117, "cj_tables", "CJ_WOOD5");
  38632. chair = CreateDynamicObject(2124, 1228.96082, -1125.17664, 3458.73608, 0.00000, 0.00000, 0.00000);
  38633. SetDynamicObjectMaterial(chair, 0, 2117, "cj_tables", "CJ_WOOD5");
  38634. chair = CreateDynamicObject(2124, 1226.66064, -1125.16650, 3458.73608, 0.00000, 0.00000, 180.00000);
  38635. SetDynamicObjectMaterial(chair, 0, 2117, "cj_tables", "CJ_WOOD5");
  38636. chair = CreateDynamicObject(2124, 1226.61340, -1126.22571, 3458.73608, 0.00000, 0.00000, 180.00000);
  38637. SetDynamicObjectMaterial(chair, 0, 2117, "cj_tables", "CJ_WOOD5");
  38638. //Bin
  38639. new bin = CreateDynamicObject(2613, 1231.33569, -1118.27307, 3457.91504, 0.00000, 0.00000, 0.00000);
  38640. SetDynamicObjectMaterial(bin, 0, 19184, "mapmarkers", "Red-2", 0xFF888888);
  38641. //Buttons and clocklines
  38642. new button = CreateDynamicObject(19348, 1222.96057, -1120.59570, 3458.83203, 90.00000, 0.00000, 270.00000);
  38643. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38644. button = CreateDynamicObject(19348, 1222.96057, -1120.36169, 3458.83203, 90.00000, 0.00000, 270.00000);
  38645. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38646. button = CreateDynamicObject(19348, 1222.96057, -1120.12769, 3458.83203, 90.00000, 0.00000, 270.00000);
  38647. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38648. button = CreateDynamicObject(19348, 1222.96057, -1119.89368, 3458.83203, 90.00000, 0.00000, 270.00000);
  38649. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38650. button = CreateDynamicObject(19348, 1227.95361, -1119.48767, 3458.83203, 90.00000, 0.00000, 180.00000);
  38651. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38652. button = CreateDynamicObject(19348, 1228.03662, -1119.48767, 3458.83203, 90.00000, 0.00000, 180.00000);
  38653. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38654. button = CreateDynamicObject(19348, 1226.59473, -1121.56860, 3458.90527, 180.00000, 0.00000, 0.00000);
  38655. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38656. button = CreateDynamicObject(19348, 1226.52673, -1121.56860, 3458.90527, 180.00000, 0.00000, 0.00000);
  38657. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38658. button = CreateDynamicObject(19348, 1226.45874, -1121.56860, 3458.90527, 180.00000, 0.00000, 0.00000);
  38659. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38660. button = CreateDynamicObject(19348, 1226.39075, -1121.56860, 3458.90527, 180.00000, 0.00000, 0.00000);
  38661. SetDynamicObjectMaterial(button, 0, 19184, "mapmarkers", "Red-2", 0xFF000000);
  38662. new clock = CreateDynamicObject(19348, 1222.77869, -1127.20044, 3459.83569, 90.00000, 0.00000, 315.00000);
  38663. SetDynamicObjectMaterial(clock, 0, 19184, "mapmarkers", "Red-2", 0xFFFFFFFF);
  38664. clock = CreateDynamicObject(19348, 1222.76770, -1127.21326, 3459.14233, -5.00000, 0.00000, 315.00000);
  38665. SetDynamicObjectMaterial(clock, 0, 19184, "mapmarkers", "Red-2", 0xFFFFFFFF);
  38666. clock = CreateDynamicObject(19348, 1222.23169, -1126.67078, 3459.83765, 0.00000, 90.00000, 319.15060);
  38667. SetDynamicObjectMaterial(clock, 0, 19184, "mapmarkers", "Red-2", 0xFFFFFFFF);
  38668. clock = CreateDynamicObject(19348, 1244.49707, -1105.51721, 3459.41455, 0.00000, -10.00000, 45.00000);
  38669. SetDynamicObjectMaterial(clock, 0, 19184, "mapmarkers", "Red-2", 0xFFFFFFFF);
  38670. clock = CreateDynamicObject(19348, 1245.05151, -1106.01587, 3460.12598, 90.00000, -10.00000, 247.39012);
  38671. SetDynamicObjectMaterial(clock, 0, 19184, "mapmarkers", "Red-2", 0xFFFFFFFF);
  38672. clock = CreateDynamicObject(19348, 1244.43994, -1105.57324, 3460.12500, 0.00000, 90.00000, 45.00000);
  38673. SetDynamicObjectMaterial(clock, 0, 19184, "mapmarkers", "Red-2", 0xFFFFFFFF);
  38674. //Shelves
  38675. shelf = CreateDynamicObject(1744, 1236.15222, -1128.09521, 3459.58569, 0.00000, 0.00000, 90.00000);
  38676. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38677. shelf = CreateDynamicObject(1744, 1239.64795, -1124.43005, 3459.58569, 0.00000, 0.00000, 0.00000);
  38678. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38679. shelf = CreateDynamicObject(1744, 1223.60254, -1118.41553, 3459.79077, 0.00000, 0.00000, 90.00000);
  38680. SetDynamicObjectMaterial(shelf, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38681. shelf = CreateDynamicObject(1744, 1228.96106, -1117.46558, 3459.79077, 0.00000, 0.00000, 270.00000);
  38682. SetDynamicObjectMaterial(shelf, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38683. shelf = CreateDynamicObject(1744, 1236.13684, -1109.68835, 3459.58569, 0.00000, 0.00000, 90.00000);
  38684. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38685. //BATHROOM
  38686. //Toilet
  38687. new toilet = CreateDynamicObject(2528, 1235.61975, -1128.09949, 3457.90918, 0.00000, 0.00000, 270.00000);
  38688. SetDynamicObjectMaterial(toilet, 0, 2117, "cj_tables", "CJ_WOOD5");
  38689. SetDynamicObjectMaterial(toilet, 4, 3781, "LSOffice1floors", "carpet14-256x256");
  38690. //Carpet
  38691. carpet = CreateDynamicObject(2817, 1234.48120, -1130.32446, 3457.90991, 0.00000, 0.00000, 0.00000);
  38692. SetDynamicObjectMaterial(carpet, 0, 3781, "LSOffice1floors", "carpet14-256x256");
  38693. k1 = CreateDynamicObject(2134, 1231.75635, -1128.27161, 3457.90845, 0.00000, 0.00000, 90.00000);
  38694. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38695. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38696. k1 = CreateDynamicObject(2134, 1231.75635, -1127.27161, 3457.90845, 0.00000, 0.00000, 90.00000);
  38697. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38698. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38699. k1 = CreateDynamicObject(2134, 1231.75635, -1126.27260, 3457.90845, 0.00000, 0.00000, 90.00000);
  38700. SetDynamicObjectMaterial(k1, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38701. SetDynamicObjectMaterial(k1, 2, 2117, "cj_tables", "marble1");
  38702. shelf = CreateDynamicObject(1742, 1236.23950, -1125.91174, 3456.25586, 0.00000, 0.00000, 270.00000);
  38703. SetDynamicObjectMaterial(shelf, 2, 2117, "cj_tables", "CJ_WOOD5");
  38704. shelf = CreateDynamicObject(1744, 1236.27563, -1125.09192, 3460.09009, 0.00000, 0.00000, 270.00000);
  38705. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38706. shelf = CreateDynamicObject(1744, 1236.27563, -1129.33069, 3460.09009, 0.00000, 0.00000, 270.00000);
  38707. SetDynamicObjectMaterial(shelf, 0, 2117, "cj_tables", "CJ_WOOD5");
  38708. new towel = CreateDynamicObject(2384, 1235.97876, -1125.66736, 3458.39868, 0.00000, 0.00000, 270.00000);
  38709. SetDynamicObjectMaterial(towel, 0, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38710. towel = CreateDynamicObject(2384, 1235.96497, -1126.49988, 3458.01538, 0.00000, 0.00000, 270.00000);
  38711. SetDynamicObjectMaterial(towel, 0, 2527, "cj_bathroom", "CJ_PILLOWCASE");
  38712. CreateDynamicObject(2475, 1231.20654, -1130.70398, 3457.02661, 0.00000, 0.00000, 180.00000);
  38713. CreateDynamicObject(2749, 1231.40979, -1130.59192, 3459.20630, 0.00000, 0.00000, 0.00000);
  38714. CreateDynamicObject(2752, 1231.41699, -1130.43640, 3459.21704, 0.00000, 0.00000, 0.00000);
  38715. CreateDynamicObject(2751, 1231.57275, -1130.48572, 3459.25903, 0.00000, 0.00000, 0.00000);
  38716. carpet = CreateDynamicObject(19373, 1232.02087, -1130.40259, 3457.82690, 0.00000, 90.00000, 0.00000);
  38717. SetDynamicObjectMaterial(carpet, 0, 2143, "cj_kitchen", "CJ_Black_metal");
  38718. //Wallpaint
  38719. new paint = CreateDynamicObject(2267, 1240.99976, -1124.37854, 3460.10791, 0.00000, 0.00000, 180.00000);
  38720. SetDynamicObjectMaterial(paint, 0, 2117, "cj_tables", "CJ_WOOD5");
  38721. paint = CreateDynamicObject(2270, 1238.25732, -1123.91919, 3459.70166, 0.00000, 0.00000, 180.00000);
  38722. SetDynamicObjectMaterial(paint, 0, 2117, "cj_tables", "CJ_WOOD5");
  38723. paint = CreateDynamicObject(2269, 1238.97156, -1111.98206, 3459.80469, 0.00000, 0.00000, 180.00000);
  38724. SetDynamicObjectMaterial(paint, 1, 2117, "cj_tables", "CJ_WOOD5");
  38725. paint = CreateDynamicObject(2268, 1241.62842, -1111.97949, 3459.70557, 0.00000, 0.00000, 180.00000);
  38726. SetDynamicObjectMaterial(paint, 0, 2117, "cj_tables", "CJ_WOOD5");
  38727. //Beds
  38728. new bed = CreateDynamicObject(2299, 1239.58105, -1128.11060, 3457.90137, 0.00000, 0.00000, 0.00000);
  38729. SetDynamicObjectMaterial(bed, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38730. SetDynamicObjectMaterial(bed, 2, 2117, "cj_tables", "CJ_WOOD5");
  38731. SetDynamicObjectMaterial(bed, 3, 2117, "cj_tables", "CJ_WOOD5");
  38732. bed = CreateDynamicObject(2299, 1239.82959, -1109.70886, 3457.90137, 0.00000, 0.00000, 90.00000);
  38733. SetDynamicObjectMaterial(bed, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38734. SetDynamicObjectMaterial(bed, 2, 2117, "cj_tables", "CJ_WOOD5");
  38735. SetDynamicObjectMaterial(bed, 3, 2117, "cj_tables", "CJ_WOOD5");
  38736. //Computer
  38737. new pc = CreateDynamicObject(2265, 1239.97144, -1111.77808, 3458.98511, -170.00000, 90.00000, 0.00000); //Screen
  38738. SetDynamicObjectMaterial(pc, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38739. SetDynamicObjectMaterial(pc, 1, 1786, "cj_tv", "CJ_Black_metal", 0xFF000000);
  38740. pc = CreateDynamicObject(2265, 1240.68994, -1112.02075, 3459.19531, 270.00000, 0.00000, 90.00000); //Keyboard
  38741. SetDynamicObjectMaterial(pc, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFF888888);
  38742. SetDynamicObjectMaterial(pc, 1, 1786, "cj_tv", "CJ_Black_metal", 0xFF000000);
  38743. new mousepad = CreateDynamicObject(18874, 1240.40784, -1111.85876, 3458.72681, 0.00000, 180.00000, 90.00000);
  38744. SetDynamicObjectMaterial(mousepad, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38745. SetDynamicObjectMaterial(mousepad, 1, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38746. SetDynamicObjectMaterial(mousepad, 2, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38747. button = CreateDynamicObject(19208, 1240.53113, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38748. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38749. button = CreateDynamicObject(19208, 1240.49512, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38750. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38751. button = CreateDynamicObject(19208, 1240.45911, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38752. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38753. button = CreateDynamicObject(19208, 1240.42310, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38754. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38755. button = CreateDynamicObject(19208, 1240.38708, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38756. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38757. button = CreateDynamicObject(19208, 1240.35107, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38758. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38759. button = CreateDynamicObject(19208, 1240.31506, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38760. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38761. button = CreateDynamicObject(19208, 1240.27905, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38762. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38763. button = CreateDynamicObject(19208, 1240.24304, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38764. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38765. button = CreateDynamicObject(19208, 1240.20703, -1112.12732, 3458.71460, 0.00000, 0.00000, 0.00000);
  38766. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38767. button = CreateDynamicObject(19208, 1240.21899, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38768. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38769. button = CreateDynamicObject(19208, 1240.25500, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38770. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38771. button = CreateDynamicObject(19208, 1240.29102, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38772. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38773. button = CreateDynamicObject(19208, 1240.32703, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38774. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38775. button = CreateDynamicObject(19208, 1240.36304, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38776. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38777. button = CreateDynamicObject(19208, 1240.39905, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38778. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38779. button = CreateDynamicObject(19208, 1240.43506, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38780. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38781. button = CreateDynamicObject(19208, 1240.47107, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38782. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38783. button = CreateDynamicObject(19208, 1240.50708, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38784. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38785. button = CreateDynamicObject(19208, 1240.54309, -1112.09131, 3458.71460, 0.00000, 0.00000, 0.00000);
  38786. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38787. button = CreateDynamicObject(19208, 1240.54309, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38788. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38789. button = CreateDynamicObject(19208, 1240.54309, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38790. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38791. button = CreateDynamicObject(19208, 1240.54309, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38792. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38793. button = CreateDynamicObject(19208, 1240.50708, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38794. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38795. button = CreateDynamicObject(19208, 1240.47107, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38796. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38797. button = CreateDynamicObject(19208, 1240.43506, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38798. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38799. button = CreateDynamicObject(19208, 1240.39905, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38800. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38801. button = CreateDynamicObject(19208, 1240.36304, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38802. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38803. button = CreateDynamicObject(19208, 1240.32703, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38804. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38805. button = CreateDynamicObject(19208, 1240.29102, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38806. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38807. button = CreateDynamicObject(19208, 1240.25500, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38808. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38809. button = CreateDynamicObject(19208, 1240.21899, -1112.05530, 3458.71460, 0.00000, 0.00000, 0.00000);
  38810. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38811. button = CreateDynamicObject(19208, 1240.50708, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38812. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38813. button = CreateDynamicObject(19208, 1240.47107, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38814. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38815. button = CreateDynamicObject(19208, 1240.43506, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38816. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38817. button = CreateDynamicObject(19208, 1240.39905, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38818. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38819. button = CreateDynamicObject(19208, 1240.36304, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38820. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38821. button = CreateDynamicObject(19208, 1240.32703, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38822. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38823. button = CreateDynamicObject(19208, 1240.29102, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38824. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38825. button = CreateDynamicObject(19208, 1240.25500, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38826. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38827. button = CreateDynamicObject(19208, 1240.21899, -1112.01929, 3458.71460, 0.00000, 0.00000, 0.00000);
  38828. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38829. button = CreateDynamicObject(19208, 1240.50708, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38830. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38831. button = CreateDynamicObject(19208, 1240.47107, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38832. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38833. button = CreateDynamicObject(19208, 1240.43506, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38834. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38835. button = CreateDynamicObject(19208, 1240.39905, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38836. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38837. button = CreateDynamicObject(19208, 1240.36304, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38838. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38839. button = CreateDynamicObject(19208, 1240.32703, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38840. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38841. button = CreateDynamicObject(19208, 1240.29102, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38842. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38843. button = CreateDynamicObject(19208, 1240.25500, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38844. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38845. button = CreateDynamicObject(19208, 1240.21899, -1111.98328, 3458.71460, 0.00000, 0.00000, 0.00000);
  38846. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38847. button = CreateDynamicObject(19208, 1240.17896, -1111.96790, 3458.71460, 0.00000, 0.00000, 0.00000);
  38848. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38849. button = CreateDynamicObject(19208, 1240.15503, -1111.99194, 3458.71460, 0.00000, 0.00000, 0.00000);
  38850. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38851. button = CreateDynamicObject(19208, 1240.15503, -1111.96790, 3458.71460, 0.00000, 0.00000, 0.00000);
  38852. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38853. button = CreateDynamicObject(19208, 1240.13098, -1111.96790, 3458.71460, 0.00000, 0.00000, 0.00000);
  38854. SetDynamicObjectMaterial(button, 0, 1786, "cj_tv", "CJ_Black_metal", 0xFFFFFFFF);
  38855. //Chair
  38856. chair = CreateDynamicObject(1806, 1239.96997, -1111.01172, 3457.90942, 0.00000, 0.00000, 190.00000);
  38857. SetDynamicObjectMaterial(chair, 0, 3781, "LSOffice1floors", "carpet13-256x256");
  38858. SetDynamicObjectMaterial(chair, 1, 1806, "cj_office", "CJ_blackplastic");
  38859. //Lists
  38860. new list = CreateDynamicObject(19459, 1245.07349, -1126.08191, 3456.35938, 0.00000, 0.00000, 0.00000);
  38861. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38862. list = CreateDynamicObject(19459, 1246.17114, -1129.83008, 3456.35938, 0.00000, 0.00000, 135.00000);
  38863. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38864. list = CreateDynamicObject(19459, 1239.10986, -1132.11206, 3456.35938, 0.00000, 0.00000, 90.00000);
  38865. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38866. list = CreateDynamicObject(19459, 1239.62952, -1134.34424, 3456.35938, 0.00000, 0.00000, -135.00000);
  38867. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38868. list = CreateDynamicObject(19459, 1236.22375, -1127.34314, 3456.35938, 0.00000, 0.00000, 0.00000);
  38869. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38870. list = CreateDynamicObject(19459, 1248.45203, -1117.92163, 3456.35938, 0.00000, 0.00000, 135.00000);
  38871. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38872. list = CreateDynamicObject(19459, 1246.20801, -1124.24353, 3456.35938, 0.00000, 0.00000, 0.00000);
  38873. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38874. list = CreateDynamicObject(19459, 1246.20801, -1112.77410, 3456.35938, 0.00000, 0.00000, 0.00000);
  38875. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38876. list = CreateDynamicObject(19459, 1248.45276, -1119.13086, 3456.35938, 0.00000, 0.00000, -135.00000);
  38877. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38878. list = CreateDynamicObject(19459, 1245.07239, -1110.97229, 3456.35938, 0.00000, 0.00000, 0.00000);
  38879. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38880. list = CreateDynamicObject(19459, 1241.66394, -1102.71326, 3456.35938, 0.00000, 0.00000, -135.00000);
  38881. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38882. list = CreateDynamicObject(19459, 1240.10583, -1104.94751, 3456.35938, 0.00000, 0.00000, 90.00000);
  38883. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38884. list = CreateDynamicObject(19459, 1239.58899, -1102.75098, 3456.35938, 0.00000, 0.00000, 135.00000);
  38885. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38886. list = CreateDynamicObject(19459, 1236.22083, -1110.94592, 3456.35938, 0.00000, 0.00000, 0.00000);
  38887. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38888. list = CreateDynamicObject(19459, 1249.00623, -1124.49255, 3456.35938, 0.00000, 0.00000, 90.00000);
  38889. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38890. list = CreateDynamicObject(19459, 1249.00769, -1124.49866, 3456.35938, 0.00000, 0.00000, 90.00000);
  38891. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38892. list = CreateDynamicObject(19459, 1249.00586, -1112.56702, 3456.35938, 0.00000, 0.00000, 90.00000);
  38893. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38894. list = CreateDynamicObject(19459, 1249.00696, -1112.56299, 3456.35938, 0.00000, 0.00000, 90.00000);
  38895. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38896. list = CreateDynamicObject(19459, 1236.22253, -1124.07190, 3456.35840, 0.00000, 0.00000, 0.00000);
  38897. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38898. list = CreateDynamicObject(19459, 1236.22253, -1112.94849, 3456.35840, 0.00000, 0.00000, 0.00000);
  38899. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38900. list = CreateDynamicObject(19459, 1237.87366, -1112.56128, 3456.35938, 0.00000, 0.00000, 90.00000);
  38901. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38902. list = CreateDynamicObject(19459, 1237.87476, -1112.56726, 3456.35938, 0.00000, 0.00000, 90.00000);
  38903. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38904. list = CreateDynamicObject(19440, 1237.08618, -1115.91602, 3456.35840, 0.00000, 0.00000, 90.00000);
  38905. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38906. list = CreateDynamicObject(19395, 1237.79956, -1114.21777, 3456.35864, 0.00000, 180.00000, 0.00000);
  38907. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38908. list = CreateDynamicObject(19395, 1237.79163, -1114.22180, 3456.35864, 0.00000, 180.00000, 0.00000);
  38909. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38910. list = CreateDynamicObject(19395, 1237.79858, -1114.22083, 3456.35767, 0.00000, 180.00000, 0.00000);
  38911. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38912. list = CreateDynamicObject(19395, 1237.79260, -1114.21875, 3456.35767, 0.00000, 180.00000, 0.00000);
  38913. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38914. list = CreateDynamicObject(19440, 1237.07214, -1115.90601, 3456.35840, 0.00000, 0.00000, 90.00000);
  38915. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38916. list = CreateDynamicObject(19459, 1236.20837, -1112.94666, 3456.35742, 0.00000, 0.00000, 0.00000);
  38917. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38918. list = CreateDynamicObject(19459, 1236.20642, -1124.07288, 3456.35742, 0.00000, 0.00000, 0.00000);
  38919. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38920. list = CreateDynamicObject(19459, 1236.20642, -1133.70667, 3456.35742, 0.00000, 0.00000, 0.00000);
  38921. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38922. list = CreateDynamicObject(19367, 1241.08606, -1124.49268, 3456.35938, 0.00000, 0.00000, 90.00000);
  38923. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38924. list = CreateDynamicObject(19367, 1241.08411, -1124.50073, 3456.35840, 0.00000, 0.00000, 90.00000);
  38925. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38926. list = CreateDynamicObject(19367, 1237.87659, -1124.49268, 3456.35938, 0.00000, 0.00000, 90.00000);
  38927. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38928. list = CreateDynamicObject(19367, 1237.87659, -1124.49866, 3456.35938, 0.00000, 0.00000, 90.00000);
  38929. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38930. list = CreateDynamicObject(19440, 1235.36108, -1124.49329, 3456.35840, 0.00000, 0.00000, 90.00000);
  38931. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38932. list = CreateDynamicObject(19440, 1235.36011, -1124.50134, 3456.35840, 0.00000, 0.00000, 90.00000);
  38933. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38934. list = CreateDynamicObject(19459, 1231.33923, -1130.76318, 3456.35742, 0.00000, 0.00000, 90.00000);
  38935. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38936. list = CreateDynamicObject(19459, 1231.18579, -1129.36267, 3456.35742, 0.00000, 0.00000, 0.00000);
  38937. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38938. list = CreateDynamicObject(19459, 1231.17383, -1129.22266, 3456.35742, 0.00000, 0.00000, 0.00000);
  38939. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38940. list = CreateDynamicObject(19440, 1232.02832, -1124.50256, 3456.35840, 0.00000, 0.00000, 90.00000);
  38941. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38942. list = CreateDynamicObject(19440, 1232.25854, -1124.50269, 3456.35742, 0.00000, 0.00000, 90.00000);
  38943. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38944. list = CreateDynamicObject(19440, 1232.25745, -1124.49475, 3456.35742, 0.00000, 0.00000, 90.00000);
  38945. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38946. list = CreateDynamicObject(19440, 1232.06335, -1124.49585, 3456.35645, 0.00000, 0.00000, 90.00000);
  38947. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38948. list = CreateDynamicObject(19459, 1226.26929, -1127.81665, 3456.35742, 0.00000, 0.00000, 90.00000);
  38949. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38950. list = CreateDynamicObject(19459, 1224.35510, -1128.83936, 3456.35742, 0.00000, 0.00000, -135.00000);
  38951. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38952. list = CreateDynamicObject(19459, 1222.14624, -1121.79956, 3456.35645, 0.00000, 0.00000, 0.00000);
  38953. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38954. list = CreateDynamicObject(19459, 1222.14734, -1112.16504, 3456.35645, 0.00000, 0.00000, 0.00000);
  38955. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38956. list = CreateDynamicObject(19459, 1222.65930, -1109.99585, 3456.35645, 0.00000, 0.00000, 135.00000);
  38957. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38958. list = CreateDynamicObject(19459, 1228.09741, -1109.32820, 3456.35645, 0.00000, 0.00000, 90.00000);
  38959. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38960. list = CreateDynamicObject(19459, 1231.16760, -1106.70044, 3456.35645, 0.00000, 0.00000, 0.00000);
  38961. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38962. list = CreateDynamicObject(19440, 1231.70801, -1112.02185, 3456.35840, 0.00000, 0.00000, -135.00000);
  38963. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38964. list = CreateDynamicObject(19440, 1231.71301, -1112.02893, 3456.35742, 0.00000, 0.00000, -135.00000);
  38965. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38966. list = CreateDynamicObject(19459, 1237.03491, -1112.57056, 3456.35840, 0.00000, 0.00000, 90.00000);
  38967. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38968. list = CreateDynamicObject(19440, 1231.01160, -1117.81030, 3456.35742, 0.00000, 0.00000, 0.00000);
  38969. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38970. list = CreateDynamicObject(19440, 1230.29724, -1118.69824, 3456.35742, 0.00000, 0.00000, 90.00000);
  38971. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38972. list = CreateDynamicObject(19459, 1226.11536, -1118.67822, 3456.35645, 0.00000, 0.00000, 90.00000);
  38973. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38974. list = CreateDynamicObject(19440, 1231.00562, -1117.81128, 3456.35840, 0.00000, 0.00000, 0.00000);
  38975. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38976. list = CreateDynamicObject(19440, 1228.90552, -1117.89551, 3456.35840, 0.00000, 0.00000, 0.00000);
  38977. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38978. list = CreateDynamicObject(19459, 1223.99963, -1117.91040, 3456.35645, 0.00000, 0.00000, 90.00000);
  38979. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38980. list = CreateDynamicObject(19440, 1228.89954, -1117.89453, 3456.35742, 0.00000, 0.00000, 0.00000);
  38981. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38982. list = CreateDynamicObject(19440, 1223.66650, -1117.89832, 3456.35742, 0.00000, 0.00000, 0.00000);
  38983. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38984. list = CreateDynamicObject(19459, 1218.93665, -1117.18506, 3456.35645, 0.00000, 0.00000, 90.00000);
  38985. SetDynamicObjectMaterial(list, 0, 2193, "cj_office", "CJ_WOOD5");
  38986. }
  38987. stock LoadGovernmentInterior()
  38988. {
  38989. new tmpobjid;
  38990. tmpobjid = CreateDynamicObject(19379,1475.113,-1779.231,1814.905,0.000,90.000,0.000);
  38991. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  38992. tmpobjid = CreateDynamicObject(19379,1464.686,-1779.231,1814.905,0.000,90.000,0.000);
  38993. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  38994. tmpobjid = CreateDynamicObject(19379,1464.686,-1788.836,1814.905,0.000,90.000,0.000);
  38995. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  38996. tmpobjid = CreateDynamicObject(19379,1485.601,-1779.231,1814.905,0.000,90.000,0.000);
  38997. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  38998. tmpobjid = CreateDynamicObject(19379,1464.594,-1769.610,1814.905,0.000,90.000,0.000);
  38999. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  39000. tmpobjid = CreateDynamicObject(19379,1454.286,-1788.836,1814.905,0.000,90.000,0.000);
  39001. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  39002. tmpobjid = CreateDynamicObject(19379,1454.286,-1779.231,1814.905,0.000,90.000,0.000);
  39003. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  39004. tmpobjid = CreateDynamicObject(19379,1454.286,-1769.610,1814.905,0.000,90.000,0.000);
  39005. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  39006. tmpobjid = CreateDynamicObject(19377,1464.686,-1761.000,1814.930,0.000,90.000,0.000);
  39007. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  39008. tmpobjid = CreateDynamicObject(19377,1464.686,-1751.618,1814.930,0.000,90.000,0.000);
  39009. SetDynamicObjectMaterial(tmpobjid, 0, 8534, "tikimotel", "sa_wood01_128", 0);
  39010. tmpobjid = CreateDynamicObject(19450,1460.027,-1760.710,1816.740,0.000,0.000,0.000);
  39011. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39012. tmpobjid = CreateDynamicObject(19450,1469.616,-1760.689,1816.740,0.000,0.000,0.000);
  39013. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39014. tmpobjid = CreateDynamicObject(19450,1469.617,-1751.083,1816.740,0.000,0.000,0.000);
  39015. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39016. tmpobjid = CreateDynamicObject(19450,1460.023,-1751.098,1816.740,0.000,0.000,0.000);
  39017. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39018. tmpobjid = CreateDynamicObject(19450,1464.822,-1751.133,1816.740,0.000,0.000,90.000);
  39019. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39020. tmpobjid = CreateDynamicObject(2256,1460.125,-1757.416,1817.338,0.000,0.000,90.000);
  39021. SetDynamicObjectMaterial(tmpobjid, 0, 15040, "cuntcuts", "GB_canvas18", 0);
  39022. tmpobjid = CreateDynamicObject(1723,1458.734,-1766.376,1814.990,0.000,0.000,0.000);
  39023. SetDynamicObjectMaterial(tmpobjid, 1, 2692, "cj_banner2", "CJ_CARDBOARD", 0);
  39024. tmpobjid = CreateDynamicObject(1723,1471.745,-1775.017,1814.990,0.000,0.000,0.000);
  39025. SetDynamicObjectMaterial(tmpobjid, 1, 2692, "cj_banner2", "CJ_CARDBOARD", 0);
  39026. tmpobjid = CreateDynamicObject(1723,1477.219,-1775.017,1814.990,0.000,0.000,0.000);
  39027. SetDynamicObjectMaterial(tmpobjid, 1, 2692, "cj_banner2", "CJ_CARDBOARD", 0);
  39028. tmpobjid = CreateDynamicObject(1723,1479.057,-1783.353,1814.990,0.000,0.000,179.994);
  39029. SetDynamicObjectMaterial(tmpobjid, 1, 2692, "cj_banner2", "CJ_CARDBOARD", 0);
  39030. tmpobjid = CreateDynamicObject(1723,1473.615,-1783.300,1814.990,0.000,0.000,179.994);
  39031. SetDynamicObjectMaterial(tmpobjid, 1, 2692, "cj_banner2", "CJ_CARDBOARD", 0);
  39032. tmpobjid = CreateDynamicObject(19377,1464.686,-1761.000,1818.441,0.000,90.000,0.000);
  39033. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39034. tmpobjid = CreateDynamicObject(19377,1464.686,-1751.618,1818.441,0.000,90.000,0.000);
  39035. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39036. tmpobjid = CreateDynamicObject(19355,1465.381,-1791.105,1816.740,0.000,0.000,0.000);
  39037. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39038. tmpobjid = CreateDynamicObject(19355,1465.381,-1794.260,1816.740,0.000,0.000,0.000);
  39039. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39040. tmpobjid = CreateDynamicObject(19355,1462.138,-1791.105,1816.740,0.000,0.000,0.000);
  39041. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39042. tmpobjid = CreateDynamicObject(19355,1462.135,-1794.293,1816.740,0.000,0.000,0.000);
  39043. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39044. tmpobjid = CreateDynamicObject(19355,1462.126,-1795.460,1816.740,0.000,0.000,0.000);
  39045. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39046. tmpobjid = CreateDynamicObject(19355,1465.371,-1797.461,1816.740,0.000,0.000,0.000);
  39047. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39048. tmpobjid = CreateDynamicObject(19355,1465.381,-1794.260,1820.240,0.000,180.000,0.000);
  39049. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39050. tmpobjid = CreateDynamicObject(19355,1465.371,-1797.460,1820.240,0.000,179.994,0.000);
  39051. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39052. tmpobjid = CreateDynamicObject(19355,1462.135,-1794.293,1820.240,0.000,180.000,0.000);
  39053. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39054. tmpobjid = CreateDynamicObject(19355,1465.371,-1800.614,1819.937,0.000,180.000,0.000);
  39055. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39056. tmpobjid = CreateDynamicObject(19435,1463.800,-1790.291,1818.240,0.000,90.000,0.000);
  39057. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39058. tmpobjid = CreateDynamicObject(19435,1463.799,-1791.464,1818.240,0.000,90.000,0.000);
  39059. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39060. tmpobjid = CreateDynamicObject(19362,1463.800,-1793.708,1819.270,0.000,305.000,90.000);
  39061. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39062. tmpobjid = CreateDynamicObject(19362,1463.799,-1796.522,1821.234,0.000,304.996,90.000);
  39063. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39064. tmpobjid = CreateDynamicObject(19362,1463.661,-1798.614,1821.453,0.000,90.000,0.000);
  39065. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39066. tmpobjid = CreateDynamicObject(19355,1462.126,-1795.461,1820.240,0.000,180.000,0.000);
  39067. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39068. tmpobjid = CreateDynamicObject(19355,1463.725,-1800.161,1819.953,0.000,180.000,90.000);
  39069. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39070. tmpobjid = CreateDynamicObject(19355,1460.560,-1800.166,1819.953,0.000,180.000,90.000);
  39071. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39072. tmpobjid = CreateDynamicObject(19355,1458.881,-1798.646,1819.953,0.000,0.000,0.000);
  39073. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39074. tmpobjid = CreateDynamicObject(19355,1458.875,-1795.489,1819.953,0.000,0.000,0.000);
  39075. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39076. tmpobjid = CreateDynamicObject(19362,1460.414,-1798.614,1821.453,0.000,90.000,0.000);
  39077. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39078. tmpobjid = CreateDynamicObject(19362,1460.589,-1795.662,1822.503,0.000,230.000,90.000);
  39079. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39080. tmpobjid = CreateDynamicObject(19355,1458.889,-1792.399,1819.953,0.000,0.000,0.000);
  39081. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39082. tmpobjid = CreateDynamicObject(19355,1458.913,-1795.336,1823.453,0.000,180.000,0.000);
  39083. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39084. tmpobjid = CreateDynamicObject(19355,1458.905,-1792.128,1823.453,0.000,180.000,0.000);
  39085. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39086. tmpobjid = CreateDynamicObject(19355,1462.130,-1795.436,1823.740,0.000,0.000,0.000);
  39087. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39088. tmpobjid = CreateDynamicObject(19355,1462.135,-1792.230,1823.740,0.000,0.000,180.000);
  39089. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39090. tmpobjid = CreateDynamicObject(19362,1460.589,-1792.982,1824.757,0.000,230.000,90.000);
  39091. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39092. tmpobjid = CreateDynamicObject(19355,1462.139,-1789.111,1823.740,0.000,0.000,0.000);
  39093. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39094. tmpobjid = CreateDynamicObject(19355,1458.910,-1788.958,1823.740,0.000,180.000,0.000);
  39095. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39096. tmpobjid = CreateDynamicObject(19362,1460.589,-1790.507,1826.846,0.000,230.000,90.000);
  39097. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39098. tmpobjid = CreateDynamicObject(19362,1458.913,-1792.141,1826.953,0.000,0.000,0.000);
  39099. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39100. tmpobjid = CreateDynamicObject(19355,1462.139,-1789.111,1827.240,0.000,180.000,0.000);
  39101. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39102. tmpobjid = CreateDynamicObject(19355,1458.911,-1788.953,1827.240,0.000,0.000,0.000);
  39103. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39104. tmpobjid = CreateDynamicObject(19379,1454.286,-1783.307,1823.684,0.000,90.000,0.000);
  39105. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39106. tmpobjid = CreateDynamicObject(19362,1460.589,-1789.126,1827.312,0.000,90.000,0.000);
  39107. SetDynamicObjectMaterial(tmpobjid, 0, 1595, "satdish", "wallwhitetinge256", 0);
  39108. tmpobjid = CreateDynamicObject(19362,1462.135,-1792.314,1827.240,0.000,0.000,0.000);
  39109. SetDynamicObjectMaterial(tmpobjid, 0, 6095, "shops01_law", "hotwall1_law", 0);
  39110. tmpobjid = CreateDynamicObject(1491,1456.551,-1788.354,1814.990,0.000,0.000,90.000);
  39111. SetDynamicObjectMaterial(tmpobjid, 0, 18027, "cj_barb2", "interiordoor1_256", 0);
  39112. tmpobjid = CreateDynamicObject(1491,1456.528,-1767.575,1814.990,0.000,0.000,270.000);
  39113. SetDynamicObjectMaterial(tmpobjid, 0, 18027, "cj_barb2", "interiordoor1_256", 0);
  39114. tmpobjid = CreateDynamicObject(1491,1462.609,-1765.754,1814.990,0.000,0.000,0.000);
  39115. SetDynamicObjectMaterial(tmpobjid, 0, 18027, "cj_barb2", "interiordoor1_256", 0);
  39116. tmpobjid = CreateDynamicObject(19358,1468.981,-1764.146,1816.740,0.000,0.000,326.997);
  39117. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39118. tmpobjid = CreateDynamicObject(19388,1463.396,-1765.378,1816.740,0.000,0.000,90.000);
  39119. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39120. tmpobjid = CreateDynamicObject(19358,1466.542,-1765.378,1816.740,0.000,0.000,90.000);
  39121. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39122. tmpobjid = CreateDynamicObject(19358,1460.187,-1765.378,1816.740,0.000,0.000,90.000);
  39123. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39124. tmpobjid = CreateDynamicObject(19377,1485.601,-1779.231,1818.441,0.000,90.000,0.000);
  39125. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39126. tmpobjid = CreateDynamicObject(19377,1475.113,-1779.231,1818.441,0.000,90.000,0.000);
  39127. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39128. tmpobjid = CreateDynamicObject(19377,1464.686,-1769.599,1818.441,0.000,90.000,0.000);
  39129. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39130. tmpobjid = CreateDynamicObject(19377,1464.686,-1779.231,1818.441,0.000,90.000,0.000);
  39131. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39132. tmpobjid = CreateDynamicObject(19377,1464.686,-1785.136,1818.461,0.000,90.000,0.000);
  39133. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39134. tmpobjid = CreateDynamicObject(19377,1454.286,-1785.136,1818.461,0.000,90.000,0.000);
  39135. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39136. tmpobjid = CreateDynamicObject(19377,1454.186,-1769.589,1818.441,0.000,90.000,0.000);
  39137. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39138. tmpobjid = CreateDynamicObject(19377,1454.186,-1776.022,1818.441,0.000,90.000,0.000);
  39139. SetDynamicObjectMaterial(tmpobjid, 0, 14526, "sweetsmain", "ah_whitpanelceil", 0);
  39140. tmpobjid = CreateDynamicObject(2434,1458.749,-1784.450,1814.990,0.000,0.000,0.000);
  39141. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39142. tmpobjid = CreateDynamicObject(2435,1458.916,-1783.322,1814.990,0.000,0.000,90.000);
  39143. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39144. tmpobjid = CreateDynamicObject(2435,1458.910,-1782.394,1814.990,0.000,0.000,90.000);
  39145. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39146. tmpobjid = CreateDynamicObject(2435,1458.910,-1781.462,1814.990,0.000,0.000,90.000);
  39147. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39148. tmpobjid = CreateDynamicObject(2435,1458.910,-1780.548,1814.990,0.000,0.000,90.000);
  39149. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39150. tmpobjid = CreateDynamicObject(2435,1458.910,-1779.639,1814.990,0.000,0.000,90.000);
  39151. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39152. tmpobjid = CreateDynamicObject(2435,1458.910,-1778.715,1814.990,0.000,0.000,90.000);
  39153. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39154. tmpobjid = CreateDynamicObject(2435,1458.910,-1777.784,1814.990,0.000,0.000,90.000);
  39155. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39156. tmpobjid = CreateDynamicObject(2435,1458.910,-1776.863,1814.990,0.000,0.000,90.000);
  39157. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39158. tmpobjid = CreateDynamicObject(2435,1458.910,-1775.936,1814.990,0.000,0.000,90.000);
  39159. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39160. tmpobjid = CreateDynamicObject(2435,1458.910,-1775.019,1814.990,0.000,0.000,90.000);
  39161. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39162. tmpobjid = CreateDynamicObject(2435,1458.910,-1774.094,1814.990,0.000,0.000,90.000);
  39163. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39164. tmpobjid = CreateDynamicObject(2435,1458.910,-1773.168,1814.990,0.000,0.000,90.000);
  39165. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39166. tmpobjid = CreateDynamicObject(2435,1458.910,-1772.238,1814.990,0.000,0.000,90.000);
  39167. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39168. tmpobjid = CreateDynamicObject(2434,1458.916,-1771.321,1814.990,0.000,0.000,90.000);
  39169. SetDynamicObjectMaterial(tmpobjid, 2, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0);
  39170. tmpobjid = CreateDynamicObject(19893,1458.837,-1780.818,1816.031,0.000,0.000,-67.799);
  39171. SetDynamicObjectMaterial(tmpobjid, 1, 8035, "vgsshospshop", "hosp_sign01b", 0);
  39172. tmpobjid = CreateDynamicObject(19893,1458.955,-1779.179,1816.031,0.000,0.000,-91.899);
  39173. SetDynamicObjectMaterial(tmpobjid, 1, 8035, "vgsshospshop", "hosp_sign01b", 0);
  39174. tmpobjid = CreateDynamicObject(19893,1458.923,-1777.251,1816.031,0.000,0.000,-82.500);
  39175. SetDynamicObjectMaterial(tmpobjid, 1, 8035, "vgsshospshop", "hosp_sign01b", 0);
  39176. tmpobjid = CreateDynamicObject(19893,1458.949,-1775.622,1816.030,0.000,0.000,-85.899);
  39177. SetDynamicObjectMaterial(tmpobjid, 1, 8035, "vgsshospshop", "hosp_sign01b", 0);
  39178. tmpobjid = CreateDynamicObject(19893,1458.840,-1772.082,1816.050,0.000,0.000,-77.299);
  39179. SetDynamicObjectMaterial(tmpobjid, 1, 8035, "vgsshospshop", "hosp_sign01b", 0);
  39180. tmpobjid = CreateDynamicObject(19387,1456.160,-1787.620,1816.740,0.000,0.000,0.000);
  39181. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39182. tmpobjid = CreateDynamicObject(19357,1456.160,-1784.492,1816.740,0.000,0.000,0.000);
  39183. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39184. tmpobjid = CreateDynamicObject(19357,1454.588,-1789.285,1816.740,0.000,0.000,90.000);
  39185. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39186. tmpobjid = CreateDynamicObject(19357,1451.397,-1789.290,1816.740,0.000,0.000,90.000);
  39187. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39188. tmpobjid = CreateDynamicObject(19357,1449.883,-1789.099,1816.740,0.000,0.000,0.000);
  39189. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39190. tmpobjid = CreateDynamicObject(19357,1449.883,-1783.505,1816.740,0.000,0.000,0.000);
  39191. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39192. tmpobjid = CreateDynamicObject(19357,1449.883,-1781.411,1816.740,0.000,0.000,0.000);
  39193. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39194. tmpobjid = CreateDynamicObject(19357,1456.160,-1781.464,1816.740,0.000,0.000,0.000);
  39195. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39196. tmpobjid = CreateDynamicObject(19449,1451.350,-1780.940,1816.740,0.000,0.000,90.000);
  39197. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39198. tmpobjid = CreateDynamicObject(19449,1452.965,-1778.927,1816.740,0.000,0.000,0.000);
  39199. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39200. tmpobjid = CreateDynamicObject(19387,1451.439,-1783.663,1816.740,0.000,0.000,90.000);
  39201. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39202. tmpobjid = CreateDynamicObject(19387,1454.599,-1783.656,1816.740,0.000,0.000,90.000);
  39203. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39204. tmpobjid = CreateDynamicObject(19357,1449.875,-1786.208,1814.341,0.000,0.000,0.000);
  39205. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39206. tmpobjid = CreateDynamicObject(19357,1449.883,-1786.328,1819.740,0.000,0.000,0.000);
  39207. SetDynamicObjectMaterial(tmpobjid, 0, 8396, "sphinx01", "sphinxbody01_128", 0);
  39208. tmpobjid = CreateDynamicObject(638,1469.131,-1767.873,1815.686,0.000,0.000,0.000);
  39209. SetDynamicObjectMaterial(tmpobjid, 1, 1597, "centralresac1", "fuzzyplant256", 0);
  39210. tmpobjid = CreateDynamicObject(638,1469.131,-1770.454,1815.686,0.000,0.000,0.000);
  39211. SetDynamicObjectMaterial(tmpobjid, 1, 1597, "centralresac1", "fuzzyplant256", 0);
  39212. tmpobjid = CreateDynamicObject(638,1469.131,-1773.051,1815.686,0.000,0.000,0.000);
  39213. SetDynamicObjectMaterial(tmpobjid, 1, 1597, "centralresac1", "fuzzyplant256", 0);
  39214. tmpobjid = CreateDynamicObject(638,1465.677,-1766.176,1815.686,0.000,0.000,270.000);
  39215. SetDynamicObjectMaterial(tmpobjid, 1, 1597, "centralresac1", "fuzzyplant256", 0);
  39216. tmpobjid = CreateDynamicObject(638,1468.276,-1766.176,1815.686,0.000,0.000,270.000);
  39217. SetDynamicObjectMaterial(tmpobjid, 1, 1597, "centralresac1", "fuzzyplant256", 0);
  39218. tmpobjid = CreateDynamicObject(19379,1464.686,-1783.307,1823.684,0.000,90.000,0.000);
  39219. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39220. tmpobjid = CreateDynamicObject(19379,1475.084,-1783.307,1823.684,0.000,90.000,0.000);
  39221. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39222. tmpobjid = CreateDynamicObject(19379,1485.535,-1783.307,1823.684,0.000,90.000,0.000);
  39223. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39224. tmpobjid = CreateDynamicObject(19379,1454.286,-1773.897,1823.684,0.000,90.000,0.000);
  39225. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39226. tmpobjid = CreateDynamicObject(19379,1464.716,-1773.897,1823.684,0.000,90.000,0.000);
  39227. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39228. tmpobjid = CreateDynamicObject(19379,1475.084,-1773.897,1823.684,0.000,90.000,0.000);
  39229. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39230. tmpobjid = CreateDynamicObject(19379,1485.535,-1773.897,1823.684,0.000,90.000,0.000);
  39231. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39232. tmpobjid = CreateDynamicObject(19379,1454.286,-1764.289,1823.684,0.000,90.000,0.000);
  39233. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39234. tmpobjid = CreateDynamicObject(19379,1464.686,-1764.289,1823.684,0.000,90.000,0.000);
  39235. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39236. tmpobjid = CreateDynamicObject(19379,1475.084,-1764.289,1823.684,0.000,90.000,0.000);
  39237. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39238. tmpobjid = CreateDynamicObject(19379,1485.535,-1764.289,1823.684,0.000,90.000,0.000);
  39239. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39240. SetDynamicObjectMaterial(tmpobjid, 1, 17958, "burnsalpha", "plantb256", 0);
  39241. tmpobjid = CreateDynamicObject(19358,1463.826,-1787.579,1825.520,0.000,0.000,90.000);
  39242. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39243. tmpobjid = CreateDynamicObject(19358,1457.209,-1787.441,1825.520,0.000,0.000,90.000);
  39244. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39245. tmpobjid = CreateDynamicObject(19450,1464.895,-1788.165,1825.520,0.000,0.000,0.000);
  39246. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39247. tmpobjid = CreateDynamicObject(19450,1469.630,-1783.437,1825.520,0.000,0.000,90.000);
  39248. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39249. tmpobjid = CreateDynamicObject(19450,1456.614,-1782.885,1825.520,0.000,0.000,0.000);
  39250. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39251. tmpobjid = CreateDynamicObject(19450,1456.614,-1773.357,1825.520,0.000,0.000,0.000);
  39252. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39253. tmpobjid = CreateDynamicObject(19450,1479.197,-1783.432,1825.520,0.000,0.000,90.000);
  39254. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39255. tmpobjid = CreateDynamicObject(19450,1456.614,-1764.140,1825.520,0.000,0.000,0.000);
  39256. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39257. tmpobjid = CreateDynamicObject(19450,1488.770,-1783.443,1825.520,0.000,0.000,90.000);
  39258. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39259. tmpobjid = CreateDynamicObject(19450,1464.896,-1780.762,1825.520,0.000,0.000,0.000);
  39260. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39261. tmpobjid = CreateDynamicObject(19450,1472.733,-1780.762,1825.520,0.000,0.000,0.000);
  39262. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39263. tmpobjid = CreateDynamicObject(19450,1480.116,-1780.762,1825.520,0.000,0.000,0.000);
  39264. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39265. tmpobjid = CreateDynamicObject(19450,1488.565,-1780.762,1825.520,0.000,0.000,0.000);
  39266. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39267. tmpobjid = CreateDynamicObject(19388,1468.796,-1776.020,1825.520,0.000,0.000,90.000);
  39268. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39269. tmpobjid = CreateDynamicObject(19358,1466.416,-1776.012,1825.520,0.000,0.000,90.000);
  39270. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39271. tmpobjid = CreateDynamicObject(19358,1471.802,-1776.019,1825.520,0.000,0.000,90.000);
  39272. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39273. tmpobjid = CreateDynamicObject(19358,1473.614,-1776.020,1825.520,0.000,0.000,90.000);
  39274. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39275. tmpobjid = CreateDynamicObject(19388,1475.994,-1776.020,1825.520,0.000,0.000,90.000);
  39276. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39277. tmpobjid = CreateDynamicObject(19388,1484.134,-1776.020,1825.520,0.000,0.000,90.000);
  39278. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39279. tmpobjid = CreateDynamicObject(19358,1478.542,-1776.020,1825.520,0.000,0.000,90.000);
  39280. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39281. tmpobjid = CreateDynamicObject(19358,1481.262,-1776.020,1825.520,0.000,0.000,90.000);
  39282. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39283. tmpobjid = CreateDynamicObject(19358,1487.302,-1776.019,1825.520,0.000,0.000,90.000);
  39284. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39285. tmpobjid = CreateDynamicObject(19358,1488.548,-1776.612,1825.520,0.000,0.000,0.000);
  39286. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39287. tmpobjid = CreateDynamicObject(19358,1488.548,-1773.519,1822.520,0.000,179.994,0.000);
  39288. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39289. tmpobjid = CreateDynamicObject(19450,1488.548,-1767.120,1825.520,0.000,0.000,0.000);
  39290. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39291. tmpobjid = CreateDynamicObject(19450,1488.770,-1770.761,1825.520,0.000,0.000,90.000);
  39292. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39293. tmpobjid = CreateDynamicObject(19450,1479.197,-1770.754,1825.520,0.000,0.000,90.000);
  39294. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39295. tmpobjid = CreateDynamicObject(19450,1469.630,-1770.753,1825.520,0.000,0.000,90.000);
  39296. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39297. tmpobjid = CreateDynamicObject(19388,1464.897,-1769.234,1825.520,0.000,0.000,0.000);
  39298. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39299. tmpobjid = CreateDynamicObject(19358,1466.569,-1767.722,1825.520,0.000,0.000,90.000);
  39300. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39301. tmpobjid = CreateDynamicObject(19358,1468.262,-1766.206,1825.520,0.000,0.000,0.000);
  39302. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39303. tmpobjid = CreateDynamicObject(19450,1468.263,-1759.876,1825.520,0.000,0.000,0.000);
  39304. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39305. tmpobjid = CreateDynamicObject(19450,1488.548,-1759.537,1825.520,0.000,0.000,0.000);
  39306. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39307. tmpobjid = CreateDynamicObject(19450,1460.098,-1767.718,1825.520,0.000,0.000,90.000);
  39308. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39309. tmpobjid = CreateDynamicObject(19379,1464.686,-1754.778,1823.684,0.000,90.000,0.000);
  39310. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39311. tmpobjid = CreateDynamicObject(19379,1475.084,-1754.778,1823.684,0.000,90.000,0.000);
  39312. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39313. tmpobjid = CreateDynamicObject(19379,1485.535,-1754.778,1823.684,0.000,90.000,0.000);
  39314. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39315. tmpobjid = CreateDynamicObject(19450,1473.100,-1756.199,1825.520,0.000,0.000,90.000);
  39316. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39317. tmpobjid = CreateDynamicObject(19450,1482.635,-1756.192,1825.520,0.000,0.000,90.000);
  39318. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39319. tmpobjid = CreateDynamicObject(19431,1488.114,-1756.188,1825.520,0.000,0.000,90.000);
  39320. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39321. tmpobjid = CreateDynamicObject(19379,1489.909,-1765.961,1824.521,0.000,90.000,0.000);
  39322. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39323. tmpobjid = CreateDynamicObject(19379,1489.908,-1756.873,1824.521,0.000,90.000,0.000);
  39324. SetDynamicObjectMaterial(tmpobjid, 0, 14623, "mafcasmain", "ab_MarbleDiamond", 0);
  39325. tmpobjid = CreateDynamicObject(19357,1484.739,-1760.133,1822.820,0.000,0.000,0.000);
  39326. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39327. tmpobjid = CreateDynamicObject(19357,1485.280,-1758.501,1822.820,0.000,0.000,90.000);
  39328. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39329. tmpobjid = CreateDynamicObject(19357,1484.739,-1763.338,1822.820,0.000,0.000,0.000);
  39330. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39331. tmpobjid = CreateDynamicObject(19357,1484.740,-1766.520,1822.820,0.000,0.000,0.000);
  39332. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39333. tmpobjid = CreateDynamicObject(19357,1484.734,-1769.093,1822.820,0.000,0.000,0.000);
  39334. SetDynamicObjectMaterial(tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  39335. tmpobjid = CreateDynamicObject(19173,1479.303,-1756.336,1825.845,0.000,0.000,0.000);
  39336. SetDynamicObjectMaterial(tmpobjid, 0, 14581, "ab_mafiasuitea", "ab_pic_bridge", 0);
  39337. tmpobjid = CreateDynamicObject(19174,1472.389,-1756.285,1825.897,0.000,0.000,0.000);
  39338. SetDynamicObjectMaterial(tmpobjid, 0, 14534, "ab_wooziea", "ab_wuziwillow", 0);
  39339. tmpobjid = CreateDynamicObject(19175,1468.349,-1762.640,1825.868,0.000,0.000,90.000);
  39340. SetDynamicObjectMaterial(tmpobjid, 0, 3440, "airportpillar", "carfx1", 0);
  39341. tmpobjid = CreateDynamicObject(19172,1471.113,-1770.666,1825.887,0.000,0.000,180.000);
  39342. SetDynamicObjectMaterial(tmpobjid, 0, 14803, "bdupsnew", "Bdup2_poster", 0);
  39343. tmpobjid = CreateDynamicObject(19174,1481.056,-1770.667,1825.876,0.000,0.000,180.000);
  39344. SetDynamicObjectMaterial(tmpobjid, 0, 14489, "carlspics", "AH_landscap1", 0);
  39345. tmpobjid = CreateDynamicObject(19377,1485.535,-1783.307,1827.322,0.000,90.000,0.000);
  39346. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39347. tmpobjid = CreateDynamicObject(19377,1485.535,-1773.897,1827.322,0.000,90.000,0.000);
  39348. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39349. tmpobjid = CreateDynamicObject(19377,1485.535,-1764.289,1827.322,0.000,90.000,0.000);
  39350. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39351. tmpobjid = CreateDynamicObject(19377,1485.535,-1754.778,1827.322,0.000,90.000,0.000);
  39352. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39353. tmpobjid = CreateDynamicObject(19377,1475.084,-1754.778,1827.322,0.000,90.000,0.000);
  39354. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39355. tmpobjid = CreateDynamicObject(19377,1475.084,-1764.289,1827.322,0.000,90.000,0.000);
  39356. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39357. tmpobjid = CreateDynamicObject(19377,1464.686,-1754.778,1827.322,0.000,90.000,0.000);
  39358. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39359. tmpobjid = CreateDynamicObject(19377,1464.686,-1764.289,1827.322,0.000,90.000,0.000);
  39360. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39361. tmpobjid = CreateDynamicObject(19377,1454.286,-1764.289,1827.322,0.000,90.000,0.000);
  39362. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39363. tmpobjid = CreateDynamicObject(19377,1454.286,-1773.897,1827.322,0.000,90.000,0.000);
  39364. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39365. tmpobjid = CreateDynamicObject(19377,1454.286,-1783.307,1827.322,0.000,90.000,0.000);
  39366. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39367. tmpobjid = CreateDynamicObject(19377,1464.686,-1783.307,1827.322,0.000,90.000,0.000);
  39368. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39369. tmpobjid = CreateDynamicObject(19377,1475.084,-1783.307,1827.322,0.000,90.000,0.000);
  39370. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39371. tmpobjid = CreateDynamicObject(19377,1475.084,-1773.897,1827.322,0.000,90.000,0.000);
  39372. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39373. tmpobjid = CreateDynamicObject(19377,1464.686,-1773.897,1827.322,0.000,90.000,0.000);
  39374. SetDynamicObjectMaterial(tmpobjid, 0, 8591, "olympic01", "vgscityhwal1", 0);
  39375. tmpobjid = CreateDynamicObject(19786,1469.584,-1769.999,1817.182,2.899,0.000,-89.900);
  39376. SetDynamicObjectMaterial(tmpobjid, 1, 6354, "sunset03_law2", "SunBillB04", 0);
  39377. tmpobjid = CreateDynamicObject(19786,1488.494,-1768.076,1826.148,0.000,0.000,-90.000);
  39378. SetDynamicObjectMaterial(tmpobjid, 1, 16644, "a51_detailstuff", "a51_map", 0);
  39379. SetDynamicObjectMaterial(tmpobjid, 2, 16644, "a51_detailstuff", "a51_map", 0);
  39380. tmpobjid = CreateDynamicObject(19893,1458.863,-1782.713,1816.030,0.000,0.000,-87.000);
  39381. SetDynamicObjectMaterial(tmpobjid, 1, 8035, "vgsshospshop", "hosp_sign01b", 0);
  39382. tmpobjid = CreateDynamicObject(1569,1482.181,-1780.909,1815.000,0.000,0.000,90.000);
  39383. tmpobjid = CreateDynamicObject(1569,1482.181,-1777.916,1815.000,0.000,0.000,270.000);
  39384. tmpobjid = CreateDynamicObject(630,1460.749,-1751.887,1816.100,0.000,0.000,0.000);
  39385. tmpobjid = CreateDynamicObject(630,1469.125,-1751.735,1816.100,0.000,0.000,0.000);
  39386. tmpobjid = CreateDynamicObject(2258,1465.994,-1765.270,1817.123,0.000,0.000,180.000);
  39387. tmpobjid = CreateDynamicObject(2257,1469.489,-1756.673,1817.026,0.000,0.000,270.000);
  39388. tmpobjid = CreateDynamicObject(2267,1469.503,-1761.839,1817.238,0.000,0.000,270.000);
  39389. tmpobjid = CreateDynamicObject(2258,1475.525,-1774.583,1817.211,0.000,0.000,0.000);
  39390. tmpobjid = CreateDynamicObject(2256,1475.176,-1783.721,1817.039,0.000,0.000,179.994);
  39391. tmpobjid = CreateDynamicObject(1359,1481.644,-1775.048,1815.689,0.000,0.000,0.000);
  39392. tmpobjid = CreateDynamicObject(1359,1481.686,-1783.421,1815.689,0.000,0.000,0.000);
  39393. tmpobjid = CreateDynamicObject(19377,1464.686,-1798.406,1814.905,0.000,90.000,0.000);
  39394. tmpobjid = CreateDynamicObject(2614,1488.397,-1763.901,1826.381,0.000,0.000,270.000);
  39395. tmpobjid = CreateDynamicObject(18608,1464.734,-1766.790,1819.927,0.000,0.000,0.000);
  39396. tmpobjid = CreateDynamicObject(18084,1450.717,-1786.338,1816.773,0.000,0.000,270.000);
  39397. tmpobjid = CreateDynamicObject(18084,1487.663,-1772.170,1825.152,0.000,0.000,90.000);
  39398. tmpobjid = CreateDynamicObject(19460,1482.236,-1779.067,1813.441,0.000,0.000,0.000);
  39399. tmpobjid = CreateDynamicObject(19460,1482.236,-1779.067,1819.840,0.000,180.000,0.000);
  39400. tmpobjid = CreateDynamicObject(19460,1477.538,-1774.469,1813.441,0.000,0.000,90.000);
  39401. tmpobjid = CreateDynamicObject(19368,1471.136,-1774.468,1813.441,0.000,0.000,90.000);
  39402. tmpobjid = CreateDynamicObject(19368,1471.136,-1774.469,1819.840,0.000,180.000,90.000);
  39403. tmpobjid = CreateDynamicObject(19460,1477.538,-1774.469,1819.840,0.000,180.000,90.000);
  39404. tmpobjid = CreateDynamicObject(19460,1477.538,-1783.912,1813.441,0.000,0.000,90.000);
  39405. tmpobjid = CreateDynamicObject(19460,1477.538,-1783.912,1819.840,0.000,180.000,90.000);
  39406. tmpobjid = CreateDynamicObject(19368,1471.136,-1783.915,1819.840,0.000,180.000,90.000);
  39407. tmpobjid = CreateDynamicObject(2885,1475.007,-1774.334,1821.702,0.000,0.000,179.994);
  39408. tmpobjid = CreateDynamicObject(2885,1485.613,-1774.334,1821.702,0.000,0.000,179.994);
  39409. tmpobjid = CreateDynamicObject(2885,1482.375,-1779.842,1821.702,0.000,0.000,90.000);
  39410. tmpobjid = CreateDynamicObject(2885,1485.613,-1784.042,1821.702,0.000,0.000,0.000);
  39411. tmpobjid = CreateDynamicObject(2885,1475.007,-1784.042,1821.702,0.000,0.000,0.000);
  39412. tmpobjid = CreateDynamicObject(2885,1469.757,-1783.841,1813.702,0.000,90.000,90.000);
  39413. tmpobjid = CreateDynamicObject(11435,1469.072,-1783.843,1819.052,0.000,0.000,179.994);
  39414. tmpobjid = CreateDynamicObject(19368,1469.622,-1785.607,1819.840,0.000,180.000,0.000);
  39415. tmpobjid = CreateDynamicObject(19368,1469.622,-1785.607,1813.441,0.000,0.000,0.000);
  39416. tmpobjid = CreateDynamicObject(19368,1471.168,-1783.912,1813.441,0.000,0.000,90.000);
  39417. tmpobjid = CreateDynamicObject(2885,1472.022,-1789.552,1816.656,0.000,90.000,0.000);
  39418. tmpobjid = CreateDynamicObject(19368,1469.622,-1788.748,1819.840,0.000,180.000,0.000);
  39419. tmpobjid = CreateDynamicObject(19368,1469.622,-1788.748,1813.441,0.000,0.000,0.000);
  39420. tmpobjid = CreateDynamicObject(19368,1466.899,-1789.420,1819.840,0.000,180.000,90.000);
  39421. tmpobjid = CreateDynamicObject(19368,1466.899,-1789.420,1813.441,0.000,0.000,90.000);
  39422. tmpobjid = CreateDynamicObject(19368,1470.020,-1789.420,1819.840,0.000,180.000,90.000);
  39423. tmpobjid = CreateDynamicObject(19368,1470.020,-1789.420,1813.441,0.000,0.000,90.000);
  39424. tmpobjid = CreateDynamicObject(14416,1463.857,-1794.969,1814.990,0.000,0.000,180.000);
  39425. tmpobjid = CreateDynamicObject(19355,1465.381,-1791.105,1820.240,0.000,180.000,0.000);
  39426. tmpobjid = CreateDynamicObject(19355,1462.139,-1791.105,1820.240,0.000,180.000,0.000);
  39427. tmpobjid = CreateDynamicObject(19362,1463.661,-1798.614,1818.117,0.000,90.000,0.000);
  39428. tmpobjid = CreateDynamicObject(14416,1460.058,-1793.153,1818.990,0.000,0.000,0.000);
  39429. tmpobjid = CreateDynamicObject(19362,1460.204,-1798.614,1818.117,0.000,90.000,0.000);
  39430. tmpobjid = CreateDynamicObject(19368,1463.690,-1789.420,1819.840,0.000,180.000,90.000);
  39431. tmpobjid = CreateDynamicObject(14416,1460.058,-1790.931,1820.538,0.000,0.000,0.000);
  39432. tmpobjid = CreateDynamicObject(19368,1460.640,-1789.420,1819.840,0.000,180.000,90.000);
  39433. tmpobjid = CreateDynamicObject(19368,1460.640,-1789.420,1813.441,0.000,0.000,90.000);
  39434. tmpobjid = CreateDynamicObject(19368,1458.165,-1789.421,1813.441,0.000,0.000,90.000);
  39435. tmpobjid = CreateDynamicObject(19368,1458.165,-1789.410,1819.840,0.000,179.994,90.000);
  39436. tmpobjid = CreateDynamicObject(11435,1464.894,-1789.423,1819.052,0.000,0.000,179.994);
  39437. tmpobjid = CreateDynamicObject(11435,1461.701,-1789.417,1819.052,0.000,0.000,179.994);
  39438. tmpobjid = CreateDynamicObject(2885,1462.099,-1789.552,1813.702,0.000,90.000,0.000);
  39439. tmpobjid = CreateDynamicObject(19368,1456.564,-1789.917,1813.441,0.000,0.000,0.000);
  39440. tmpobjid = CreateDynamicObject(19368,1456.564,-1789.917,1819.840,0.000,180.000,0.000);
  39441. tmpobjid = CreateDynamicObject(2885,1456.407,-1793.804,1821.702,0.000,0.000,270.000);
  39442. tmpobjid = CreateDynamicObject(11435,1456.614,-1787.947,1819.651,0.000,0.000,90.000);
  39443. tmpobjid = CreateDynamicObject(11435,1456.614,-1786.253,1819.651,0.000,0.000,90.000);
  39444. tmpobjid = CreateDynamicObject(2885,1456.404,-1788.354,1824.181,0.000,0.000,270.000);
  39445. tmpobjid = CreateDynamicObject(19368,1456.567,-1786.890,1819.840,0.000,180.000,0.000);
  39446. tmpobjid = CreateDynamicObject(19460,1456.546,-1781.916,1813.441,0.000,0.000,0.000);
  39447. tmpobjid = CreateDynamicObject(19460,1456.546,-1781.916,1819.840,0.000,179.994,0.000);
  39448. tmpobjid = CreateDynamicObject(2885,1456.404,-1775.802,1818.901,0.000,90.000,269.999);
  39449. tmpobjid = CreateDynamicObject(19460,1456.546,-1773.900,1813.441,0.000,0.000,0.000);
  39450. tmpobjid = CreateDynamicObject(19460,1456.546,-1773.899,1819.840,0.000,179.994,0.000);
  39451. tmpobjid = CreateDynamicObject(2885,1456.405,-1762.120,1821.702,0.000,0.000,270.000);
  39452. tmpobjid = CreateDynamicObject(2885,1456.394,-1768.373,1824.181,0.000,0.000,270.000);
  39453. tmpobjid = CreateDynamicObject(11435,1456.608,-1768.713,1819.651,0.000,0.000,90.000);
  39454. tmpobjid = CreateDynamicObject(11435,1456.608,-1767.006,1819.651,0.000,0.000,90.000);
  39455. tmpobjid = CreateDynamicObject(19460,1456.546,-1764.308,1819.840,0.000,180.000,0.000);
  39456. tmpobjid = CreateDynamicObject(19368,1456.546,-1765.874,1813.441,0.000,0.000,0.000);
  39457. tmpobjid = CreateDynamicObject(2885,1457.199,-1765.617,1821.702,0.000,0.000,179.994);
  39458. tmpobjid = CreateDynamicObject(2885,1469.591,-1765.617,1821.702,0.000,0.000,179.994);
  39459. tmpobjid = CreateDynamicObject(2885,1469.716,-1769.000,1821.702,0.000,0.000,90.000);
  39460. tmpobjid = CreateDynamicObject(11435,1470.049,-1774.488,1819.651,0.000,0.000,0.000);
  39461. tmpobjid = CreateDynamicObject(19460,1457.847,-1765.758,1813.441,0.000,0.000,90.000);
  39462. tmpobjid = CreateDynamicObject(19460,1459.848,-1765.759,1819.840,0.000,180.000,90.000);
  39463. tmpobjid = CreateDynamicObject(19460,1468.916,-1765.759,1813.441,0.000,0.000,90.000);
  39464. tmpobjid = CreateDynamicObject(19460,1469.159,-1765.759,1819.840,0.000,180.000,90.000);
  39465. tmpobjid = CreateDynamicObject(19460,1469.572,-1769.608,1813.441,0.000,0.000,0.000);
  39466. tmpobjid = CreateDynamicObject(19460,1469.572,-1769.608,1819.840,0.000,180.000,0.000);
  39467. tmpobjid = CreateDynamicObject(11435,1463.019,-1765.817,1819.651,0.000,0.000,0.000);
  39468. tmpobjid = CreateDynamicObject(11435,1464.724,-1765.825,1819.651,0.000,0.000,0.000);
  39469. tmpobjid = CreateDynamicObject(2885,1462.649,-1765.611,1824.181,0.000,0.000,179.994);
  39470. tmpobjid = CreateDynamicObject(2885,1456.404,-1781.211,1821.702,0.000,0.000,270.000);
  39471. tmpobjid = CreateDynamicObject(19377,1471.480,-1785.255,1820.241,0.000,0.000,270.000);
  39472. tmpobjid = CreateDynamicObject(19377,1470.733,-1788.796,1815.917,0.000,90.000,0.000);
  39473. tmpobjid = CreateDynamicObject(1649,1467.685,-1783.959,1816.656,0.000,0.000,180.000);
  39474. tmpobjid = CreateDynamicObject(1649,1465.452,-1786.181,1816.656,0.000,0.000,269.994);
  39475. tmpobjid = CreateDynamicObject(11435,1465.011,-1783.943,1819.651,0.000,0.000,180.000);
  39476. tmpobjid = CreateDynamicObject(19377,1466.744,-1790.015,1820.241,0.000,0.000,0.000);
  39477. tmpobjid = CreateDynamicObject(1649,1465.452,-1790.556,1816.989,0.000,0.000,269.989);
  39478. tmpobjid = CreateDynamicObject(11435,1465.512,-1788.873,1818.938,0.000,0.000,270.000);
  39479. tmpobjid = CreateDynamicObject(19377,1470.733,-1788.796,1815.917,0.000,90.000,0.000);
  39480. tmpobjid = CreateDynamicObject(19377,1470.685,-1788.808,1817.350,0.000,90.000,0.000);
  39481. tmpobjid = CreateDynamicObject(19377,1470.358,-1788.338,1821.255,0.000,0.000,270.000);
  39482. tmpobjid = CreateDynamicObject(19377,1469.545,-1788.741,1821.255,0.000,0.000,0.000);
  39483. tmpobjid = CreateDynamicObject(19377,1470.313,-1789.396,1821.255,0.000,0.000,270.000);
  39484. tmpobjid = CreateDynamicObject(2885,1470.907,-1784.062,1816.002,0.000,0.000,0.000);
  39485. tmpobjid = CreateDynamicObject(2885,1470.907,-1784.062,1823.980,0.000,0.000,0.000);
  39486. tmpobjid = CreateDynamicObject(2885,1465.630,-1789.526,1816.002,0.000,0.000,90.000);
  39487. tmpobjid = CreateDynamicObject(2885,1465.630,-1789.526,1823.980,0.000,0.000,90.000);
  39488. tmpobjid = CreateDynamicObject(2885,1465.609,-1793.918,1821.702,0.000,0.000,90.000);
  39489. tmpobjid = CreateDynamicObject(19368,1467.913,-1783.930,1813.441,0.000,0.000,90.000);
  39490. tmpobjid = CreateDynamicObject(19368,1465.474,-1788.515,1813.441,0.000,0.000,0.000);
  39491. tmpobjid = CreateDynamicObject(19441,1466.312,-1783.932,1813.441,0.000,0.000,90.000);
  39492. tmpobjid = CreateDynamicObject(19368,1465.494,-1785.543,1813.441,0.000,0.000,0.000);
  39493. tmpobjid = CreateDynamicObject(19368,1467.887,-1783.912,1819.840,0.000,180.000,90.000);
  39494. tmpobjid = CreateDynamicObject(19368,1465.494,-1785.629,1819.840,0.000,180.000,0.000);
  39495. tmpobjid = CreateDynamicObject(19368,1465.474,-1788.566,1819.840,0.000,180.000,0.000);
  39496. tmpobjid = CreateDynamicObject(2648,1458.675,-1772.578,1815.613,0.000,0.000,270.000);
  39497. tmpobjid = CreateDynamicObject(2648,1458.675,-1774.084,1815.613,0.000,0.000,270.000);
  39498. tmpobjid = CreateDynamicObject(2648,1458.675,-1775.939,1815.613,0.000,0.000,270.000);
  39499. tmpobjid = CreateDynamicObject(2648,1458.675,-1777.806,1815.613,0.000,0.000,270.000);
  39500. tmpobjid = CreateDynamicObject(19441,1466.410,-1783.912,1819.840,0.000,180.000,90.000);
  39501. tmpobjid = CreateDynamicObject(2648,1458.675,-1779.656,1815.613,0.000,0.000,270.000);
  39502. tmpobjid = CreateDynamicObject(2648,1458.675,-1781.435,1815.613,0.000,0.000,270.000);
  39503. tmpobjid = CreateDynamicObject(2648,1458.675,-1783.337,1815.613,0.000,0.000,270.000);
  39504. tmpobjid = CreateDynamicObject(3920,1472.075,-1785.507,1816.966,0.000,0.000,0.000);
  39505. tmpobjid = CreateDynamicObject(3920,1466.974,-1791.543,1816.476,0.000,0.000,91.000);
  39506. tmpobjid = CreateDynamicObject(19894,1458.979,-1773.653,1816.060,0.000,0.000,-88.800);
  39507. tmpobjid = CreateDynamicObject(862,1466.113,-1787.233,1816.004,0.000,0.000,0.000);
  39508. tmpobjid = CreateDynamicObject(19893,1468.837,-1758.626,1815.506,0.000,0.000,20.500);
  39509. tmpobjid = CreateDynamicObject(862,1466.412,-1785.083,1816.004,0.000,0.000,0.000);
  39510. tmpobjid = CreateDynamicObject(862,1468.712,-1784.823,1816.004,0.000,0.000,0.000);
  39511. tmpobjid = CreateDynamicObject(2168,1458.741,-1782.663,1816.240,180.000,0.000,270.000);
  39512. tmpobjid = CreateDynamicObject(677,1467.525,-1784.593,1816.004,0.000,0.000,0.000);
  39513. tmpobjid = CreateDynamicObject(2168,1458.741,-1780.781,1816.258,179.994,0.000,270.000);
  39514. tmpobjid = CreateDynamicObject(1599,1465.760,-1787.625,1816.188,0.000,0.000,0.000);
  39515. tmpobjid = CreateDynamicObject(1600,1465.951,-1785.718,1816.404,0.000,0.000,0.000);
  39516. tmpobjid = CreateDynamicObject(2168,1458.741,-1779.026,1816.258,179.994,0.000,270.000);
  39517. tmpobjid = CreateDynamicObject(1601,1467.121,-1784.723,1816.395,0.000,0.000,270.000);
  39518. tmpobjid = CreateDynamicObject(2168,1458.741,-1777.222,1816.258,179.994,0.000,270.000);
  39519. tmpobjid = CreateDynamicObject(2168,1458.741,-1775.430,1816.258,179.994,0.000,270.000);
  39520. tmpobjid = CreateDynamicObject(1602,1468.338,-1784.512,1817.192,0.000,0.000,0.000);
  39521. tmpobjid = CreateDynamicObject(2168,1458.741,-1773.579,1816.258,179.994,0.000,270.000);
  39522. tmpobjid = CreateDynamicObject(1605,1466.526,-1786.480,1816.416,0.000,0.000,0.000);
  39523. tmpobjid = CreateDynamicObject(1610,1465.838,-1784.588,1816.004,0.000,0.000,0.000);
  39524. tmpobjid = CreateDynamicObject(1611,1465.854,-1786.739,1816.004,0.000,0.000,0.000);
  39525. tmpobjid = CreateDynamicObject(1714,1457.807,-1772.379,1814.990,0.000,0.000,90.000);
  39526. tmpobjid = CreateDynamicObject(1714,1457.654,-1774.093,1814.990,0.000,0.000,90.000);
  39527. tmpobjid = CreateDynamicObject(1714,1457.832,-1776.067,1814.990,0.000,0.000,140.000);
  39528. tmpobjid = CreateDynamicObject(1714,1457.126,-1777.667,1814.990,0.000,0.000,90.000);
  39529. tmpobjid = CreateDynamicObject(1714,1457.483,-1779.378,1814.990,0.000,0.000,76.000);
  39530. tmpobjid = CreateDynamicObject(1714,1457.404,-1781.262,1814.990,0.000,0.000,90.000);
  39531. tmpobjid = CreateDynamicObject(1714,1457.293,-1783.405,1814.990,0.000,0.000,118.000);
  39532. tmpobjid = CreateDynamicObject(1502,1450.662,-1783.698,1814.990,0.000,0.000,0.000);
  39533. tmpobjid = CreateDynamicObject(2614,1456.666,-1777.676,1817.310,0.000,0.000,90.000);
  39534. tmpobjid = CreateDynamicObject(1502,1455.351,-1783.649,1814.990,0.000,0.000,180.000);
  39535. tmpobjid = CreateDynamicObject(2523,1454.188,-1788.718,1814.990,0.000,0.000,180.000);
  39536. tmpobjid = CreateDynamicObject(2523,1452.948,-1788.739,1814.990,0.000,0.000,180.000);
  39537. tmpobjid = CreateDynamicObject(2162,1456.623,-1784.233,1816.566,0.000,0.000,90.000);
  39538. tmpobjid = CreateDynamicObject(2162,1456.647,-1772.562,1816.566,0.000,0.000,90.000);
  39539. tmpobjid = CreateDynamicObject(1846,1452.960,-1788.204,1816.990,90.000,0.000,0.000);
  39540. tmpobjid = CreateDynamicObject(2894,1458.883,-1772.774,1816.046,0.000,0.000,90.000);
  39541. tmpobjid = CreateDynamicObject(2894,1458.884,-1774.482,1816.046,0.000,0.000,90.000);
  39542. tmpobjid = CreateDynamicObject(2894,1458.843,-1776.292,1816.046,0.000,0.000,90.000);
  39543. tmpobjid = CreateDynamicObject(2894,1458.816,-1778.092,1816.046,0.000,0.000,90.000);
  39544. tmpobjid = CreateDynamicObject(2894,1458.858,-1779.918,1816.046,0.000,0.000,90.000);
  39545. tmpobjid = CreateDynamicObject(2894,1458.848,-1781.719,1816.046,0.000,0.000,90.000);
  39546. tmpobjid = CreateDynamicObject(2894,1458.843,-1783.494,1816.046,0.000,0.000,90.000);
  39547. tmpobjid = CreateDynamicObject(1726,1463.735,-1751.847,1815.015,0.000,0.000,0.000);
  39548. tmpobjid = CreateDynamicObject(1726,1468.904,-1755.692,1815.015,0.000,0.000,270.000);
  39549. tmpobjid = CreateDynamicObject(1724,1461.288,-1751.869,1815.015,0.000,0.000,0.000);
  39550. tmpobjid = CreateDynamicObject(19443,1448.230,-1786.720,1816.009,0.000,90.000,0.000);
  39551. tmpobjid = CreateDynamicObject(1724,1467.082,-1751.803,1815.015,0.000,0.000,0.000);
  39552. tmpobjid = CreateDynamicObject(19443,1448.230,-1785.917,1816.009,0.000,90.000,0.000);
  39553. tmpobjid = CreateDynamicObject(1724,1469.040,-1759.151,1815.015,0.000,0.000,270.000);
  39554. tmpobjid = CreateDynamicObject(1724,1469.015,-1753.250,1815.015,0.000,0.000,270.000);
  39555. tmpobjid = CreateDynamicObject(1726,1460.698,-1758.305,1815.015,0.000,0.000,90.000);
  39556. tmpobjid = CreateDynamicObject(19443,1448.230,-1785.168,1816.720,90.000,90.000,0.000);
  39557. tmpobjid = CreateDynamicObject(19443,1448.230,-1785.168,1817.245,90.000,90.000,0.000);
  39558. tmpobjid = CreateDynamicObject(1724,1460.670,-1754.916,1815.015,0.000,0.000,90.000);
  39559. tmpobjid = CreateDynamicObject(1724,1460.693,-1760.770,1815.015,0.000,0.000,90.000);
  39560. tmpobjid = CreateDynamicObject(19443,1448.230,-1787.542,1816.720,90.000,90.000,0.000);
  39561. tmpobjid = CreateDynamicObject(2531,1468.348,-1763.984,1815.015,0.000,0.000,235.750);
  39562. tmpobjid = CreateDynamicObject(19443,1448.230,-1787.542,1817.245,90.000,90.000,0.000);
  39563. tmpobjid = CreateDynamicObject(19443,1448.230,-1786.720,1817.955,0.000,90.000,0.000);
  39564. tmpobjid = CreateDynamicObject(19443,1448.230,-1785.917,1817.955,0.000,90.000,0.000);
  39565. tmpobjid = CreateDynamicObject(1815,1460.113,-1759.555,1815.021,0.000,0.000,0.000);
  39566. tmpobjid = CreateDynamicObject(1815,1460.131,-1756.025,1815.015,0.000,0.000,0.000);
  39567. tmpobjid = CreateDynamicObject(1815,1462.442,-1752.375,1815.015,0.000,0.000,0.000);
  39568. tmpobjid = CreateDynamicObject(1815,1465.980,-1752.421,1815.015,0.000,0.000,0.000);
  39569. tmpobjid = CreateDynamicObject(1815,1468.421,-1755.463,1815.015,0.000,0.000,0.000);
  39570. tmpobjid = CreateDynamicObject(1815,1468.430,-1758.963,1815.015,0.000,0.000,0.000);
  39571. tmpobjid = CreateDynamicObject(19357,1449.515,-1786.280,1817.845,0.000,0.000,0.000);
  39572. tmpobjid = CreateDynamicObject(2230,1460.223,-1750.850,1816.740,0.000,0.000,38.750);
  39573. tmpobjid = CreateDynamicObject(2528,1451.441,-1781.515,1814.990,0.000,0.000,0.000);
  39574. tmpobjid = CreateDynamicObject(2230,1469.864,-1751.235,1816.740,0.000,0.000,318.748);
  39575. tmpobjid = CreateDynamicObject(2528,1454.572,-1781.516,1814.990,0.000,0.000,0.000);
  39576. tmpobjid = CreateDynamicObject(2230,1459.784,-1765.313,1816.740,0.000,0.000,138.746);
  39577. tmpobjid = CreateDynamicObject(18075,1475.304,-1781.595,1818.291,0.000,0.000,0.000);
  39578. tmpobjid = CreateDynamicObject(19389,1456.151,-1768.354,1816.740,0.000,0.000,0.000);
  39579. tmpobjid = CreateDynamicObject(19359,1456.151,-1771.505,1816.740,0.000,0.000,0.000);
  39580. tmpobjid = CreateDynamicObject(19359,1456.151,-1774.647,1816.740,0.000,0.000,0.000);
  39581. tmpobjid = CreateDynamicObject(19359,1454.715,-1774.123,1816.740,0.000,0.000,90.000);
  39582. tmpobjid = CreateDynamicObject(19359,1451.529,-1774.123,1816.740,0.000,0.000,90.000);
  39583. tmpobjid = CreateDynamicObject(19359,1449.901,-1772.521,1816.740,0.000,0.000,0.000);
  39584. tmpobjid = CreateDynamicObject(19359,1449.895,-1769.327,1816.740,0.000,0.000,0.000);
  39585. tmpobjid = CreateDynamicObject(19359,1449.889,-1766.125,1816.740,0.000,0.000,0.000);
  39586. tmpobjid = CreateDynamicObject(19359,1456.151,-1765.714,1816.740,0.000,0.000,0.000);
  39587. tmpobjid = CreateDynamicObject(19359,1454.598,-1766.633,1816.740,0.000,0.000,90.000);
  39588. tmpobjid = CreateDynamicObject(19359,1451.411,-1766.625,1816.740,0.000,0.000,90.000);
  39589. tmpobjid = CreateDynamicObject(2387,1450.475,-1773.564,1814.990,0.000,0.000,0.000);
  39590. tmpobjid = CreateDynamicObject(630,1468.970,-1760.796,1816.041,0.000,0.000,159.999);
  39591. tmpobjid = CreateDynamicObject(630,1460.630,-1764.102,1816.041,0.000,0.000,9.997);
  39592. tmpobjid = CreateDynamicObject(2846,1451.842,-1773.404,1814.990,0.000,0.000,0.000);
  39593. tmpobjid = CreateDynamicObject(2843,1450.432,-1771.739,1814.990,0.000,0.000,0.000);
  39594. tmpobjid = CreateDynamicObject(14782,1450.410,-1767.277,1816.006,0.000,0.000,90.000);
  39595. tmpobjid = CreateDynamicObject(14782,1455.723,-1773.336,1816.006,0.000,0.000,270.000);
  39596. tmpobjid = CreateDynamicObject(2372,1453.842,-1773.569,1814.990,0.000,0.000,90.000);
  39597. tmpobjid = CreateDynamicObject(2382,1453.292,-1773.647,1815.723,0.000,0.000,90.000);
  39598. tmpobjid = CreateDynamicObject(1846,1453.503,-1767.692,1816.875,90.000,0.000,180.000);
  39599. tmpobjid = CreateDynamicObject(19370,1490.177,-1773.464,1824.220,0.000,90.000,0.000);
  39600. tmpobjid = CreateDynamicObject(19370,1490.177,-1771.882,1825.737,90.000,90.000,0.000);
  39601. tmpobjid = CreateDynamicObject(19370,1490.177,-1774.988,1825.737,90.000,90.000,0.000);
  39602. tmpobjid = CreateDynamicObject(19370,1490.177,-1773.464,1827.199,0.000,90.000,0.000);
  39603. tmpobjid = CreateDynamicObject(18084,1487.663,-1774.773,1825.152,0.000,0.000,90.000);
  39604. tmpobjid = CreateDynamicObject(18084,1487.663,-1773.270,1827.453,0.000,0.000,90.000);
  39605. tmpobjid = CreateDynamicObject(18084,1487.663,-1775.843,1827.453,0.000,0.000,90.000);
  39606. tmpobjid = CreateDynamicObject(2885,1488.899,-1772.739,1831.017,0.000,0.000,90.000);
  39607. tmpobjid = CreateDynamicObject(1491,1483.358,-1776.021,1823.770,0.000,0.000,0.000);
  39608. tmpobjid = CreateDynamicObject(1491,1475.202,-1776.016,1823.770,0.000,0.000,0.000);
  39609. tmpobjid = CreateDynamicObject(1491,1468.019,-1776.036,1823.770,0.000,0.000,0.000);
  39610. tmpobjid = CreateDynamicObject(1714,1486.713,-1783.042,1823.770,0.000,0.000,150.000);
  39611. tmpobjid = CreateDynamicObject(1723,1487.983,-1777.059,1823.770,0.000,0.000,270.000);
  39612. tmpobjid = CreateDynamicObject(1724,1485.421,-1776.584,1823.770,0.000,0.000,0.000);
  39613. tmpobjid = CreateDynamicObject(1998,1487.002,-1781.858,1823.770,0.000,0.000,270.000);
  39614. tmpobjid = CreateDynamicObject(2174,1480.706,-1782.864,1823.770,0.000,0.000,90.000);
  39615. tmpobjid = CreateDynamicObject(2310,1487.340,-1780.840,1824.270,0.000,0.000,45.000);
  39616. tmpobjid = CreateDynamicObject(2310,1480.937,-1782.136,1824.270,0.000,0.000,0.000);
  39617. tmpobjid = CreateDynamicObject(2161,1480.219,-1779.647,1823.770,0.000,0.000,90.000);
  39618. tmpobjid = CreateDynamicObject(2164,1481.564,-1776.109,1823.770,0.000,0.000,0.000);
  39619. tmpobjid = CreateDynamicObject(2167,1480.657,-1776.105,1823.776,0.000,0.000,0.000);
  39620. tmpobjid = CreateDynamicObject(630,1480.621,-1780.680,1824.796,0.000,0.000,0.000);
  39621. tmpobjid = CreateDynamicObject(630,1480.609,-1778.339,1824.796,0.000,0.000,0.000);
  39622. tmpobjid = CreateDynamicObject(2245,1488.072,-1781.635,1824.891,0.000,0.000,0.000);
  39623. tmpobjid = CreateDynamicObject(2252,1479.495,-1779.431,1824.590,0.000,0.000,0.000);
  39624. tmpobjid = CreateDynamicObject(2287,1487.104,-1776.578,1825.470,0.000,0.000,0.000);
  39625. tmpobjid = CreateDynamicObject(2286,1488.462,-1780.338,1825.870,0.000,0.000,270.000);
  39626. tmpobjid = CreateDynamicObject(2284,1483.969,-1782.848,1825.470,0.000,0.000,180.000);
  39627. tmpobjid = CreateDynamicObject(2282,1480.683,-1779.438,1825.429,0.000,0.000,90.000);
  39628. tmpobjid = CreateDynamicObject(14416,1482.800,-1756.579,1821.354,0.000,0.000,270.000);
  39629. tmpobjid = CreateDynamicObject(1721,1482.020,-1759.942,1823.770,0.000,0.000,270.000);
  39630. tmpobjid = CreateDynamicObject(1721,1482.020,-1761.202,1823.770,0.000,0.000,270.000);
  39631. tmpobjid = CreateDynamicObject(1721,1482.020,-1762.409,1823.770,0.000,0.000,270.000);
  39632. tmpobjid = CreateDynamicObject(1721,1482.020,-1763.666,1823.770,0.000,0.000,270.000);
  39633. tmpobjid = CreateDynamicObject(1721,1482.020,-1764.785,1823.770,0.000,0.000,270.000);
  39634. tmpobjid = CreateDynamicObject(1721,1482.020,-1765.943,1823.770,0.000,0.000,270.000);
  39635. tmpobjid = CreateDynamicObject(1721,1482.020,-1767.081,1823.770,0.000,0.000,270.000);
  39636. tmpobjid = CreateDynamicObject(1721,1482.020,-1768.326,1823.770,0.000,0.000,270.000);
  39637. tmpobjid = CreateDynamicObject(1721,1480.635,-1759.942,1823.770,0.000,0.000,270.000);
  39638. tmpobjid = CreateDynamicObject(1721,1480.635,-1761.202,1823.770,0.000,0.000,270.000);
  39639. tmpobjid = CreateDynamicObject(1721,1480.635,-1762.409,1823.770,0.000,0.000,270.000);
  39640. tmpobjid = CreateDynamicObject(1721,1480.634,-1763.666,1823.770,0.000,0.000,270.000);
  39641. tmpobjid = CreateDynamicObject(1721,1480.634,-1764.785,1823.770,0.000,0.000,270.000);
  39642. tmpobjid = CreateDynamicObject(1721,1480.635,-1765.943,1823.770,0.000,0.000,270.000);
  39643. tmpobjid = CreateDynamicObject(1721,1480.634,-1767.081,1823.770,0.000,0.000,270.000);
  39644. tmpobjid = CreateDynamicObject(1721,1480.635,-1768.327,1823.770,0.000,0.000,270.000);
  39645. tmpobjid = CreateDynamicObject(1721,1479.381,-1759.941,1823.770,0.000,0.000,270.000);
  39646. tmpobjid = CreateDynamicObject(1721,1479.381,-1761.201,1823.770,0.000,0.000,270.000);
  39647. tmpobjid = CreateDynamicObject(1721,1479.381,-1762.408,1823.770,0.000,0.000,270.000);
  39648. tmpobjid = CreateDynamicObject(1721,1479.381,-1763.666,1823.770,0.000,0.000,270.000);
  39649. tmpobjid = CreateDynamicObject(1721,1479.381,-1764.785,1823.770,0.000,0.000,270.000);
  39650. tmpobjid = CreateDynamicObject(1721,1479.381,-1765.943,1823.770,0.000,0.000,270.000);
  39651. tmpobjid = CreateDynamicObject(1721,1479.381,-1767.081,1823.770,0.000,0.000,270.000);
  39652. tmpobjid = CreateDynamicObject(1721,1479.381,-1768.326,1823.770,0.000,0.000,270.000);
  39653. tmpobjid = CreateDynamicObject(1721,1478.065,-1759.941,1823.770,0.000,0.000,270.000);
  39654. tmpobjid = CreateDynamicObject(1721,1478.065,-1761.201,1823.770,0.000,0.000,270.000);
  39655. tmpobjid = CreateDynamicObject(1721,1478.065,-1762.408,1823.770,0.000,0.000,270.000);
  39656. tmpobjid = CreateDynamicObject(1721,1478.065,-1763.666,1823.770,0.000,0.000,270.000);
  39657. tmpobjid = CreateDynamicObject(1721,1478.065,-1764.785,1823.770,0.000,0.000,270.000);
  39658. tmpobjid = CreateDynamicObject(1721,1478.065,-1765.943,1823.770,0.000,0.000,270.000);
  39659. tmpobjid = CreateDynamicObject(1721,1478.065,-1767.081,1823.770,0.000,0.000,270.000);
  39660. tmpobjid = CreateDynamicObject(1721,1478.065,-1768.326,1823.770,0.000,0.000,270.000);
  39661. tmpobjid = CreateDynamicObject(1721,1476.587,-1759.941,1823.770,0.000,0.000,270.000);
  39662. tmpobjid = CreateDynamicObject(1721,1476.587,-1761.201,1823.770,0.000,0.000,270.000);
  39663. tmpobjid = CreateDynamicObject(1721,1476.587,-1762.408,1823.770,0.000,0.000,270.000);
  39664. tmpobjid = CreateDynamicObject(1721,1476.587,-1763.666,1823.770,0.000,0.000,270.000);
  39665. tmpobjid = CreateDynamicObject(1721,1476.587,-1764.785,1823.770,0.000,0.000,270.000);
  39666. tmpobjid = CreateDynamicObject(1721,1476.587,-1765.943,1823.770,0.000,0.000,270.000);
  39667. tmpobjid = CreateDynamicObject(1721,1476.587,-1767.081,1823.770,0.000,0.000,270.000);
  39668. tmpobjid = CreateDynamicObject(1721,1476.587,-1768.326,1823.770,0.000,0.000,270.000);
  39669. tmpobjid = CreateDynamicObject(1721,1475.065,-1759.941,1823.770,0.000,0.000,270.000);
  39670. tmpobjid = CreateDynamicObject(1721,1475.065,-1761.201,1823.770,0.000,0.000,270.000);
  39671. tmpobjid = CreateDynamicObject(1721,1475.065,-1762.408,1823.770,0.000,0.000,270.000);
  39672. tmpobjid = CreateDynamicObject(1721,1475.065,-1763.666,1823.770,0.000,0.000,270.000);
  39673. tmpobjid = CreateDynamicObject(1721,1475.065,-1764.785,1823.770,0.000,0.000,270.000);
  39674. tmpobjid = CreateDynamicObject(1721,1475.065,-1765.943,1823.770,0.000,0.000,270.000);
  39675. tmpobjid = CreateDynamicObject(1721,1475.065,-1767.081,1823.770,0.000,0.000,270.000);
  39676. tmpobjid = CreateDynamicObject(1721,1475.065,-1768.326,1823.770,0.000,0.000,270.000);
  39677. tmpobjid = CreateDynamicObject(1721,1473.556,-1759.941,1823.770,0.000,0.000,270.000);
  39678. tmpobjid = CreateDynamicObject(1721,1473.556,-1761.201,1823.770,0.000,0.000,270.000);
  39679. tmpobjid = CreateDynamicObject(1721,1473.556,-1762.408,1823.770,0.000,0.000,270.000);
  39680. tmpobjid = CreateDynamicObject(1721,1473.556,-1763.666,1823.770,0.000,0.000,270.000);
  39681. tmpobjid = CreateDynamicObject(1721,1473.556,-1764.785,1823.770,0.000,0.000,270.000);
  39682. tmpobjid = CreateDynamicObject(1721,1473.556,-1765.943,1823.770,0.000,0.000,270.000);
  39683. tmpobjid = CreateDynamicObject(1721,1473.556,-1767.081,1823.770,0.000,0.000,270.000);
  39684. tmpobjid = CreateDynamicObject(1721,1473.556,-1768.326,1823.770,0.000,0.000,270.000);
  39685. tmpobjid = CreateDynamicObject(1721,1472.201,-1759.941,1823.770,0.000,0.000,270.000);
  39686. tmpobjid = CreateDynamicObject(1721,1472.201,-1761.201,1823.770,0.000,0.000,270.000);
  39687. tmpobjid = CreateDynamicObject(1721,1472.201,-1762.408,1823.770,0.000,0.000,270.000);
  39688. tmpobjid = CreateDynamicObject(1721,1472.201,-1763.666,1823.770,0.000,0.000,270.000);
  39689. tmpobjid = CreateDynamicObject(1721,1472.201,-1764.785,1823.770,0.000,0.000,270.000);
  39690. tmpobjid = CreateDynamicObject(1721,1472.201,-1765.943,1823.770,0.000,0.000,270.000);
  39691. tmpobjid = CreateDynamicObject(1721,1472.201,-1767.081,1823.770,0.000,0.000,270.000);
  39692. tmpobjid = CreateDynamicObject(1721,1472.201,-1768.326,1823.770,0.000,0.000,270.000);
  39693. tmpobjid = CreateDynamicObject(2184,1485.395,-1762.953,1824.608,0.000,0.000,270.000);
  39694. tmpobjid = CreateDynamicObject(630,1488.130,-1770.389,1825.633,0.000,0.000,180.000);
  39695. tmpobjid = CreateDynamicObject(630,1487.913,-1756.687,1825.633,0.000,0.000,180.000);
  39696. tmpobjid = CreateDynamicObject(2961,1462.344,-1787.493,1825.392,0.000,0.000,180.000);
  39697. tmpobjid = CreateDynamicObject(2205,1475.730,-1781.572,1823.770,0.000,0.000,0.000);
  39698. tmpobjid = CreateDynamicObject(2162,1479.547,-1783.334,1823.770,0.000,0.000,180.000);
  39699. tmpobjid = CreateDynamicObject(2164,1478.064,-1776.142,1823.770,0.000,0.000,0.000);
  39700. tmpobjid = CreateDynamicObject(2167,1472.843,-1777.994,1823.770,0.000,0.000,90.000);
  39701. tmpobjid = CreateDynamicObject(2162,1473.615,-1776.105,1825.142,0.000,0.000,0.000);
  39702. tmpobjid = CreateDynamicObject(630,1473.334,-1777.228,1824.796,0.000,0.000,0.000);
  39703. tmpobjid = CreateDynamicObject(630,1473.348,-1782.923,1824.796,0.000,0.000,0.000);
  39704. tmpobjid = CreateDynamicObject(2319,1479.572,-1780.192,1823.770,0.000,0.000,90.000);
  39705. tmpobjid = CreateDynamicObject(2894,1485.526,-1763.972,1825.384,0.000,0.000,90.000);
  39706. tmpobjid = CreateDynamicObject(2289,1479.987,-1779.455,1825.805,0.000,0.000,270.000);
  39707. tmpobjid = CreateDynamicObject(2267,1476.307,-1783.317,1825.718,0.000,0.000,180.000);
  39708. tmpobjid = CreateDynamicObject(2266,1473.326,-1780.474,1825.571,0.000,0.000,90.000);
  39709. tmpobjid = CreateDynamicObject(14455,1466.880,-1783.327,1825.442,0.000,0.000,0.000);
  39710. tmpobjid = CreateDynamicObject(2608,1465.203,-1779.989,1825.882,0.000,0.000,90.000);
  39711. tmpobjid = CreateDynamicObject(2205,1470.834,-1779.912,1823.770,0.000,0.000,90.000);
  39712. tmpobjid = CreateDynamicObject(2163,1466.115,-1776.102,1823.770,0.000,0.000,0.000);
  39713. tmpobjid = CreateDynamicObject(2164,1470.727,-1776.129,1823.770,0.000,0.000,0.000);
  39714. tmpobjid = CreateDynamicObject(2162,1472.646,-1781.557,1825.332,0.000,0.000,270.000);
  39715. tmpobjid = CreateDynamicObject(1714,1476.349,-1783.109,1823.770,0.000,0.000,180.000);
  39716. tmpobjid = CreateDynamicObject(1714,1472.250,-1779.270,1823.770,0.000,0.000,270.000);
  39717. tmpobjid = CreateDynamicObject(1714,1487.526,-1764.015,1824.608,0.000,0.000,270.000);
  39718. tmpobjid = CreateDynamicObject(2264,1465.511,-1778.114,1825.370,0.000,0.000,90.000);
  39719. tmpobjid = CreateDynamicObject(2258,1472.619,-1779.346,1825.791,0.000,0.000,270.000);
  39720. tmpobjid = CreateDynamicObject(1491,1464.869,-1768.453,1823.770,0.000,0.000,270.000);
  39721. tmpobjid = CreateDynamicObject(18075,1462.766,-1777.385,1818.340,0.000,0.000,0.000);
  39722. tmpobjid = CreateDynamicObject(19172,1485.288,-1770.848,1825.890,0.000,0.000,0.000);
  39723. tmpobjid = CreateDynamicObject(19174,1475.813,-1770.839,1825.853,0.000,0.000,0.000);
  39724. tmpobjid = CreateDynamicObject(19173,1467.624,-1770.848,1825.853,0.000,0.000,0.000);
  39725. tmpobjid = CreateDynamicObject(1723,1465.482,-1782.822,1823.770,0.000,0.000,90.000);
  39726. tmpobjid = CreateDynamicObject(1723,1481.198,-1775.449,1823.770,0.000,0.000,180.000);
  39727. tmpobjid = CreateDynamicObject(1723,1473.336,-1775.438,1823.770,0.000,0.000,180.000);
  39728. tmpobjid = CreateDynamicObject(1723,1464.275,-1780.904,1823.770,0.000,0.000,270.000);
  39729. tmpobjid = CreateDynamicObject(1724,1464.301,-1778.727,1823.770,0.000,0.000,270.000);
  39730. tmpobjid = CreateDynamicObject(1724,1464.284,-1783.983,1823.770,0.000,0.000,270.000);
  39731. tmpobjid = CreateDynamicObject(1726,1457.250,-1783.956,1823.770,0.000,0.000,90.000);
  39732. tmpobjid = CreateDynamicObject(1726,1459.318,-1768.281,1823.770,0.000,0.000,0.000);
  39733. tmpobjid = CreateDynamicObject(1726,1457.180,-1776.038,1823.770,0.000,0.000,90.000);
  39734. tmpobjid = CreateDynamicObject(630,1457.360,-1785.916,1824.796,0.000,0.000,0.000);
  39735. tmpobjid = CreateDynamicObject(630,1457.352,-1778.931,1824.796,0.000,0.000,0.000);
  39736. tmpobjid = CreateDynamicObject(630,1457.438,-1771.009,1824.796,0.000,0.000,0.000);
  39737. tmpobjid = CreateDynamicObject(2319,1470.588,-1771.302,1823.770,0.000,0.000,0.000);
  39738. tmpobjid = CreateDynamicObject(2319,1479.832,-1771.364,1823.770,0.000,0.000,0.000);
  39739. tmpobjid = CreateDynamicObject(2241,1471.990,-1771.264,1824.771,0.000,0.000,0.000);
  39740. tmpobjid = CreateDynamicObject(2245,1470.793,-1771.313,1824.577,0.000,0.000,0.000);
  39741. tmpobjid = CreateDynamicObject(2252,1480.043,-1771.392,1824.590,0.000,0.000,0.000);
  39742. tmpobjid = CreateDynamicObject(2253,1481.067,-1771.359,1824.548,0.000,0.000,0.000);
  39743. tmpobjid = CreateDynamicObject(18075,1464.941,-1757.875,1818.316,0.000,0.000,0.000);
  39744. tmpobjid = CreateDynamicObject(18075,1457.878,-1777.862,1827.190,0.000,0.000,0.000);
  39745. tmpobjid = CreateDynamicObject(18075,1473.115,-1763.487,1827.161,0.000,0.000,0.000);
  39746. tmpobjid = CreateDynamicObject(18075,1482.666,-1763.477,1827.170,0.000,0.000,0.000);
  39747. tmpobjid = CreateDynamicObject(18075,1468.559,-1777.730,1827.240,0.000,0.000,0.000);
  39748. tmpobjid = CreateDynamicObject(18075,1480.103,-1773.598,1827.200,0.000,0.000,0.000);
  39749. tmpobjid = CreateDynamicObject(19807,1458.729,-1784.243,1816.080,0.000,0.000,-121.399);
  39750. tmpobjid = CreateDynamicObject(19814,1456.625,-1785.221,1815.311,0.000,0.000,90.399);
  39751. }
  39752. stock LoadPoliceDepartment1() //by peks97
  39753. {
  39754. CreateDynamicObject(945, 2594.6999511719, -1201.5, 1525.5, 0, 0, 0);
  39755. CreateDynamicObject(2196, 2611.7998046875, -1195.7998046875, 1516, 0, 0, 269.97802734375);
  39756. CreateDynamicObject(2164, 2593.3999023438, -1192.4000244141, 1515.1999511719, 0, 0, 0);
  39757. CreateDynamicObject(2199, 2592.8000488281, -1207.4000244141, 1515.1999511719, 0, 0, 90);
  39758. CreateDynamicObject(2608, 2593.8999023438, -1205.3000488281, 1515.9000244141, 0, 0, 0);
  39759. CreateDynamicObject(2606, 2593.7998046875, -1192.3994140625, 1517.3000488281, 0, 0, 0);
  39760. CreateDynamicObject(2737, 2606.2998046875, -1212.099609375, 1516.6999511719, 0, 0, 270);
  39761. CreateDynamicObject(2954, 2597.19921875, -1203.099609375, 1515.1999511719, 0, 0, 179.99450683594);
  39762. CreateDynamicObject(1502, 2597.1999511719, -1193.8000488281, 1515.1999511719, 0, 0, 90);
  39763. CreateDynamicObject(2680, 2605.7998046875, -1197.7998046875, 1516.1999511719, 0, 0, 0);
  39764. CreateDynamicObject(2616, 2596.8994140625, -1210.69921875, 1517.1999511719, 0, 0, 270);
  39765. CreateDynamicObject(2614, 2592.7998046875, -1195.2998046875, 1517.1999511719, 0, 0, 90);
  39766. CreateDynamicObject(2612, 2592.7998046875, -1211.5, 1517.0999755859, 0, 0, 91.983032226563);
  39767. CreateDynamicObject(2611, 2596, -1205.099609375, 1517.0999755859, 0, 0, 0);
  39768. CreateDynamicObject(1616, 2592.8999023438, -1198.1999511719, 1517.9000244141, 0, 0, 187.99255371094);
  39769. CreateDynamicObject(1778, 2601.5, -1201.69921875, 1515.1999511719, 0, 0, 0);
  39770. CreateDynamicObject(1808, 2595, -1192.5, 1515.1999511719, 0, 0, 0);
  39771. CreateDynamicObject(2186, 2596.3994140625, -1207.5, 1515.1999511719, 0, 0, 270);
  39772. CreateDynamicObject(2190, 2608.6000976563, -1211, 1516.0999755859, 0, 0, 0);
  39773. CreateDynamicObject(2332, 2609.6999511719, -1213.3000488281, 1517.5, 0, 0, 179.99450683594);
  39774. CreateDynamicObject(1714, 2608.6999511719, -1212.6999511719, 1515.1999511719, 0, 0, 169.99145507813);
  39775. CreateDynamicObject(2310, 2594.3000488281, -1194.8000488281, 1515.6999511719, 0, 0, 75.997924804688);
  39776. CreateDynamicObject(2009, 2595.5, -1205.3994140625, 1515.1999511719, 0, 0, 270);
  39777. CreateDynamicObject(2165, 2594.8994140625, -1195.7998046875, 1515.1999511719, 0, 0, 179.99450683594);
  39778. CreateDynamicObject(1535, 2592.6999511719, -1200.4000244141, 1515.0999755859, 0, 0, 270);
  39779. CreateDynamicObject(1649, 2594.8994140625, -1197.69921875, 1518.5999755859, 0, 0, 179.99450683594);
  39780. CreateDynamicObject(1808, 2596.7998046875, -1204.19921875, 1515.1999511719, 0, 0, 270);
  39781. CreateDynamicObject(2001, 2596.3994140625, -1196.8994140625, 1515.1999511719, 0, 0, 0);
  39782. CreateDynamicObject(1722, 2596.8994140625, -1198.2998046875, 1515.3000488281, 0, 0, 90);
  39783. CreateDynamicObject(1722, 2596.8994140625, -1199.099609375, 1515.3000488281, 0, 0, 90);
  39784. CreateDynamicObject(1722, 2596.8999023438, -1199.9000244141, 1515.3000488281, 0, 0, 90);
  39785. CreateDynamicObject(1502, 2597.19921875, -1211.599609375, 1515.1999511719, 0, 0, 269.98901367188);
  39786. CreateDynamicObject(2066, 2594.3999023438, -1212.8000488281, 1515.3000488281, 0, 0, 179.99450683594);
  39787. CreateDynamicObject(2065, 2593.6999511719, -1212.8000488281, 1515.3000488281, 0, 0, 179.99450683594);
  39788. CreateDynamicObject(2067, 2593, -1212.8000488281, 1515.3000488281, 0, 0, 179.99450683594);
  39789. CreateDynamicObject(1806, 2595.3000488281, -1206.3000488281, 1515.3000488281, 0, 0, 257.99255371094);
  39790. CreateDynamicObject(2241, 2595.099609375, -1212.8994140625, 1515.6999511719, 0, 0, 0);
  39791. CreateDynamicObject(1502, 2604.8000488281, -1206.1999511719, 1515.1999511719, 0, 0, 359.98352050781);
  39792. CreateDynamicObject(1892, 2605, -1207, 1515.1999511719, 0, 0, 0);
  39793. CreateDynamicObject(1737, 2605, -1212.9000244141, 1514.8000488281, 0, 0, 0);
  39794. CreateDynamicObject(1737, 2605, -1212, 1514.8000488281, 0, 0, 0);
  39795. CreateDynamicObject(1737, 2605, -1211.099609375, 1514.8000488281, 0, 0, 0);
  39796. CreateDynamicObject(1737, 2605, -1211.3994140625, 1515.0999755859, 270, 270, 270);
  39797. CreateDynamicObject(1737, 2605.2998046875, -1212.8994140625, 1515.0999755859, 90, 0, 270);
  39798. CreateDynamicObject(1737, 2605.3000488281, -1211.0999755859, 1515.0999755859, 90, 0, 270);
  39799. CreateDynamicObject(3384, 2621.69921875, -1211, 1516.6999511719, 0, 0, 0);
  39800. CreateDynamicObject(2715, 2597, -1208.3994140625, 1517.3000488281, 0, 0, 90);
  39801. CreateDynamicObject(2289, 2597, -1199.099609375, 1517.5999755859, 0, 0, 270);
  39802. CreateDynamicObject(2161, 2616.2998046875, -1194.2998046875, 1515.4000244141, 0, 0, 268);
  39803. CreateDynamicObject(2162, 2616.3000488281, -1195.6999511719, 1515.4000244141, 0, 0, 270);
  39804. CreateDynamicObject(2163, 2614.6999511719, -1192.4000244141, 1515.3000488281, 0, 0, 0);
  39805. CreateDynamicObject(2164, 2612.8999023438, -1192.4000244141, 1515.3000488281, 0, 0, 0);
  39806. CreateDynamicObject(2708, 2593, -1210.099609375, 1515.1999511719, 0, 0, 90);
  39807. CreateDynamicObject(2966, 2595.2998046875, -1205.5, 1516.0999755859, 0, 0, 0);
  39808. CreateDynamicObject(2055, 2595.7998046875, -1213.099609375, 1517.5999755859, 0, 0, 179.99450683594);
  39809. CreateDynamicObject(2384, 2593.099609375, -1210.099609375, 1515.8000488281, 0, 0, 179.99450683594);
  39810. CreateDynamicObject(2392, 2593.099609375, -1209.7998046875, 1517, 0, 0, 0);
  39811. CreateDynamicObject(2700, 2596.7998046875, -1195.2998046875, 1517.8000488281, 0, 0, 179.99450683594);
  39812. CreateDynamicObject(1806, 2610.19921875, -1195.599609375, 1515.1999511719, 0, 0, 247.24182128906);
  39813. CreateDynamicObject(1998, 2611.2998046875, -1195.69921875, 1515.1999511719, 0, 0, 179.99450683594);
  39814. CreateDynamicObject(1216, 2593.19921875, -1204.099609375, 1516, 0, 0, 179.99450683594);
  39815. CreateDynamicObject(3386, 2619.3994140625, -1207.599609375, 1515.1999511719, 0, 0, 90);
  39816. CreateDynamicObject(3390, 2620.599609375, -1212.3994140625, 1515.1999511719, 0, 0, 270);
  39817. CreateDynamicObject(1502, 2608.5, -1202.5999755859, 1515.1999511719, 0, 0, 0);
  39818. CreateDynamicObject(1502, 2610.8000488281, -1207, 1515.0999755859, 0, 0, 359.99450683594);
  39819. CreateDynamicObject(14856, 2612, -1189.2998046875, 1517.0999755859, 0, 0, 0);
  39820. CreateDynamicObject(2606, 2604.7998046875, -1212, 1515.6999511719, 0, 90, 0);
  39821. CreateDynamicObject(2606, 2604.8000488281, -1212, 1515.6999511719, 0, 90, 180);
  39822. CreateDynamicObject(1502, 2613.3999023438, -1197.8000488281, 1515.0999755859, 0, 0, 0);
  39823. CreateDynamicObject(1649, 2594.8994140625, -1197.69921875, 1518.5999755859, 0, 0, 0);
  39824. CreateDynamicObject(2680, 2601.6000976563, -1197.8000488281, 1516.1999511719, 0, 0, 0);
  39825. CreateDynamicObject(1776, 2596.69921875, -1201, 1516.3000488281, 0, 0, 270);
  39826. CreateDynamicObject(2425, 2595.1000976563, -1204.4000244141, 1516.5, 0, 0, 180);
  39827. CreateDynamicObject(2223, 2593.6000976563, -1195.5999755859, 1516.0999755859, 0, 0, 122.5);
  39828. CreateDynamicObject(1549, 2592.8999023438, -1198, 1515.1999511719, 0, 0, 54);
  39829. CreateDynamicObject(3113, 2599.599609375, -1203.099609375, 1514.5999755859, 0, 284.99084472656, 0);
  39830. CreateDynamicObject(3095, 2605.1000976563, -1193.1999511719, 1514.8000488281, 0, 0, 0);
  39831. CreateDynamicObject(2886, 2597.099609375, -1203.5, 1516.6999511719, 0, 0, 270);
  39832. CreateDynamicObject(1210, 2608.1999511719, -1210.5999755859, 1516.1999511719, 0, 0, 91.246948242188);
  39833. CreateDynamicObject(2061, 2593, -1212.9000244141, 1516.9000244141, 0, 0, 0);
  39834. CreateDynamicObject(2690, 2595.5, -1192.5999755859, 1515.5999755859, 0, 0, 0);
  39835. CreateDynamicObject(5152, 2597.1999511719, -1200, 1516.3000488281, 270, 350, 56);
  39836. CreateDynamicObject(2684, 2596.1999511719, -1192.4000244141, 1517.0999755859, 0, 0, 0);
  39837. CreateDynamicObject(2765, 2594.6999511719, -1212.6999511719, 1515.1999511719, 0, 0, 0);
  39838. CreateDynamicObject(3113, 2607.7998046875, -1203.099609375, 1514.5999755859, 0, 284.99084472656, 179.99450683594);
  39839. CreateDynamicObject(3113, 2622.099609375, -1203.099609375, 1514.5999755859, 0, 284.99084472656, 0);
  39840. CreateDynamicObject(5152, 2597.19921875, -1196, 1516.3000488281, 270, 349.99694824219, 56.9970703125);
  39841. CreateDynamicObject(5152, 2597.19921875, -1196, 1518.4000244141, 270, 349.99694824219, 56.9970703125);
  39842. CreateDynamicObject(5152, 2597.19921875, -1200, 1518.4000244141, 270, 349.99694824219, 55.997314453125);
  39843. CreateDynamicObject(5152, 2594.8994140625, -1197.69921875, 1515.5999755859, 270, 349.99694824219, 146.9970703125);
  39844. CreateDynamicObject(5152, 2595, -1192.1999511719, 1516.3000488281, 270, 350, 147);
  39845. CreateDynamicObject(5152, 2595, -1192.19921875, 1518.4000244141, 270, 349.99145507813, 146.99157714844);
  39846. CreateDynamicObject(5152, 2592.6000976563, -1193.5999755859, 1518.4000244141, 270, 350, 237);
  39847. CreateDynamicObject(5152, 2592.6000976563, -1193.6999511719, 1516.3000488281, 270, 350, 237);
  39848. CreateDynamicObject(5152, 2592.599609375, -1198, 1516.3000488281, 270, 349.99694824219, 235.99731445313);
  39849. CreateDynamicObject(5152, 2592.6000976563, -1198, 1518.4000244141, 270, 350, 236);
  39850. CreateDynamicObject(5152, 2594.8999023438, -1197.5999755859, 1515.5999755859, 270, 350, 327);
  39851. CreateDynamicObject(5152, 2592.599609375, -1202.3994140625, 1516.3000488281, 270, 349.99694824219, 236.9970703125);
  39852. CreateDynamicObject(5152, 2592.599609375, -1202.3994140625, 1518.4000244141, 270, 349.99145507813, 236.9970703125);
  39853. CreateDynamicObject(5152, 2597.1999511719, -1205.4000244141, 1516.3000488281, 270, 350, 56.75);
  39854. CreateDynamicObject(5152, 2597.19921875, -1204.2998046875, 1518.4000244141, 270, 349.99694824219, 56.749877929688);
  39855. CreateDynamicObject(5152, 2597.1000976563, -1191.6999511719, 1518.8000488281, 90, 185.63049316406, 110.36315917969);
  39856. CreateDynamicObject(5152, 2597.19921875, -1209.5, 1516.3000488281, 270, 349.99145507813, 55.986328125);
  39857. CreateDynamicObject(5152, 2597.19921875, -1209.5, 1518.4000244141, 270, 349.99694824219, 55.997314453125);
  39858. CreateDynamicObject(5152, 2597.19921875, -1205.2998046875, 1518.4000244141, 270, 349.99694824219, 56.749877929688);
  39859. CreateDynamicObject(5152, 2597.19921875, -1213.8994140625, 1518.8000488281, 270, 349.99145507813, 55.991821289063);
  39860. CreateDynamicObject(2765, 2594.69921875, -1212.69921875, 1516.3000488281, 0, 0, 0);
  39861. CreateDynamicObject(2765, 2594.69921875, -1212.69921875, 1517.4000244141, 0, 0, 0);
  39862. CreateDynamicObject(2765, 2591.8000488281, -1212.6999511719, 1517.4000244141, 0, 0, 0);
  39863. CreateDynamicObject(2765, 2591.8000488281, -1212.6999511719, 1516.3000488281, 0, 0, 0);
  39864. CreateDynamicObject(2765, 2591.7998046875, -1212.69921875, 1515.3000488281, 0, 0, 0);
  39865. CreateDynamicObject(2765, 2593.099609375, -1210.7998046875, 1517.4000244141, 0, 0, 270);
  39866. CreateDynamicObject(2765, 2593.1000976563, -1210.8000488281, 1516.3000488281, 0, 0, 270);
  39867. CreateDynamicObject(2765, 2593.1000976563, -1210.8000488281, 1515.1999511719, 0, 0, 270);
  39868. CreateDynamicObject(2765, 2593.1000976563, -1207.9000244141, 1515.1999511719, 0, 0, 270);
  39869. CreateDynamicObject(2765, 2593.1000976563, -1205.3000488281, 1515.1999511719, 0, 0, 270);
  39870. CreateDynamicObject(2765, 2593.099609375, -1207.8994140625, 1517.4000244141, 0, 0, 270);
  39871. CreateDynamicObject(2765, 2593.099609375, -1207.8994140625, 1516.3000488281, 0, 0, 270);
  39872. CreateDynamicObject(2765, 2593.1000976563, -1205.3000488281, 1516.3000488281, 0, 0, 270);
  39873. CreateDynamicObject(2765, 2593.099609375, -1205.2998046875, 1517.4000244141, 0, 0, 270);
  39874. CreateDynamicObject(2765, 2596.599609375, -1205.3994140625, 1517.4000244141, 0, 0, 179.99450683594);
  39875. CreateDynamicObject(2765, 2596.599609375, -1205.3994140625, 1516.3000488281, 0, 0, 179.99450683594);
  39876. CreateDynamicObject(2765, 2596.6000976563, -1205.4000244141, 1515.1999511719, 0, 0, 179.99450683594);
  39877. CreateDynamicObject(2765, 2593.6999511719, -1205.4000244141, 1515.3000488281, 0, 0, 179.99450683594);
  39878. CreateDynamicObject(2765, 2593.6999511719, -1205.4000244141, 1516.3000488281, 0, 0, 179.99450683594);
  39879. CreateDynamicObject(2765, 2593.69921875, -1205.3994140625, 1517.4000244141, 0, 0, 179.99450683594);
  39880. CreateDynamicObject(2765, 2596.599609375, -1211.2998046875, 1517.4000244141, 0, 0, 89.994506835938);
  39881. CreateDynamicObject(2765, 2596.6000976563, -1211.3000488281, 1516.3000488281, 0, 0, 89.994506835938);
  39882. CreateDynamicObject(2765, 2596.6000976563, -1211.3000488281, 1515.1999511719, 0, 0, 89.994506835938);
  39883. CreateDynamicObject(2765, 2596.6000976563, -1207.4000244141, 1515.1999511719, 0, 0, 89.994506835938);
  39884. CreateDynamicObject(2765, 2596.6000976563, -1208.9000244141, 1515.1999511719, 0, 0, 89.994506835938);
  39885. CreateDynamicObject(2765, 2596.6000976563, -1208.9000244141, 1516.3000488281, 0, 0, 89.994506835938);
  39886. CreateDynamicObject(2765, 2596.599609375, -1208.8994140625, 1517.4000244141, 0, 0, 89.994506835938);
  39887. CreateDynamicObject(2765, 2596.6000976563, -1207.4000244141, 1517.4000244141, 0, 0, 89.994506835938);
  39888. CreateDynamicObject(2765, 2596.6000976563, -1207.4000244141, 1516.3000488281, 0, 0, 89.994506835938);
  39889. CreateDynamicObject(2765, 2596.6000976563, -1212.1999511719, 1518.8000488281, 0, 180, 90);
  39890. CreateDynamicObject(5152, 2594.8994140625, -1204.69921875, 1516.3000488281, 270, 349.99145507813, 326.98608398438);
  39891. CreateDynamicObject(5152, 2600.5, -1212.19921875, 1518.4000244141, 270, 349.99145507813, 235.99731445313);
  39892. CreateDynamicObject(5152, 2600.5, -1208.3994140625, 1516.3000488281, 270, 349.99145507813, 236.9970703125);
  39893. CreateDynamicObject(5152, 2600.5, -1194.4000244141, 1516.3000488281, 270, 350, 237.25);
  39894. CreateDynamicObject(5152, 2600.5, -1212.19921875, 1516.3000488281, 270, 349.99145507813, 235.99731445313);
  39895. CreateDynamicObject(5152, 2602.599609375, -1206.19921875, 1516.3000488281, 270, 349.99694824219, 146.9970703125);
  39896. CreateDynamicObject(5152, 2602.599609375, -1206.19921875, 1518.4000244141, 270, 349.99145507813, 146.99157714844);
  39897. CreateDynamicObject(5152, 2599, -1213.3000488281, 1516.3000488281, 270, 349.99694824219, 146.9970703125);
  39898. CreateDynamicObject(5152, 2599, -1213.3000488281, 1518.4000244141, 270, 349.99694824219, 146.9970703125);
  39899. CreateDynamicObject(5152, 2599.2998046875, -1192.19921875, 1516.3000488281, 270, 177.49816894531, 154.49279785156);
  39900. CreateDynamicObject(5152, 2606.2998046875, -1202.69921875, 1516.3000488281, 270, 349.99145507813, 325.73364257813);
  39901. CreateDynamicObject(5152, 2600.5, -1208.3994140625, 1518.4000244141, 270, 349.99145507813, 236.9970703125);
  39902. CreateDynamicObject(5152, 2600.5, -1197.5, 1516.3000488281, 270, 350, 236);
  39903. CreateDynamicObject(5152, 2600.5, -1200.5, 1516.3000488281, 270, 182.63729858398, 69.390258789063);
  39904. CreateDynamicObject(5152, 2600.5, -1194.4000244141, 1518.4000244141, 270, 349.99694824219, 236.9970703125);
  39905. CreateDynamicObject(5152, 2600.5, -1197.5, 1518.4000244141, 270, 349.99694824219, 235.99731445313);
  39906. CreateDynamicObject(5152, 2600.5, -1200.5, 1518.4000244141, 270, 349.99145507813, 236.73889160156);
  39907. CreateDynamicObject(5152, 2599.3000488281, -1192.1999511719, 1518.4000244141, 270, 349.99145507813, 326.98608398438);
  39908. CreateDynamicObject(5152, 2602.6999511719, -1202.6999511719, 1516.3000488281, 270, 349.99145507813, 326.99157714844);
  39909. CreateDynamicObject(5152, 2602.6999511719, -1202.6999511719, 1518.4000244141, 270, 349.99145507813, 326.99157714844);
  39910. CreateDynamicObject(5152, 2606.2998046875, -1202.69921875, 1518.4000244141, 270, 349.99145507813, 325.73364257813);
  39911. CreateDynamicObject(3095, 2605.099609375, -1192.3994140625, 1519.5999755859, 0, 270, 270);
  39912. CreateDynamicObject(3095, 2604.8000488281, -1193.1999511719, 1519.5999755859, 0, 270, 179.99450683594);
  39913. CreateDynamicObject(3095, 2605.6999511719, -1193.1999511719, 1519.5999755859, 0, 270, 359.98901367188);
  39914. CreateDynamicObject(3095, 2601.5, -1193.1999511719, 1519.5999755859, 0, 270, 359.98352050781);
  39915. CreateDynamicObject(3095, 2609.1000976563, -1193.1999511719, 1519.5999755859, 0, 270, 179.99450683594);
  39916. CreateDynamicObject(1738, 2601.1999511719, -1199.6999511719, 1515.8000488281, 0, 359.75, 90);
  39917. CreateDynamicObject(2091, 2604.6000976563, -1194.5, 1515.4000244141, 0, 0, 270);
  39918. CreateDynamicObject(2103, 2604.3999023438, -1195.9000244141, 1517.4000244141, 0, 0, 270);
  39919. CreateDynamicObject(2344, 2604.3000488281, -1194.3000488281, 1517.4000244141, 0, 0, 0);
  39920. CreateDynamicObject(2514, 2603.3999023438, -1193, 1515.4000244141, 0, 0, 0);
  39921. CreateDynamicObject(2523, 2604, -1192.9000244141, 1515.4000244141, 0, 0, 0);
  39922. CreateDynamicObject(2527, 2602, -1193.9000244141, 1515.4000244141, 0, 0, 0);
  39923. CreateDynamicObject(2829, 2604.3999023438, -1194.4000244141, 1517, 0, 0, 270);
  39924. CreateDynamicObject(2894, 2604.8000488281, -1212, 1516.6999511719, 0, 0, 90);
  39925. CreateDynamicObject(2523, 2608.3000488281, -1192.9000244141, 1515.4000244141, 0, 0, 0);
  39926. CreateDynamicObject(2527, 2606.3000488281, -1193.9000244141, 1515.4000244141, 0, 0, 0);
  39927. CreateDynamicObject(2514, 2607.6000976563, -1192.9000244141, 1515.4000244141, 0, 0, 0);
  39928. CreateDynamicObject(2091, 2608.8999023438, -1194.5, 1515.4000244141, 0, 0, 270);
  39929. CreateDynamicObject(2103, 2608.6000976563, -1195.9000244141, 1517.4000244141, 0, 0, 270);
  39930. CreateDynamicObject(2829, 2608.6999511719, -1194.4000244141, 1517, 0, 0, 290.5);
  39931. CreateDynamicObject(2344, 2608.6000976563, -1194.3000488281, 1517.4000244141, 0, 0, 0);
  39932. CreateDynamicObject(5152, 2612.1999511719, -1202.6999511719, 1516.4000244141, 270, 349.99145507813, 325.73913574219);
  39933. CreateDynamicObject(5152, 2616.2998046875, -1202.7998046875, 1516.4000244141, 270, 349.99145507813, 324.23400878906);
  39934. CreateDynamicObject(5152, 2616.2998046875, -1202.7998046875, 1518.5, 270, 349.99145507813, 324.73400878906);
  39935. CreateDynamicObject(5152, 2612.19921875, -1202.69921875, 1518.5, 270, 349.99145507813, 325.73364257813);
  39936. CreateDynamicObject(5152, 2610.099609375, -1202.69921875, 1518.8000488281, 270, 349.99145507813, 326.73376464844);
  39937. CreateDynamicObject(8136, 2609.5, -1199.3994140625, 1523, 179.99450683594, 0, 0);
  39938. CreateDynamicObject(2828, 2610.1999511719, -1211.9000244141, 1516.0999755859, 0, 0, 27.248901367188);
  39939. CreateDynamicObject(1665, 2613.69921875, -1209.2998046875, 1515.6999511719, 0, 0, 89.5);
  39940. CreateDynamicObject(1800, 2606.3000488281, -1197.9000244141, 1515.1999511719, 0, 0, 359);
  39941. CreateDynamicObject(1361, 2614.3999023438, -1212.5, 1516, 0, 0, 0);
  39942. CreateDynamicObject(2245, 2614, -1210.099609375, 1515.9000244141, 0, 0, 0);
  39943. CreateDynamicObject(2194, 2610.5, -1211.4000244141, 1516.4000244141, 0, 0, 0);
  39944. CreateDynamicObject(1800, 2602, -1197.8994140625, 1515.1999511719, 0, 0, 358.99475097656);
  39945. CreateDynamicObject(5152, 2604.3999023438, -1206.1999511719, 1518.8000488281, 270, 349.99145507813, 145.74157714844);
  39946. CreateDynamicObject(2836, 2610.6999511719, -1208.0999755859, 1515.1999511719, 0, 0, 0);
  39947. CreateDynamicObject(2962, 2612.8000488281, -1207.6999511719, 1516.8000488281, 0, 0, 357.74780273438);
  39948. CreateDynamicObject(2509, 2610.6000976563, -1192.3000488281, 1515.9000244141, 0, 90, 0);
  39949. CreateDynamicObject(2509, 2612.5, -1192.3000488281, 1515.9000244141, 0, 90, 0);
  39950. CreateDynamicObject(2509, 2614.3999023438, -1192.3000488281, 1515.9000244141, 0, 90, 0);
  39951. CreateDynamicObject(2509, 2616.3000488281, -1192.3000488281, 1515.9000244141, 0, 90, 0);
  39952. CreateDynamicObject(2509, 2616.3000488281, -1192.3000488281, 1517.1999511719, 0, 90, 0);
  39953. CreateDynamicObject(2509, 2614.3999023438, -1192.3000488281, 1517.1999511719, 0, 90, 0);
  39954. CreateDynamicObject(2509, 2612.5, -1192.2998046875, 1517.1999511719, 0, 90, 0);
  39955. CreateDynamicObject(2509, 2610.6000976563, -1192.3000488281, 1517.1999511719, 0, 90, 0);
  39956. CreateDynamicObject(2509, 2610.599609375, -1192.2998046875, 1518.5, 0, 90, 0);
  39957. CreateDynamicObject(2509, 2612.5, -1192.2998046875, 1518.5, 0, 90, 0);
  39958. CreateDynamicObject(2509, 2614.3999023438, -1192.3000488281, 1518.5, 0, 90, 0);
  39959. CreateDynamicObject(2509, 2616.3000488281, -1192.3000488281, 1518.5, 0, 90, 0);
  39960. CreateDynamicObject(2509, 2616.5, -1196.5, 1515.9000244141, 0, 90, 270);
  39961. CreateDynamicObject(2509, 2616.5, -1194.599609375, 1515.9000244141, 0, 90, 270);
  39962. CreateDynamicObject(2509, 2616.5, -1192.6999511719, 1515.9000244141, 0, 90, 270);
  39963. CreateDynamicObject(2509, 2616.5, -1192.69921875, 1517.1999511719, 0, 90, 270);
  39964. CreateDynamicObject(2509, 2616.5, -1192.6999511719, 1518.5, 0, 90, 270);
  39965. CreateDynamicObject(2509, 2616.5, -1194.599609375, 1518.5, 0, 90, 270);
  39966. CreateDynamicObject(2509, 2616.5, -1194.599609375, 1517.1999511719, 0, 90, 270);
  39967. CreateDynamicObject(2509, 2616.5, -1196.5, 1517.1999511719, 0, 90, 270);
  39968. CreateDynamicObject(2509, 2616.5, -1196.5, 1518.5, 0, 90, 270);
  39969. CreateDynamicObject(2509, 2615.8999023438, -1197.1999511719, 1518.5, 0, 90, 179.99450683594);
  39970. CreateDynamicObject(2509, 2615.8999023438, -1197.1999511719, 1517.1999511719, 0, 90, 179.99450683594);
  39971. CreateDynamicObject(2509, 2615.8999023438, -1197.1999511719, 1515.9000244141, 0, 90, 179.99450683594);
  39972. CreateDynamicObject(2509, 2612.5, -1197.1999511719, 1515.9000244141, 0, 90, 179.99450683594);
  39973. CreateDynamicObject(2509, 2610.6000976563, -1197.1999511719, 1515.9000244141, 0, 90, 179.99450683594);
  39974. CreateDynamicObject(2509, 2610.6000976563, -1197.1999511719, 1517.1999511719, 0, 90, 179.99450683594);
  39975. CreateDynamicObject(2509, 2612.5, -1197.1999511719, 1517.1999511719, 0, 90, 179.99450683594);
  39976. CreateDynamicObject(2509, 2610.6000976563, -1197.1999511719, 1518.5, 0, 90, 179.99450683594);
  39977. CreateDynamicObject(2509, 2612.5, -1197.1999511719, 1518.5, 0, 90, 179.99450683594);
  39978. CreateDynamicObject(2509, 2614.1999511719, -1197.1999511719, 1518.3000488281, 0, 90, 179.99450683594);
  39979. CreateDynamicObject(2509, 2609.69921875, -1196.599609375, 1515.9000244141, 0, 90, 89.994506835938);
  39980. CreateDynamicObject(2509, 2609.69921875, -1196.599609375, 1517.1999511719, 0, 90, 89.994506835938);
  39981. CreateDynamicObject(2509, 2609.69921875, -1196.599609375, 1518.5, 0, 90, 89.994506835938);
  39982. CreateDynamicObject(2509, 2609.6999511719, -1194.6999511719, 1518.5, 0, 90, 89.994506835938);
  39983. CreateDynamicObject(2509, 2609.6999511719, -1194.6999511719, 1517.1999511719, 0, 90, 89.994506835938);
  39984. CreateDynamicObject(2509, 2609.69921875, -1194.69921875, 1515.9000244141, 0, 90, 89.994506835938);
  39985. CreateDynamicObject(2509, 2609.6999511719, -1192.8000488281, 1517.1999511719, 0, 90, 89.994506835938);
  39986. CreateDynamicObject(2509, 2609.6999511719, -1192.8000488281, 1515.9000244141, 0, 90, 89.994506835938);
  39987. CreateDynamicObject(2509, 2609.6999511719, -1192.8000488281, 1518.5, 0, 90, 89.994506835938);
  39988. CreateDynamicObject(18066, 2606.3999023438, -1212.5, 1515.4000244141, 0, 0, 90);
  39989. CreateDynamicObject(18066, 2605.6999511719, -1213.0999755859, 1515.4000244141, 0, 0, 0);
  39990. CreateDynamicObject(2595, 2605.6000976563, -1209.0999755859, 1516.3000488281, 0, 0, 220);
  39991. CreateDynamicObject(1516, 2605.6999511719, -1209.0999755859, 1515.4000244141, 0, 0, 0);
  39992. CreateDynamicObject(2894, 2611.3999023438, -1195.9000244141, 1516, 0, 0, 270);
  39993. CreateDynamicObject(2204, 2601.3000488281, -1202.3000488281, 1515.1999511719, 0, 0, 359.75);
  39994. CreateDynamicObject(2204, 2604.1999511719, -1202.3000488281, 1515.1999511719, 0, 0, 359.75);
  39995. CreateDynamicObject(2204, 2606, -1202.3000488281, 1515.1999511719, 0, 0, 359.25);
  39996. CreateDynamicObject(2204, 2606, -1202.2998046875, 1516.9000244141, 0, 0, 359.24194335938);
  39997. CreateDynamicObject(2204, 2604.1999511719, -1202.3000488281, 1516.9000244141, 0, 0, 0.25);
  39998. CreateDynamicObject(2204, 2601.3000488281, -1202.3000488281, 1516.9000244141, 0, 0, 0.25);
  39999. CreateDynamicObject(2204, 2600.8999023438, -1199.8000488281, 1515.1999511719, 0, 0, 269.75);
  40000. CreateDynamicObject(2204, 2600.8999023438, -1199.8000488281, 1516.9000244141, 0, 0, 270.25);
  40001. CreateDynamicObject(2204, 2600.8999023438, -1196.9000244141, 1516.9000244141, 0, 0, 270.25);
  40002. CreateDynamicObject(2204, 2600.8999023438, -1196.9000244141, 1515.1999511719, 0, 0, 269.75);
  40003. CreateDynamicObject(2204, 2611.6000976563, -1198, 1515.1999511719, 0, 0, 180.25);
  40004. CreateDynamicObject(2204, 2611.599609375, -1198, 1516.9000244141, 0, 0, 180.24169921875);
  40005. CreateDynamicObject(2204, 2612.8999023438, -1198, 1516.9000244141, 0, 0, 179.74450683594);
  40006. CreateDynamicObject(2204, 2612.8999023438, -1198, 1515.1999511719, 0, 0, 179.99450683594);
  40007. CreateDynamicObject(2204, 2617.3999023438, -1198, 1515.1999511719, 0, 0, 179.99450683594);
  40008. CreateDynamicObject(2204, 2617.3999023438, -1198, 1516.9000244141, 0, 0, 180.24169921875);
  40009. CreateDynamicObject(2204, 2616.6000976563, -1202.1999511719, 1515.1999511719, 0, 0, 89.994506835938);
  40010. CreateDynamicObject(2204, 2616.6000976563, -1200.1999511719, 1515.1999511719, 0, 0, 90.244506835938);
  40011. CreateDynamicObject(2204, 2616.6000976563, -1200.1999511719, 1516.9000244141, 0, 0, 90.494506835938);
  40012. CreateDynamicObject(2204, 2616.599609375, -1202.19921875, 1516.9000244141, 0, 0, 90.24169921875);
  40013. CreateDynamicObject(2204, 2605.1999511719, -1197.3000488281, 1515.1999511719, 0, 0, 89.744506835938);
  40014. CreateDynamicObject(2204, 2604.8999023438, -1197.3000488281, 1515.1999511719, 0, 0, 89.994506835938);
  40015. CreateDynamicObject(2204, 2604.8999023438, -1197.3000488281, 1516.9000244141, 0, 0, 89.994506835938);
  40016. CreateDynamicObject(2204, 2605.19921875, -1197.2998046875, 1516.9000244141, 0, 0, 89.994506835938);
  40017. CreateDynamicObject(2204, 2601, -1197.3000488281, 1516.9000244141, 0, 0, 89.994506835938);
  40018. CreateDynamicObject(2204, 2601, -1197.3000488281, 1515.1999511719, 0, 0, 89.741821289063);
  40019. CreateDynamicObject(2204, 2610.5, -1202.3000488281, 1515.3000488281, 0, 0, 359.74450683594);
  40020. CreateDynamicObject(2204, 2613.3999023438, -1202.3000488281, 1515.3000488281, 0, 0, 359.98901367188);
  40021. CreateDynamicObject(2204, 2614.1000976563, -1202.3000488281, 1515.3000488281, 0, 0, 359.98901367188);
  40022. CreateDynamicObject(2204, 2614.1000976563, -1202.3000488281, 1517, 0, 0, 359.73901367188);
  40023. CreateDynamicObject(2204, 2612.1999511719, -1202.3000488281, 1517, 0, 0, 0.239013671875);
  40024. CreateDynamicObject(2204, 2610.5, -1202.3000488281, 1517, 0, 0, 0.239013671875);
  40025. CreateDynamicObject(2204, 2608.3994140625, -1202.2998046875, 1517.6999511719, 0, 0, 359.736328125);
  40026. CreateDynamicObject(2204, 2615, -1198, 1517.5999755859, 0, 0, 180);
  40027. CreateDynamicObject(2204, 2617.3999023438, -1197.6999511719, 1515.1999511719, 0, 0, 180.24169921875);
  40028. CreateDynamicObject(2204, 2617.3999023438, -1197.6999511719, 1516.0999755859, 0, 0, 180.49169921875);
  40029. CreateDynamicObject(2204, 2612.8999023438, -1197.6999511719, 1516.0999755859, 0, 0, 180.48889160156);
  40030. CreateDynamicObject(2204, 2612.8999023438, -1197.6999511719, 1515.1999511719, 0, 0, 180.73889160156);
  40031. CreateDynamicObject(2204, 2613.3000488281, -1197.4000244141, 1520.0999755859, 0, 90, 0);
  40032. CreateDynamicObject(2204, 2608.3000488281, -1202.3000488281, 1520.1999511719, 0, 90, 359.75);
  40033. CreateDynamicObject(2204, 2615, -1198, 1520.0999755859, 0, 90, 179.74731445313);
  40034. CreateDynamicObject(2197, 2615.3994140625, -1193.3994140625, 1515.1999511719, 0, 0, 270);
  40035. CreateDynamicObject(2173, 2611.3000488281, -1193.6999511719, 1515.1999511719, 0, 0, 270);
  40036. CreateDynamicObject(1703, 2612.6999511719, -1208.1999511719, 1515.1999511719, 0, 0, 0);
  40037. CreateDynamicObject(1704, 2608.5, -1209.5999755859, 1515.1999511719, 0, 0, 358.49487304688);
  40038. CreateDynamicObject(1827, 2613.7998046875, -1209.7998046875, 1515.1999511719, 0, 0, 0);
  40039. CreateDynamicObject(2184, 2610.5, -1211.1999511719, 1515.3000488281, 0, 0, 159.49951171875);
  40040. CreateDynamicObject(11631, 2617.7998046875, -1212.099609375, 1516.5, 0, 0, 90);
  40041. CreateDynamicObject(2094, 2601.6000976563, -1205.3000488281, 1516.6999511719, 0, 90, 179.74731445313);
  40042. CreateDynamicObject(2094, 2602.3999023438, -1205.3000488281, 1516.6999511719, 0, 90, 179.74731445313);
  40043. CreateDynamicObject(2094, 2603.1999511719, -1205.3000488281, 1516.6999511719, 0, 90, 179.74731445313);
  40044. CreateDynamicObject(2094, 2604, -1205.2998046875, 1516.6999511719, 0, 90, 179.74731445313);
  40045. CreateDynamicObject(2094, 2604.8000488281, -1205.3000488281, 1516.6999511719, 0, 90, 179.74731445313);
  40046. CreateDynamicObject(2094, 2603.8000488281, -1205.3000488281, 1515.6999511719, 0, 270, 179.99450683594);
  40047. CreateDynamicObject(2094, 2607.8999023438, -1207.3000488281, 1516.6999511719, 0, 90, 90);
  40048. CreateDynamicObject(2094, 2607.8999023438, -1208.0999755859, 1516.6999511719, 0, 90, 90);
  40049. CreateDynamicObject(2094, 2607.8999023438, -1208.9000244141, 1516.6999511719, 0, 90, 90);
  40050. CreateDynamicObject(2094, 2607.8994140625, -1209.69921875, 1516.6999511719, 0, 90, 90);
  40051. CreateDynamicObject(2094, 2607.8994140625, -1210.5, 1516.6999511719, 0, 90, 90);
  40052. CreateDynamicObject(2094, 2607.8999023438, -1211.3000488281, 1516.6999511719, 0, 90, 90);
  40053. CreateDynamicObject(2094, 2607.8999023438, -1212.0999755859, 1516.6999511719, 0, 90, 90);
  40054. CreateDynamicObject(2094, 2607.8999023438, -1212.9000244141, 1516.6999511719, 0, 90, 90);
  40055. CreateDynamicObject(2094, 2607.8999023438, -1213.6999511719, 1516.6999511719, 0, 90, 90);
  40056. CreateDynamicObject(2094, 2607.8999023438, -1207.3000488281, 1518.5999755859, 0, 90, 90);
  40057. CreateDynamicObject(2094, 2607.8999023438, -1208.0999755859, 1518.5999755859, 0, 90, 90);
  40058. CreateDynamicObject(2094, 2607.8999023438, -1208.9000244141, 1518.5999755859, 0, 90, 90);
  40059. CreateDynamicObject(2094, 2607.8999023438, -1209.6999511719, 1518.5999755859, 0, 90, 90);
  40060. CreateDynamicObject(2094, 2607.8999023438, -1210.5, 1518.5999755859, 0, 90, 90);
  40061. CreateDynamicObject(2094, 2607.8994140625, -1211.2998046875, 1518.5999755859, 0, 90, 90);
  40062. CreateDynamicObject(2094, 2607.8999023438, -1212.0999755859, 1518.5999755859, 0, 90, 90);
  40063. CreateDynamicObject(2094, 2607.8999023438, -1212.9000244141, 1518.5999755859, 0, 90, 90);
  40064. CreateDynamicObject(2094, 2607.8999023438, -1213.6999511719, 1518.5999755859, 0, 90, 90);
  40065. CreateDynamicObject(2094, 2605.5, -1214.5, 1518.5999755859, 0, 90, 0);
  40066. CreateDynamicObject(2094, 2604.6999511719, -1214.5, 1518.5999755859, 0, 90, 0);
  40067. CreateDynamicObject(2094, 2603.8999023438, -1214.5, 1518.5999755859, 0, 90, 0);
  40068. CreateDynamicObject(2094, 2603.1000976563, -1214.5, 1518.5999755859, 0, 90, 0);
  40069. CreateDynamicObject(2094, 2602.3000488281, -1214.5, 1518.5999755859, 0, 90, 0);
  40070. CreateDynamicObject(2094, 2601.5, -1214.5, 1518.5999755859, 0, 90, 0);
  40071. CreateDynamicObject(2094, 2600.6999511719, -1214.5, 1518.5999755859, 0, 90, 0);
  40072. CreateDynamicObject(2094, 2600.3999023438, -1214.5, 1518.5999755859, 0, 90, 0);
  40073. CreateDynamicObject(2094, 2600.3999023438, -1214.5, 1516.6999511719, 0, 90, 0);
  40074. CreateDynamicObject(2094, 2601.1999511719, -1214.5, 1516.6999511719, 0, 90, 0);
  40075. CreateDynamicObject(2094, 2602, -1214.5, 1516.6999511719, 0, 90, 0);
  40076. CreateDynamicObject(2094, 2602.8000488281, -1214.5, 1516.6999511719, 0, 90, 0);
  40077. CreateDynamicObject(2094, 2603.6000976563, -1214.5, 1516.6999511719, 0, 90, 0);
  40078. CreateDynamicObject(2094, 2604.3999023438, -1214.5, 1516.6999511719, 0, 90, 0);
  40079. CreateDynamicObject(2094, 2605.1999511719, -1214.5, 1516.6999511719, 0, 90, 0);
  40080. CreateDynamicObject(2094, 2606, -1214.5, 1516.6999511719, 0, 90, 0);
  40081. CreateDynamicObject(2094, 2599.6000976563, -1206.0999755859, 1518.5999755859, 0, 90, 270);
  40082. CreateDynamicObject(2094, 2599.6000976563, -1206.9000244141, 1518.5999755859, 0, 90, 270);
  40083. CreateDynamicObject(2094, 2599.6000976563, -1207.6999511719, 1518.5999755859, 0, 90, 270);
  40084. CreateDynamicObject(2094, 2599.6000976563, -1208.5, 1518.5999755859, 0, 90, 270);
  40085. CreateDynamicObject(2094, 2599.6000976563, -1209.3000488281, 1518.5999755859, 0, 90, 270);
  40086. CreateDynamicObject(2094, 2599.6000976563, -1210.0999755859, 1518.5999755859, 0, 90, 270);
  40087. CreateDynamicObject(2094, 2599.6000976563, -1210.9000244141, 1518.5999755859, 0, 90, 270);
  40088. CreateDynamicObject(2094, 2599.6000976563, -1211.6999511719, 1518.5999755859, 0, 90, 270);
  40089. CreateDynamicObject(2094, 2599.6000976563, -1212.5, 1518.5999755859, 0, 90, 270);
  40090. CreateDynamicObject(2094, 2599.6000976563, -1210.9000244141, 1516.6999511719, 0, 90, 270);
  40091. CreateDynamicObject(2094, 2599.6000976563, -1211.6999511719, 1516.6999511719, 0, 90, 270);
  40092. CreateDynamicObject(2094, 2599.6000976563, -1212.5, 1516.6999511719, 0, 90, 270);
  40093. CreateDynamicObject(2094, 2599.6000976563, -1210.0999755859, 1516.6999511719, 0, 90, 270);
  40094. CreateDynamicObject(2094, 2599.6000976563, -1209.3000488281, 1516.6999511719, 0, 90, 270);
  40095. CreateDynamicObject(2094, 2599.6000976563, -1208.5, 1516.6999511719, 0, 90, 270);
  40096. CreateDynamicObject(2094, 2599.6000976563, -1207.6999511719, 1516.6999511719, 0, 90, 270);
  40097. CreateDynamicObject(2094, 2599.6000976563, -1206.9000244141, 1516.6999511719, 0, 90, 270);
  40098. CreateDynamicObject(2094, 2599.6000976563, -1206.0999755859, 1516.6999511719, 0, 90, 270);
  40099. CreateDynamicObject(2094, 2604, -1205.3000488281, 1518.5999755859, 0, 90, 179.74731445313);
  40100. CreateDynamicObject(2094, 2604.8000488281, -1205.3000488281, 1518.5999755859, 0, 90, 179.74731445313);
  40101. CreateDynamicObject(2094, 2603.1999511719, -1205.3000488281, 1518.5999755859, 0, 90, 179.74731445313);
  40102. CreateDynamicObject(2094, 2602.3999023438, -1205.3000488281, 1518.5999755859, 0, 90, 179.74731445313);
  40103. CreateDynamicObject(2094, 2601.8999023438, -1205.3000488281, 1518.5999755859, 0, 90, 179.74731445313);
  40104. CreateDynamicObject(2094, 2603.8000488281, -1205.3000488281, 1517.5999755859, 0, 270, 179.99450683594);
  40105. CreateDynamicObject(2094, 2605.7998046875, -1205.2998046875, 1519.1999511719, 0, 90, 179.74731445313);
  40106. CreateDynamicObject(2094, 2606.599609375, -1205.2998046875, 1519.1999511719, 0, 90, 179.74731445313);
  40107. CreateDynamicObject(1368, 2602.3994140625, -1207.19921875, 1515.9000244141, 0, 0, 0);
  40108. CreateDynamicObject(2311, 2616.599609375, -1211.2998046875, 1517.1999511719, 0, 90, 0);
  40109. CreateDynamicObject(2222, 2610.1999511719, -1211.3000488281, 1516.1999511719, 0, 0, 0);
  40110. CreateDynamicObject(2953, 2609.8000488281, -1211.9000244141, 1516.0999755859, 0, 0, 299.25);
  40111. CreateDynamicObject(11472, 2607.1999511719, -1213.0999755859, 1521, 270, 270, 270);
  40112. CreateDynamicObject(11472, 2607.1999511719, -1209.1999511719, 1521, 270, 179.92864990234, 180.1787109375);
  40113. CreateDynamicObject(11472, 2607.19921875, -1211.099609375, 1521, 270, 179.92309570313, 179.66491699219);
  40114. CreateDynamicObject(11472, 2607.7998046875, -1206.8994140625, 1521, 270, 179.99450683594, 90);
  40115. CreateDynamicObject(11472, 2615.3000488281, -1206.9000244141, 1521, 270, 179.99450683594, 270);
  40116. CreateDynamicObject(11472, 2612.6000976563, -1206.9000244141, 1521, 270, 179.99450683594, 90);
  40117. CreateDynamicObject(11472, 2615.7998046875, -1207.5, 1521, 270, 179.99450683594, 0);
  40118. CreateDynamicObject(11472, 2615.7998046875, -1210.69921875, 1521, 270, 179.99450683594, 0);
  40119. CreateDynamicObject(11472, 2614.8999023438, -1213.9000244141, 1521, 270, 180, 270.00549316406);
  40120. CreateDynamicObject(11472, 2613, -1213.9000244141, 1521, 270, 179.99450683594, 269.74182128906);
  40121. CreateDynamicObject(11472, 2610, -1213.9000244141, 1521, 270, 179.99450683594, 269.74182128906);
  40122. CreateDynamicObject(11472, 2610.2998046875, -1206.8994140625, 1523.5999755859, 270, 179.99450683594, 89.997192382813);
  40123. CreateDynamicObject(1704, 2610.1000976563, -1209.6999511719, 1515.1999511719, 0, 0, 324.4921875);
  40124. CreateDynamicObject(2382, 2593.1000976563, -1208.9000244141, 1517, 0, 0, 0);
  40125. CreateDynamicObject(2384, 2593.1000976563, -1209.5999755859, 1515.8000488281, 0, 0, 179.99450683594);
  40126. CreateDynamicObject(2384, 2593.1000976563, -1208.5999755859, 1515.8000488281, 0, 0, 179.99450683594);
  40127. CreateDynamicObject(2384, 2593.1000976563, -1209.0999755859, 1515.8000488281, 0, 0, 179.99450683594);
  40128. CreateDynamicObject(2311, 2616.6000976563, -1210.4000244141, 1517.1999511719, 0, 90, 0);
  40129. CreateDynamicObject(2311, 2616.6000976563, -1209.5, 1517.1999511719, 0, 90, 0);
  40130. CreateDynamicObject(2311, 2616.6000976563, -1208.5999755859, 1517.1999511719, 0, 90, 0);
  40131. CreateDynamicObject(2311, 2616.6000976563, -1207.6999511719, 1517.1999511719, 0, 90, 0);
  40132. CreateDynamicObject(2311, 2616.6000976563, -1206.8000488281, 1517.1999511719, 0, 90, 0);
  40133. CreateDynamicObject(5152, 2608.5, -1206.1999511719, 1516.3000488281, 270, 349.99145507813, 146.99157714844);
  40134. CreateDynamicObject(5152, 2608.5, -1206.1999511719, 1518.4000244141, 270, 349.99145507813, 146.99157714844);
  40135. CreateDynamicObject(5152, 2611.1999511719, -1206.1999511719, 1518.6999511719, 270, 349.99145507813, 146.99157714844);
  40136. CreateDynamicObject(5152, 2614.5, -1206.1999511719, 1516.3000488281, 270, 349.99145507813, 144.49157714844);
  40137. CreateDynamicObject(5152, 2614.5, -1206.1999511719, 1518.4000244141, 270, 349.99145507813, 144.48669433594);
  40138. CreateDynamicObject(5152, 2618.7998046875, -1206.2998046875, 1518.4000244141, 270, 349.99145507813, 145.73364257813);
  40139. CreateDynamicObject(2311, 2616.6000976563, -1212.1999511719, 1517.1999511719, 0, 90, 0);
  40140. CreateDynamicObject(2311, 2616.6000976563, -1213.0999755859, 1517.1999511719, 0, 90, 0);
  40141. CreateDynamicObject(2311, 2616.6000976563, -1213.0999755859, 1519.5999755859, 0, 90, 0);
  40142. CreateDynamicObject(2311, 2616.6000976563, -1212.1999511719, 1519.5999755859, 0, 90, 0);
  40143. CreateDynamicObject(2311, 2616.6000976563, -1211.3000488281, 1519.5999755859, 0, 90, 0);
  40144. CreateDynamicObject(2311, 2616.6000976563, -1210.4000244141, 1519.5999755859, 0, 90, 0);
  40145. CreateDynamicObject(2311, 2616.6000976563, -1209.5, 1519.5999755859, 0, 90, 0);
  40146. CreateDynamicObject(2311, 2616.6000976563, -1208.5999755859, 1519.5999755859, 0, 90, 0);
  40147. CreateDynamicObject(2311, 2616.6000976563, -1207.6999511719, 1519.5999755859, 0, 90, 0);
  40148. CreateDynamicObject(2311, 2616.6000976563, -1206.8000488281, 1519.5999755859, 0, 90, 0);
  40149. CreateDynamicObject(2311, 2617.5, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40150. CreateDynamicObject(2311, 2618.3999023438, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40151. CreateDynamicObject(2311, 2619.3000488281, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40152. CreateDynamicObject(2311, 2620.1999511719, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40153. CreateDynamicObject(2311, 2621.1000976563, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40154. CreateDynamicObject(2311, 2622, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40155. CreateDynamicObject(2311, 2622, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40156. CreateDynamicObject(2311, 2621.1000976563, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40157. CreateDynamicObject(2311, 2620.1999511719, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40158. CreateDynamicObject(2311, 2619.3000488281, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40159. CreateDynamicObject(2311, 2618.3999023438, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40160. CreateDynamicObject(2311, 2617.5, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40161. CreateDynamicObject(1502, 2621, -1206.8000488281, 1515.1999511719, 0, 0, 359.97802734375);
  40162. CreateDynamicObject(5152, 2618.7998046875, -1206.2998046875, 1516.3000488281, 270, 349.99145507813, 145.98083496094);
  40163. CreateDynamicObject(2311, 2617.8000488281, -1206.6999511719, 1517.1999511719, 0, 90, 270);
  40164. CreateDynamicObject(2311, 2618.69921875, -1206.69921875, 1517.1999511719, 0, 90, 270);
  40165. CreateDynamicObject(2311, 2619.6000976563, -1206.6999511719, 1517.1999511719, 0, 90, 270);
  40166. CreateDynamicObject(2311, 2620.5, -1206.6999511719, 1517.1999511719, 0, 90, 270);
  40167. CreateDynamicObject(2311, 2620.5, -1206.69921875, 1517.1999511719, 0, 90, 0);
  40168. CreateDynamicObject(2311, 2617, -1206.6999511719, 1517.1999511719, 0, 90, 270);
  40169. CreateDynamicObject(2311, 2618.6999511719, -1206.6999511719, 1519.5, 0, 90, 270);
  40170. CreateDynamicObject(2311, 2617.8000488281, -1206.6999511719, 1519.5, 0, 90, 270);
  40171. CreateDynamicObject(2311, 2616.8999023438, -1206.8000488281, 1519.5, 0, 90, 270);
  40172. CreateDynamicObject(2311, 2619.6000976563, -1206.6999511719, 1519.4000244141, 0, 90, 270);
  40173. CreateDynamicObject(2311, 2620.5, -1206.6999511719, 1519.4000244141, 0, 90, 270);
  40174. CreateDynamicObject(2311, 2620.5, -1206.6999511719, 1519.4000244141, 0, 90, 0);
  40175. CreateDynamicObject(2311, 2623, -1206.69921875, 1517.1999511719, 0, 90, 179.99450683594);
  40176. CreateDynamicObject(2311, 2623, -1207.5999755859, 1517.1999511719, 0, 90, 179.99450683594);
  40177. CreateDynamicObject(2311, 2623, -1208.5, 1517.1999511719, 0, 90, 179.99450683594);
  40178. CreateDynamicObject(2311, 2623, -1209.4000244141, 1517.1999511719, 0, 90, 179.99450683594);
  40179. CreateDynamicObject(2311, 2623, -1210.3000488281, 1517.1999511719, 0, 90, 179.99450683594);
  40180. CreateDynamicObject(2311, 2623, -1211.1999511719, 1517.1999511719, 0, 90, 179.99450683594);
  40181. CreateDynamicObject(2311, 2623, -1212.0999755859, 1517.1999511719, 0, 90, 179.99450683594);
  40182. CreateDynamicObject(2311, 2623, -1213, 1517.1999511719, 0, 90, 179.99450683594);
  40183. CreateDynamicObject(2311, 2622.8999023438, -1213.5999755859, 1517.1999511719, 0, 90, 90);
  40184. CreateDynamicObject(2311, 2622.8999023438, -1213.5999755859, 1519.5999755859, 0, 90, 90);
  40185. CreateDynamicObject(2311, 2623, -1207.5999755859, 1519.5999755859, 0, 90, 179.99450683594);
  40186. CreateDynamicObject(2311, 2623, -1206.6999511719, 1519.5999755859, 0, 90, 179.99450683594);
  40187. CreateDynamicObject(2311, 2623, -1208.5, 1519.5999755859, 0, 90, 179.99450683594);
  40188. CreateDynamicObject(2311, 2623, -1209.4000244141, 1519.5999755859, 0, 90, 179.99450683594);
  40189. CreateDynamicObject(2311, 2623, -1210.3000488281, 1519.5999755859, 0, 90, 179.99450683594);
  40190. CreateDynamicObject(2311, 2623, -1211.1999511719, 1519.5999755859, 0, 90, 179.99450683594);
  40191. CreateDynamicObject(2311, 2623, -1212.0999755859, 1519.5999755859, 0, 90, 179.99450683594);
  40192. CreateDynamicObject(2311, 2623, -1213, 1519.5999755859, 0, 90, 179.99450683594);
  40193. CreateDynamicObject(3391, 2617.8000488281, -1208.9000244141, 1515.3000488281, 0, 0, 180);
  40194. CreateDynamicObject(5152, 2623.099609375, -1204.5, 1518.4000244141, 270, 181.02722167969, 66.264038085938);
  40195. CreateDynamicObject(5152, 2624.8000488281, -1206.3000488281, 1518.4000244141, 270, 349.99145507813, 146.22827148438);
  40196. CreateDynamicObject(5152, 2624.8000488281, -1206.3000488281, 1516.3000488281, 270, 349.99145507813, 145.98083496094);
  40197. CreateDynamicObject(5152, 2622, -1206.19921875, 1518.8000488281, 270, 349.99145507813, 149.47998046875);
  40198. CreateDynamicObject(2311, 2621.3000488281, -1206.6999511719, 1519.6999511719, 0, 90, 270);
  40199. CreateDynamicObject(2311, 2622.1000976563, -1206.6999511719, 1519.6999511719, 0, 90, 270);
  40200. CreateDynamicObject(2311, 2622.8999023438, -1206.5999755859, 1518.1999511719, 0, 180, 0);
  40201. CreateDynamicObject(5152, 2623.1000976563, -1204.5, 1516.3000488281, 270, 181.02722167969, 66.264038085938);
  40202. CreateDynamicObject(2949, 2618.5, -1202.8994140625, 1515.3000488281, 0, 0, 90);
  40203. CreateDynamicObject(5152, 2622.1000976563, -1202.8000488281, 1516.4000244141, 270, 349.99145507813, 326.73400878906);
  40204. CreateDynamicObject(5152, 2622.1000976563, -1202.8000488281, 1518.5, 270, 349.99145507813, 326.7333984375);
  40205. CreateDynamicObject(5152, 2619.6000976563, -1202.8000488281, 1518.8000488281, 270, 349.99145507813, 326.5);
  40206. CreateDynamicObject(2196, 2593.8994140625, -1195.3994140625, 1516, 0, 0, 19.978637695313);
  40207. CreateDynamicObject(2955, 2623, -1203.9000244141, 1516.4000244141, 0, 0, 0);
  40208. CreateDynamicObject(5152, 2622.6000976563, -1200.5999755859, 1516.4000244141, 270, 349.99145507813, 56.7333984375);
  40209. CreateDynamicObject(5152, 2622.6000976563, -1196.3000488281, 1516.4000244141, 270, 349.99145507813, 56.2333984375);
  40210. CreateDynamicObject(5152, 2622.6000976563, -1200.5999755859, 1518.5, 270, 349.99145507813, 56.7333984375);
  40211. CreateDynamicObject(5152, 2622.6000976563, -1196.3000488281, 1518.5, 270, 349.99145507813, 56.7333984375);
  40212. CreateDynamicObject(5152, 2622.6000976563, -1192, 1518.5, 270, 349.99145507813, 56.2333984375);
  40213. CreateDynamicObject(5152, 2622.6000976563, -1192, 1516.4000244141, 270, 180.61651611328, 246.85275268555);
  40214. CreateDynamicObject(5152, 2619, -1192.1999511719, 1516.3000488281, 271.00012207031, 269.99987792969, 67.986480712891);
  40215. CreateDynamicObject(5152, 2619.1000976563, -1192.1999511719, 1518.4000244141, 270.99975585938, 269.99450683594, 67.9833984375);
  40216. CreateDynamicObject(5152, 2621.6999511719, -1192.1999511719, 1518.4000244141, 270.99975585938, 269.99450683594, 66.2333984375);
  40217. CreateDynamicObject(5152, 2621.6999511719, -1192.1999511719, 1516.3000488281, 270.99426269531, 269.98901367188, 66.231079101563);
  40218. CreateDynamicObject(5152, 2616.8000488281, -1195.4000244141, 1516.3000488281, 270, 349.99145507813, 236.7333984375);
  40219. CreateDynamicObject(5152, 2616.8000488281, -1195.4000244141, 1518.4000244141, 270, 349.99145507813, 236.72790527344);
  40220. CreateDynamicObject(5152, 2616.8000488281, -1191, 1518.4000244141, 270, 349.99145507813, 236.22790527344);
  40221. CreateDynamicObject(5152, 2616.8000488281, -1191, 1516.3000488281, 270, 349.99145507813, 236.22790527344);
  40222. CreateDynamicObject(2197, 2619.3999023438, -1197.6999511719, 1515.1999511719, 0, 0, 90);
  40223. CreateDynamicObject(2197, 2619.3999023438, -1197.6999511719, 1516.9000244141, 0, 0, 90);
  40224. CreateDynamicObject(5152, 2594.8999023438, -1204.6999511719, 1518.4000244141, 270, 349.99145507813, 326.98608398438);
  40225. CreateDynamicObject(3095, 2605.099609375, -1192.3994140625, 1519.5999755859, 0, 270, 270);
  40226. CreateDynamicObject(10558, 2612.6999511719, -1192.3000488281, 1517.0999755859, 0, 0, 270);
  40227. CreateDynamicObject(1806, 2618.6000976563, -1211.9000244141, 1515.1999511719, 0, 0, 47.241821289063);
  40228. CreateDynamicObject(2639, 2601.5, -1211.6999511719, 1515.6999511719, 0, 0, 270);
  40229. CreateDynamicObject(2639, 2603, -1211.6999511719, 1515.6999511719, 0, 0, 270);
  40230. CreateDynamicObject(2310, 2593.3999023438, -1193.4000244141, 1515.6999511719, 0, 0, 177.99792480469);
  40231. CreateDynamicObject(1721, 2612.8999023438, -1196.4000244141, 1515.3000488281, 0, 0, 90);
  40232. CreateDynamicObject(1721, 2612.8999023438, -1195.5, 1515.3000488281, 0, 0, 90);
  40233. CreateDynamicObject(1721, 2612.8999023438, -1194.5999755859, 1515.3000488281, 0, 0, 90);
  40234. CreateDynamicObject(1715, 2610.5, -1194.1999511719, 1515.1999511719, 0, 0, 90);
  40235. CreateDynamicObject(1368, 2616.1000976563, -1200.1999511719, 1515.9000244141, 0, 0, 270);
  40236. CreateDynamicObject(2955, 2598.6000976563, -1192.3000488281, 1516.4000244141, 0, 0, 90);
  40237. }
  40238. stock LoadPoliceDepartment2() //by Naylor
  40239. {
  40240. CreateDynamicObject(19454, 220.88, 75.03, 1042.15, 0.54, -90.72, 0.00);
  40241. CreateDynamicObject(19454, 224.24, 75.03, 1042.19, 0.54, -90.72, 0.00);
  40242. CreateDynamicObject(19454, 227.23, 75.03, 1042.23, 0.54, -90.72, 0.00);
  40243. CreateDynamicObject(19454, 230.52, 75.03, 1042.27, 0.54, -90.72, 0.00);
  40244. CreateDynamicObject(19454, 233.66, 75.03, 1042.31, 0.54, -90.72, 0.00);
  40245. CreateDynamicObject(19454, 236.84, 75.03, 1042.35, 0.54, -90.72, 0.00);
  40246. CreateDynamicObject(19454, 228.22, 66.60, 1042.17, 0.54, -90.72, 0.00);
  40247. CreateDynamicObject(19454, 228.23, 57.98, 1042.09, 0.54, -90.72, 0.00);
  40248. CreateDynamicObject(19454, 228.23, 52.69, 1042.03, 0.54, -90.72, 0.00);
  40249. CreateDynamicObject(19465, 228.27, 70.13, 1044.56, 0.00, 0.00, -90.12);
  40250. CreateDynamicObject(19465, 222.40, 70.17, 1044.56, 0.00, 0.00, -90.48);
  40251. CreateDynamicObject(19464, 219.43, 72.94, 1044.56, 0.00, 0.00, 0.00);
  40252. CreateDynamicObject(19464, 219.44, 77.96, 1044.55, 0.00, 0.00, 0.00);
  40253. CreateDynamicObject(19464, 222.07, 79.81, 1044.56, 0.00, 0.00, -89.58);
  40254. CreateDynamicObject(19464, 227.22, 79.85, 1044.55, 0.00, 0.00, -90.18);
  40255. CreateDynamicObject(19465, 230.87, 79.87, 1044.61, 0.00, 0.00, -89.76);
  40256. CreateDynamicObject(19464, 236.56, 79.88, 1044.60, 0.00, 0.00, -90.12);
  40257. CreateDynamicObject(19464, 235.99, 78.44, 1044.59, 0.00, 0.00, 0.06);
  40258. CreateDynamicObject(19464, 236.01, 73.17, 1044.57, 0.00, 0.00, 0.00);
  40259. CreateDynamicObject(19464, 233.58, 70.10, 1044.55, 0.00, 0.00, -90.60);
  40260. CreateDynamicObject(19464, 225.17, 73.18, 1040.81, 0.00, 0.00, 0.00);
  40261. CreateDynamicObject(19464, 225.18, 78.96, 1040.80, 0.00, 0.00, 0.00);
  40262. CreateDynamicObject(2604, 224.75, 72.12, 1042.78, 0.00, 0.00, -89.82);
  40263. CreateDynamicObject(2604, 224.76, 75.80, 1042.76, 0.00, 0.00, -89.82);
  40264. CreateDynamicObject(2604, 224.76, 79.48, 1042.72, 0.00, 0.00, -89.82);
  40265. CreateDynamicObject(2608, 219.79, 78.67, 1042.93, 0.00, 0.00, 89.52);
  40266. CreateDynamicObject(2610, 219.67, 77.49, 1043.08, 0.00, 0.00, -272.40);
  40267. CreateDynamicObject(2610, 219.64, 76.99, 1042.65, 0.00, 0.00, -272.40);
  40268. CreateDynamicObject(2610, 219.62, 76.51, 1043.07, 0.00, 0.00, -272.40);
  40269. CreateDynamicObject(2610, 219.60, 76.04, 1043.08, 0.00, 0.00, -272.40);
  40270. CreateDynamicObject(2608, 219.66, 74.84, 1042.81, 0.00, 0.00, 90.12);
  40271. CreateDynamicObject(2610, 219.58, 73.63, 1043.00, 0.00, 0.00, -269.82);
  40272. CreateDynamicObject(2610, 219.58, 73.12, 1042.61, 0.00, 0.00, -268.32);
  40273. CreateDynamicObject(2737, 219.61, 71.95, 1043.46, 0.00, 0.00, 89.88);
  40274. CreateDynamicObject(2356, 223.23, 78.07, 1042.28, 0.00, 0.00, -75.00);
  40275. CreateDynamicObject(2356, 223.41, 76.34, 1042.23, 0.00, 0.00, -81.06);
  40276. CreateDynamicObject(2356, 223.30, 74.73, 1042.23, 0.00, 0.00, -107.46);
  40277. CreateDynamicObject(2356, 223.25, 72.74, 1042.20, 0.00, 0.00, -89.40);
  40278. CreateDynamicObject(2356, 223.49, 70.57, 1042.20, 0.00, 0.00, -46.80);
  40279. CreateDynamicObject(2614, 219.62, 75.08, 1044.25, 0.00, 0.00, 90.42);
  40280. CreateDynamicObject(1721, 233.07, 79.66, 1042.40, 0.00, 0.00, 180.12);
  40281. CreateDynamicObject(1721, 233.87, 79.66, 1042.39, 0.00, 0.00, 181.50);
  40282. CreateDynamicObject(1721, 234.61, 79.64, 1042.41, 0.00, 0.00, 181.62);
  40283. CreateDynamicObject(1721, 235.66, 78.44, 1042.43, 0.00, 0.00, 89.22);
  40284. CreateDynamicObject(1721, 235.65, 77.63, 1042.44, 0.00, 0.00, 89.22);
  40285. CreateDynamicObject(1721, 235.69, 76.87, 1042.43, 0.00, 0.00, 89.94);
  40286. CreateDynamicObject(1721, 235.71, 76.12, 1042.42, 0.00, 0.00, 89.34);
  40287. CreateDynamicObject(1721, 235.71, 71.59, 1042.40, 0.00, 0.00, 89.34);
  40288. CreateDynamicObject(1721, 235.72, 72.35, 1042.39, 0.00, 0.00, 89.34);
  40289. CreateDynamicObject(1721, 235.74, 73.13, 1042.39, 0.00, 0.00, 89.34);
  40290. CreateDynamicObject(1721, 235.76, 73.90, 1042.38, 0.00, 0.00, 89.34);
  40291. CreateDynamicObject(1721, 234.43, 70.46, 1042.35, 0.00, 0.00, 0.00);
  40292. CreateDynamicObject(1721, 233.64, 70.48, 1042.34, 0.00, 0.00, 0.00);
  40293. CreateDynamicObject(1721, 232.86, 70.47, 1042.33, 0.00, 0.00, 0.00);
  40294. CreateDynamicObject(1721, 232.04, 70.46, 1042.33, 0.00, 0.00, 0.00);
  40295. CreateDynamicObject(1516, 233.19, 72.75, 1042.28, 0.00, 0.00, 0.00);
  40296. CreateDynamicObject(1516, 233.87, 77.42, 1042.30, 0.00, 0.00, 0.00);
  40297. CreateDynamicObject(948, 235.62, 74.98, 1042.37, 0.00, 0.00, 0.00);
  40298. CreateDynamicObject(948, 235.46, 70.64, 1042.35, 0.00, 0.00, -40.26);
  40299. CreateDynamicObject(948, 235.49, 79.36, 1042.35, 0.00, 0.00, -81.12);
  40300. CreateDynamicObject(948, 231.15, 70.60, 1042.23, 0.00, 0.00, 0.00);
  40301. CreateDynamicObject(2001, 232.20, 79.36, 1042.36, 0.00, 0.00, 0.00);
  40302. CreateDynamicObject(2001, 229.79, 79.39, 1042.35, 0.00, 0.00, 0.00);
  40303. CreateDynamicObject(1538, 230.16, 79.85, 1042.20, 0.00, 0.00, 1.56);
  40304. CreateDynamicObject(19454, 225.19, 65.41, 1042.11, 0.54, -90.72, 0.00);
  40305. CreateDynamicObject(19454, 222.83, 65.40, 1042.07, 0.54, -90.72, 0.00);
  40306. CreateDynamicObject(19454, 220.83, 65.40, 1042.04, 0.54, -90.72, 0.00);
  40307. CreateDynamicObject(19464, 219.40, 67.04, 1044.57, 0.00, 0.00, 0.00);
  40308. CreateDynamicObject(19464, 219.38, 63.40, 1044.56, 0.00, 0.00, 0.00);
  40309. CreateDynamicObject(19464, 226.37, 67.12, 1044.55, 0.00, 0.00, 0.00);
  40310. CreateDynamicObject(19465, 226.38, 63.34, 1044.55, 0.00, 0.00, 0.00);
  40311. CreateDynamicObject(19464, 223.49, 60.71, 1044.53, 0.00, 0.00, -89.70);
  40312. CreateDynamicObject(19464, 218.26, 60.70, 1044.53, 0.00, 0.00, -89.88);
  40313. CreateDynamicObject(19454, 231.64, 65.39, 1042.20, 0.54, -90.72, 0.00);
  40314. CreateDynamicObject(19454, 235.08, 65.38, 1042.25, 0.54, -90.72, 0.00);
  40315. CreateDynamicObject(19454, 231.61, 55.99, 1042.11, 0.54, -90.72, 0.00);
  40316. CreateDynamicObject(19454, 235.08, 56.03, 1042.15, 0.54, -90.72, 0.00);
  40317. CreateDynamicObject(19464, 229.84, 63.37, 1044.55, 0.00, 0.00, 0.06);
  40318. CreateDynamicObject(19465, 229.84, 67.13, 1044.55, 0.00, 0.00, 0.00);
  40319. CreateDynamicObject(19464, 236.70, 67.38, 1044.55, 0.00, 0.00, 0.00);
  40320. CreateDynamicObject(19464, 236.71, 63.47, 1044.52, 0.00, 0.00, 0.00);
  40321. CreateDynamicObject(19464, 232.69, 60.34, 1044.54, 0.00, 0.00, -89.28);
  40322. CreateDynamicObject(19464, 237.66, 60.40, 1044.53, 0.00, 0.00, -89.28);
  40323. CreateDynamicObject(19454, 237.85, 56.05, 1042.15, 0.54, -90.72, 0.00);
  40324. CreateDynamicObject(19390, 234.46, 51.10, 1043.84, 0.00, 0.00, -89.28);
  40325. CreateDynamicObject(19453, 229.82, 55.78, 1043.84, 0.00, 0.00, 0.00);
  40326. CreateDynamicObject(19361, 231.34, 51.06, 1043.84, 0.00, 0.00, -89.58);
  40327. CreateDynamicObject(19454, 231.72, 46.43, 1042.02, 0.54, -90.72, 0.00);
  40328. CreateDynamicObject(19454, 235.19, 46.43, 1042.06, 0.54, -90.72, 0.00);
  40329. CreateDynamicObject(19454, 238.61, 46.44, 1042.10, 0.54, -90.72, 0.00);
  40330. CreateDynamicObject(19361, 237.63, 51.15, 1043.84, 0.00, 0.00, -88.62);
  40331. CreateDynamicObject(19361, 239.15, 52.72, 1043.83, 0.00, 0.00, 0.00);
  40332. CreateDynamicObject(19361, 239.17, 55.72, 1043.84, 0.00, 0.00, 0.00);
  40333. CreateDynamicObject(19361, 239.16, 58.83, 1043.85, 0.00, 0.00, 0.00);
  40334. CreateDynamicObject(19361, 237.86, 60.19, 1043.85, 0.00, 0.00, -89.40);
  40335. CreateDynamicObject(19361, 231.48, 60.10, 1043.85, 0.00, 0.00, -89.40);
  40336. CreateDynamicObject(19361, 234.69, 60.15, 1043.85, 0.00, 0.00, -89.40);
  40337. CreateDynamicObject(1491, 229.66, 60.16, 1042.16, 0.00, 0.00, -180.84);
  40338. CreateDynamicObject(1491, 226.65, 60.17, 1042.16, 0.00, 0.00, -0.36);
  40339. CreateDynamicObject(19464, 232.59, 60.27, 1044.54, 0.00, 0.00, -89.28);
  40340. CreateDynamicObject(19464, 223.71, 60.30, 1044.56, 0.00, 0.00, -90.30);
  40341. CreateDynamicObject(19434, 230.45, 60.11, 1043.84, 0.00, 0.00, 88.32);
  40342. CreateDynamicObject(19434, 225.85, 60.16, 1043.81, 0.00, 0.00, 90.00);
  40343. CreateDynamicObject(19464, 227.38, 60.30, 1047.16, 0.00, 0.00, -90.36);
  40344. CreateDynamicObject(19361, 228.24, 60.14, 1046.39, 0.00, 0.00, -90.54);
  40345. CreateDynamicObject(19454, 224.79, 57.59, 1042.04, 0.54, -90.72, 0.00);
  40346. CreateDynamicObject(19454, 221.39, 57.60, 1041.99, 0.54, -90.72, 0.00);
  40347. CreateDynamicObject(19454, 218.61, 57.59, 1041.96, 0.54, -90.72, 0.00);
  40348. CreateDynamicObject(19454, 224.84, 48.86, 1041.95, 0.54, -90.72, 0.00);
  40349. CreateDynamicObject(19454, 221.35, 48.86, 1041.90, 0.54, -90.72, 0.00);
  40350. CreateDynamicObject(19454, 218.62, 48.85, 1041.85, 0.54, -90.72, 0.00);
  40351. CreateDynamicObject(19390, 225.14, 55.63, 1043.73, 0.00, 0.00, 0.00);
  40352. CreateDynamicObject(19361, 225.13, 58.76, 1043.74, 0.00, 0.00, 0.00);
  40353. CreateDynamicObject(19361, 225.14, 52.61, 1043.74, 0.00, 0.00, 0.00);
  40354. CreateDynamicObject(19453, 220.40, 51.08, 1043.63, 0.00, 0.00, -89.88);
  40355. CreateDynamicObject(19453, 217.01, 55.96, 1043.74, 0.00, 0.00, 0.00);
  40356. CreateDynamicObject(19453, 220.46, 60.12, 1043.73, 0.00, 0.00, -89.16);
  40357. CreateDynamicObject(1502, 226.34, 64.12, 1042.11, 0.00, 0.00, -91.20);
  40358. CreateDynamicObject(1502, 229.81, 67.90, 1042.11, 0.00, 0.00, -90.60);
  40359. CreateDynamicObject(2172, 222.98, 61.28, 1042.10, 0.00, 0.00, 179.94);
  40360. CreateDynamicObject(2193, 221.03, 61.28, 1042.09, 0.00, 0.00, 90.54);
  40361. CreateDynamicObject(2198, 219.97, 65.08, 1041.98, 0.00, 0.00, 0.00);
  40362. CreateDynamicObject(2198, 220.99, 66.13, 1041.99, 0.00, 0.00, -179.46);
  40363. CreateDynamicObject(2198, 225.72, 67.43, 1042.08, 0.00, 0.00, -89.16);
  40364. CreateDynamicObject(2198, 225.69, 69.45, 1042.07, 0.00, 0.00, -89.70);
  40365. CreateDynamicObject(2186, 224.94, 61.34, 1042.05, 0.00, 0.00, -179.04);
  40366. CreateDynamicObject(2610, 219.80, 69.71, 1042.94, 0.00, 0.00, 0.00);
  40367. CreateDynamicObject(2610, 220.34, 69.73, 1042.95, 0.00, 0.00, 0.00);
  40368. CreateDynamicObject(2610, 220.88, 69.74, 1042.96, 0.00, 0.00, 1.56);
  40369. CreateDynamicObject(2356, 224.93, 68.31, 1042.19, 0.00, 0.00, -50.52);
  40370. CreateDynamicObject(2356, 225.17, 66.58, 1042.13, 0.00, 0.00, -83.04);
  40371. CreateDynamicObject(2356, 220.33, 66.67, 1042.12, 0.00, 0.00, -177.78);
  40372. CreateDynamicObject(2356, 220.74, 64.38, 1042.08, 0.00, 0.00, 0.00);
  40373. CreateDynamicObject(2356, 220.58, 61.87, 1042.10, 0.00, 0.00, 0.00);
  40374. CreateDynamicObject(2356, 221.80, 61.93, 1042.10, 0.00, 0.00, -112.02);
  40375. CreateDynamicObject(2606, 219.56, 65.52, 1043.96, 0.00, 0.00, 90.78);
  40376. CreateDynamicObject(2185, 234.02, 69.77, 1042.32, 0.00, 0.00, -88.08);
  40377. CreateDynamicObject(2185, 234.17, 62.33, 1042.27, 0.00, 0.00, -90.30);
  40378. CreateDynamicObject(2185, 234.04, 66.11, 1042.29, 0.00, 0.00, -90.36);
  40379. CreateDynamicObject(2356, 235.66, 61.68, 1042.27, 0.00, 0.00, 89.46);
  40380. CreateDynamicObject(2356, 235.52, 65.55, 1042.25, 0.00, 0.00, 113.46);
  40381. CreateDynamicObject(2356, 235.40, 69.55, 1042.35, 0.00, 0.00, 147.24);
  40382. CreateDynamicObject(1721, 232.68, 69.27, 1042.31, 0.00, 0.00, -109.80);
  40383. CreateDynamicObject(1721, 232.59, 65.36, 1042.29, 0.00, 0.00, -79.56);
  40384. CreateDynamicObject(1721, 232.57, 61.70, 1042.26, 0.00, 0.00, -92.88);
  40385. CreateDynamicObject(1721, 230.12, 63.18, 1042.24, 0.00, 0.00, -89.88);
  40386. CreateDynamicObject(1721, 230.13, 64.04, 1042.24, 0.00, 0.00, -91.44);
  40387. CreateDynamicObject(1721, 230.23, 62.39, 1042.28, 0.00, 0.00, -76.14);
  40388. CreateDynamicObject(2185, 217.38, 51.80, 1042.03, 0.00, 0.00, 0.00);
  40389. CreateDynamicObject(2185, 217.25, 55.33, 1042.02, 0.00, 0.00, 0.00);
  40390. CreateDynamicObject(2185, 217.25, 58.37, 1042.05, 0.00, 0.00, 0.00);
  40391. CreateDynamicObject(2185, 220.97, 51.63, 1042.03, 0.00, 0.00, 0.00);
  40392. CreateDynamicObject(2185, 220.97, 55.30, 1042.06, 0.00, 0.00, 0.00);
  40393. CreateDynamicObject(2185, 221.02, 58.34, 1042.12, 0.00, 0.00, 0.00);
  40394. CreateDynamicObject(2356, 221.60, 59.75, 1042.05, 0.00, 0.00, -154.08);
  40395. CreateDynamicObject(2356, 221.62, 56.00, 1042.02, 0.00, 0.00, -151.50);
  40396. CreateDynamicObject(2356, 221.13, 52.94, 1042.02, 0.00, 0.00, -141.24);
  40397. CreateDynamicObject(2356, 217.84, 53.01, 1041.99, 0.00, 0.00, -152.22);
  40398. CreateDynamicObject(2356, 218.02, 56.89, 1041.97, 0.00, 0.00, -175.62);
  40399. CreateDynamicObject(2356, 218.05, 59.05, 1041.98, 0.00, 0.00, -170.70);
  40400. CreateDynamicObject(2610, 223.43, 51.56, 1042.82, 0.00, 0.00, -171.00);
  40401. CreateDynamicObject(2610, 224.06, 51.52, 1042.85, 0.00, 0.00, -179.88);
  40402. CreateDynamicObject(2610, 224.72, 51.58, 1042.82, 0.00, 0.00, -175.26);
  40403. CreateDynamicObject(2186, 224.65, 59.33, 1041.97, 0.00, 0.00, -89.76);
  40404. CreateDynamicObject(2169, 235.14, 57.99, 1042.25, 0.00, 0.00, -179.04);
  40405. CreateDynamicObject(2894, 234.72, 57.98, 1043.03, 0.00, 0.00, -179.46);
  40406. CreateDynamicObject(2616, 234.93, 60.01, 1043.92, 0.00, 0.00, 1.50);
  40407. CreateDynamicObject(14532, 231.95, 59.54, 1043.18, 0.00, 0.00, -152.64);
  40408. CreateDynamicObject(1721, 231.16, 54.79, 1042.19, 0.00, 0.00, 1.80);
  40409. CreateDynamicObject(1721, 232.00, 54.78, 1042.18, 0.00, 0.00, -7.86);
  40410. CreateDynamicObject(1721, 232.81, 54.71, 1042.20, 0.00, 0.00, 0.78);
  40411. CreateDynamicObject(1721, 233.69, 54.69, 1042.21, 0.00, 0.00, -10.44);
  40412. CreateDynamicObject(1721, 235.45, 54.68, 1042.20, 0.00, 0.00, 0.00);
  40413. CreateDynamicObject(1721, 236.21, 54.68, 1042.22, 0.00, 0.00, -3.30);
  40414. CreateDynamicObject(1721, 236.99, 54.70, 1042.23, 0.00, 0.00, 1.08);
  40415. CreateDynamicObject(1721, 237.80, 54.73, 1042.26, 0.00, 0.00, 12.06);
  40416. CreateDynamicObject(1721, 237.98, 53.06, 1042.23, 0.00, 0.00, 0.00);
  40417. CreateDynamicObject(1721, 237.15, 53.01, 1042.22, 0.00, 0.00, -5.88);
  40418. CreateDynamicObject(1721, 236.28, 52.98, 1042.19, 0.00, 0.00, 2.34);
  40419. CreateDynamicObject(1721, 235.33, 53.04, 1042.20, 0.00, 0.00, -11.40);
  40420. CreateDynamicObject(1721, 233.41, 52.96, 1042.16, 0.00, 0.00, 0.00);
  40421. CreateDynamicObject(1721, 232.56, 53.00, 1042.17, 0.00, 0.00, 5.10);
  40422. CreateDynamicObject(1721, 231.80, 52.97, 1042.16, 0.00, 0.00, -4.38);
  40423. CreateDynamicObject(1721, 230.93, 52.93, 1042.15, 0.00, 0.00, 3.24);
  40424. CreateDynamicObject(1502, 233.71, 51.08, 1042.08, 0.00, 0.00, 0.42);
  40425. CreateDynamicObject(1502, 225.14, 54.88, 1041.98, 0.00, 0.00, 89.76);
  40426. CreateDynamicObject(18755, 227.28, 45.84, 1043.93, 0.00, 0.00, -89.58);
  40427. CreateDynamicObject(18756, 227.19, 45.88, 1043.91, 0.00, 0.00, -89.70);
  40428. CreateDynamicObject(18757, 227.18, 45.87, 1043.95, 0.00, 0.00, -89.58);
  40429. CreateDynamicObject(19361, 230.84, 47.85, 1043.75, 0.00, 0.00, 90.36);
  40430. CreateDynamicObject(19390, 233.93, 47.86, 1043.75, 0.00, 0.00, 90.42);
  40431. CreateDynamicObject(19453, 240.28, 47.87, 1043.76, 0.00, 0.00, -90.06);
  40432. CreateDynamicObject(19453, 230.10, 43.09, 1043.71, 0.00, 0.00, 0.00);
  40433. CreateDynamicObject(19454, 231.70, 37.70, 1041.93, 0.54, -90.72, 0.00);
  40434. CreateDynamicObject(19454, 235.11, 37.68, 1041.97, 0.54, -90.72, 0.00);
  40435. CreateDynamicObject(19454, 238.61, 37.67, 1042.01, 0.54, -90.72, 0.00);
  40436. CreateDynamicObject(19454, 241.95, 46.54, 1042.14, 0.54, -90.72, 0.00);
  40437. CreateDynamicObject(19454, 241.94, 37.65, 1042.07, 0.54, -90.72, 0.00);
  40438. CreateDynamicObject(19390, 243.41, 46.21, 1043.76, 0.00, 0.00, 0.00);
  40439. CreateDynamicObject(19453, 243.43, 39.87, 1043.75, 0.00, 0.00, 0.00);
  40440. CreateDynamicObject(19453, 230.13, 34.91, 1043.72, 0.00, 0.00, 0.00);
  40441. CreateDynamicObject(19453, 231.89, 32.93, 1043.70, 0.00, 0.00, -89.76);
  40442. CreateDynamicObject(19453, 243.42, 33.76, 1043.76, 0.00, 0.00, 0.00);
  40443. CreateDynamicObject(19453, 241.37, 33.13, 1043.73, 0.00, 0.00, -89.64);
  40444. CreateDynamicObject(19390, 241.84, 38.68, 1043.75, 0.00, 0.00, -89.58);
  40445. CreateDynamicObject(19390, 231.79, 38.61, 1043.73, 0.00, 0.00, -89.94);
  40446. CreateDynamicObject(19453, 236.63, 37.86, 1043.71, 0.00, 0.00, 0.00);
  40447. CreateDynamicObject(19361, 236.64, 43.82, 1043.70, 0.00, 0.00, 0.00);
  40448. CreateDynamicObject(19361, 238.85, 38.66, 1043.75, 0.00, 0.00, -89.46);
  40449. CreateDynamicObject(19361, 234.93, 38.63, 1043.73, 0.00, 0.00, -89.46);
  40450. CreateDynamicObject(19434, 237.39, 38.65, 1043.75, 0.00, 0.00, -89.52);
  40451. CreateDynamicObject(14782, 236.23, 42.04, 1043.14, 0.00, 0.00, -89.34);
  40452. CreateDynamicObject(14782, 237.08, 41.96, 1043.11, 0.00, 0.00, 88.86);
  40453. CreateDynamicObject(14782, 242.92, 42.14, 1043.21, 0.00, 0.00, -90.54);
  40454. CreateDynamicObject(14782, 230.53, 41.98, 1043.07, 0.00, 0.00, 88.44);
  40455. CreateDynamicObject(14842, 235.67, 34.60, 1043.88, 0.00, 0.00, 180.24);
  40456. CreateDynamicObject(14842, 237.66, 37.00, 1043.86, 0.00, 0.00, 0.00);
  40457. CreateDynamicObject(2523, 242.83, 34.20, 1042.10, 0.00, 0.00, -90.96);
  40458. CreateDynamicObject(2523, 242.85, 35.82, 1042.11, 0.00, 0.00, -90.54);
  40459. CreateDynamicObject(2523, 242.82, 36.53, 1042.11, 0.00, 0.00, -89.64);
  40460. CreateDynamicObject(2523, 242.82, 34.98, 1042.10, 0.00, 0.00, -90.60);
  40461. CreateDynamicObject(2523, 230.73, 35.76, 1041.93, 0.00, 0.00, 87.24);
  40462. CreateDynamicObject(2523, 230.70, 34.04, 1041.92, 0.00, 0.00, 87.84);
  40463. CreateDynamicObject(2523, 230.75, 34.93, 1041.94, 0.00, 0.00, 89.04);
  40464. CreateDynamicObject(2523, 230.73, 33.18, 1041.94, 0.00, 0.00, 90.06);
  40465. CreateDynamicObject(2208, 233.84, 43.42, 1041.84, 0.00, 0.00, -90.42);
  40466. CreateDynamicObject(2208, 239.15, 43.64, 1041.86, 0.00, 0.00, -89.58);
  40467. CreateDynamicObject(1502, 233.14, 47.81, 1042.04, 0.00, 0.00, 0.30);
  40468. CreateDynamicObject(1502, 243.39, 47.00, 1042.07, 0.00, 0.00, -90.48);
  40469. CreateDynamicObject(19454, 240.84, 55.96, 1042.18, 0.54, -90.72, 0.00);
  40470. CreateDynamicObject(19454, 244.23, 55.97, 1042.22, 0.54, -90.72, 0.00);
  40471. CreateDynamicObject(19454, 245.30, 46.43, 1042.19, 0.54, -90.72, 0.00);
  40472. CreateDynamicObject(19454, 248.73, 46.42, 1042.22, 0.54, -90.72, 0.00);
  40473. CreateDynamicObject(19454, 247.68, 56.05, 1042.28, 0.54, -90.72, 0.00);
  40474. CreateDynamicObject(19454, 250.73, 56.03, 1042.35, 0.54, -90.72, 0.00);
  40475. CreateDynamicObject(19454, 250.79, 46.45, 1042.26, 0.54, -90.72, 0.00);
  40476. CreateDynamicObject(19454, 254.04, 56.05, 1042.38, 0.54, -90.72, 0.00);
  40477. CreateDynamicObject(19454, 254.04, 46.45, 1042.29, 0.54, -90.72, 0.00);
  40478. CreateDynamicObject(19454, 257.48, 46.46, 1042.33, 0.54, -90.72, 0.00);
  40479. CreateDynamicObject(19454, 257.47, 56.06, 1042.42, 0.54, -90.72, 0.00);
  40480. CreateDynamicObject(19454, 260.66, 46.46, 1042.33, 0.54, -90.72, 0.00);
  40481. CreateDynamicObject(19454, 260.65, 56.05, 1042.43, 0.54, -90.72, 0.00);
  40482. CreateDynamicObject(19390, 246.70, 47.89, 1043.76, 0.00, 0.00, -89.52);
  40483. CreateDynamicObject(19361, 249.89, 47.91, 1043.76, 0.00, 0.00, -89.28);
  40484. CreateDynamicObject(19361, 251.46, 46.40, 1043.76, 0.00, 0.00, 1.80);
  40485. CreateDynamicObject(19361, 251.55, 43.31, 1043.76, 0.00, 0.00, 1.62);
  40486. CreateDynamicObject(19453, 248.22, 41.78, 1043.74, 0.00, 0.00, -90.42);
  40487. CreateDynamicObject(1502, 245.96, 47.85, 1042.00, 0.00, 0.00, 0.42);
  40488. CreateDynamicObject(19453, 225.23, 47.78, 1043.62, 0.00, 0.00, -89.58);
  40489. CreateDynamicObject(18070, 247.53, 40.10, 1042.68, 0.00, 0.00, -180.06);
  40490. CreateDynamicObject(1968, 250.22, 44.14, 1042.85, 0.00, 0.00, 1.80);
  40491. CreateDynamicObject(1968, 250.14, 46.51, 1042.84, 0.00, 0.00, 1.98);
  40492. CreateDynamicObject(1969, 244.83, 44.23, 1042.78, 0.00, 0.00, 0.00);
  40493. CreateDynamicObject(1969, 247.29, 45.31, 1042.79, 0.00, 0.00, -88.74);
  40494. CreateDynamicObject(2453, 249.64, 42.15, 1043.53, 0.00, 0.00, 0.00);
  40495. CreateDynamicObject(2355, 248.94, 41.93, 1043.24, -25.80, 23.10, 0.00);
  40496. CreateDynamicObject(1775, 244.74, 47.32, 1043.32, 0.00, 0.00, 0.00);
  40497. CreateDynamicObject(19390, 240.69, 51.21, 1043.84, 0.00, 0.00, -88.86);
  40498. CreateDynamicObject(19434, 243.07, 51.26, 1043.84, 0.00, 0.00, -88.86);
  40499. CreateDynamicObject(19407, 243.76, 52.81, 1043.83, 0.00, 0.00, -0.12);
  40500. CreateDynamicObject(19407, 243.76, 56.00, 1043.83, 0.00, 0.00, 0.00);
  40501. CreateDynamicObject(19361, 243.76, 59.16, 1043.82, 0.00, 0.00, 0.00);
  40502. CreateDynamicObject(19453, 243.91, 57.65, 1043.84, 0.00, 0.00, -89.10);
  40503. CreateDynamicObject(19390, 245.46, 51.31, 1043.84, 0.00, 0.00, -88.86);
  40504. CreateDynamicObject(19453, 246.95, 56.08, 1043.85, 0.00, 0.00, 0.72);
  40505. CreateDynamicObject(2169, 240.83, 54.80, 1042.17, 0.00, 0.00, 0.72);
  40506. CreateDynamicObject(1721, 241.39, 53.40, 1042.25, 0.00, 0.00, 0.00);
  40507. CreateDynamicObject(1721, 241.32, 56.57, 1042.27, 0.00, 0.00, -177.78);
  40508. CreateDynamicObject(1651, 243.73, 52.86, 1043.63, 0.00, 0.00, -179.46);
  40509. CreateDynamicObject(19466, 243.75, 52.90, 1043.86, 0.00, 0.00, 0.00);
  40510. CreateDynamicObject(19466, 243.82, 55.96, 1043.83, 0.00, 0.00, 0.00);
  40511. CreateDynamicObject(1651, 243.76, 56.02, 1044.13, 0.00, 0.00, -180.36);
  40512. CreateDynamicObject(2198, 244.31, 55.49, 1042.21, 0.00, 0.00, 90.00);
  40513. CreateDynamicObject(2356, 245.59, 56.30, 1042.30, 0.00, 0.00, 103.86);
  40514. CreateDynamicObject(2737, 245.62, 57.51, 1044.04, 0.00, 0.00, 0.00);
  40515. CreateDynamicObject(2606, 246.60, 55.33, 1044.65, 0.00, 0.00, -89.64);
  40516. CreateDynamicObject(1721, 244.34, 54.74, 1042.30, 0.00, 0.00, 194.52);
  40517. CreateDynamicObject(1721, 246.58, 53.96, 1042.32, 0.00, 0.00, 96.72);
  40518. CreateDynamicObject(2608, 246.66, 52.43, 1042.93, 0.00, 0.00, -89.88);
  40519. CreateDynamicObject(1491, 244.71, 51.28, 1042.13, 0.00, 0.00, 1.38);
  40520. CreateDynamicObject(1491, 239.95, 51.18, 1042.12, 0.00, 0.00, 0.90);
  40521. CreateDynamicObject(19365, 248.57, 51.37, 1043.91, 0.00, 0.00, -88.86);
  40522. CreateDynamicObject(19365, 250.25, 52.93, 1043.91, 0.00, 0.00, 0.54);
  40523. CreateDynamicObject(19365, 251.65, 54.60, 1043.91, 0.00, 0.00, -88.44);
  40524. CreateDynamicObject(19365, 253.26, 53.03, 1043.90, 0.00, 0.00, 1.32);
  40525. CreateDynamicObject(19365, 254.84, 54.66, 1043.90, 0.00, 0.00, -88.44);
  40526. CreateDynamicObject(19365, 256.55, 53.04, 1043.90, 0.00, 0.00, 1.32);
  40527. CreateDynamicObject(19365, 251.56, 46.40, 1043.89, 0.00, 0.00, 1.26);
  40528. CreateDynamicObject(19365, 253.21, 44.77, 1043.87, 0.00, 0.00, -88.68);
  40529. CreateDynamicObject(19365, 254.81, 46.44, 1043.89, 0.00, 0.00, 1.26);
  40530. CreateDynamicObject(19365, 250.01, 47.92, 1043.90, 0.00, 0.00, -88.98);
  40531. CreateDynamicObject(19365, 256.64, 49.85, 1043.90, 0.00, 0.00, 1.80);
  40532. CreateDynamicObject(19365, 256.73, 47.14, 1043.90, 0.00, 0.00, 1.80);
  40533. CreateDynamicObject(19365, 256.29, 48.07, 1043.90, 0.00, 0.00, -88.68);
  40534. CreateDynamicObject(19302, 252.34, 48.02, 1043.62, 0.00, 0.00, 1.14);
  40535. CreateDynamicObject(19303, 254.09, 48.05, 1043.62, 0.00, 0.00, 1.14);
  40536. CreateDynamicObject(19302, 254.20, 51.50, 1043.66, 0.00, 0.00, 1.14);
  40537. CreateDynamicObject(19303, 255.95, 51.54, 1043.66, 0.00, 0.00, 1.14);
  40538. CreateDynamicObject(19303, 252.50, 51.45, 1043.66, 0.00, 0.00, 1.14);
  40539. CreateDynamicObject(19302, 250.75, 51.42, 1043.66, 0.00, 0.00, 1.14);
  40540. CreateDynamicObject(19304, 253.17, 48.02, 1045.45, 0.00, 0.00, 1.14);
  40541. CreateDynamicObject(19304, 255.08, 51.53, 1045.50, 0.00, 0.00, 1.14);
  40542. CreateDynamicObject(19304, 251.61, 51.45, 1045.51, 0.00, 0.00, 1.14);
  40543. CreateDynamicObject(19454, 215.40, 46.22, 1041.80, 0.54, -90.72, 0.00);
  40544. CreateDynamicObject(19454, 218.88, 46.17, 1041.84, 0.54, -90.72, 0.00);
  40545. CreateDynamicObject(19453, 220.49, 42.99, 1043.62, 0.00, 0.00, 0.00);
  40546. CreateDynamicObject(19453, 217.24, 41.47, 1043.62, 0.00, 0.00, -91.26);
  40547. CreateDynamicObject(19453, 215.51, 46.29, 1043.62, 0.00, 0.00, 0.00);
  40548. CreateDynamicObject(19390, 218.85, 47.74, 1043.62, 0.00, 0.00, -89.76);
  40549. CreateDynamicObject(19453, 212.56, 47.72, 1043.62, 0.00, 0.00, -89.76);
  40550. CreateDynamicObject(2206, 217.01, 43.85, 1041.87, 0.00, 0.00, 0.00);
  40551. CreateDynamicObject(1663, 217.87, 42.34, 1042.30, 0.00, 0.00, -180.06);
  40552. CreateDynamicObject(2190, 217.48, 44.13, 1042.76, 0.00, 0.00, 0.00);
  40553. CreateDynamicObject(2776, 218.88, 45.64, 1042.34, 0.00, 0.00, -27.54);
  40554. CreateDynamicObject(2776, 217.18, 45.63, 1042.25, 0.00, 0.00, 16.50);
  40555. CreateDynamicObject(2001, 220.22, 41.74, 1041.85, 0.00, 0.00, 0.00);
  40556. CreateDynamicObject(2001, 215.90, 41.83, 1041.79, 0.00, 0.00, 0.00);
  40557. CreateDynamicObject(2614, 217.81, 41.60, 1044.07, 0.00, 0.00, -180.54);
  40558. CreateDynamicObject(1491, 218.10, 47.72, 1041.85, 0.00, 0.00, 0.72);
  40559. CreateDynamicObject(2602, 252.26, 45.16, 1042.81, 0.00, 0.00, -178.44);
  40560. CreateDynamicObject(1800, 253.96, 43.82, 1042.17, 0.00, 0.00, 0.00);
  40561. CreateDynamicObject(1800, 255.67, 51.13, 1042.30, 0.00, 0.00, 0.00);
  40562. CreateDynamicObject(1800, 252.39, 51.02, 1042.24, 0.00, 0.00, 0.00);
  40563. CreateDynamicObject(2602, 250.69, 54.01, 1042.87, 0.00, 0.00, 90.00);
  40564. CreateDynamicObject(2602, 253.70, 53.69, 1042.91, 0.00, 0.00, 91.14);
  40565. CreateDynamicObject(19454, 254.95, 52.87, 1045.43, 0.54, -90.72, 1.62);
  40566. CreateDynamicObject(19454, 251.58, 52.83, 1045.38, 0.54, -90.72, 0.00);
  40567. CreateDynamicObject(19454, 253.29, 43.55, 1045.32, 0.54, -90.72, 0.90);
  40568. CreateDynamicObject(19454, 251.27, 43.05, 1045.30, 0.54, -90.72, 1.02);
  40569. CreateDynamicObject(19454, 248.52, 52.77, 1045.35, 0.54, -90.72, 0.54);
  40570. CreateDynamicObject(19454, 248.59, 43.21, 1045.27, 0.54, -90.72, 0.00);
  40571. CreateDynamicObject(19454, 245.10, 43.07, 1045.23, 0.54, -90.72, 0.00);
  40572. CreateDynamicObject(19454, 241.66, 42.96, 1045.16, 0.54, -90.72, 0.00);
  40573. CreateDynamicObject(19454, 238.23, 42.96, 1045.12, 0.54, -90.72, 0.00);
  40574. CreateDynamicObject(19454, 234.75, 42.96, 1045.07, 0.54, -90.72, 0.00);
  40575. CreateDynamicObject(19454, 231.42, 42.94, 1045.04, 0.54, -90.72, 0.00);
  40576. CreateDynamicObject(19454, 231.68, 33.74, 1044.95, 0.54, -90.72, 0.00);
  40577. CreateDynamicObject(19454, 234.94, 33.73, 1044.99, 0.54, -90.72, 0.00);
  40578. CreateDynamicObject(19454, 238.42, 33.73, 1045.03, 0.54, -90.72, 0.00);
  40579. CreateDynamicObject(19454, 241.71, 33.49, 1045.06, 0.54, -90.72, 0.00);
  40580. CreateDynamicObject(19454, 219.57, 42.91, 1045.00, 0.54, -90.72, 0.00);
  40581. CreateDynamicObject(19454, 216.28, 42.89, 1044.96, 0.54, -90.72, 0.00);
  40582. CreateDynamicObject(19454, 245.47, 52.76, 1045.31, 0.54, -90.72, 0.36);
  40583. CreateDynamicObject(19454, 242.01, 52.66, 1045.26, 0.54, -90.72, 0.00);
  40584. CreateDynamicObject(19454, 238.65, 52.63, 1045.22, 0.54, -90.72, 0.00);
  40585. CreateDynamicObject(19454, 235.88, 52.63, 1045.18, 0.54, -90.72, 0.00);
  40586. CreateDynamicObject(19454, 232.56, 52.64, 1045.13, 0.54, -90.72, 0.00);
  40587. CreateDynamicObject(19454, 229.17, 52.66, 1045.09, 0.54, -90.72, 0.00);
  40588. CreateDynamicObject(19454, 225.87, 52.66, 1045.05, 0.54, -90.72, 0.00);
  40589. CreateDynamicObject(19454, 222.47, 52.65, 1045.01, 0.54, -90.72, 0.00);
  40590. CreateDynamicObject(19454, 219.09, 52.63, 1044.97, 0.54, -90.72, 0.00);
  40591. CreateDynamicObject(19454, 215.64, 52.40, 1044.94, 0.54, -90.72, 0.00);
  40592. CreateDynamicObject(19454, 218.80, 61.87, 1045.06, 0.54, -90.72, 0.00);
  40593. CreateDynamicObject(19454, 222.27, 62.11, 1045.10, 0.54, -90.72, 0.00);
  40594. CreateDynamicObject(19454, 225.54, 62.10, 1045.13, 0.54, -90.72, 0.00);
  40595. CreateDynamicObject(19454, 228.97, 62.10, 1045.18, 0.54, -90.72, 0.00);
  40596. CreateDynamicObject(19454, 232.38, 62.09, 1045.21, 0.54, -90.72, 0.00);
  40597. CreateDynamicObject(19454, 235.65, 62.08, 1045.24, 0.54, -90.72, 0.00);
  40598. CreateDynamicObject(19454, 238.69, 61.99, 1045.29, 0.54, -90.72, 0.00);
  40599. CreateDynamicObject(19454, 235.02, 71.52, 1045.32, 0.54, -90.72, 0.00);
  40600. CreateDynamicObject(19454, 231.61, 71.52, 1045.28, 0.54, -90.72, 0.00);
  40601. CreateDynamicObject(19454, 228.24, 71.52, 1045.24, 0.54, -90.72, 0.00);
  40602. CreateDynamicObject(19454, 224.75, 71.50, 1045.20, 0.54, -90.72, 0.00);
  40603. CreateDynamicObject(19454, 221.26, 71.53, 1045.16, 0.54, -90.72, 0.00);
  40604. CreateDynamicObject(19454, 221.29, 80.83, 1045.24, 0.54, -90.72, 0.00);
  40605. CreateDynamicObject(19454, 223.90, 80.87, 1045.28, 0.54, -90.72, 0.00);
  40606. CreateDynamicObject(19454, 226.63, 81.03, 1045.31, 0.54, -90.72, 0.00);
  40607. CreateDynamicObject(19454, 228.77, 80.66, 1045.33, 0.54, -90.72, 0.00);
  40608. CreateDynamicObject(19454, 232.11, 80.73, 1045.36, 0.54, -90.72, 0.00);
  40609. CreateDynamicObject(19454, 235.38, 81.06, 1045.42, 0.54, -90.72, 0.00);
  40610. CreateDynamicObject(1495, 227.51, 70.15, 1042.15, 0.00, 0.00, -0.30);
  40611. CreateDynamicObject(1495, 221.64, 70.18, 1042.09, 0.00, 0.00, -0.72);
  40612. }
  40613. stock LoadSmallHouse() //by Colm692
  40614. {
  40615. new retexture;
  40616. CreateDynamicObject(2153, 667.57, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40617. CreateDynamicObject(2154, 665.50, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40618. CreateDynamicObject(2151, 664.13, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40619. CreateDynamicObject(2153, 666.87, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40620. CreateDynamicObject(2151, 662.76, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40621. CreateDynamicObject(2151, 662.44, -1685.18, -26.77, 0.00, 0.00, 90.00);
  40622. retexture = CreateDynamicObject(19450, 671.00, -1692.57, -25.00, 0.00, 0.00, 0.00);
  40623. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40624. retexture = CreateDynamicObject(19450, 672.72, -1690.49, -25.00, 0.00, 0.00, 90.00);
  40625. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40626. retexture = CreateDynamicObject(19450, 667.82, -1685.76, -25.00, 0.00, 0.00, 0.00);
  40627. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40628. retexture = CreateDynamicObject(19450, 666.20, -1696.57, -25.00, 0.00, 0.00, 90.00);
  40629. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40630. retexture = CreateDynamicObject(19450, 664.00, -1683.86, -25.00, 0.00, 0.00, 90.00);
  40631. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40632. retexture = CreateDynamicObject(19450, 662.23, -1683.36, -25.00, 0.00, 0.00, 0.00);
  40633. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40634. retexture = CreateDynamicObject(19388, 662.22, -1689.77, -25.00, 0.00, 0.00, 0.00);
  40635. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40636. retexture = CreateDynamicObject(19388, 662.22, -1694.58, -25.00, 0.00, 0.00, 0.00);
  40637. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40638. retexture = CreateDynamicObject(19431, 662.22, -1692.18, -25.00, 0.00, 0.00, 0.00);
  40639. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40640. retexture = CreateDynamicObject(19431, 662.22, -1696.99, -25.00, 0.00, 0.00, 0.00);
  40641. SetDynamicObjectMaterial(retexture, 0, 13727, "lahillsland", "studwalltop_law", 0xFFFFFFFF);
  40642. retexture = CreateDynamicObject(19378, 667.04, -1683.30, -26.83, 0.00, 90.00, 90.00);
  40643. SetDynamicObjectMaterial(retexture, 0, 6102, "gazlaw1", "law_gazwhitefloor", 0xFFFFFFFF);
  40644. retexture = CreateDynamicObject(19379, 667.42, -1693.38, -26.83, 0.00, 90.00, 0.00);
  40645. SetDynamicObjectMaterial(retexture, 0, 6102, "gazlaw1", "law_gazwhitefloor", 0xFFFFFFFF);
  40646. retexture = CreateDynamicObject(19389, 662.10, -1694.59, -25.00, 0.00, 0.00, 0.00);
  40647. SetDynamicObjectMaterial(retexture, 0, 8486, "ballys02", "walltiles_128", 0xFFFFFFFF);
  40648. retexture = CreateDynamicObject(19451, 657.41, -1691.60, -25.00, 0.00, 0.00, 90.00);
  40649. SetDynamicObjectMaterial(retexture, 0, 8486, "ballys02", "walltiles_128", 0xFFFFFFFF);
  40650. retexture = CreateDynamicObject(19451, 657.31, -1696.20, -25.00, 0.00, 0.00, 90.00);
  40651. SetDynamicObjectMaterial(retexture, 0, 8486, "ballys02", "walltiles_128", 0xFFFFFFFF);
  40652. retexture = CreateDynamicObject(19451, 656.98, -1696.34, -25.00, 0.00, 0.00, 0.00);
  40653. SetDynamicObjectMaterial(retexture, 0, 8486, "ballys02", "walltiles_128", 0xFFFFFFFF);
  40654. retexture = CreateDynamicObject(19432, 662.12, -1692.39, -25.00, 0.00, 0.00, 0.00);
  40655. SetDynamicObjectMaterial(retexture, 0, 8486, "ballys02", "walltiles_128", 0xFFFFFFFF);
  40656. retexture = CreateDynamicObject(19377, 656.93, -1696.45, -26.83, 0.00, 90.00, 0.00);
  40657. SetDynamicObjectMaterial(retexture, 0, 3961, "lee_kitch", "dinerfloor01_128", 0xFFFFFFFF);
  40658. retexture = CreateDynamicObject(19385, 662.05, -1689.77, -25.00, 0.00, 0.00, 0.00);
  40659. SetDynamicObjectMaterial(retexture, 0, 8401, "vgshpground", "vegaspawnwall02_128", 0xFFFFFFFF);
  40660. retexture = CreateDynamicObject(19454, 662.05, -1683.35, -25.00, 0.00, 0.00, 0.00);
  40661. SetDynamicObjectMaterial(retexture, 0, 8401, "vgshpground", "vegaspawnwall02_128", 0xFFFFFFFF);
  40662. retexture = CreateDynamicObject(19454, 657.31, -1691.36, -25.00, 0.00, 0.00, 90.00);
  40663. SetDynamicObjectMaterial(retexture, 0, 8401, "vgshpground", "vegaspawnwall02_128", 0xFFFFFFFF);
  40664. retexture = CreateDynamicObject(19454, 655.76, -1687.93, -25.00, 0.00, 0.00, 0.00);
  40665. SetDynamicObjectMaterial(retexture, 0, 8401, "vgshpground", "vegaspawnwall02_128", 0xFFFFFFFF);
  40666. retexture = CreateDynamicObject(19454, 657.27, -1683.95, -25.00, 0.00, 0.00, 90.00);
  40667. SetDynamicObjectMaterial(retexture, 0, 8401, "vgshpground", "vegaspawnwall02_128", 0xFFFFFFFF);
  40668. retexture = CreateDynamicObject(19377, 656.93, -1686.45, -26.83, 0.00, 90.00, 0.00);
  40669. SetDynamicObjectMaterial(retexture, 0, 13007, "sw_bankint", "woodfloor1", 0xFFFFFFFF);
  40670. retexture = CreateDynamicObject(19377, 666.92, -1695.61, -23.37, 0.00, 90.00, 90.00);
  40671. SetDynamicObjectMaterial(retexture, 0, 6102, "gazlaw1", "law_gazwhitefloor", 0xFFFFFFFF);
  40672. retexture = CreateDynamicObject(19377, 666.92, -1685.12, -23.37, 0.00, 90.00, 90.00);
  40673. SetDynamicObjectMaterial(retexture, 0, 6102, "gazlaw1", "law_gazwhitefloor", 0xFFFFFFFF);
  40674. retexture = CreateDynamicObject(19377, 657.20, -1686.11, -23.37, 0.00, 90.00, 90.00);
  40675. SetDynamicObjectMaterial(retexture, 0, 6102, "gazlaw1", "law_gazwhitefloor", 0xFFFFFFFF);
  40676. retexture = CreateDynamicObject(19377, 657.21, -1696.86, -23.37, 0.00, 90.00, 90.00);
  40677. SetDynamicObjectMaterial(retexture, 0, 6102, "gazlaw1", "law_gazwhitefloor", 0xFFFFFFFF);
  40678. CreateDynamicObject(2153, 667.57, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40679. CreateDynamicObject(2154, 665.50, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40680. CreateDynamicObject(2151, 664.13, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40681. CreateDynamicObject(2153, 666.87, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40682. CreateDynamicObject(2151, 662.76, -1684.16, -26.76, 0.00, 0.00, 0.00);
  40683. CreateDynamicObject(2151, 662.44, -1685.18, -26.77, 0.00, 0.00, 90.00);
  40684. CreateDynamicObject(1825, 665.22, -1687.24, -26.75, 0.00, 0.00, 0.00);
  40685. CreateDynamicObject(1506, 668.73, -1690.57, -26.88, 0.00, 0.00, 0.00);
  40686. CreateDynamicObject(1502, 662.22, -1690.52, -26.78, 0.00, 0.00, 90.00);
  40687. CreateDynamicObject(3034, 670.91, -1693.58, -25.06, 0.00, 0.00, -90.00);
  40688. CreateDynamicObject(3034, 667.72, -1687.42, -25.06, 0.00, 0.00, -90.00);
  40689. CreateDynamicObject(3034, 655.85, -1687.72, -25.06, 0.00, 0.00, 90.00);
  40690. CreateDynamicObject(1780, 662.72, -1686.25, -25.64, 0.00, 0.00, 90.00);
  40691. CreateDynamicObject(2812, 664.62, -1684.26, -25.71, 0.00, 0.00, 0.00);
  40692. CreateDynamicObject(2740, 666.84, -1693.82, -23.62, 0.00, 0.00, 0.00);
  40693. CreateDynamicObject(2239, 670.48, -1696.04, -26.69, 0.00, 0.00, -135.00);
  40694. CreateDynamicObject(2292, 664.97, -1692.57, -26.74, 0.00, 0.00, 0.00);
  40695. CreateDynamicObject(2291, 665.45, -1692.57, -26.74, 0.00, 0.00, 0.00);
  40696. CreateDynamicObject(2291, 666.41, -1692.57, -26.74, 0.00, 0.00, 0.00);
  40697. CreateDynamicObject(2291, 667.36, -1692.57, -26.74, 0.00, 0.00, 0.00);
  40698. CreateDynamicObject(2292, 668.83, -1692.55, -26.74, 0.00, 0.00, -90.00);
  40699. CreateDynamicObject(2291, 664.98, -1694.02, -26.74, 0.00, 0.00, 90.00);
  40700. CreateDynamicObject(2291, 668.83, -1693.00, -26.74, 0.00, 0.00, -90.00);
  40701. CreateDynamicObject(1792, 666.89, -1696.88, -26.24, 0.00, 0.00, 180.00);
  40702. CreateDynamicObject(2233, 667.40, -1696.65, -26.72, 0.00, 0.00, 180.00);
  40703. CreateDynamicObject(2233, 665.53, -1696.65, -26.72, 0.00, 0.00, 180.00);
  40704. CreateDynamicObject(2126, 666.41, -1694.71, -26.67, 0.00, 0.00, 0.00);
  40705. CreateDynamicObject(2855, 666.39, -1694.13, -26.17, 0.00, 0.00, -70.00);
  40706. CreateDynamicObject(3962, 662.35, -1692.16, -24.99, 0.00, 0.00, 178.50);
  40707. CreateDynamicObject(2707, 662.77, -1693.32, -23.47, 0.00, 0.00, 0.00);
  40708. CreateDynamicObject(2707, 662.77, -1692.25, -23.47, 0.00, 0.00, 0.00);
  40709. CreateDynamicObject(2707, 662.77, -1691.12, -23.47, 0.00, 0.00, 0.00);
  40710. CreateDynamicObject(2269, 664.11, -1695.99, -25.33, 0.00, 0.00, 180.00);
  40711. CreateDynamicObject(2270, 662.82, -1687.91, -25.31, 0.00, 0.00, 90.00);
  40712. CreateDynamicObject(2258, 661.93, -1686.24, -24.74, 0.00, 0.00, -90.00);
  40713. CreateDynamicObject(2256, 658.92, -1691.24, -24.93, 0.00, 0.00, 180.00);
  40714. CreateDynamicObject(2026, 659.55, -1693.84, -23.47, 0.00, 0.00, 0.00);
  40715. CreateDynamicObject(2026, 658.88, -1688.25, -23.47, 0.00, 0.00, 0.00);
  40716. CreateDynamicObject(1502, 662.22, -1695.34, -26.78, 0.00, 0.00, 90.00);
  40717. CreateDynamicObject(2521, 660.79, -1692.27, -26.71, 0.00, 0.00, 0.00);
  40718. CreateDynamicObject(2517, 658.17, -1693.15, -26.77, 0.00, 0.00, 0.00);
  40719. CreateDynamicObject(2522, 658.89, -1695.61, -26.75, 0.00, 0.00, 180.00);
  40720. CreateDynamicObject(2524, 661.19, -1695.64, -26.71, 0.00, 0.00, 180.00);
  40721. CreateDynamicObject(14527, 665.12, -1687.26, -25.91, 0.00, 0.00, 0.00);
  40722. CreateDynamicObject(2566, 657.43, -1686.62, -26.23, 0.00, 0.00, 0.00);
  40723. CreateDynamicObject(2844, 656.06, -1685.22, -26.74, 0.00, 0.00, 0.00);
  40724. CreateDynamicObject(2845, 657.11, -1685.91, -26.74, 0.00, 0.00, 0.00);
  40725. CreateDynamicObject(2205, 659.63, -1690.70, -26.77, 0.00, 0.00, 180.00);
  40726. CreateDynamicObject(1671, 658.89, -1689.51, -26.28, 0.00, 0.00, 0.00);
  40727. CreateDynamicObject(2190, 659.33, -1691.05, -25.90, 0.00, 0.00, -156.00);
  40728. CreateDynamicObject(2894, 658.46, -1690.57, -25.81, 0.00, 0.00, -185.00);
  40729. CreateDynamicObject(2239, 657.16, -1690.80, -26.78, 0.00, 0.00, 178.00);
  40730. }
  40731. stock LoadPoliceStations()
  40732. {
  40733. new gerbeshi;
  40734. gerbeshi = CreateDynamicObject(4638,2315.358,-1336.908,24.671,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40735. SetDynamicObjectMaterial(gerbeshi, 0, 16640, "a51", "redmetal", 0x00000000);
  40736. SetDynamicObjectMaterial(gerbeshi, 1, 969, "electricgate", "notice01", 0x00000000);
  40737. SetDynamicObjectMaterial(gerbeshi, 2, 10765, "airportgnd_sfse", "black64", 0x00000000);
  40738. SetDynamicObjectMaterial(gerbeshi, 5, 10765, "airportgnd_sfse", "black64", 0x00000000);
  40739. SetDynamicObjectMaterial(gerbeshi, 6, 10765, "airportgnd_sfse", "black64", 0x00000000);
  40740. SetDynamicObjectMaterial(gerbeshi, 7, 10765, "airportgnd_sfse", "black64", 0x00000000);
  40741. gerbeshi = CreateDynamicObject(19443,2313.669,-1337.227,24.547,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40742. SetDynamicObjectMaterialText(gerbeshi, 0, "LSPD", 60, "Ariel", 18, 1, 0xFFFFFFFF, 0x00000000, 0);
  40743. gerbeshi = CreateDynamicObject(19428,2316.263,-1337.877,24.366,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40744. SetDynamicObjectMaterialText(gerbeshi, 0, "NO ENTRANCE", 130, "Ariel", 30, 1, 0xFFFFFFFF, 0x00000000, 0);
  40745. gerbeshi = CreateDynamicObject(19791,2319.708,-1367.515,21.006,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40746. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40747. gerbeshi = CreateDynamicObject(19741,2317.147,-1370.040,28.251,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40748. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40749. gerbeshi = CreateDynamicObject(19463,2314.770,-1367.709,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40750. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40751. gerbeshi = CreateDynamicObject(19463,2317.671,-1364.253,22.510,0.000,0.000,-89.400,-1,-1,-1,1000.000);
  40752. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40753. gerbeshi = CreateDynamicObject(19791,2317.879,-1369.216,16.026,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40754. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40755. gerbeshi = CreateDynamicObject(19791,2319.708,-1357.685,19.946,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40756. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40757. gerbeshi = CreateDynamicObject(19463,2312.948,-1369.019,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40758. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40759. gerbeshi = CreateDynamicObject(19463,2312.938,-1369.469,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40760. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40761. gerbeshi = CreateDynamicObject(19463,2317.775,-1374.193,22.510,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  40762. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40763. gerbeshi = CreateDynamicObject(19463,2318.105,-1374.203,22.510,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  40764. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40765. gerbeshi = CreateDynamicObject(19463,2322.817,-1369.379,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40766. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40767. gerbeshi = CreateDynamicObject(19791,2326.968,-1367.475,18.626,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40768. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40769. gerbeshi = CreateDynamicObject(19463,2327.157,-1372.433,22.510,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  40770. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40771. gerbeshi = CreateDynamicObject(19463,2331.907,-1367.549,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40772. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40773. gerbeshi = CreateDynamicObject(19463,2331.917,-1357.939,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40774. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40775. gerbeshi = CreateDynamicObject(19791, 2326.94995, -1357.70508, 18.63600,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40776. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40777. gerbeshi = CreateDynamicObject(19463,2331.927,-1357.458,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40778. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40779. gerbeshi = CreateDynamicObject(19463,2314.778,-1358.209,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40780. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40781. gerbeshi = CreateDynamicObject(19463,2314.768,-1357.439,22.510,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40782. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40783. gerbeshi = CreateDynamicObject(19463,2319.660,-1352.713,22.510,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  40784. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40785. gerbeshi = CreateDynamicObject(19463,2327.200,-1352.703,22.510,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  40786. SetDynamicObjectMaterial(gerbeshi, 0, 3314, "ce_burbhouse", "sw_wallbrick_06", 0x00000000);
  40787. gerbeshi = CreateDynamicObject(19447,2313.525,-1363.994,24.334,90.600,-13.699,-78.000,-1,-1,-1,1000.000);
  40788. SetDynamicObjectMaterial(gerbeshi, 0, 16640, "a51", "sw_olddrum1", 0x00000000);
  40789. gerbeshi = CreateDynamicObject(19447,2313.527,-1363.924,24.334,90.600,-13.699,-78.000,-1,-1,-1,1000.000);
  40790. SetDynamicObjectMaterial(gerbeshi, 0, 16640, "a51", "sw_olddrum1", 0x00000000);
  40791. gerbeshi = CreateDynamicObject(19741,2315.127,-1367.100,25.371,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40792. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40793. gerbeshi = CreateDynamicObject(19741,2315.127,-1371.559,25.371,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40794. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40795. gerbeshi = CreateDynamicObject(19741,2319.937,-1371.559,25.371,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40796. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40797. gerbeshi = CreateDynamicObject(18763,2314.319,-1366.539,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40798. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40799. gerbeshi = CreateDynamicObject(18763,2314.319,-1369.539,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40800. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40801. gerbeshi = CreateDynamicObject(18763,2314.319,-1372.539,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40802. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40803. gerbeshi = CreateDynamicObject(18763,2314.308,-1373.039,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40804. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40805. gerbeshi = CreateDynamicObject(18763,2317.298,-1373.039,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40806. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40807. gerbeshi = CreateDynamicObject(18763,2320.278,-1373.039,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40808. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40809. gerbeshi = CreateDynamicObject(18763,2321.428,-1373.049,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40810. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40811. gerbeshi = CreateDynamicObject(18763,2316.197,-1370.047,28.183,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40812. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40813. gerbeshi = CreateDynamicObject(18763,2323.237,-1370.047,28.183,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40814. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40815. gerbeshi = CreateDynamicObject(19741,2321.847,-1370.040,28.251,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40816. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40817. gerbeshi = CreateDynamicObject(18763,2317.816,-1370.077,28.183,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40818. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40819. gerbeshi = CreateDynamicObject(18763,2330.487,-1370.050,26.803,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40820. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40821. gerbeshi = CreateDynamicObject(19741,2329.197,-1369.690,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40822. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40823. gerbeshi = CreateDynamicObject(18763,2330.487,-1355.180,26.847,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40824. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40825. gerbeshi = CreateDynamicObject(19741,2329.197,-1363.520,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40826. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40827. gerbeshi = CreateDynamicObject(19741,2329.197,-1357.310,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40828. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40829. gerbeshi = CreateDynamicObject(19741,2329.197,-1355.630,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40830. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40831. gerbeshi = CreateDynamicObject(18763,2316.197,-1355.148,27.227,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40832. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40833. gerbeshi = CreateDynamicObject(19741,2323.038,-1355.629,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40834. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40835. gerbeshi = CreateDynamicObject(19741,2317.668,-1355.629,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40836. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40837. gerbeshi = CreateDynamicObject(19741,2316.997,-1360.819,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40838. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40839. gerbeshi = CreateDynamicObject(18763,2316.207,-1361.448,27.238,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40840. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40841. gerbeshi = CreateDynamicObject(19741,2316.997,-1354.909,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40842. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40843. gerbeshi = CreateDynamicObject(19741,2323.227,-1354.909,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40844. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40845. gerbeshi = CreateDynamicObject(19741,2329.448,-1354.909,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40846. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40847. gerbeshi = CreateDynamicObject(19741,2329.448,-1361.139,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40848. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40849. gerbeshi = CreateDynamicObject(19741,2329.448,-1367.268,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40850. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40851. gerbeshi = CreateDynamicObject(19741,2329.448,-1369.848,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40852. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40853. gerbeshi = CreateDynamicObject(19741,2328.887,-1369.858,27.281,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40854. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0x00000000);
  40855. gerbeshi = CreateDynamicObject(18763,2314.319,-1365.509,22.845,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40856. SetDynamicObjectMaterial(gerbeshi, 0, 14577, "casinovault01", "ab_shutter1", 0x00000000);
  40857. gerbeshi = CreateDynamicObject(18663,2311.981,-1369.473,24.454,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40858. SetDynamicObjectMaterialText(gerbeshi, 0, "POLICE DEPARTMENT", 130, "courier", 20, 1, 0xFFFFFFFF, 0x00000000, 0);
  40859. gerbeshi = CreateDynamicObject(18667,2326.483,-1372.488,24.645,0.000,0.000,89.800,-1,-1,-1,1000.000);
  40860. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40861. SetDynamicObjectMaterialText(gerbeshi, 0, "54", 30, "Ariel", 40, 1, 0xFFFFFFFF, 0x00000000, 0);
  40862. gerbeshi = CreateDynamicObject(18667,2327.703,-1372.492,24.525,0.000,0.000,89.800,-1,-1,-1,1000.000);
  40863. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40864. SetDynamicObjectMaterialText(gerbeshi, 0, "TH", 30, "Ariel", 15, 1, 0xFFFFFFFF, 0x00000000, 0);
  40865. gerbeshi = CreateDynamicObject(18667,2326.394,-1372.488,24.955,0.000,0.000,89.800,-1,-1,-1,1000.000);
  40866. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40867. SetDynamicObjectMaterialText(gerbeshi, 0, "_____________", 30, "Ariel", 15, 1, 0xFFFFFFFF, 0x00000000, 0);
  40868. gerbeshi = CreateDynamicObject(18667,2326.394,-1372.488,23.925,0.000,0.000,89.800,-1,-1,-1,1000.000);
  40869. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40870. SetDynamicObjectMaterialText(gerbeshi, 0, "_____________", 30, "Ariel", 15, 1, 0xFFFFFFFF, 0x00000000, 0);
  40871. gerbeshi = CreateDynamicObject(18667,2326.624,-1372.489,24.835,0.000,0.000,89.800,-1,-1,-1,1000.000);
  40872. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40873. SetDynamicObjectMaterialText(gerbeshi, 0, "POLICE DEPARTMENT", 90, "Ariel", 20, 1, 0xFFFFFFFF, 0x00000000, 0);
  40874. /*gerbeshi = CreateDynamicObject(18667,2326.434,-1372.488,23.495,0.000,0.000,89.800,-1,-1,-1,1000.000);
  40875. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40876. SetDynamicObjectMaterialText(gerbeshi, 0, "To protect and serve", 90, "Ariel", 17, 1, 0xFFFFFFFF, 0x00000000, 0);*/
  40877. gerbeshi = CreateDynamicObject(18763,2330.487,-1362.669,26.800,89.899,0.000,0.000,-1,-1,-1,1000.000);
  40878. SetDynamicObjectMaterial(gerbeshi, 0, 7088, "casinoshops1", "inwindow1shdw64", 0x00000000);
  40879. gerbeshi = CreateDynamicObject(19866,2309.327,-1352.864,22.963,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40880. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40881. gerbeshi = CreateDynamicObject(19866,2309.478,-1352.864,22.963,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40882. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40883. gerbeshi = CreateDynamicObject(19866,2309.598,-1352.864,22.963,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40884. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40885. gerbeshi = CreateDynamicObject(19866,2309.598,-1352.864,23.653,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40886. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40887. gerbeshi = CreateDynamicObject(19866,2309.478,-1352.864,23.653,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40888. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40889. gerbeshi = CreateDynamicObject(19866,2309.327,-1352.864,23.653,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40890. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40891. gerbeshi = CreateDynamicObject(18667,2309.218,-1352.894,23.298,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40892. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40893. SetDynamicObjectMaterialText(gerbeshi, 0, "POLICE DEPARTMENT", 90, "Ariel", 25, 1, 0xFFFFFFFF, 0x00000000, 0);
  40894. gerbeshi = CreateDynamicObject(18667,2309.218,-1352.864,23.298,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40895. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40896. SetDynamicObjectMaterialText(gerbeshi, 0, "_______________________", 90, "Ariel", 25, 1, 0xFFFFFFFF, 0x00000000, 0);
  40897. gerbeshi = CreateDynamicObject(18667,2309.218,-1352.854,22.918,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40898. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40899. SetDynamicObjectMaterialText(gerbeshi, 0, "____________________", 100, "Ariel", 30, 1, 0xFFFFFFFF, 0x00000000, 0);
  40900. gerbeshi = CreateDynamicObject(18667,2309.218,-1352.994,22.638,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40901. SetDynamicObjectMaterial(gerbeshi, 0, 10871, "blacksky_sfse", "ws_blackmarble", 0x00000000);
  40902. SetDynamicObjectMaterialText(gerbeshi, 0, "> East Los Santos Police Station", 140, "Ariel", 30, 1, 0xFFFFFFFF, 0x00000000, 0);
  40903. gerbeshi = CreateDynamicObject(19791,2333.672,-1347.897,16.245,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40904. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40905. gerbeshi = CreateDynamicObject(19791,2333.672,-1338.137,16.245,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40906. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40907. gerbeshi = CreateDynamicObject(19791,2328.111,-1338.137,15.835,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40908. SetDynamicObjectMaterial(gerbeshi, 0, 16093, "a51_ext", "block2_high", 0x00000000);
  40909. gerbeshi = CreateDynamicObject(1409,910.875,-836.695,91.125,0.000,0.000,19.999,-1,-1,-1,1000.000);
  40910. gerbeshi = CreateDynamicObject(19966,2313.627,-1336.940,21.208,0.000,0.000,-89.999,-1,-1,-1,1000.000);
  40911. gerbeshi = CreateDynamicObject(19467,2314.029,-1340.444,22.426,-124.800,0.000,-90.500,-1,-1,-1,1000.000);
  40912. gerbeshi = CreateDynamicObject(19467,2313.992,-1344.674,22.426,-124.800,0.000,-90.500,-1,-1,-1,1000.000);
  40913. gerbeshi = CreateDynamicObject(19467,2313.955,-1348.934,22.426,-124.800,0.000,-90.500,-1,-1,-1,1000.000);
  40914. gerbeshi = CreateDynamicObject(1569,2312.973,-1367.416,23.017,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40915. gerbeshi = CreateDynamicObject(1569,2312.973,-1367.416,23.017,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40916. gerbeshi = CreateDynamicObject(1569,2312.863,-1370.900,22.859,0.000,0.000,89.799,-1,-1,-1,1000.000);
  40917. gerbeshi = CreateDynamicObject(1569,2312.869,-1367.930,22.859,0.000,0.000,-90.500,-1,-1,-1,1000.000);
  40918. gerbeshi = CreateDynamicObject(1616,2312.702,-1364.316,25.187,0.000,0.000,83.700,-1,-1,-1,1000.000);
  40919. gerbeshi = CreateDynamicObject(1616,2327.966,-1372.684,28.357,0.000,0.000,59.200,-1,-1,-1,1000.000);
  40920. gerbeshi = CreateDynamicObject(1502,2318.236,-1373.351,23.032,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40921. gerbeshi = CreateDynamicObject(19859,2317.286,-1374.520,24.191,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40922. gerbeshi = CreateDynamicObject(19859,2320.245,-1374.540,24.191,0.000,0.000,179.100,-1,-1,-1,1000.000);
  40923. gerbeshi = CreateDynamicObject(17951,2323.147,-1339.723,23.897,0.000,0.000,-0.499,-1,-1,-1,1000.000);
  40924. gerbeshi = CreateDynamicObject(1569,2328.726,-1349.578,22.989,0.000,0.000,90.000,-1,-1,-1,1000.000);
  40925. gerbeshi = CreateDynamicObject(19791,1831.609,-1444.466,10.712,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40926. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "ws_rooftarmac1", 0);
  40927. gerbeshi = CreateDynamicObject(19791,1831.609,-1434.476,10.712,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40928. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "ws_rooftarmac1", 0);
  40929. gerbeshi = CreateDynamicObject(19791,1821.719,-1424.497,10.712,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40930. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "ws_rooftarmac1", 0);
  40931. gerbeshi = CreateDynamicObject(19791,1821.729,-1444.466,10.712,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40932. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "ws_rooftarmac1", 0);
  40933. gerbeshi = CreateDynamicObject(19791,1821.729,-1434.476,10.712,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40934. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "ws_rooftarmac1", 0);
  40935. gerbeshi = CreateDynamicObject(19791,1831.609,-1424.497,10.712,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40936. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "ws_rooftarmac1", 0);
  40937. gerbeshi = CreateDynamicObject(19379,1836.565,-1433.894,10.780,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40938. SetDynamicObjectMaterial(gerbeshi, 0, 6944, "vgnshopnmall", "vgnmetalwall3_256", 0);
  40939. gerbeshi = CreateDynamicObject(19379,1836.565,-1443.525,10.770,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40940. SetDynamicObjectMaterial(gerbeshi, 0, 6944, "vgnshopnmall", "vgnmetalwall3_256", 0);
  40941. gerbeshi = CreateDynamicObject(19379,1836.575,-1444.735,10.730,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40942. SetDynamicObjectMaterial(gerbeshi, 0, 6944, "vgnshopnmall", "vgnmetalwall3_256", 0);
  40943. gerbeshi = CreateDynamicObject(19379,1836.295,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40944. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40945. gerbeshi = CreateDynamicObject(19379,1816.764,-1424.314,11.930,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40946. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40947. gerbeshi = CreateDynamicObject(19379,1816.764,-1433.914,11.930,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40948. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40949. gerbeshi = CreateDynamicObject(19379,1816.764,-1443.524,11.930,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40950. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40951. gerbeshi = CreateDynamicObject(19379,1816.754,-1444.724,11.930,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40952. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40953. gerbeshi = CreateDynamicObject(19379,1821.484,-1449.614,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40954. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40955. gerbeshi = CreateDynamicObject(19379,1826.354,-1449.614,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40956. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40957. gerbeshi = CreateDynamicObject(19379,1831.834,-1449.464,10.430,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40958. SetDynamicObjectMaterial(gerbeshi, 0, 6944, "vgnshopnmall", "vgnmetalwall3_256", 0);
  40959. gerbeshi = CreateDynamicObject(19379,1821.474,-1419.555,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40960. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40961. gerbeshi = CreateDynamicObject(19379,1831.094,-1419.555,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40962. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40963. gerbeshi = CreateDynamicObject(19379,1831.834,-1419.565,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40964. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40965. gerbeshi = CreateDynamicObject(3034,1818.498,-1450.169,14.911,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40966. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  40967. gerbeshi = CreateDynamicObject(3034,1822.118,-1450.169,14.911,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40968. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  40969. gerbeshi = CreateDynamicObject(3034,1825.738,-1450.169,14.911,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40970. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  40971. gerbeshi = CreateDynamicObject(3034,1828.617,-1450.179,14.911,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40972. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  40973. gerbeshi = CreateDynamicObject(3034,1832.978,-1449.599,16.321,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40974. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40975. gerbeshi = CreateDynamicObject(3034,1834.858,-1449.609,16.321,0.000,0.000,0.000,-1,-1,-1,1000.000);
  40976. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40977. gerbeshi = CreateDynamicObject(3034,1836.679,-1447.808,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40978. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40979. gerbeshi = CreateDynamicObject(3034,1836.689,-1444.419,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40980. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40981. gerbeshi = CreateDynamicObject(3034,1836.689,-1440.799,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40982. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40983. gerbeshi = CreateDynamicObject(3034,1836.689,-1437.179,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40984. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40985. gerbeshi = CreateDynamicObject(3034,1836.689,-1433.559,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40986. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40987. gerbeshi = CreateDynamicObject(3034,1836.699,-1431.749,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40988. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40989. gerbeshi = CreateDynamicObject(19379,1821.484,-1449.454,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40990. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40991. gerbeshi = CreateDynamicObject(19379,1821.484,-1449.454,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40992. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40993. gerbeshi = CreateDynamicObject(19379,1831.104,-1449.454,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40994. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40995. gerbeshi = CreateDynamicObject(19379,1821.484,-1449.454,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40996. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40997. gerbeshi = CreateDynamicObject(19379,1821.484,-1449.764,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  40998. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  40999. gerbeshi = CreateDynamicObject(19379,1826.354,-1449.764,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  41000. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41001. gerbeshi = CreateDynamicObject(19379,1821.484,-1449.914,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  41002. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41003. gerbeshi = CreateDynamicObject(19379,1826.354,-1449.914,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  41004. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41005. gerbeshi = CreateDynamicObject(19379,1821.484,-1450.064,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  41006. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41007. gerbeshi = CreateDynamicObject(19379,1826.354,-1450.064,11.930,0.000,0.000,89.999,-1,-1,-1,1000.000);
  41008. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41009. gerbeshi = CreateDynamicObject(4100,1823.848,-1450.198,15.204,0.000,0.000,-39.899,-1,-1,-1,1000.000);
  41010. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41011. gerbeshi = CreateDynamicObject(19379,1836.435,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41012. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41013. gerbeshi = CreateDynamicObject(19379,1836.565,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41014. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41015. gerbeshi = CreateDynamicObject(19379,1837.015,-1424.294,11.930,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41016. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41017. gerbeshi = CreateDynamicObject(19379,1836.735,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41018. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41019. gerbeshi = CreateDynamicObject(19379,1836.905,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41020. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41021. gerbeshi = CreateDynamicObject(19379,1837.055,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41022. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41023. gerbeshi = CreateDynamicObject(19379,1837.155,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41024. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41025. gerbeshi = CreateDynamicObject(19379,1837.295,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41026. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41027. gerbeshi = CreateDynamicObject(19379,1837.425,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41028. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41029. gerbeshi = CreateDynamicObject(19379,1837.595,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41030. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41031. gerbeshi = CreateDynamicObject(19379,1837.765,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41032. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41033. gerbeshi = CreateDynamicObject(19379,1837.915,-1424.294,16.310,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41034. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41035. gerbeshi = CreateDynamicObject(3034,1836.699,-1428.139,16.321,0.000,0.000,89.999,-1,-1,-1,1000.000);
  41036. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41037. gerbeshi = CreateDynamicObject(19790,1834.698,-1447.786,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41038. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41039. gerbeshi = CreateDynamicObject(19790,1829.749,-1447.786,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41040. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41041. gerbeshi = CreateDynamicObject(19790,1824.788,-1447.786,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41042. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41043. gerbeshi = CreateDynamicObject(19790,1819.838,-1447.786,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41044. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41045. gerbeshi = CreateDynamicObject(19790,1818.759,-1447.796,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41046. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41047. gerbeshi = CreateDynamicObject(19790,1834.698,-1442.827,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41048. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41049. gerbeshi = CreateDynamicObject(19790,1829.749,-1442.827,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41050. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41051. gerbeshi = CreateDynamicObject(19790,1824.788,-1442.827,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41052. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41053. gerbeshi = CreateDynamicObject(19790,1819.838,-1442.827,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41054. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41055. gerbeshi = CreateDynamicObject(19790,1818.759,-1442.837,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41056. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41057. gerbeshi = CreateDynamicObject(19790,1834.698,-1437.846,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41058. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41059. gerbeshi = CreateDynamicObject(19790,1829.749,-1437.846,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41060. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41061. gerbeshi = CreateDynamicObject(19790,1824.788,-1437.846,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41062. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41063. gerbeshi = CreateDynamicObject(19790,1819.838,-1437.846,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41064. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41065. gerbeshi = CreateDynamicObject(19790,1818.759,-1437.856,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41066. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41067. gerbeshi = CreateDynamicObject(19790,1834.698,-1432.887,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41068. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41069. gerbeshi = CreateDynamicObject(19790,1829.749,-1432.887,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41070. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41071. gerbeshi = CreateDynamicObject(19790,1824.788,-1432.887,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41072. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41073. gerbeshi = CreateDynamicObject(19790,1819.838,-1432.887,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41074. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41075. gerbeshi = CreateDynamicObject(19790,1818.759,-1432.897,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41076. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41077. gerbeshi = CreateDynamicObject(19790,1834.698,-1427.906,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41078. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41079. gerbeshi = CreateDynamicObject(19790,1829.749,-1427.906,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41080. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41081. gerbeshi = CreateDynamicObject(19790,1824.788,-1427.906,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41082. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41083. gerbeshi = CreateDynamicObject(19790,1819.838,-1427.906,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41084. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41085. gerbeshi = CreateDynamicObject(19790,1818.759,-1427.916,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41086. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41087. gerbeshi = CreateDynamicObject(19790,1834.698,-1422.947,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41088. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41089. gerbeshi = CreateDynamicObject(19790,1829.749,-1422.947,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41090. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41091. gerbeshi = CreateDynamicObject(19790,1824.788,-1422.947,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41092. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41093. gerbeshi = CreateDynamicObject(19790,1819.838,-1422.947,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41094. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41095. gerbeshi = CreateDynamicObject(19790,1818.759,-1422.957,16.463,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41096. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41097. gerbeshi = CreateDynamicObject(3034,1825.248,-1450.299,18.871,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41098. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41099. gerbeshi = CreateDynamicObject(3034,1828.868,-1450.299,18.871,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41100. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41101. gerbeshi = CreateDynamicObject(3034,1832.488,-1450.299,18.871,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41102. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41103. gerbeshi = CreateDynamicObject(3034,1835.427,-1450.309,18.871,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41104. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41105. gerbeshi = CreateDynamicObject(4100,1830.644,-1450.362,19.234,0.000,0.000,-39.899,-1,-1,-1,1000.000);
  41106. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41107. gerbeshi = CreateDynamicObject(3034,1837.197,-1448.479,18.871,0.000,0.000,90.000,-1,-1,-1,1000.000);
  41108. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41109. gerbeshi = CreateDynamicObject(3034,1837.197,-1442.789,18.871,0.000,0.000,90.000,-1,-1,-1,1000.000);
  41110. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41111. gerbeshi = CreateDynamicObject(3034,1837.197,-1437.769,18.871,0.000,0.000,90.000,-1,-1,-1,1000.000);
  41112. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41113. gerbeshi = CreateDynamicObject(3034,1837.197,-1432.249,18.871,0.000,0.000,90.000,-1,-1,-1,1000.000);
  41114. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41115. gerbeshi = CreateDynamicObject(4100,1837.252,-1443.191,19.234,0.000,0.000,50.100,-1,-1,-1,1000.000);
  41116. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41117. gerbeshi = CreateDynamicObject(4100,1837.268,-1429.452,19.244,0.000,0.000,50.100,-1,-1,-1,1000.000);
  41118. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41119. gerbeshi = CreateDynamicObject(3034,1818.058,-1450.299,18.871,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41120. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41121. gerbeshi = CreateDynamicObject(3034,1816.248,-1448.489,18.871,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41122. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41123. gerbeshi = CreateDynamicObject(3034,1816.248,-1444.859,18.871,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41124. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41125. gerbeshi = CreateDynamicObject(3034,1816.248,-1437.288,18.871,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41126. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41127. gerbeshi = CreateDynamicObject(3034,1816.248,-1433.649,18.871,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41128. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41129. gerbeshi = CreateDynamicObject(3034,1816.248,-1426.418,18.871,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41130. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41131. gerbeshi = CreateDynamicObject(4100,1823.355,-1450.306,19.234,0.000,0.000,-39.899,-1,-1,-1,1000.000);
  41132. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41133. gerbeshi = CreateDynamicObject(4100,1816.214,-1443.631,19.234,0.000,0.000,-129.899,-1,-1,-1,1000.000);
  41134. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41135. gerbeshi = CreateDynamicObject(4100,1816.189,-1429.976,19.234,0.000,0.000,-129.899,-1,-1,-1,1000.000);
  41136. SetDynamicObjectMaterial(gerbeshi, 0, 17555, "eastbeach3c_lae2", "compfence3_LAe", 0);
  41137. gerbeshi = CreateDynamicObject(19358,1837.771,-1438.880,15.539,0.000,90.000,0.000,-1,-1,-1,1000.000);
  41138. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0);
  41139. gerbeshi = CreateDynamicObject(19358,1837.771,-1435.700,15.539,0.000,90.000,0.000,-1,-1,-1,1000.000);
  41140. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "coasty_bit3_sfe", 0);
  41141. gerbeshi = CreateDynamicObject(18648,1837.640,-1439.955,16.248,49.100,11.099,92.199,-1,-1,-1,1000.000);
  41142. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "ws_bridgepavement2", 0);
  41143. gerbeshi = CreateDynamicObject(18648,1837.633,-1439.916,16.243,49.100,11.099,92.199,-1,-1,-1,1000.000);
  41144. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "ws_bridgepavement2", 0);
  41145. gerbeshi = CreateDynamicObject(18648,1837.522,-1434.542,16.326,49.100,11.099,92.199,-1,-1,-1,1000.000);
  41146. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "ws_bridgepavement2", 0);
  41147. gerbeshi = CreateDynamicObject(18648,1837.530,-1434.581,16.331,49.100,11.099,92.199,-1,-1,-1,1000.000);
  41148. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "ws_bridgepavement2", 0);
  41149. gerbeshi = CreateDynamicObject(921,1837.904,-1437.307,15.336,89.799,0.000,0.000,-1,-1,-1,1000.000);
  41150. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  41151. gerbeshi = CreateDynamicObject(2314,1836.541,-1450.087,17.029,-89.899,-179.999,89.400,-1,-1,-1,1000.000);
  41152. SetDynamicObjectMaterial(gerbeshi, 0, 3077, "blkbrdx", "nf_blackbrd", 0);
  41153. gerbeshi = CreateDynamicObject(2314,1836.685,-1451.619,17.040,-89.899,179.999,-90.600,-1,-1,-1,1000.000);
  41154. SetDynamicObjectMaterial(gerbeshi, 0, 3077, "blkbrdx", "nf_blackbrd", 0);
  41155. gerbeshi = CreateDynamicObject(18666,1837.052,-1450.803,16.248,0.000,0.000,180.000,-1,-1,-1,1000.000);
  41156. SetDynamicObjectMaterial(gerbeshi, 0, 18996, "mattextures", "policeshield", 0);
  41157. SetDynamicObjectMaterialText(gerbeshi, 0, "LSPD", 30, "Ariel", 20, 1, -1, 0, 0);
  41158. gerbeshi = CreateDynamicObject(18666,1836.171,-1451.514,16.258,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41159. SetDynamicObjectMaterialText(gerbeshi, 0, "LSPD", 30, "Ariel", 20, 1, -1, 0, 0);
  41160. gerbeshi = CreateDynamicObject(19354,1836.290,-1427.341,14.480,0.000,90.000,0.000,-1,-1,-1,1000.000);
  41161. SetDynamicObjectMaterial(gerbeshi, 0, 10765, "airportgnd_sfse", "black64", 0);
  41162. gerbeshi = CreateDynamicObject(18663,1838.051,-1427.259,13.600,0.000,0.000,180.000,-1,-1,-1,1000.000);
  41163. SetDynamicObjectMaterialText(gerbeshi, 0, "LOS SANTOS POLICE DEPARTMENT", 90, "Ariel", 17, 1, -1, 0, 0);
  41164. gerbeshi = CreateDynamicObject(19356,1837.924,-1426.019,18.730,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41165. SetDynamicObjectMaterial(gerbeshi, 0, 19784, "matpoliceinsignias", "detective1", 0);
  41166. gerbeshi = CreateDynamicObject(18667,1838.007,-1426.084,15.880,0.000,0.000,180.000,-1,-1,-1,1000.000);
  41167. SetDynamicObjectMaterialText(gerbeshi, 0, "POLICE", 50, "Ariel", 40, 1, -16777216, 0, 0);
  41168. gerbeshi = CreateDynamicObject(18667,1838.007,-1426.084,15.880,0.000,0.000,180.000,-1,-1,-1,1000.000);
  41169. SetDynamicObjectMaterialText(gerbeshi, 0, "_______________________", 50, "Ariel", 40, 1, -16777216, 0, 0);
  41170. gerbeshi = CreateDynamicObject(18667,1838.047,-1424.974,14.640,0.000,0.000,180.000,-1,-1,-1,1000.000);
  41171. SetDynamicObjectMaterialText(gerbeshi, 0, "\"To protect and serve\"", 130, "Comic Sans MS", 50, 1, -16777216, 0, 0);
  41172. gerbeshi = CreateDynamicObject(18667,1838.007,-1425.074,15.330,0.000,0.000,180.000,-1,-1,-1,1000.000);
  41173. SetDynamicObjectMaterialText(gerbeshi, 0, "_______________________", 50, "Ariel", 40, 1, -16777216, 0, 0);
  41174. gerbeshi = CreateDynamicObject(19379,1833.186,-1429.035,15.960,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41175. SetDynamicObjectMaterial(gerbeshi, 0, 14846, "genintintpoliceb", "cop_cellwall", 0);
  41176. gerbeshi = CreateDynamicObject(987,1785.162,-1441.635,10.079,0.000,0.000,-18.899,-1,-1,-1,1000.000);
  41177. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41178. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41179. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41180. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41181. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41182. gerbeshi = CreateDynamicObject(987,1796.528,-1445.304,10.079,0.000,0.000,-198.899,-1,-1,-1,1000.000);
  41183. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41184. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41185. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41186. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41187. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41188. gerbeshi = CreateDynamicObject(987,1793.423,-1444.426,10.079,-0.000,0.000,-18.899,-1,-1,-1,1000.000);
  41189. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41190. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41191. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41192. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41193. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41194. gerbeshi = CreateDynamicObject(987,1804.789,-1448.095,10.079,0.000,-0.000,161.099,-1,-1,-1,1000.000);
  41195. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41196. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41197. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41198. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41199. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41200. gerbeshi = CreateDynamicObject(987,1785.408,-1441.730,10.079,0.000,0.000,46.099,-1,-1,-1,1000.000);
  41201. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41202. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41203. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41204. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41205. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41206. gerbeshi = CreateDynamicObject(987,1793.537,-1432.980,10.079,-0.000,-0.000,-133.899,-1,-1,-1,1000.000);
  41207. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41208. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41209. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41210. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41211. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41212. gerbeshi = CreateDynamicObject(987,1793.708,-1433.090,10.079,0.000,0.000,46.099,-1,-1,-1,1000.000);
  41213. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41214. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41215. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41216. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41217. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41218. gerbeshi = CreateDynamicObject(987,1801.837,-1424.340,10.079,-0.000,-0.000,-133.899,-1,-1,-1,1000.000);
  41219. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41220. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41221. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41222. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41223. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41224. gerbeshi = CreateDynamicObject(987,1797.469,-1429.210,10.079,0.000,0.000,46.099,-1,-1,-1,1000.000);
  41225. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41226. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41227. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41228. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41229. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41230. gerbeshi = CreateDynamicObject(987,1805.597,-1420.459,10.079,-0.000,-0.000,-133.899,-1,-1,-1,1000.000);
  41231. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41232. SetDynamicObjectMaterial(gerbeshi, 1, 5114, "beach_las2", "Bow_meshfence", 0);
  41233. SetDynamicObjectMaterial(gerbeshi, 2, 10101, "2notherbuildsfe", "sl_vicbrikwall01", 0);
  41234. SetDynamicObjectMaterial(gerbeshi, 3, 3715, "archlax", "ws_greymetal", 0);
  41235. SetDynamicObjectMaterial(gerbeshi, 4, 3715, "archlax", "ws_greymetal", 0);
  41236. gerbeshi = CreateDynamicObject(3034,1816.248,-1437.288,14.821,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41237. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41238. gerbeshi = CreateDynamicObject(3034,1816.248,-1433.669,14.821,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41239. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41240. gerbeshi = CreateDynamicObject(3034,1816.248,-1425.778,14.821,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41241. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41242. gerbeshi = CreateDynamicObject(3034,1816.667,-1448.369,14.911,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41243. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41244. gerbeshi = CreateDynamicObject(3034,1816.667,-1444.728,14.911,0.000,0.000,-90.000,-1,-1,-1,1000.000);
  41245. SetDynamicObjectMaterial(gerbeshi, 0, 10842, "docks2refl_sfse", "ws_corr_2_blu", 0);
  41246. gerbeshi = CreateDynamicObject(967,1805.715,-1448.096,12.352,0.000,0.000,-104.399,-1,-1,-1,1000.000);
  41247. SetDynamicObjectMaterial(gerbeshi, 0, 3603, "bevmans01_la", "genroof01_128", 0);
  41248. SetDynamicObjectMaterial(gerbeshi, 1, 3603, "bevmans01_la", "cemebuild03_law", 0);
  41249. gerbeshi = CreateDynamicObject(966,1806.552,-1448.825,12.500,0.000,0.000,170.100,-1,-1,-1,1000.000);
  41250. SetDynamicObjectMaterial(gerbeshi, 0, 3603, "bevmans01_la", "cemebuild03_law", 0);
  41251. SetDynamicObjectMaterial(gerbeshi, 1, 3603, "bevmans01_la", "sjmlahus29", 0);
  41252. gerbeshi = CreateDynamicObject(3467,1813.975,-1449.956,13.208,0.000,0.000,-8.299,-1,-1,-1,1000.000);
  41253. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  41254. gerbeshi = CreateDynamicObject(3467,1814.697,-1450.061,13.208,0.000,0.000,-8.299,-1,-1,-1,1000.000);
  41255. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  41256. gerbeshi = CreateDynamicObject(3467,1815.430,-1450.167,13.208,0.000,0.000,-8.299,-1,-1,-1,1000.000);
  41257. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  41258. gerbeshi = CreateDynamicObject(3467,1816.122,-1450.269,13.208,0.000,0.000,-8.299,-1,-1,-1,1000.000);
  41259. SetDynamicObjectMaterial(gerbeshi, 0, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  41260. SetDynamicObjectMaterial(gerbeshi, 1, 10101, "2notherbuildsfe", "Bow_Abpave_Gen", 0);
  41261. gerbeshi = CreateDynamicObject(18665,1815.194,-1450.172,12.635,0.000,0.000,81.599,-1,-1,-1,1000.000);
  41262. SetDynamicObjectMaterialText(gerbeshi, 0, "LOS SANTOS POLICE DEPARTMENT", 80, "Ariel", 16, 1, -16777216, 0, 0);
  41263. gerbeshi = CreateDynamicObject(18665,1815.115,-1450.160,12.635,0.000,0.000,81.599,-1,-1,-1,1000.000);
  41264. SetDynamicObjectMaterialText(gerbeshi, 0, "____________________________________-", 80, "Ariel", 16, 1, -16777216, 0, 0);
  41265. gerbeshi = CreateDynamicObject(18665,1815.115,-1450.160,13.065,0.000,0.000,81.599,-1,-1,-1,1000.000);
  41266. SetDynamicObjectMaterialText(gerbeshi, 0, "____________________________________-", 80, "Ariel", 16, 1, -16777216, 0, 0);
  41267. gerbeshi = CreateDynamicObject(18665,1816.015,-1450.293,12.145,0.000,0.000,81.599,-1,-1,-1,1000.000);
  41268. SetDynamicObjectMaterialText(gerbeshi, 0, "DAVIS STATION 47TH", 90, "Ariel", 16, 1, -16777216, 0, 0);
  41269. gerbeshi = CreateDynamicObject(6874,1818.326,-1410.914,12.249,0.000,0.000,0.000,-1,-1,-1,1000.000);
  41270. //dvsgate = CreateDynamicObject(968,1806.355,-1448.792,13.400,0.000,90.000,-9.900,-1,-1,-1,1000.000);
  41271. //PD INT
  41272. CreateDynamicObject(19379,1569.4799800,-1653.7700200,-41.6800000,0.0000000,90.0000000,0.0000000);
  41273. CreateDynamicObject(19379,1569.4720500,-1663.3800000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41274. CreateDynamicObject(19379,1579.9799800,-1653.7500000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41275. CreateDynamicObject(19379,1579.9799800,-1663.3599900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41276. CreateDynamicObject(19379,1559.0000000,-1673.0100100,-41.6800000,0.0000000,90.0000000,0.0000000);
  41277. CreateDynamicObject(19379,1579.9799800,-1672.9799800,-41.6800000,0.0000000,90.0000000,0.0000000);
  41278. CreateDynamicObject(19379,1558.9809600,-1682.6099900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41279. CreateDynamicObject(19379,1569.4599600,-1682.6099900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41280. CreateDynamicObject(19379,1579.9599600,-1682.6099900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41281. CreateDynamicObject(19435,1565.3199500,-1669.5700700,-42.2000000,0.0000000,0.0000000,0.0000000);
  41282. CreateDynamicObject(19435,1567.7099600,-1668.8599900,-42.2000000,0.0000000,0.0000000,90.0000000);
  41283. CreateDynamicObject(19435,1569.3112800,-1668.8599900,-42.2000000,0.0000000,0.0000000,90.0000000);
  41284. CreateDynamicObject(19435,1566.1099900,-1668.8599900,-42.2000000,0.0000000,0.0000000,90.0000000);
  41285. CreateDynamicObject(19435,1565.3199500,-1671.1601600,-42.2000000,0.0000000,0.0000000,0.0000000);
  41286. CreateDynamicObject(19435,1565.3199500,-1672.7600100,-42.2000000,0.0000000,0.0000000,0.0000000);
  41287. CreateDynamicObject(19435,1565.3199500,-1674.3499800,-42.2000000,0.0000000,0.0000000,0.0000000);
  41288. CreateDynamicObject(19379,1569.4818100,-1672.9718000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41289. CreateDynamicObject(19435,1565.3199500,-1675.5699500,-42.2000000,-0.0400000,0.0000000,0.0000000);
  41290. CreateDynamicObject(19435,1566.1500200,-1676.2800300,-42.2000000,0.0000000,0.0000000,90.0000000);
  41291. CreateDynamicObject(19435,1567.7600100,-1676.2800300,-42.2000000,0.0000000,0.0000000,90.0000000);
  41292. CreateDynamicObject(19435,1569.3599900,-1676.2800300,-42.2000000,0.0000000,0.0000000,90.0000000);
  41293. CreateDynamicObject(2008,1566.1600300,-1672.0899700,-41.4100000,0.0000000,0.0000000,90.0000000);
  41294. CreateDynamicObject(2008,1566.1500200,-1674.1300000,-41.4100000,0.0000000,0.0000000,90.0000000);
  41295. CreateDynamicObject(2162,1565.9541000,-1670.3720700,-41.5200000,0.0000000,0.0000000,90.0000000);
  41296. CreateDynamicObject(2162,1567.9100300,-1669.9000200,-41.5200000,0.0000000,0.0000000,0.0000000);
  41297. CreateDynamicObject(2162,1568.1200000,-1675.4200400,-41.5200000,0.0000000,0.0000000,180.0000000);
  41298. CreateDynamicObject(2162,1566.4499500,-1675.5400400,-41.5200000,0.0000000,0.0000000,134.0200000);
  41299. CreateDynamicObject(1714,1567.9000200,-1671.3000500,-41.6200000,0.0000000,0.0000000,-90.0000000);
  41300. CreateDynamicObject(1714,1567.9000200,-1673.4200400,-41.6200000,0.0000000,0.0000000,-90.0000000);
  41301. CreateDynamicObject(18070,1567.7600100,-1672.6500200,-38.5600000,-180.0000000,0.0000000,90.1400000);
  41302. CreateDynamicObject(19435,1565.3199500,-1671.1601600,-37.4400000,0.0000000,0.0000000,0.0000000);
  41303. CreateDynamicObject(19435,1565.3199500,-1669.5700700,-37.4400000,0.0000000,0.0000000,0.0000000);
  41304. CreateDynamicObject(19435,1566.1500200,-1676.2800300,-37.4400000,0.0000000,0.0000000,90.0000000);
  41305. CreateDynamicObject(19435,1567.7600100,-1676.2800300,-37.4400000,0.0000000,0.0000000,90.0000000);
  41306. CreateDynamicObject(19435,1569.3599900,-1676.2800300,-37.4400000,0.0000000,0.0000000,90.0000000);
  41307. CreateDynamicObject(19435,1566.1099900,-1668.8599900,-37.4400000,0.0000000,0.0000000,90.0000000);
  41308. CreateDynamicObject(19435,1567.7099600,-1668.8599900,-37.4400000,0.0000000,0.0000000,90.0000000);
  41309. CreateDynamicObject(19435,1569.3000500,-1668.8599900,-37.4400000,0.0000000,0.0000000,90.0000000);
  41310. CreateDynamicObject(2607,1569.0999800,-1675.7800300,-41.2200000,0.0000000,0.0000000,0.0000000);
  41311. CreateDynamicObject(2606,1566.4499500,-1673.7099600,-38.8300000,0.0000000,0.0000000,90.0000000);
  41312. CreateDynamicObject(2606,1566.4499500,-1671.7299800,-38.8300000,0.0000000,0.0000000,90.0000000);
  41313. CreateDynamicObject(19450,1553.6700400,-1678.1300000,-39.8400000,0.0000000,0.0000000,0.0000000);
  41314. CreateDynamicObject(19450,1553.6700400,-1668.5000000,-39.8400000,0.0000000,0.0000000,0.0000000);
  41315. CreateDynamicObject(19450,1553.6700400,-1687.7600100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41316. CreateDynamicObject(1536,1553.7299800,-1674.0600600,-41.6300000,0.0000000,0.0000000,90.0000000);
  41317. CreateDynamicObject(1536,1553.6899400,-1671.0400400,-41.6300000,0.0000000,0.0000000,-90.0000000);
  41318. CreateDynamicObject(1892,1554.3000500,-1673.8499800,-41.5900000,0.0000000,0.0000000,90.0000000);
  41319. CreateDynamicObject(1892,1554.3000500,-1672.2500000,-41.5900000,0.0000000,0.0000000,90.0000000);
  41320. CreateDynamicObject(19435,1565.3199500,-1672.7399900,-37.4400000,0.0000000,0.0000000,0.0000000);
  41321. CreateDynamicObject(19435,1565.3199500,-1674.3499800,-37.4400000,0.0000000,0.0000000,0.0000000);
  41322. CreateDynamicObject(19435,1565.3199500,-1675.5699500,-37.4400000,-0.0400000,0.0000000,0.0000000);
  41323. CreateDynamicObject(2816,1556.1330600,-1664.5841100,-41.0800000,0.0000000,0.0000000,0.0000000);
  41324. CreateDynamicObject(1886,1569.6700400,-1661.9899900,-37.9600000,12.0100000,0.0000000,-52.1400000);
  41325. CreateDynamicObject(1886,1579.0932600,-1692.9338400,-37.9500000,12.0000000,0.0000000,-149.0000000);
  41326. CreateDynamicObject(1886,1569.7700200,-1674.1700400,-38.0600000,13.3700000,-6.3000000,-115.6200000);
  41327. CreateDynamicObject(19379,1590.4397000,-1682.6099900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41328. CreateDynamicObject(19379,1590.4699700,-1663.3800000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41329. CreateDynamicObject(19379,1600.9799800,-1653.7500000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41330. CreateDynamicObject(19379,1600.9599600,-1663.3800000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41331. CreateDynamicObject(19379,1600.9599600,-1672.9799800,-41.6800000,0.0000000,90.0000000,0.0000000);
  41332. CreateDynamicObject(19379,1600.9799800,-1682.6099900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41333. CreateDynamicObject(19450,1575.0400400,-1683.8700000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41334. CreateDynamicObject(19358,1571.8700000,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41335. CreateDynamicObject(19358,1578.2900400,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41336. CreateDynamicObject(19450,1575.0300300,-1651.7800300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41337. CreateDynamicObject(19450,1584.5500500,-1651.7800300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41338. CreateDynamicObject(14782,1574.6099900,-1652.1899400,-40.5000000,0.0000000,0.0000000,0.0000000);
  41339. CreateDynamicObject(14782,1579.2152100,-1658.3364300,-40.5000000,0.0000000,0.0000000,-90.0000000);
  41340. CreateDynamicObject(2846,1577.6976300,-1660.8128700,-41.5900000,0.0000000,0.0000000,0.0000000);
  41341. CreateDynamicObject(2846,1570.4499500,-1653.1500200,-41.5900000,0.0000000,0.0000000,0.0000000);
  41342. CreateDynamicObject(2846,1573.3762200,-1654.0268600,-41.5900000,0.0000000,0.0000000,0.0000000);
  41343. CreateDynamicObject(2400,1570.4177200,-1657.1063200,-40.8300000,0.0000000,0.0000000,90.0000000);
  41344. CreateDynamicObject(2689,1570.8951400,-1654.8488800,-39.4900000,0.0000000,0.0000000,90.0000000);
  41345. CreateDynamicObject(2689,1570.8951400,-1657.2078900,-39.4900000,0.0000000,0.0000000,90.0000000);
  41346. CreateDynamicObject(2689,1570.8951400,-1656.0030500,-39.4900000,0.0000000,0.0000000,90.0000000);
  41347. CreateDynamicObject(2704,1570.8762200,-1655.4298100,-40.3100000,0.0000000,0.0000000,90.0000000);
  41348. CreateDynamicObject(2704,1570.8762200,-1656.6164600,-40.3100000,0.0000000,0.0000000,-90.0000000);
  41349. CreateDynamicObject(2704,1570.8762200,-1654.2407200,-40.3100000,0.0000000,0.0000000,90.0000000);
  41350. CreateDynamicObject(19141,1570.7961400,-1655.4303000,-38.7700000,0.0000000,-90.0000000,-90.0000000);
  41351. CreateDynamicObject(19141,1570.7961400,-1654.8569300,-38.7700000,0.0000000,-90.0000000,-90.0000000);
  41352. CreateDynamicObject(19141,1570.7961400,-1654.2248500,-38.7700000,0.0000000,-90.0000000,-90.0000000);
  41353. CreateDynamicObject(19141,1570.7961400,-1657.1804200,-38.7700000,0.0000000,-90.0000000,-90.0000000);
  41354. CreateDynamicObject(19141,1570.7961400,-1656.5832500,-38.7700000,0.0000000,-90.0000000,-90.0000000);
  41355. CreateDynamicObject(19141,1570.7961400,-1655.9887700,-38.7700000,0.0000000,-90.0000000,-90.0000000);
  41356. CreateDynamicObject(19142,1570.7982200,-1653.8885500,-41.3500000,0.0000000,-90.0000000,-90.0000000);
  41357. CreateDynamicObject(19142,1570.7895500,-1657.0673800,-41.3500000,0.0000000,-90.0000000,-90.0000000);
  41358. CreateDynamicObject(19142,1570.8206800,-1656.2821000,-41.3500000,0.0000000,-90.0000000,-90.0000000);
  41359. CreateDynamicObject(19142,1570.7379200,-1655.4675300,-41.3500000,0.0000000,-90.0000000,-90.0000000);
  41360. CreateDynamicObject(19142,1570.8016400,-1654.6700400,-41.3500000,0.0000000,-90.0000000,-90.0000000);
  41361. CreateDynamicObject(19141,1571.1099900,-1652.7600100,-41.4700000,0.0000000,0.0000000,-108.1500000);
  41362. CreateDynamicObject(19450,1584.6201200,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41363. CreateDynamicObject(19358,1590.8641400,-1650.3618200,-39.8400000,0.0000000,0.0000000,90.0000000);
  41364. CreateDynamicObject(19379,1590.4530000,-1672.9603300,-41.6800000,0.0000000,90.0000000,0.0000000);
  41365. CreateDynamicObject(19355,1605.4599600,-1650.0565200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41366. CreateDynamicObject(19355,1603.9599600,-1683.7099600,-39.8400000,0.0000000,0.0000000,90.0000000);
  41367. CreateDynamicObject(19447,1605.4599600,-1678.9399400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41368. CreateDynamicObject(19447,1605.4599600,-1669.3100600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41369. CreateDynamicObject(19447,1605.4599600,-1659.6800500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41370. CreateDynamicObject(19355,1605.4599600,-1653.2600100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41371. CreateDynamicObject(19447,1605.6500200,-1680.3299600,-39.8400000,0.0000000,0.0000000,90.0000000);
  41372. CreateDynamicObject(19385,1600.9641100,-1682.0200200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41373. CreateDynamicObject(19303,1600.9399400,-1681.8800000,-40.3500000,0.0000000,0.0000000,90.0000000);
  41374. CreateDynamicObject(19385,1600.9200400,-1678.6300000,-39.8400000,0.0000000,0.0000000,0.0000000);
  41375. CreateDynamicObject(19303,1600.9399400,-1678.5000000,-40.3500000,0.0000000,0.0000000,90.0000000);
  41376. CreateDynamicObject(19447,1605.6500200,-1676.9599600,-39.8400000,0.0000000,0.0000000,90.0000000);
  41377. CreateDynamicObject(19385,1600.9200400,-1675.2900400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41378. CreateDynamicObject(19303,1600.9399400,-1675.1500200,-40.3500000,0.0000000,0.0000000,90.0000000);
  41379. CreateDynamicObject(19447,1605.6500200,-1673.5999800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41380. CreateDynamicObject(19385,1600.9200400,-1671.9200400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41381. CreateDynamicObject(19447,1605.6500200,-1670.2299800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41382. CreateDynamicObject(19385,1600.9200400,-1668.5500500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41383. CreateDynamicObject(19447,1605.6500200,-1666.8599900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41384. CreateDynamicObject(19385,1600.9200400,-1665.1899400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41385. CreateDynamicObject(19447,1605.6500200,-1663.5000000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41386. CreateDynamicObject(19385,1600.9200400,-1661.8199500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41387. CreateDynamicObject(19447,1605.6500200,-1660.1300000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41388. CreateDynamicObject(19385,1600.9200400,-1658.4499500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41389. CreateDynamicObject(19447,1605.6500200,-1656.7600100,-39.8400000,0.0000000,0.0000000,90.0000000);
  41390. CreateDynamicObject(19303,1600.9399400,-1671.7800300,-40.3500000,0.0000000,0.0000000,90.0000000);
  41391. CreateDynamicObject(19303,1600.9399400,-1668.4100300,-40.3500000,0.0000000,0.0000000,90.0000000);
  41392. CreateDynamicObject(19303,1600.9399400,-1665.0500500,-40.3500000,0.0000000,0.0000000,90.0000000);
  41393. CreateDynamicObject(19303,1600.9399400,-1661.6800500,-40.3500000,0.0000000,0.0000000,90.0000000);
  41394. CreateDynamicObject(19303,1600.9399400,-1658.3100600,-40.3500000,0.0000000,0.0000000,90.0000000);
  41395. CreateDynamicObject(19303,1599.6367200,-1650.3160400,-40.3500000,0.0000000,0.0000000,0.0000000);
  41396. CreateDynamicObject(2602,1604.8100600,-1680.7900400,-40.9100000,0.0000000,0.0000000,0.0000000);
  41397. CreateDynamicObject(2602,1604.8100600,-1677.3900100,-40.9100000,0.0000000,0.0000000,0.0000000);
  41398. CreateDynamicObject(2602,1604.8100600,-1674.0799600,-40.9100000,0.0000000,0.0000000,0.0000000);
  41399. CreateDynamicObject(2602,1604.8100600,-1670.7600100,-40.9100000,0.0000000,0.0000000,0.0000000);
  41400. CreateDynamicObject(2602,1604.8100600,-1667.2800300,-40.9100000,0.0000000,0.0000000,0.0000000);
  41401. CreateDynamicObject(2602,1604.7900400,-1663.9599600,-40.9100000,0.0000000,0.0000000,0.0000000);
  41402. CreateDynamicObject(14401,1577.6868900,-1657.6147500,-41.5000000,0.0000000,0.0000000,0.0000000);
  41403. CreateDynamicObject(2602,1604.7900400,-1660.5600600,-40.9100000,0.0000000,0.0000000,0.0000000);
  41404. CreateDynamicObject(2602,1604.7900400,-1657.2500000,-40.9100000,0.0000000,0.0000000,0.0000000);
  41405. CreateDynamicObject(1800,1606.3700000,-1683.0799600,-41.5900000,0.0000000,0.0000000,90.0000000);
  41406. CreateDynamicObject(1800,1606.3700000,-1679.5999800,-41.5900000,0.0000000,0.0000000,90.0000000);
  41407. CreateDynamicObject(1800,1606.3700000,-1676.2800300,-41.5900000,0.0000000,0.0000000,90.0000000);
  41408. CreateDynamicObject(1800,1606.3700000,-1672.8800000,-41.5900000,0.0000000,0.0000000,90.0000000);
  41409. CreateDynamicObject(1800,1606.3700000,-1669.4799800,-41.5900000,0.0000000,0.0000000,90.0000000);
  41410. CreateDynamicObject(1800,1606.3700000,-1666.0799600,-41.5900000,0.0000000,0.0000000,90.0000000);
  41411. CreateDynamicObject(1800,1606.3700000,-1662.7700200,-41.5900000,0.0000000,0.0000000,90.0000000);
  41412. CreateDynamicObject(1800,1606.3700000,-1659.3700000,-41.5900000,0.0000000,0.0000000,90.0000000);
  41413. CreateDynamicObject(2165,1602.0166000,-1654.2836900,-41.5900000,0.0000000,0.0000000,90.0000000);
  41414. CreateDynamicObject(2166,1603.0120800,-1656.2144800,-41.5900000,0.0000000,0.0000000,90.0000000);
  41415. CreateDynamicObject(1671,1603.6530800,-1654.7641600,-41.1600000,0.0000000,0.0000000,-90.0000000);
  41416. CreateDynamicObject(19379,1558.9799800,-1653.7700200,-41.6800000,0.0000000,90.0000000,0.0000000);
  41417. CreateDynamicObject(19379,1600.9499500,-1682.5899700,-38.0300000,0.0000000,90.0000000,0.0000000);
  41418. CreateDynamicObject(2172,1575.4397000,-1680.3420400,-41.6000000,0.0000000,0.0000000,180.0000000);
  41419. CreateDynamicObject(2172,1576.4952400,-1674.9021000,-41.6000000,0.0000000,0.0000000,0.0000000);
  41420. CreateDynamicObject(2172,1574.5871600,-1674.9021000,-41.6000000,0.0000000,0.0000000,0.0000000);
  41421. CreateDynamicObject(2172,1583.4665500,-1670.4017300,-41.6000000,0.0000000,0.0000000,180.0000000);
  41422. CreateDynamicObject(2172,1575.8386200,-1670.4017300,-41.6000000,0.0000000,0.0000000,180.0000000);
  41423. CreateDynamicObject(2172,1577.3610800,-1680.3377700,-41.6000000,0.0000000,0.0000000,180.0000000);
  41424. CreateDynamicObject(2172,1578.4117400,-1674.9021000,-41.6000000,0.0000000,0.0000000,0.0000000);
  41425. CreateDynamicObject(2172,1581.5665300,-1670.4017300,-41.6000000,0.0000000,0.0000000,180.0000000);
  41426. CreateDynamicObject(2172,1577.7680700,-1670.4017300,-41.6000000,0.0000000,0.0000000,180.0000000);
  41427. CreateDynamicObject(2172,1579.6702900,-1670.4017300,-41.6000000,0.0000000,0.0000000,180.0000000);
  41428. CreateDynamicObject(1714,1574.9160200,-1679.1971400,-41.5900000,0.0000000,0.0000000,0.0000000);
  41429. CreateDynamicObject(1714,1578.7353500,-1675.7907700,-41.5900000,0.0000000,0.0000000,120.0000000);
  41430. CreateDynamicObject(1714,1579.3883100,-1669.5835000,-41.5900000,0.0000000,0.0000000,0.0000000);
  41431. CreateDynamicObject(1714,1580.8925800,-1667.6417200,-41.5900000,0.0000000,0.0000000,180.0000000);
  41432. CreateDynamicObject(1714,1582.9335900,-1669.3886700,-41.5900000,0.0000000,0.0000000,0.0000000);
  41433. CreateDynamicObject(1714,1585.0576200,-1669.3028600,-41.5900000,0.0000000,0.0000000,0.0000000);
  41434. CreateDynamicObject(1714,1582.9075900,-1667.5893600,-41.5900000,0.0000000,0.0000000,190.0000000);
  41435. CreateDynamicObject(1714,1581.2354700,-1669.4923100,-41.5900000,0.0000000,0.0000000,0.0000000);
  41436. CreateDynamicObject(1714,1584.7464600,-1675.3377700,-41.5900000,0.0000000,0.0000000,180.0000000);
  41437. CreateDynamicObject(1714,1581.0141600,-1679.5096400,-41.5900000,0.0000000,0.0000000,-90.0000000);
  41438. CreateDynamicObject(2611,1589.2265600,-1674.8802500,-39.5600000,0.0000000,0.0000000,-90.0000000);
  41439. CreateDynamicObject(2612,1589.2246100,-1673.3388700,-39.5600000,0.0000000,0.0000000,-90.0000000);
  41440. CreateDynamicObject(19450,1594.2900400,-1674.7099600,-36.2000000,0.0000000,0.0000000,90.0000000);
  41441. CreateDynamicObject(19450,1584.6600300,-1674.7099600,-36.2000000,0.0000000,0.0000000,90.0000000);
  41442. CreateDynamicObject(19450,1581.5200200,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41443. CreateDynamicObject(19450,1570.3399700,-1679.0500500,-36.2000000,0.0000000,0.0000000,0.0000000);
  41444. CreateDynamicObject(19450,1570.3399700,-1659.7900400,-36.2000000,0.0000000,0.0000000,0.0000000);
  41445. CreateDynamicObject(19388,1575.0999800,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41446. CreateDynamicObject(19450,1579.9499500,-1656.6899400,-36.2000000,0.0000000,0.0000000,0.0000000);
  41447. CreateDynamicObject(19450,1570.3399700,-1650.1600300,-36.2000000,0.0000000,0.0000000,0.0000000);
  41448. CreateDynamicObject(19450,1579.9499500,-1647.0500500,-36.2000000,0.0000000,0.0000000,0.0000000);
  41449. CreateDynamicObject(19388,1587.9399400,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41450. CreateDynamicObject(19358,1591.1400100,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41451. CreateDynamicObject(19450,1590.4200400,-1656.6899400,-36.2000000,0.0000000,0.0000000,0.0000000);
  41452. CreateDynamicObject(19450,1590.4200400,-1647.0500500,-36.2000000,0.0000000,0.0000000,0.0000000);
  41453. CreateDynamicObject(19358,1594.3499800,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41454. CreateDynamicObject(19388,1597.5600600,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41455. CreateDynamicObject(19358,1600.7700200,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41456. CreateDynamicObject(19450,1600.7700200,-1656.6899400,-36.2000000,0.0000000,0.0000000,0.0000000);
  41457. CreateDynamicObject(19450,1600.7700200,-1647.0500500,-36.2000000,0.0000000,0.0000000,0.0000000);
  41458. CreateDynamicObject(19450,1607.1899400,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  41459. CreateDynamicObject(19450,1575.1899400,-1650.1600300,-36.2000000,0.0000000,0.0000000,90.0000000);
  41460. CreateDynamicObject(19450,1584.6400100,-1650.1600300,-36.2000000,0.0000000,0.0000000,90.0000000);
  41461. CreateDynamicObject(19450,1594.2700200,-1650.1600300,-36.2000000,0.0000000,0.0000000,90.0000000);
  41462. CreateDynamicObject(19450,1603.9000200,-1650.1600300,-36.2000000,0.0000000,0.0000000,90.0000000);
  41463. CreateDynamicObject(19388,1600.7099600,-1674.7099600,-36.2000000,0.0000000,0.0000000,90.0000000);
  41464. CreateDynamicObject(19450,1607.1300000,-1674.7099600,-36.2000000,0.0000000,0.0000000,90.0000000);
  41465. CreateDynamicObject(19450,1571.8199500,-1674.7099600,-36.2000000,0.0000000,0.0000000,90.0000000);
  41466. CreateDynamicObject(19450,1585.1899400,-1679.5899700,-36.2000000,0.0000000,0.0000000,0.0000000);
  41467. CreateDynamicObject(19450,1575.0899700,-1687.2600100,-36.2000000,0.0000000,0.0000000,90.0000000);
  41468. CreateDynamicObject(19450,1584.7199700,-1687.2600100,-36.2000000,0.0000000,0.0000000,90.0000000);
  41469. CreateDynamicObject(2607,1578.1099900,-1684.5899700,-37.5300000,0.0000000,0.0000000,180.0000000);
  41470. CreateDynamicObject(2357,1581.9399400,-1676.9399400,-37.5300000,0.0000000,0.0000000,0.0000000);
  41471. CreateDynamicObject(2357,1581.9399400,-1679.9200400,-37.5300000,0.0000000,0.0000000,0.0000000);
  41472. CreateDynamicObject(2357,1574.0999800,-1676.9399400,-37.5300000,0.0000000,0.0000000,0.0000000);
  41473. CreateDynamicObject(2357,1574.0999800,-1679.9200400,-37.5300000,0.0000000,0.0000000,0.0000000);
  41474. CreateDynamicObject(19450,1581.5725100,-1702.6069300,-36.2000000,0.0000000,0.0000000,0.0000000);
  41475. CreateDynamicObject(19450,1585.1899400,-1689.2199700,-36.2000000,0.0000000,0.0000000,0.0000000);
  41476. CreateDynamicObject(2357,1581.9399400,-1682.7600100,-37.5300000,0.0000000,0.0000000,0.0000000);
  41477. CreateDynamicObject(2357,1574.0999800,-1682.7600100,-37.5300000,0.0000000,0.0000000,0.0000000);
  41478. CreateDynamicObject(1671,1572.7199700,-1675.2399900,-37.4700000,0.0000000,0.0000000,0.0000000);
  41479. CreateDynamicObject(2611,1579.1099900,-1687.1300000,-35.7000000,0.0000000,0.0000000,180.0000000);
  41480. CreateDynamicObject(2612,1577.4799800,-1687.1300000,-35.7000000,0.0000000,0.0000000,180.0000000);
  41481. CreateDynamicObject(14532,1580.2800300,-1685.9599600,-36.9600000,0.0000000,0.0000000,0.0000000);
  41482. CreateDynamicObject(1671,1574.2500000,-1675.2399900,-37.4700000,0.0000000,0.0000000,0.0000000);
  41483. CreateDynamicObject(1671,1575.7700200,-1675.2399900,-37.4700000,0.0000000,0.0000000,0.0000000);
  41484. CreateDynamicObject(1671,1583.5699500,-1675.2399900,-37.4700000,0.0000000,0.0000000,0.0000000);
  41485. CreateDynamicObject(1671,1582.1099900,-1675.2399900,-37.4700000,0.0000000,0.0000000,0.0000000);
  41486. CreateDynamicObject(1671,1580.4499500,-1675.2399900,-37.4700000,0.0000000,0.0000000,0.0000000);
  41487. CreateDynamicObject(1671,1572.7199700,-1678.0500500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41488. CreateDynamicObject(1671,1574.2500000,-1678.0500500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41489. CreateDynamicObject(1671,1575.7700200,-1678.0500500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41490. CreateDynamicObject(1671,1580.4499500,-1678.0500500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41491. CreateDynamicObject(1671,1582.1099900,-1678.0500500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41492. CreateDynamicObject(1671,1583.5699500,-1678.0500500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41493. CreateDynamicObject(1671,1572.7199700,-1681.0699500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41494. CreateDynamicObject(1671,1574.2500000,-1681.0699500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41495. CreateDynamicObject(1671,1575.7700200,-1681.0699500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41496. CreateDynamicObject(1671,1580.4499500,-1681.0699500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41497. CreateDynamicObject(1671,1582.1099900,-1681.0699500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41498. CreateDynamicObject(1671,1583.5699500,-1681.0699500,-37.4700000,0.0000000,0.0000000,0.0000000);
  41499. CreateDynamicObject(1714,1578.0400400,-1686.1200000,-37.9700000,0.0000000,0.0000000,180.0000000);
  41500. CreateDynamicObject(1502,1577.4499500,-1674.7299800,-37.9400000,0.0000000,0.0000000,0.0000000);
  41501. CreateDynamicObject(2357,1596.2952900,-1679.1953100,-37.5300000,0.0000000,0.0000000,0.0000000);
  41502. CreateDynamicObject(19450,1590.2399900,-1679.5899700,-36.2000000,0.0000000,0.0000000,0.0000000);
  41503. CreateDynamicObject(19450,1590.2399900,-1689.2199700,-36.2000000,0.0000000,0.0000000,0.0000000);
  41504. CreateDynamicObject(2357,1600.5562700,-1679.1953100,-37.5300000,0.0000000,0.0000000,0.0000000);
  41505. CreateDynamicObject(2357,1604.8173800,-1679.1953100,-37.5300000,0.0000000,0.0000000,0.0000000);
  41506. CreateDynamicObject(19379,1611.4599600,-1672.9799800,-38.0300000,0.0000000,90.0000000,0.0000000);
  41507. CreateDynamicObject(19379,1611.4499500,-1682.5899700,-38.0300000,0.0000000,90.0000000,0.0000000);
  41508. CreateDynamicObject(1714,1591.7092300,-1681.4812000,-37.9500000,0.0000000,0.0000000,90.0000000);
  41509. CreateDynamicObject(2357,1604.8173800,-1682.1303700,-37.5300000,0.0000000,0.0000000,0.0000000);
  41510. CreateDynamicObject(2357,1600.5562700,-1682.1303700,-37.5300000,0.0000000,0.0000000,0.0000000);
  41511. CreateDynamicObject(2357,1596.2952900,-1682.1303700,-37.5300000,0.0000000,0.0000000,0.0000000);
  41512. CreateDynamicObject(1714,1591.7092300,-1679.8092000,-37.9500000,0.0000000,0.0000000,90.0000000);
  41513. CreateDynamicObject(19379,1590.4799800,-1682.5899700,-38.0300000,0.0000000,90.0000000,0.0000000);
  41514. CreateDynamicObject(1671,1594.4643600,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41515. CreateDynamicObject(1671,1596.2552500,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41516. CreateDynamicObject(1671,1597.9704600,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41517. CreateDynamicObject(1671,1599.9068600,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41518. CreateDynamicObject(1671,1601.8564500,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41519. CreateDynamicObject(1671,1603.7121600,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41520. CreateDynamicObject(1671,1605.5618900,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41521. CreateDynamicObject(1671,1607.4831500,-1683.6960400,-37.4700000,0.0000000,0.0000000,180.0000000);
  41522. CreateDynamicObject(1671,1607.4831500,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41523. CreateDynamicObject(1671,1605.5618900,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41524. CreateDynamicObject(1671,1603.7121600,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41525. CreateDynamicObject(1671,1599.9068600,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41526. CreateDynamicObject(1671,1601.8564500,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41527. CreateDynamicObject(1671,1597.9704600,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41528. CreateDynamicObject(1671,1596.2552500,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41529. CreateDynamicObject(1671,1594.4643600,-1677.6300000,-37.4700000,0.0000000,0.0000000,0.0000000);
  41530. CreateDynamicObject(19450,1613.8767100,-1673.1792000,-36.2000000,0.0000000,0.0000000,0.0000000);
  41531. CreateDynamicObject(19379,1611.4599600,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  41532. CreateDynamicObject(19450,1613.8767100,-1682.7941900,-36.2000000,0.0000000,0.0000000,0.0000000);
  41533. CreateDynamicObject(19450,1613.8767100,-1663.6554000,-36.2000000,0.0000000,0.0000000,0.0000000);
  41534. CreateDynamicObject(19450,1594.9200400,-1687.2600100,-36.2000000,0.0000000,0.0000000,90.0000000);
  41535. CreateDynamicObject(19450,1604.5500500,-1687.2600100,-36.2000000,0.0000000,0.0000000,90.0000000);
  41536. CreateDynamicObject(14532,1591.5383300,-1686.0210000,-36.9600000,0.0000000,0.0000000,-47.0000000);
  41537. CreateDynamicObject(2007,1593.0200200,-1686.8199500,-37.9800000,0.0000000,0.0000000,180.0000000);
  41538. CreateDynamicObject(2007,1594.0200200,-1686.8199500,-37.9800000,0.0000000,0.0000000,180.0000000);
  41539. CreateDynamicObject(2007,1595.0200200,-1686.8199500,-37.9800000,0.0000000,0.0000000,180.0000000);
  41540. CreateDynamicObject(2007,1596.0200200,-1686.8199500,-37.9800000,0.0000000,0.0000000,180.0000000);
  41541. CreateDynamicObject(1502,1599.9200400,-1674.7299800,-37.9400000,0.0000000,0.0000000,0.0000000);
  41542. CreateDynamicObject(1502,1574.3100600,-1661.6200000,-37.9400000,0.0000000,0.0000000,0.0000000);
  41543. CreateDynamicObject(1502,1587.1600300,-1661.6200000,-37.9400000,0.0000000,0.0000000,0.0000000);
  41544. CreateDynamicObject(1502,1596.7700200,-1661.6200000,-37.9400000,0.0000000,0.0000000,0.0000000);
  41545. CreateDynamicObject(1714,1575.0000000,-1652.1500200,-37.9400000,0.0000000,0.0000000,0.0000000);
  41546. CreateDynamicObject(1704,1575.7199700,-1656.0100100,-37.9400000,0.0000000,0.0000000,180.0000000);
  41547. CreateDynamicObject(1704,1574.0200200,-1656.0100100,-37.9400000,0.0000000,0.0000000,180.0000000);
  41548. CreateDynamicObject(2611,1574.4300500,-1650.2900400,-35.8100000,0.0000000,0.0000000,0.0000000);
  41549. CreateDynamicObject(2612,1576.2500000,-1650.2900400,-35.8100000,0.0000000,0.0000000,0.0000000);
  41550. CreateDynamicObject(2165,1575.5600600,-1653.6300000,-37.9400000,0.0000000,0.0000000,180.0000000);
  41551. CreateDynamicObject(2166,1573.6099900,-1653.4200400,-37.9400000,0.0000000,0.0000000,90.0000000);
  41552. CreateDynamicObject(2186,1577.4899900,-1653.6600300,-37.9400000,0.0000000,0.0000000,180.0000000);
  41553. CreateDynamicObject(2007,1579.4599600,-1655.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41554. CreateDynamicObject(2007,1579.4599600,-1656.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41555. CreateDynamicObject(2007,1579.4599600,-1657.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41556. CreateDynamicObject(2007,1589.9000200,-1655.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41557. CreateDynamicObject(2007,1589.9000200,-1656.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41558. CreateDynamicObject(2007,1589.9000200,-1657.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41559. CreateDynamicObject(1704,1584.2399900,-1656.0100100,-37.9400000,0.0000000,0.0000000,180.0000000);
  41560. CreateDynamicObject(1704,1585.9399400,-1656.0100100,-37.9400000,0.0000000,0.0000000,180.0000000);
  41561. CreateDynamicObject(2186,1587.5100100,-1653.6600300,-37.9400000,0.0000000,0.0000000,180.0000000);
  41562. CreateDynamicObject(2165,1585.5799600,-1653.6300000,-37.9400000,0.0000000,0.0000000,180.0000000);
  41563. CreateDynamicObject(2166,1583.6200000,-1653.4200400,-37.9400000,0.0000000,0.0000000,90.0000000);
  41564. CreateDynamicObject(1714,1585.2199700,-1652.1500200,-37.9400000,0.0000000,0.0000000,0.0000000);
  41565. CreateDynamicObject(2612,1586.0500500,-1650.2900400,-35.8100000,0.0000000,0.0000000,0.0000000);
  41566. CreateDynamicObject(2611,1584.2299800,-1650.2900400,-35.8100000,0.0000000,0.0000000,0.0000000);
  41567. CreateDynamicObject(2612,1596.6999500,-1650.2900400,-35.8100000,0.0000000,0.0000000,0.0000000);
  41568. CreateDynamicObject(2611,1594.8800000,-1650.2900400,-35.8100000,0.0000000,0.0000000,0.0000000);
  41569. CreateDynamicObject(2186,1598.1600300,-1653.6600300,-37.9400000,0.0000000,0.0000000,180.0000000);
  41570. CreateDynamicObject(2165,1596.2299800,-1653.6300000,-37.9400000,0.0000000,0.0000000,180.0000000);
  41571. CreateDynamicObject(2166,1594.2700200,-1653.4200400,-37.9400000,0.0000000,0.0000000,90.0000000);
  41572. CreateDynamicObject(1714,1595.6600300,-1652.1500200,-37.9400000,0.0000000,0.0000000,0.0000000);
  41573. CreateDynamicObject(1704,1596.5899700,-1656.0100100,-37.9400000,0.0000000,0.0000000,180.0000000);
  41574. CreateDynamicObject(1704,1594.8900100,-1656.0100100,-37.9400000,0.0000000,0.0000000,180.0000000);
  41575. CreateDynamicObject(2007,1600.3399700,-1655.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41576. CreateDynamicObject(2007,1600.3399700,-1656.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41577. CreateDynamicObject(2007,1600.3399700,-1657.8499800,-37.9800000,0.0000000,0.0000000,-90.0000000);
  41578. CreateDynamicObject(19450,1579.6622300,-1688.7652600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41579. CreateDynamicObject(19379,1579.9627700,-1701.8698700,-41.6800000,0.0000000,90.0000000,0.0000000);
  41580. CreateDynamicObject(19450,1582.2800300,-1695.2257100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41581. CreateDynamicObject(19450,1579.6622300,-1698.3922100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41582. CreateDynamicObject(19379,1579.9799800,-1711.5100100,-41.6800000,0.0000000,90.0000000,0.0000000);
  41583. CreateDynamicObject(19388,1579.6622300,-1704.8100600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41584. CreateDynamicObject(19450,1582.2800300,-1704.7868700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41585. CreateDynamicObject(19388,1582.2800300,-1714.3999000,-39.8400000,0.0000000,0.0000000,0.0000000);
  41586. CreateDynamicObject(19358,1579.6622300,-1708.0200200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41587. CreateDynamicObject(19388,1579.6622300,-1711.2299800,-39.8400000,0.0000000,0.0000000,0.0000000);
  41588. CreateDynamicObject(19358,1579.6622300,-1714.4399400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41589. CreateDynamicObject(19379,1569.4799800,-1701.8599900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41590. CreateDynamicObject(19379,1569.4799800,-1711.4899900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41591. CreateDynamicObject(19379,1590.4599600,-1701.8595000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41592. CreateDynamicObject(19379,1590.4599600,-1711.5100100,-41.6800000,0.0000000,90.0000000,0.0000000);
  41593. CreateDynamicObject(19450,1574.8178700,-1703.2415800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41594. CreateDynamicObject(19450,1571.1503900,-1715.9499500,-39.8400000,0.0000000,0.0000000,90.0000000);
  41595. CreateDynamicObject(19450,1585.5000000,-1715.9499500,-39.8400000,0.0000000,0.0000000,90.0000000);
  41596. CreateDynamicObject(19450,1590.3800000,-1711.2199700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41597. CreateDynamicObject(19450,1590.3800000,-1701.5899700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41598. CreateDynamicObject(19450,1590.3800000,-1691.9599600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41599. CreateDynamicObject(19450,1587.0491900,-1687.2471900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41600. CreateDynamicObject(2297,1585.7099600,-1687.6400100,-41.5900000,0.0000000,0.0000000,-44.0000000);
  41601. CreateDynamicObject(2229,1588.0899700,-1687.3599900,-41.6000000,0.0000000,0.0000000,0.0000000);
  41602. CreateDynamicObject(2229,1588.6200000,-1687.3599900,-41.6000000,0.0000000,0.0000000,0.0000000);
  41603. CreateDynamicObject(2229,1585.3599900,-1687.3599900,-41.6000000,0.0000000,0.0000000,0.0000000);
  41604. CreateDynamicObject(2229,1584.8100600,-1687.3599900,-41.6000000,0.0000000,0.0000000,0.0000000);
  41605. CreateDynamicObject(1703,1587.2900400,-1694.2500000,-41.5900000,0.0000000,0.0000000,180.0000000);
  41606. CreateDynamicObject(1703,1583.7500000,-1692.5999800,-41.5900000,0.0000000,0.0000000,90.0000000);
  41607. CreateDynamicObject(1703,1588.8900100,-1690.5400400,-41.5900000,0.0000000,0.0000000,-90.0000000);
  41608. CreateDynamicObject(2111,1586.3900100,-1691.7099600,-41.2200000,0.0000000,0.0000000,0.0000000);
  41609. CreateDynamicObject(2816,1586.3499800,-1691.7099600,-40.8100000,0.0000000,0.0000000,0.0000000);
  41610. CreateDynamicObject(1742,1582.2299800,-1697.5699500,-41.6000000,0.0000000,0.0000000,90.0000000);
  41611. CreateDynamicObject(2014,1589.8900100,-1715.3900100,-41.7600000,0.0000000,0.0000000,-90.0000000);
  41612. CreateDynamicObject(2017,1589.8900100,-1714.3900100,-41.7600000,0.0000000,0.0000000,-90.0000000);
  41613. CreateDynamicObject(2014,1589.8900100,-1713.3900100,-41.7600000,0.0000000,0.0000000,-90.0000000);
  41614. CreateDynamicObject(2013,1589.8900100,-1711.4000200,-41.7600000,0.0000000,0.0000000,-90.0000000);
  41615. CreateDynamicObject(2016,1589.8900100,-1710.4000200,-41.7600000,0.0000000,0.0000000,-90.0000000);
  41616. CreateDynamicObject(2147,1589.7900400,-1708.3499800,-41.5900000,0.0000000,0.0000000,-90.0000000);
  41617. CreateDynamicObject(2631,1586.7800300,-1703.4699700,-41.6000000,0.0000000,0.0000000,0.0000000);
  41618. CreateDynamicObject(2628,1587.7700200,-1703.6999500,-41.5500000,0.0000000,0.0000000,90.0000000);
  41619. CreateDynamicObject(2628,1585.8399700,-1703.6999500,-41.5500000,0.0000000,0.0000000,-90.0000000);
  41620. CreateDynamicObject(2630,1585.9599600,-1700.7099600,-41.5900000,0.0000000,0.0000000,180.0000000);
  41621. CreateDynamicObject(2627,1587.3599900,-1700.7900400,-41.5900000,0.0000000,0.0000000,0.0000000);
  41622. CreateDynamicObject(2627,1588.8499800,-1700.7900400,-41.5900000,0.0000000,0.0000000,0.0000000);
  41623. CreateDynamicObject(2637,1584.3800000,-1709.4499500,-41.1600000,0.0000000,0.0000000,90.0000000);
  41624. CreateDynamicObject(1671,1582.8299600,-1709.3700000,-41.1600000,0.0000000,0.0000000,90.0000000);
  41625. CreateDynamicObject(1671,1584.3399700,-1707.4300500,-41.1600000,0.0000000,0.0000000,0.0000000);
  41626. CreateDynamicObject(1671,1585.8100600,-1709.3700000,-41.1600000,0.0000000,0.0000000,-90.0000000);
  41627. CreateDynamicObject(1671,1584.3399700,-1711.5500500,-41.1600000,0.0000000,0.0000000,180.0000000);
  41628. CreateDynamicObject(1502,1579.6622300,-1705.5600600,-41.5900000,0.0000000,0.0000000,90.0000000);
  41629. CreateDynamicObject(1502,1579.6622300,-1711.9799800,-41.5900000,0.0000000,0.0000000,90.0000000);
  41630. CreateDynamicObject(1502,1582.2900400,-1715.1699200,-41.5900000,0.0000000,0.0000000,90.0000000);
  41631. CreateDynamicObject(19450,1574.8061500,-1693.5892300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41632. CreateDynamicObject(19379,1590.4799800,-1711.5100100,-38.0300000,0.0000000,90.0000000,0.0000000);
  41633. CreateDynamicObject(19379,1579.9954800,-1711.5100100,-38.0300000,0.0000000,90.0000000,0.0000000);
  41634. CreateDynamicObject(19450,1570.2800300,-1666.2235100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41635. CreateDynamicObject(19450,1559.8435100,-1686.5419900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41636. CreateDynamicObject(18070,1567.8862300,-1672.5781300,-41.0921000,0.0000000,0.0000000,-90.0000000);
  41637. CreateDynamicObject(19450,1570.2800300,-1679.0699500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41638. CreateDynamicObject(19450,1569.4720500,-1686.5419900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41639. CreateDynamicObject(19388,1570.2800300,-1672.6422100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41640. CreateDynamicObject(19450,1552.5732400,-1661.5991200,-39.8400000,0.0000000,0.0000000,90.0000000);
  41641. CreateDynamicObject(19358,1568.5899700,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41642. CreateDynamicObject(19358,1565.3640100,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41643. CreateDynamicObject(19358,1562.1899400,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41644. CreateDynamicObject(19388,1558.9771700,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41645. CreateDynamicObject(19450,1553.6656500,-1649.2708700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41646. CreateDynamicObject(19358,1553.6700400,-1662.1041300,-39.8400000,0.0000000,0.0000000,0.0000000);
  41647. CreateDynamicObject(19358,1553.6700400,-1658.9041700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41648. CreateDynamicObject(19388,1553.6700400,-1655.6949500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41649. CreateDynamicObject(19379,1548.4848600,-1663.3800000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41650. CreateDynamicObject(19379,1548.4848600,-1653.7700200,-41.6800000,0.0000000,90.0000000,0.0000000);
  41651. CreateDynamicObject(19379,1548.4821800,-1644.1501500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41652. CreateDynamicObject(19379,15.6449000,-1644.1500200,-41.6800000,0.0000000,90.0000000,0.0000000);
  41653. CreateDynamicObject(19379,1558.9799800,-1644.1301300,-41.6800000,0.0000000,90.0000000,0.0000000);
  41654. CreateDynamicObject(19379,1569.4799800,-1644.1301300,-41.6800000,0.0000000,90.0000000,0.0000000);
  41655. CreateDynamicObject(19379,1579.9799800,-1644.1302500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41656. CreateDynamicObject(19379,1590.4799800,-1644.1302500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41657. CreateDynamicObject(19379,1600.9809600,-1644.1102300,-41.6800000,0.0000000,90.0000000,0.0000000);
  41658. CreateDynamicObject(1495,1556.8391100,-1661.6097400,-41.5900000,0.0000000,0.0000000,0.0000000);
  41659. CreateDynamicObject(19379,1580.0260000,-1682.6200000,-38.0300000,0.0000000,90.0000000,0.0000000);
  41660. CreateDynamicObject(19450,1564.2701400,-1701.7257100,-36.2000000,0.0000000,0.0000000,0.0000000);
  41661. CreateDynamicObject(19450,-1656.6899400,-39.8400000,-39.8400000,0.0000000,0.0000000,0.0000000);
  41662. CreateDynamicObject(19358,1579.6398900,-1656.7022700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41663. CreateDynamicObject(19358,1579.6398900,-1659.8957500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41664. CreateDynamicObject(19358,1575.0767800,-1661.5899700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41665. CreateDynamicObject(19388,1570.3000500,-1659.8891600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41666. CreateDynamicObject(19358,1570.3000500,-1656.6794400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41667. CreateDynamicObject(19358,1570.3000500,-1653.4774200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41668. CreateDynamicObject(19450,1543.1572300,-1656.7255900,-39.8400000,0.0000000,0.0000000,0.0000000);
  41669. CreateDynamicObject(19450,1542.9696000,-1661.6015600,-39.8400000,0.0000000,0.0000000,90.0000000);
  41670. CreateDynamicObject(19450,1543.1572300,-1647.0914300,-39.8400000,0.0000000,0.0000000,0.0000000);
  41671. CreateDynamicObject(19450,1543.1572300,-1637.4809600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41672. CreateDynamicObject(19450,1553.6700400,-1639.6809100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41673. CreateDynamicObject(19450,1539.1638200,-1639.2740500,-39.8400000,0.0000000,0.0000000,90.0000000);
  41674. CreateDynamicObject(19450,1589.3491200,-1655.2552500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41675. CreateDynamicObject(2400,1579.7554900,-1659.0372300,-41.1700000,0.0000000,0.0000000,90.0000000);
  41676. CreateDynamicObject(2400,1585.4649700,-1661.4632600,-41.1700000,0.0000000,0.0000000,180.0000000);
  41677. CreateDynamicObject(2985,1580.2564700,-1660.9952400,-41.5930000,0.0000000,0.0000000,0.0000000);
  41678. CreateDynamicObject(2985,1581.4713100,-1661.0399200,-41.5930000,0.0000000,0.0000000,0.0000000);
  41679. CreateDynamicObject(18885,1580.2839400,-1655.1882300,-40.4936000,0.0000000,0.0000000,90.0000000);
  41680. CreateDynamicObject(19388,1579.6398900,-1653.4902300,-39.8400000,0.0000000,0.0000000,0.0000000);
  41681. CreateDynamicObject(2886,1579.5416300,-1654.5808100,-40.0498000,0.0000000,0.0000000,-90.0000000);
  41682. CreateDynamicObject(356,1585.3444800,-1661.2569600,-41.3304000,25.0000000,-90.0000000,0.0000000);
  41683. CreateDynamicObject(372,1583.0549300,-1661.4670400,-40.2369000,0.0000000,0.0000000,0.0000000);
  41684. CreateDynamicObject(360,1579.8780500,-1656.3698700,-40.3062000,0.0000000,0.0000000,90.0000000);
  41685. CreateDynamicObject(353,1584.2557400,-1661.4348100,-40.2862000,0.0000000,0.0000000,0.0000000);
  41686. CreateDynamicObject(356,1583.6744400,-1661.1533200,-41.3304000,25.0000000,-90.0000000,0.0000000);
  41687. CreateDynamicObject(356,1583.3446000,-1661.1599100,-41.3304000,25.0000000,-90.0000000,0.0000000);
  41688. CreateDynamicObject(356,1583.0235600,-1661.1274400,-41.3304000,25.0000000,-90.0000000,0.0000000);
  41689. CreateDynamicObject(353,1584.2557400,-1661.1948200,-40.2862000,0.0000000,0.0000000,0.0000000);
  41690. CreateDynamicObject(353,1584.2557400,-1660.9748500,-40.2862000,0.0000000,0.0000000,0.0000000);
  41691. CreateDynamicObject(353,1584.2557400,-1660.7547600,-40.2862000,0.0000000,0.0000000,0.0000000);
  41692. CreateDynamicObject(372,1583.0549300,-1661.2869900,-40.2369000,0.0000000,0.0000000,0.0000000);
  41693. CreateDynamicObject(372,1583.0549300,-1661.1070600,-40.2369000,0.0000000,0.0000000,0.0000000);
  41694. CreateDynamicObject(372,1583.0549300,-1660.9470200,-40.2369000,0.0000000,0.0000000,0.0000000);
  41695. CreateDynamicObject(360,1580.2181400,-1656.3698700,-40.3062000,0.0000000,0.0000000,90.0000000);
  41696. CreateDynamicObject(360,1580.2580600,-1658.3299600,-40.3062000,0.0000000,0.0000000,90.0000000);
  41697. CreateDynamicObject(360,1579.9581300,-1658.3299600,-40.3062000,0.0000000,0.0000000,90.0000000);
  41698. CreateDynamicObject(358,1585.2015400,-1661.2827100,-39.2319000,69.0000000,-4.0000000,11.0000000);
  41699. CreateDynamicObject(358,1583.9075900,-1661.3398400,-39.2319000,69.0000000,-4.0000000,11.0000000);
  41700. CreateDynamicObject(358,1582.6627200,-1661.2434100,-39.2319000,69.0000000,-4.0000000,11.0000000);
  41701. CreateDynamicObject(358,1580.1762700,-1658.4565400,-39.2319000,85.0000000,-98.0000000,11.0000000);
  41702. CreateDynamicObject(358,1579.9294400,-1657.3389900,-39.2319000,85.0000000,-98.0000000,11.0000000);
  41703. CreateDynamicObject(358,1579.9233400,-1656.2691700,-39.2319000,85.0000000,-98.0000000,11.0000000);
  41704. CreateDynamicObject(1722,1570.1010700,-1663.3852500,-41.5967000,0.0000000,0.0000000,90.0000000);
  41705. CreateDynamicObject(950,1569.9710700,-1662.3358200,-41.0378000,0.0000000,0.0000000,90.0000000);
  41706. CreateDynamicObject(1722,1570.1010700,-1664.0452900,-41.5967000,0.0000000,0.0000000,90.0000000);
  41707. CreateDynamicObject(1722,1570.1010700,-1664.7053200,-41.5967000,0.0000000,0.0000000,90.0000000);
  41708. CreateDynamicObject(1722,1570.1010700,-1665.3653600,-41.5967000,0.0000000,0.0000000,90.0000000);
  41709. CreateDynamicObject(1722,1570.1010700,-1666.0252700,-41.5967000,0.0000000,0.0000000,90.0000000);
  41710. CreateDynamicObject(1722,1570.1010700,-1666.6853000,-41.5967000,0.0000000,0.0000000,90.0000000);
  41711. CreateDynamicObject(1722,1570.1010700,-1667.3653600,-41.5967000,0.0000000,0.0000000,90.0000000);
  41712. CreateDynamicObject(950,1569.9710700,-1668.2480500,-41.0378000,0.0000000,0.0000000,90.0000000);
  41713. CreateDynamicObject(3963,1562.9477500,-1661.6988500,-39.5412000,0.0000000,0.0000000,180.0000000);
  41714. CreateDynamicObject(3962,1570.1348900,-1665.3575400,-39.5480000,0.0000000,0.0000000,0.0000000);
  41715. CreateDynamicObject(3964,1553.7716100,-1664.5623800,-39.4205000,0.0000000,0.0000000,0.0000000);
  41716. CreateDynamicObject(1706,1554.3294700,-1664.9644800,-41.5958000,0.0000000,0.0000000,90.0000000);
  41717. CreateDynamicObject(1822,1555.6656500,-1665.0461400,-41.5954000,0.0000000,0.0000000,0.0000000);
  41718. CreateDynamicObject(2295,1556.1540500,-1662.7387700,-41.5755000,0.0000000,0.0000000,0.0000000);
  41719. CreateDynamicObject(2295,1556.1540500,-1666.3819600,-41.5755000,0.0000000,0.0000000,180.0000000);
  41720. CreateDynamicObject(19379,1559.0000000,-1663.3800000,-41.6800000,0.0000000,90.0000000,0.0000000);
  41721. CreateDynamicObject(2241,1554.4553200,-1662.3375200,-41.0737000,0.0000000,0.0000000,0.0000000);
  41722. CreateDynamicObject(1706,1562.4766800,-1662.1578400,-41.5958000,0.0000000,0.0000000,0.0000000);
  41723. CreateDynamicObject(2126,1564.8059100,-1662.6469700,-41.5944000,0.0000000,0.0000000,0.0000000);
  41724. CreateDynamicObject(1706,1567.1251200,-1662.1578400,-41.5958000,0.0000000,0.0000000,0.0000000);
  41725. CreateDynamicObject(2816,1565.3475300,-1662.1662600,-41.0800000,0.0000000,0.0000000,0.0000000);
  41726. CreateDynamicObject(1706,1551.1101100,-1660.9486100,-41.5958000,0.0000000,0.0000000,180.0000000);
  41727. CreateDynamicObject(2816,1548.1578400,-1661.1754200,-41.0800000,0.0000000,0.0000000,0.0000000);
  41728. CreateDynamicObject(2126,1547.7270500,-1661.4488500,-41.5944000,0.0000000,0.0000000,0.0000000);
  41729. CreateDynamicObject(1706,1546.5196500,-1660.9486100,-41.5958000,0.0000000,0.0000000,180.0000000);
  41730. CreateDynamicObject(14598,1513.0571300,-1654.0571300,-53.1771200,180.0000000,0.0000000,90.0000000);
  41731. CreateDynamicObject(19450,1540.2359600,-1653.8831800,-42.1200000,180.0000000,0.0000000,90.0000000);
  41732. CreateDynamicObject(2162,1552.2226600,-1653.7840600,-41.5963000,0.0000000,0.0000000,180.0000000);
  41733. CreateDynamicObject(2162,1550.4414100,-1653.7840600,-41.5963000,0.0000000,0.0000000,180.0000000);
  41734. CreateDynamicObject(19358,1548.9438500,-1653.8831800,-42.1200000,180.0000000,0.0000000,90.0000000);
  41735. CreateDynamicObject(19358,1552.1450200,-1653.8831800,-42.1200000,180.0000000,0.0000000,90.0000000);
  41736. CreateDynamicObject(19450,1548.7827100,-1653.8831800,-36.6200000,0.0000000,0.0000000,90.0000000);
  41737. CreateDynamicObject(19358,1542.4307900,-1653.8831800,-36.6200000,0.0000000,0.0000000,90.0000000);
  41738. CreateDynamicObject(9131,1545.0505400,-1653.8831800,-40.4784000,0.0000000,0.0000000,0.0000000);
  41739. CreateDynamicObject(9131,1547.3116500,-1653.8831800,-40.4784000,0.0000000,0.0000000,0.0000000);
  41740. CreateDynamicObject(9131,1547.3116500,-1653.8831800,-38.2184000,0.0000000,0.0000000,0.0000000);
  41741. CreateDynamicObject(9131,1545.0505400,-1653.8831800,-38.2184000,0.0000000,0.0000000,0.0000000);
  41742. CreateDynamicObject(9131,1546.1804200,-1653.9032000,-38.7096000,0.0000000,90.0000000,0.0000000);
  41743. CreateDynamicObject(1569,1545.4356700,-1653.8831800,-41.5962000,0.0000000,0.0000000,90.0000000);
  41744. CreateDynamicObject(19450,1568.1345200,-1643.9495800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41745. CreateDynamicObject(19450,1577.7301000,-1643.9495800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41746. CreateDynamicObject(19447,1603.9180900,-1683.8700000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41747. CreateDynamicObject(19447,1604.7995600,-1650.3618200,-39.8400000,0.0000000,0.0000000,90.0000000);
  41748. CreateDynamicObject(19385,1598.3737800,-1650.3618200,-39.8400000,0.0000000,0.0000000,90.0000000);
  41749. CreateDynamicObject(19388,1594.0596900,-1650.3618200,-39.8400000,0.0000000,0.0000000,90.0000000);
  41750. CreateDynamicObject(19450,1595.7109400,-1655.0825200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41751. CreateDynamicObject(19450,1595.7081300,-1664.5578600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41752. CreateDynamicObject(19447,1595.8795200,-1655.0810500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41753. CreateDynamicObject(19447,1595.8795200,-1664.7010500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41754. CreateDynamicObject(19447,1595.8795200,-1674.3210400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41755. CreateDynamicObject(19447,1595.8795200,-1683.9610600,-39.8400000,0.0000000,0.0000000,0.0000000);
  41756. CreateDynamicObject(19355,1600.7128900,-1683.7099600,-39.8400000,0.0000000,0.0000000,90.0000000);
  41757. CreateDynamicObject(19355,1597.4929200,-1683.7099600,-39.8400000,0.0000000,0.0000000,90.0000000);
  41758. CreateDynamicObject(19450,1595.7081300,-1674.1810300,-39.8400000,0.0000000,0.0000000,0.0000000);
  41759. CreateDynamicObject(19358,1595.7081300,-1680.6065700,-39.8400000,0.0000000,0.0000000,0.0000000);
  41760. CreateDynamicObject(19358,1595.7081300,-1683.8297100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41761. CreateDynamicObject(19450,1589.3491200,-1664.8951400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41762. CreateDynamicObject(19379,1579.9799800,-1692.2399900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41763. CreateDynamicObject(19379,1590.4599600,-1692.2399900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41764. CreateDynamicObject(19379,1569.4799800,-1692.2399900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41765. CreateDynamicObject(19388,1570.3399700,-1666.2022700,-36.2000000,0.0000000,0.0000000,0.0000000);
  41766. CreateDynamicObject(19388,1589.3491200,-1671.3164100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41767. CreateDynamicObject(19450,1589.3491200,-1677.7351100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41768. CreateDynamicObject(19358,1581.4517800,-1683.8700000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41769. CreateDynamicObject(19358,1584.5896000,-1683.8700000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41770. CreateDynamicObject(19358,1587.7879600,-1683.8700000,-39.8400000,0.0000000,0.0000000,90.0000000);
  41771. CreateDynamicObject(19358,1589.3491200,-1682.9412800,-39.8400000,0.0000000,0.0000000,0.0000000);
  41772. CreateDynamicObject(19358,1593.4453100,-1687.2471900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41773. CreateDynamicObject(19358,1596.6391600,-1687.2471900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41774. CreateDynamicObject(19358,1595.7081300,-1687.0378400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41775. CreateDynamicObject(19428,1596.6230500,-1650.3618200,-39.8400000,0.0000000,0.0000000,90.0000000);
  41776. CreateDynamicObject(19388,1593.7700200,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41777. CreateDynamicObject(19358,1596.9660600,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41778. CreateDynamicObject(19358,1600.1640600,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41779. CreateDynamicObject(19388,1603.3668200,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41780. CreateDynamicObject(19379,1600.9809600,-1634.5102500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41781. CreateDynamicObject(19379,1590.4799800,-1634.5102500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41782. CreateDynamicObject(19379,1579.9799800,-1634.5102500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41783. CreateDynamicObject(19379,1569.4799800,-1634.5102500,-41.6800000,0.0000000,90.0000000,0.0000000);
  41784. CreateDynamicObject(19379,1558.9799800,-1634.4902300,-41.6800000,0.0000000,90.0000000,0.0000000);
  41785. CreateDynamicObject(19450,1605.0544400,-1645.4030800,-39.8400000,0.0000000,0.0000000,0.0000000);
  41786. CreateDynamicObject(19450,1605.0544400,-1635.7799100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41787. CreateDynamicObject(19358,1597.4842500,-1642.2876000,-39.8400000,0.0000000,0.0000000,0.0000000);
  41788. CreateDynamicObject(19404,1597.4842500,-1639.0821500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41789. CreateDynamicObject(1502,1592.9971900,-1643.9477500,-41.5964000,0.0000000,0.0000000,0.0000000);
  41790. CreateDynamicObject(1502,1602.5726300,-1643.9477500,-41.5964000,0.0000000,0.0000000,0.0000000);
  41791. CreateDynamicObject(2607,1597.0092800,-1638.9470200,-41.1920000,0.0000000,0.0000000,90.0000000);
  41792. CreateDynamicObject(2008,1596.9342000,-1640.3778100,-41.5920000,0.0000000,0.0000000,-90.0000000);
  41793. CreateDynamicObject(1714,1595.5362500,-1639.1613800,-41.5942000,0.0000000,0.0000000,100.0000000);
  41794. CreateDynamicObject(1651,1597.5550500,-1639.1400100,-40.0270000,0.0000000,0.0000000,0.0000000);
  41795. CreateDynamicObject(1714,1595.7283900,-1641.2448700,-41.5942000,0.0000000,0.0000000,90.0000000);
  41796. CreateDynamicObject(19358,1597.4842500,-1635.8845200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41797. CreateDynamicObject(2008,1596.8905000,-1636.4440900,-41.5920000,0.0000000,0.0000000,-90.0000000);
  41798. CreateDynamicObject(19450,1600.1422100,-1634.1890900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41799. CreateDynamicObject(19450,1590.5222200,-1634.1890900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41800. CreateDynamicObject(19450,1590.4200400,-1639.0378400,-39.8400000,0.0000000,0.0000000,0.0000000);
  41801. CreateDynamicObject(1886,1597.8514400,-1634.5485800,-38.1089000,10.0000000,0.0000000,45.0000000);
  41802. CreateDynamicObject(2180,1600.8579100,-1638.9397000,-41.5957000,0.0000000,0.0000000,0.0000000);
  41803. CreateDynamicObject(2007,1591.0841100,-1642.4617900,-41.5861000,0.0000000,0.0000000,90.0000000);
  41804. CreateDynamicObject(2007,1591.0841100,-1641.4838900,-41.5861000,0.0000000,0.0000000,90.0000000);
  41805. CreateDynamicObject(2007,1591.0841100,-1639.5191700,-41.5861000,0.0000000,0.0000000,90.0000000);
  41806. CreateDynamicObject(2949,1579.6320800,-1652.7838100,-41.6121000,0.0000000,0.0000000,90.0000000);
  41807. CreateDynamicObject(1502,1570.3147000,-1660.6395300,-41.6021000,0.0000000,0.0000000,90.0000000);
  41808. CreateDynamicObject(1714,1601.2833300,-1637.6451400,-41.5942000,0.0000000,0.0000000,0.0000000);
  41809. CreateDynamicObject(1714,1601.2364500,-1640.3859900,-41.5942000,0.0000000,0.0000000,160.0000000);
  41810. CreateDynamicObject(2007,1591.0841100,-1640.5039100,-41.5861000,0.0000000,0.0000000,90.0000000);
  41811. CreateDynamicObject(2007,1591.0841100,-1638.5391800,-41.5861000,0.0000000,0.0000000,90.0000000);
  41812. CreateDynamicObject(2007,1591.0841100,-1637.5592000,-41.5861000,0.0000000,0.0000000,90.0000000);
  41813. CreateDynamicObject(2007,1591.0841100,-1636.5592000,-41.5861000,0.0000000,0.0000000,90.0000000);
  41814. CreateDynamicObject(2007,1591.0841100,-1635.5792200,-41.5861000,0.0000000,0.0000000,90.0000000);
  41815. CreateDynamicObject(2608,1592.2542700,-1634.5041500,-40.9552000,0.0000000,0.0000000,0.0000000);
  41816. CreateDynamicObject(2608,1594.1342800,-1634.5041500,-40.9552000,0.0000000,0.0000000,0.0000000);
  41817. CreateDynamicObject(2608,1596.0142800,-1634.5041500,-40.9552000,0.0000000,0.0000000,0.0000000);
  41818. CreateDynamicObject(1714,1595.6335400,-1636.8757300,-41.5942000,0.0000000,0.0000000,60.0000000);
  41819. CreateDynamicObject(2001,1590.9433600,-1634.5881300,-41.5943900,0.0000000,0.0000000,0.0000000);
  41820. CreateDynamicObject(2001,1590.9019800,-1643.5111100,-41.5943900,0.0000000,0.0000000,0.0000000);
  41821. CreateDynamicObject(2001,1597.0551800,-1643.4782700,-41.5944000,0.0000000,0.0000000,90.0000000);
  41822. CreateDynamicObject(19450,1580.8822000,-1634.1890900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41823. CreateDynamicObject(19450,1571.2622100,-1634.1890900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41824. CreateDynamicObject(19450,1561.6422100,-1634.1890900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41825. CreateDynamicObject(19450,1553.6700400,-1630.0609100,-39.8400000,0.0000000,0.0000000,0.0000000);
  41826. CreateDynamicObject(19388,1558.5772700,-1643.9495800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41827. CreateDynamicObject(19358,1561.7392600,-1643.9495800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41828. CreateDynamicObject(19358,1555.3783000,-1643.9495800,-39.8400000,0.0000000,0.0000000,90.0000000);
  41829. CreateDynamicObject(19358,1590.5618900,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41830. CreateDynamicObject(19388,1587.3520500,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41831. CreateDynamicObject(19358,1584.1474600,-1643.9404300,-39.8400000,0.0000000,0.0000000,90.0000000);
  41832. CreateDynamicObject(19450,1573.1651600,-1639.0699500,-39.8400000,0.0000000,0.0000000,0.0000000);
  41833. CreateDynamicObject(1502,1586.5570100,-1643.9593500,-41.5964000,0.0000000,0.0000000,0.0000000);
  41834. CreateDynamicObject(1502,1557.7872300,-1643.9560500,-41.5964000,0.0000000,0.0000000,0.0000000);
  41835. CreateDynamicObject(3077,1574.4757100,-1636.2789300,-41.5967000,0.0000000,0.0000000,70.0000000);
  41836. CreateDynamicObject(3077,1571.9091800,-1636.1554000,-41.5967000,0.0000000,0.0000000,-70.0000000);
  41837. CreateDynamicObject(2095,1576.4265100,-1639.1568600,-41.5977000,0.0000000,0.0000000,-90.0000000);
  41838. CreateDynamicObject(2095,1569.8844000,-1639.1568600,-41.5977000,0.0000000,0.0000000,90.0000000);
  41839. CreateDynamicObject(1502,1553.6917700,-1656.4458000,-41.5964000,0.0000000,0.0000000,90.0000000);
  41840. CreateDynamicObject(2185,1580.5141600,-1640.7164300,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41841. CreateDynamicObject(2185,1580.5047600,-1637.5087900,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41842. CreateDynamicObject(2185,1580.5047600,-1634.5120800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41843. CreateDynamicObject(2185,1582.8142100,-1640.7238800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41844. CreateDynamicObject(2185,1582.8142100,-1637.5087900,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41845. CreateDynamicObject(2185,1582.8142100,-1634.5120800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41846. CreateDynamicObject(2185,1585.1142600,-1640.7426800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41847. CreateDynamicObject(2185,1587.4141800,-1640.7426800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41848. CreateDynamicObject(2185,1585.1142600,-1637.5087900,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41849. CreateDynamicObject(2185,1585.1142600,-1634.5120800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41850. CreateDynamicObject(2185,1587.4141800,-1637.5087900,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41851. CreateDynamicObject(2185,1587.4141800,-1634.5120800,-41.6021000,0.0000000,0.0000000,-90.0000000);
  41852. CreateDynamicObject(2309,1582.1361100,-1641.5402800,-41.5793000,0.0000000,0.0000000,90.0000000);
  41853. CreateDynamicObject(2309,1582.0476100,-1638.3690200,-41.5793000,0.0000000,0.0000000,90.0000000);
  41854. CreateDynamicObject(2309,1582.0618900,-1635.2548800,-41.5793000,0.0000000,0.0000000,90.0000000);
  41855. CreateDynamicObject(2309,1584.4674100,-1641.5656700,-41.5793000,0.0000000,0.0000000,90.0000000);
  41856. CreateDynamicObject(2309,1588.9790000,-1641.6145000,-41.5793000,0.0000000,0.0000000,90.0000000);
  41857. CreateDynamicObject(2309,1584.4674100,-1638.3690200,-41.5793000,0.0000000,0.0000000,90.0000000);
  41858. CreateDynamicObject(2309,1584.4674100,-1635.2548800,-41.5793000,0.0000000,0.0000000,90.0000000);
  41859. CreateDynamicObject(2309,1586.7965100,-1641.5472400,-41.5793000,0.0000000,0.0000000,90.0000000);
  41860. CreateDynamicObject(2309,1586.7965100,-1638.3690200,-41.5793000,0.0000000,0.0000000,90.0000000);
  41861. CreateDynamicObject(2309,1586.7965100,-1635.2548800,-41.5793000,0.0000000,0.0000000,90.0000000);
  41862. CreateDynamicObject(2309,1588.9790000,-1638.3690200,-41.5793000,0.0000000,0.0000000,90.0000000);
  41863. CreateDynamicObject(2309,1588.9790000,-1635.2548800,-41.5793000,0.0000000,0.0000000,90.0000000);
  41864. CreateDynamicObject(1746,1573.8603500,-1642.4333500,-41.5975000,0.0000000,0.0000000,0.0000000);
  41865. CreateDynamicObject(1746,1573.8606000,-1641.5075700,-41.5975000,0.0000000,0.0000000,0.0000000);
  41866. CreateDynamicObject(1746,1573.8588900,-1640.5617700,-41.5975000,0.0000000,0.0000000,0.0000000);
  41867. CreateDynamicObject(1746,1573.8570600,-1639.6158400,-41.5975000,0.0000000,0.0000000,0.0000000);
  41868. CreateDynamicObject(14401,1568.4818100,-1629.1151100,-41.5000000,0.0000000,0.0000000,180.0000000);
  41869. CreateDynamicObject(1746,1572.4808300,-1642.4923100,-41.5975000,0.0000000,0.0000000,0.0000000);
  41870. CreateDynamicObject(2185,1565.7616000,-1636.1167000,-41.6021000,0.0000000,0.0000000,90.0000000);
  41871. CreateDynamicObject(2309,1564.0982700,-1635.3243400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41872. CreateDynamicObject(2185,1563.4376200,-1636.1167000,-41.6021000,0.0000000,0.0000000,90.0000000);
  41873. CreateDynamicObject(2185,1561.1066900,-1636.1167000,-41.6021000,0.0000000,0.0000000,90.0000000);
  41874. CreateDynamicObject(2185,1558.6980000,-1636.1167000,-41.6021000,0.0000000,0.0000000,90.0000000);
  41875. CreateDynamicObject(2185,1556.3430200,-1636.1167000,-41.6021000,0.0000000,0.0000000,90.0000000);
  41876. CreateDynamicObject(2185,1565.7616000,-1639.4622800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41877. CreateDynamicObject(2185,1565.7616000,-1642.5413800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41878. CreateDynamicObject(2185,1563.4376200,-1639.4622800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41879. CreateDynamicObject(2185,1563.4376200,-1642.5413800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41880. CreateDynamicObject(2185,1561.1066900,-1639.4622800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41881. CreateDynamicObject(2185,1561.1066900,-1642.5413800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41882. CreateDynamicObject(2185,1558.6980000,-1639.4622800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41883. CreateDynamicObject(2185,1556.3430200,-1639.4622800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41884. CreateDynamicObject(2185,1556.3430200,-1642.5413800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41885. CreateDynamicObject(2185,1558.6980000,-1642.5413800,-41.6021000,0.0000000,0.0000000,90.0000000);
  41886. CreateDynamicObject(2309,1564.1208500,-1638.6263400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41887. CreateDynamicObject(2309,1564.0636000,-1641.7515900,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41888. CreateDynamicObject(2309,1561.7373000,-1635.2828400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41889. CreateDynamicObject(2309,1559.3375200,-1635.2580600,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41890. CreateDynamicObject(2309,1556.9930400,-1635.3259300,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41891. CreateDynamicObject(2309,1554.7020300,-1635.2889400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41892. CreateDynamicObject(2309,1561.7373000,-1638.6263400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41893. CreateDynamicObject(2309,1561.7373000,-1641.7515900,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41894. CreateDynamicObject(2309,1559.3375200,-1638.6263400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41895. CreateDynamicObject(2309,1559.3375200,-1641.7515900,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41896. CreateDynamicObject(2309,1556.9930400,-1638.6263400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41897. CreateDynamicObject(2309,1556.9930400,-1641.7515900,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41898. CreateDynamicObject(2309,1554.7020300,-1638.6263400,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41899. CreateDynamicObject(2309,1554.7020300,-1641.7515900,-41.5793000,0.0000000,0.0000000,-90.0000000);
  41900. CreateDynamicObject(1746,1572.4808300,-1641.5518800,-41.5975000,0.0000000,0.0000000,0.0000000);
  41901. CreateDynamicObject(1746,1572.4808300,-1640.6186500,-41.5975000,0.0000000,0.0000000,0.0000000);
  41902. CreateDynamicObject(1746,1572.4808300,-1639.6887200,-41.5975000,0.0000000,0.0000000,0.0000000);
  41903. CreateDynamicObject(2001,1573.7847900,-1643.4409200,-41.5943900,0.0000000,0.0000000,0.0000000);
  41904. CreateDynamicObject(2001,1572.4783900,-1643.5008500,-41.5943900,0.0000000,0.0000000,0.0000000);
  41905. CreateDynamicObject(19388,1595.8717000,-1645.6265900,-39.8400000,0.0000000,0.0000000,0.0000000);
  41906. CreateDynamicObject(19358,1595.8717000,-1648.8065200,-39.8400000,0.0000000,0.0000000,0.0000000);
  41907. CreateDynamicObject(1714,1548.2694100,-1641.8024900,-41.5942000,0.0000000,0.0000000,0.0000000);
  41908. CreateDynamicObject(2207,1547.2869900,-1643.8120100,-41.5980000,0.0000000,0.0000000,0.0000000);
  41909. CreateDynamicObject(19379,1548.4625200,-1634.5065900,-41.6800000,0.0000000,90.0000000,0.0000000);
  41910. CreateDynamicObject(19358,1555.2219200,-1634.1890900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41911. CreateDynamicObject(19358,1545.5892300,-1639.2708700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41912. CreateDynamicObject(19358,1548.7801500,-1639.2708700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41913. CreateDynamicObject(19388,1551.9821800,-1639.2708700,-39.8400000,0.0000000,0.0000000,90.0000000);
  41914. CreateDynamicObject(19450,1550.2126500,-1686.5419900,-39.8400000,0.0000000,0.0000000,90.0000000);
  41915. CreateDynamicObject(18757,1559.9865700,-1684.6320800,-39.5962000,0.0000000,0.0000000,90.0000000);
  41916. CreateDynamicObject(18756,1559.9681400,-1684.6320800,-39.5962000,0.0000000,0.0000000,90.0000000);
  41917. CreateDynamicObject(2204,1586.5921600,-1661.8629200,-41.5969500,0.0000000,0.0000000,0.0000000);
  41918. CreateDynamicObject(2197,1579.0449200,-1663.2346200,-41.5934000,0.0000000,0.0000000,0.0000000);
  41919. CreateDynamicObject(1742,1572.2724600,-1661.8308100,-41.6126000,0.0000000,0.0000000,0.0000000);
  41920. CreateDynamicObject(2197,1579.7707500,-1663.2287600,-41.5934000,0.0000000,0.0000000,0.0000000);
  41921. CreateDynamicObject(2197,1580.4802200,-1663.2072800,-41.5934000,0.0000000,0.0000000,0.0000000);
  41922. CreateDynamicObject(2161,1576.4303000,-1661.8258100,-41.5877000,0.0000000,0.0000000,0.0000000);
  41923. CreateDynamicObject(2162,1574.6341600,-1661.8258100,-41.5077000,0.0000000,0.0000000,0.0000000);
  41924. CreateDynamicObject(2163,1574.6057100,-1661.8452100,-41.5998000,0.0000000,0.0000000,0.0000000);
  41925. CreateDynamicObject(2164,1570.4112500,-1666.0510300,-41.6077000,0.0000000,0.0000000,90.0000000);
  41926. CreateDynamicObject(2167,1570.3734100,-1664.2380400,-41.5995000,0.0000000,0.0000000,90.0000000);
  41927. CreateDynamicObject(2200,1584.3813500,-1661.8692600,-41.6094000,0.0000000,0.0000000,0.0000000);
  41928. CreateDynamicObject(2204,1581.3902600,-1661.8787800,-41.5993200,0.0000000,0.0000000,0.0000000);
  41929. CreateDynamicObject(2193,1570.9123500,-1675.8217800,-41.5989000,0.0000000,0.0000000,1.0000000);
  41930. CreateDynamicObject(2198,1584.3363000,-1666.5679900,-41.5902000,0.0000000,0.0000000,0.0000000);
  41931. CreateDynamicObject(2181,1570.8084700,-1668.4362800,-41.6016000,0.0000000,0.0000000,90.0000000);
  41932. CreateDynamicObject(2182,1571.8087200,-1670.4344500,-41.6016000,0.0000000,0.0000000,90.0000000);
  41933. CreateDynamicObject(2197,1578.3646200,-1663.2437700,-41.5934000,0.0000000,0.0000000,0.0000000);
  41934. CreateDynamicObject(2197,1577.7042200,-1663.2735600,-41.5934000,0.0000000,0.0000000,0.0000000);
  41935. CreateDynamicObject(2167,1570.3748800,-1663.3575400,-41.5995000,0.0000000,0.0000000,90.0000000);
  41936. CreateDynamicObject(2181,1570.9995100,-1677.7641600,-41.6016000,0.0000000,0.0000000,90.0000000);
  41937. CreateDynamicObject(2167,1573.6590600,-1661.8148200,-41.5995000,0.0000000,0.0000000,0.0000000);
  41938. CreateDynamicObject(2172,1585.4189500,-1670.4017300,-41.6000000,0.0000000,0.0000000,180.0000000);
  41939. CreateDynamicObject(2198,1585.3516800,-1665.5839800,-41.5902000,0.0000000,0.0000000,180.0000000);
  41940. CreateDynamicObject(2198,1582.3422900,-1666.5679900,-41.5902000,0.0000000,0.0000000,0.0000000);
  41941. CreateDynamicObject(2198,1580.4348100,-1666.5679900,-41.5902000,0.0000000,0.0000000,0.0000000);
  41942. CreateDynamicObject(2198,1578.4741200,-1666.5679900,-41.5902000,0.0000000,0.0000000,0.0000000);
  41943. CreateDynamicObject(2198,1576.5137900,-1666.5679900,-41.5902000,0.0000000,0.0000000,0.0000000);
  41944. CreateDynamicObject(2198,1574.4934100,-1666.5679900,-41.5902000,0.0000000,0.0000000,0.0000000);
  41945. CreateDynamicObject(1714,1584.9323700,-1667.1060800,-41.5900000,0.0000000,0.0000000,170.0000000);
  41946. CreateDynamicObject(1714,1577.5914300,-1669.5599400,-41.5900000,0.0000000,0.0000000,0.0000000);
  41947. CreateDynamicObject(1714,1575.6881100,-1669.5968000,-41.5900000,0.0000000,0.0000000,0.0000000);
  41948. CreateDynamicObject(1714,1579.0034200,-1667.6165800,-41.5900000,0.0000000,0.0000000,190.0000000);
  41949. CreateDynamicObject(1714,1576.9427500,-1667.8441200,-41.5900000,0.0000000,0.0000000,180.0000000);
  41950. CreateDynamicObject(1714,1574.7856400,-1667.9981700,-41.5900000,0.0000000,0.0000000,180.0000000);
  41951. CreateDynamicObject(2198,1583.4139400,-1665.5383300,-41.5902000,0.0000000,0.0000000,180.0000000);
  41952. CreateDynamicObject(2198,1581.4375000,-1665.5372300,-41.5902000,0.0000000,0.0000000,180.0000000);
  41953. CreateDynamicObject(2198,1579.4582500,-1665.5379600,-41.5902000,0.0000000,0.0000000,180.0000000);
  41954. CreateDynamicObject(2198,1577.5360100,-1665.5791000,-41.5902000,0.0000000,0.0000000,180.0000000);
  41955. CreateDynamicObject(2198,1575.5739700,-1665.5711700,-41.5902000,0.0000000,0.0000000,180.0000000);
  41956. CreateDynamicObject(2172,1580.3260500,-1674.9021000,-41.6000000,0.0000000,0.0000000,0.0000000);
  41957. CreateDynamicObject(2172,1582.2513400,-1674.9021000,-41.6000000,0.0000000,0.0000000,0.0000000);
  41958. CreateDynamicObject(2172,1584.1710200,-1674.9021000,-41.6000000,0.0000000,0.0000000,0.0000000);
  41959. CreateDynamicObject(14598,1584.1059600,-1665.7177700,-43.6771000,0.0000000,0.0000000,0.0000000);
  41960. CreateDynamicObject(19450,1578.5231900,-1680.8435100,-42.1200000,180.0000000,0.0000000,90.0000000);
  41961. CreateDynamicObject(2193,1572.2209500,-1680.3167700,-41.5989000,0.0000000,0.0000000,90.0000000);
  41962. CreateDynamicObject(19358,1575.6680900,-1674.2407200,-42.1200000,180.0000000,0.0000000,90.0000000);
  41963. CreateDynamicObject(19358,1578.8271500,-1674.2407200,-42.1200000,180.0000000,0.0000000,90.0000000);
  41964. CreateDynamicObject(19358,1581.8366700,-1674.2407200,-42.1200000,180.0000000,0.0000000,90.0000000);
  41965. CreateDynamicObject(19358,1584.3098100,-1674.2407200,-42.1200000,180.0000000,0.0000000,90.0000000);
  41966. CreateDynamicObject(2172,1579.2811300,-1680.3289800,-41.6000000,0.0000000,0.0000000,180.0000000);
  41967. CreateDynamicObject(2172,1581.1822500,-1680.3209200,-41.6000000,0.0000000,0.0000000,180.0000000);
  41968. CreateDynamicObject(2172,1583.0792200,-1680.3079800,-41.6000000,0.0000000,0.0000000,180.0000000);
  41969. CreateDynamicObject(2172,1584.9794900,-1680.3167700,-41.6000000,0.0000000,0.0000000,180.0000000);
  41970. CreateDynamicObject(19358,1584.9322500,-1680.8435100,-42.1200000,180.0000000,0.0000000,90.0000000);
  41971. CreateDynamicObject(1714,1582.6894500,-1675.9476300,-41.5900000,0.0000000,0.0000000,180.0000000);
  41972. CreateDynamicObject(1714,1580.6264600,-1675.8466800,-41.5900000,0.0000000,0.0000000,180.0000000);
  41973. CreateDynamicObject(1714,1577.0037800,-1675.3524200,-41.5900000,0.0000000,0.0000000,180.0000000);
  41974. CreateDynamicObject(1714,1574.9187000,-1676.1486800,-41.5900000,0.0000000,0.0000000,180.0000000);
  41975. CreateDynamicObject(1714,1572.3651100,-1679.2547600,-41.5900000,0.0000000,0.0000000,-40.0000000);
  41976. CreateDynamicObject(1714,1572.0722700,-1677.5593300,-41.5900000,0.0000000,0.0000000,-91.0000000);
  41977. CreateDynamicObject(1714,1571.8990500,-1676.2683100,-41.5900000,0.0000000,0.0000000,-156.0000000);
  41978. CreateDynamicObject(1714,1576.9210200,-1679.2915000,-41.5900000,0.0000000,0.0000000,0.0000000);
  41979. CreateDynamicObject(1714,1578.8785400,-1679.1754200,-41.5900000,0.0000000,0.0000000,0.0000000);
  41980. CreateDynamicObject(1714,1582.6032700,-1679.4447000,-41.5900000,0.0000000,0.0000000,0.0000000);
  41981. CreateDynamicObject(1714,1584.5026900,-1679.3659700,-41.5900000,0.0000000,0.0000000,0.0000000);
  41982. CreateDynamicObject(2200,1589.2850300,-1679.3619400,-41.6094000,0.0000000,0.0000000,-90.0000000);
  41983. CreateDynamicObject(2204,1589.2611100,-1676.4146700,-41.5970000,0.0000000,0.0000000,-90.0000000);
  41984. CreateDynamicObject(2200,1585.7879600,-1683.6297600,-41.6094000,0.0000000,0.0000000,180.0000000);
  41985. CreateDynamicObject(2200,1583.5437000,-1683.6224400,-41.6094000,0.0000000,0.0000000,180.0000000);
  41986. CreateDynamicObject(2200,1581.3081100,-1683.6297600,-41.6094000,0.0000000,0.0000000,180.0000000);
  41987. CreateDynamicObject(2200,1579.0531000,-1683.6297600,-41.6094000,0.0000000,0.0000000,180.0000000);
  41988. CreateDynamicObject(2200,1576.8619400,-1683.6297600,-41.6094000,0.0000000,0.0000000,180.0000000);
  41989. CreateDynamicObject(2200,1574.6367200,-1683.6297600,-41.6094000,0.0000000,0.0000000,180.0000000);
  41990. CreateDynamicObject(2200,1572.4439700,-1683.6297600,-41.6094000,0.0000000,0.0000000,180.0000000);
  41991. CreateDynamicObject(1714,1584.7186300,-1665.1064500,-41.5900000,0.0000000,0.0000000,0.0000000);
  41992. CreateDynamicObject(1714,1582.8317900,-1665.0752000,-41.5900000,0.0000000,0.0000000,0.0000000);
  41993. CreateDynamicObject(1714,1580.8637700,-1665.0839800,-41.5900000,0.0000000,0.0000000,0.0000000);
  41994. CreateDynamicObject(1714,1578.9102800,-1665.0285600,-41.5900000,0.0000000,0.0000000,0.0000000);
  41995. CreateDynamicObject(1714,1576.8975800,-1665.1547900,-41.5900000,0.0000000,0.0000000,0.0000000);
  41996. CreateDynamicObject(1714,1574.9600800,-1665.1428200,-41.5900000,0.0000000,0.0000000,0.0000000);
  41997. CreateDynamicObject(19450,1570.3399700,-1672.5244100,-36.2000000,0.0000000,0.0000000,0.0000000);
  41998. CreateDynamicObject(19450,1570.3399700,-1698.1097400,-36.2000000,0.0000000,0.0000000,0.0000000);
  41999. CreateDynamicObject(1502,1589.3725600,-1672.0583500,-41.5964000,0.0000000,0.0000000,90.0000000);
  42000. CreateDynamicObject(2962,1570.1810300,-1671.3637700,-39.9933000,0.0000000,0.0000000,-90.0000000);
  42001. CreateDynamicObject(1649,1568.0564000,-1676.2197300,-38.3906000,0.0000000,0.0000000,0.0000000);
  42002. CreateDynamicObject(1649,1568.0507800,-1668.8713400,-38.3906000,0.0000000,0.0000000,180.0000000);
  42003. CreateDynamicObject(19325,1565.2675800,-1672.5330800,-37.9906000,0.0000000,0.0000000,0.0000000);
  42004. CreateDynamicObject(9131,1565.6385500,-1669.1978800,-40.3125000,0.0000000,0.0000000,0.0000000);
  42005. CreateDynamicObject(9131,1565.6385500,-1675.9101600,-40.3125000,0.0000000,0.0000000,0.0000000);
  42006. CreateDynamicObject(19450,1565.5030500,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  42007. CreateDynamicObject(19450,1555.9012500,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  42008. CreateDynamicObject(19450,1564.4237100,-1691.3050500,-39.8400000,0.0000000,0.0000000,0.0000000);
  42009. CreateDynamicObject(19450,1564.4237100,-1710.3717000,-39.8400000,0.0000000,0.0000000,0.0000000);
  42010. CreateDynamicObject(19388,1564.8101800,-1695.2082500,-36.2000000,0.0000000,0.0000000,0.0000000);
  42011. CreateDynamicObject(19388,1570.0776400,-1701.5955800,-39.8400000,0.0000000,0.0000000,0.0000000);
  42012. CreateDynamicObject(19358,1570.0776400,-1695.2799100,-39.8400000,0.0000000,0.0000000,0.0000000);
  42013. CreateDynamicObject(19355,1570.2425500,-1695.3305700,-39.8400000,0.0000000,0.0000000,0.0000000);
  42014. CreateDynamicObject(19355,1570.2425500,-1698.4403100,-39.8400000,0.0000000,0.0000000,0.0000000);
  42015. CreateDynamicObject(19355,1572.8006600,-1695.3907500,-39.8400000,0.0000000,0.0000000,0.0000000);
  42016. CreateDynamicObject(19355,1576.0191700,-1695.3907500,-39.8400000,0.0000000,0.0000000,0.0000000);
  42017. CreateDynamicObject(19385,1574.3127400,-1697.0708000,-39.8400000,0.0000000,0.0000000,90.0000000);
  42018. CreateDynamicObject(19385,1577.5307600,-1697.0708000,-39.8400000,0.0000000,0.0000000,90.0000000);
  42019. CreateDynamicObject(19447,1579.2421900,-1698.3983200,-39.8400000,0.0000000,0.0000000,0.0000000);
  42020. CreateDynamicObject(19358,1570.0776400,-1698.4909700,-39.8400000,0.0000000,0.0000000,0.0000000);
  42021. CreateDynamicObject(19447,1574.8549800,-1693.6897000,-39.8400000,0.0000000,0.0000000,90.0000000);
  42022. CreateDynamicObject(19447,1574.8515600,-1703.1473400,-39.8400000,0.0000000,0.0000000,90.0000000);
  42023. CreateDynamicObject(19385,1570.2310800,-1701.5955800,-39.8400000,0.0000000,0.0000000,0.0000000);
  42024. CreateDynamicObject(2528,1577.5513900,-1694.2876000,-41.5873000,0.0000000,0.0000000,0.0000000);
  42025. CreateDynamicObject(2528,1574.4807100,-1694.2764900,-41.5873000,0.0000000,0.0000000,0.0000000);
  42026. CreateDynamicObject(2518,1570.3205600,-1694.3366700,-41.4576000,0.0000000,0.0000000,0.0000000);
  42027. CreateDynamicObject(2524,1575.6474600,-1702.6214600,-41.9125000,0.0000000,0.0000000,180.0000000);
  42028. CreateDynamicObject(2524,1574.1507600,-1702.6134000,-41.9125000,0.0000000,0.0000000,180.0000000);
  42029. CreateDynamicObject(19428,1572.8000500,-1702.6446500,-41.4533000,0.0000000,0.0000000,0.0000000);
  42030. CreateDynamicObject(19428,1574.4298100,-1702.6446500,-41.4533000,0.0000000,0.0000000,0.0000000);
  42031. CreateDynamicObject(19428,1576.0509000,-1702.6446500,-41.4533000,0.0000000,0.0000000,0.0000000);
  42032. CreateDynamicObject(19428,1577.6095000,-1702.6446500,-41.4533000,0.0000000,0.0000000,0.0000000);
  42033. CreateDynamicObject(2524,1578.8625500,-1702.6153600,-41.9125000,0.0000000,0.0000000,180.0000000);
  42034. CreateDynamicObject(2524,1577.3206800,-1702.6095000,-41.9125000,0.0000000,0.0000000,180.0000000);
  42035. CreateDynamicObject(1499,1570.1503900,-1702.3453400,-41.6206000,0.0000000,0.0000000,90.0000000);
  42036. CreateDynamicObject(1523,1576.7419400,-1697.1283000,-41.6168000,0.0000000,0.0000000,0.0000000);
  42037. CreateDynamicObject(1523,1573.5228300,-1697.1283000,-41.6168000,0.0000000,0.0000000,0.0000000);
  42038. CreateDynamicObject(2518,1570.9803500,-1694.3366700,-41.4576000,0.0000000,0.0000000,0.0000000);
  42039. CreateDynamicObject(2518,1571.6411100,-1694.3366700,-41.4576000,0.0000000,0.0000000,0.0000000);
  42040. CreateDynamicObject(1651,1571.3892800,-1693.8104200,-39.3670000,0.0000000,0.0000000,-90.0000000);
  42041. CreateDynamicObject(2796,1569.5074500,-1700.8090800,-38.5995000,0.0000000,0.0000000,0.0000000);
  42042. CreateDynamicObject(1706,1567.0606700,-1661.0108600,-41.5958000,0.0000000,0.0000000,180.0000000);
  42043. CreateDynamicObject(2126,1563.9245600,-1661.5086700,-41.5944000,0.0000000,0.0000000,0.0000000);
  42044. CreateDynamicObject(1706,1562.8288600,-1660.9519000,-41.5958000,0.0000000,0.0000000,180.0000000);
  42045. CreateDynamicObject(1706,1556.6297600,-1660.9300500,-41.5958000,0.0000000,0.0000000,180.0000000);
  42046. CreateDynamicObject(2241,1554.3679200,-1660.9215100,-40.6337000,0.0000000,0.0000000,0.0000000);
  42047. CreateDynamicObject(1822,1553.9094200,-1661.4663100,-41.5954000,0.0000000,0.0000000,0.0000000);
  42048. CreateDynamicObject(1706,1554.2637900,-1659.6928700,-41.5958000,0.0000000,0.0000000,90.0000000);
  42049. CreateDynamicObject(1709,1555.4343300,-1650.1862800,-41.5913000,0.0000000,0.0000000,90.0000000);
  42050. CreateDynamicObject(2241,1554.0367400,-1651.0304000,-41.0737000,0.0000000,0.0000000,0.0000000);
  42051. CreateDynamicObject(1703,1587.2718500,-1651.1203600,-41.5954000,0.0000000,0.0000000,180.0000000);
  42052. CreateDynamicObject(1703,1582.9205300,-1651.1038800,-41.5954000,0.0000000,0.0000000,180.0000000);
  42053. CreateDynamicObject(1822,1583.6389200,-1651.5565200,-41.5954000,0.0000000,0.0000000,0.0000000);
  42054. CreateDynamicObject(19379,1590.4799800,-1653.7500000,-41.6800000,0.0000000,90.0000000,0.0000000);
  42055. CreateDynamicObject(2010,1588.9300500,-1651.3676800,-41.6003000,0.0000000,0.0000000,0.0000000);
  42056. CreateDynamicObject(2010,1579.1302500,-1651.1224400,-41.6003000,0.0000000,0.0000000,0.0000000);
  42057. CreateDynamicObject(2010,1595.3837900,-1649.9925500,-41.6003000,0.0000000,0.0000000,0.0000000);
  42058. CreateDynamicObject(2010,1580.2358400,-1684.4057600,-41.6003000,0.0000000,0.0000000,0.0000000);
  42059. CreateDynamicObject(2616,1589.2122800,-1669.4477500,-39.7224000,0.0000000,0.0000000,-90.0000000);
  42060. CreateDynamicObject(14600,1585.2742900,-1652.7071500,-40.1000000,0.0000000,0.0000000,90.0000000);
  42061. CreateDynamicObject(358,1580.1292700,-1656.2755100,-39.2319000,85.0000000,-98.0000000,11.0000000);
  42062. CreateDynamicObject(358,1580.1709000,-1657.3297100,-39.2319000,85.0000000,-98.0000000,11.0000000);
  42063. CreateDynamicObject(358,1579.9169900,-1658.4295700,-39.2319000,85.0000000,-98.0000000,11.0000000);
  42064. CreateDynamicObject(3794,1580.5485800,-1658.7338900,-41.0869000,0.0000000,0.0000000,90.0000000);
  42065. CreateDynamicObject(356,1584.0148900,-1661.1904300,-41.3304000,25.0000000,-90.0000000,0.0000000);
  42066. CreateDynamicObject(356,1584.3266600,-1661.2060500,-41.3304000,25.0000000,-90.0000000,0.0000000);
  42067. CreateDynamicObject(356,1584.6302500,-1661.2211900,-41.3304000,25.0000000,-90.0000000,0.0000000);
  42068. CreateDynamicObject(356,1585.0357700,-1661.2414600,-41.3304000,25.0000000,-90.0000000,0.0000000);
  42069. CreateDynamicObject(3388,1586.5933800,-1661.0087900,-41.5745000,0.0000000,0.0000000,-90.0000000);
  42070. CreateDynamicObject(3387,1588.6086400,-1661.0116000,-41.5745000,0.0000000,0.0000000,-90.0000000);
  42071. CreateDynamicObject(3389,1587.5966800,-1661.0072000,-41.5753000,0.0000000,0.0000000,-90.0000000);
  42072. CreateDynamicObject(3390,1588.5245400,-1658.3034700,-41.5945300,0.0000000,0.0000000,0.0000000);
  42073. CreateDynamicObject(3392,1588.5390600,-1654.8156700,-41.5946300,0.0000000,0.0000000,0.0000000);
  42074. CreateDynamicObject(1703,1590.9860800,-1651.0881300,-41.5954000,0.0000000,0.0000000,0.0000000);
  42075. CreateDynamicObject(1822,1594.4831500,-1687.1165800,-41.5954000,0.0000000,0.0000000,0.0000000);
  42076. CreateDynamicObject(1703,1590.0406500,-1653.9376200,-41.5954000,0.0000000,0.0000000,90.0000000);
  42077. CreateDynamicObject(1703,1590.0013400,-1665.8905000,-41.5954000,0.0000000,0.0000000,90.0000000);
  42078. CreateDynamicObject(1703,1589.9965800,-1662.5188000,-41.5954000,0.0000000,0.0000000,90.0000000);
  42079. CreateDynamicObject(1703,1590.0106200,-1679.9089400,-41.5954000,0.0000000,0.0000000,90.0000000);
  42080. CreateDynamicObject(1703,1589.9762000,-1676.5289300,-41.5954000,0.0000000,0.0000000,90.0000000);
  42081. CreateDynamicObject(1703,1594.0147700,-1686.5634800,-41.5954000,0.0000000,0.0000000,180.0000000);
  42082. CreateDynamicObject(1822,1589.4990200,-1651.5419900,-41.5954000,0.0000000,0.0000000,0.0000000);
  42083. CreateDynamicObject(1703,1595.0925300,-1683.5642100,-41.5954000,0.0000000,0.0000000,-90.0000000);
  42084. CreateDynamicObject(2010,1595.3288600,-1644.3772000,-41.6003000,0.0000000,0.0000000,0.0000000);
  42085. CreateDynamicObject(2010,1595.3790300,-1650.8247100,-41.6003000,0.0000000,0.0000000,0.0000000);
  42086. CreateDynamicObject(2010,1590.0428500,-1663.2221700,-41.6003000,0.0000000,0.0000000,0.0000000);
  42087. CreateDynamicObject(2010,1590.0545700,-1677.2430400,-41.6003000,0.0000000,0.0000000,0.0000000);
  42088. CreateDynamicObject(19388,1582.2800300,-1688.8420400,-39.8400000,0.0000000,0.0000000,0.0000000);
  42089. CreateDynamicObject(19358,1582.2800300,-1711.2050800,-39.8400000,0.0000000,0.0000000,0.0000000);
  42090. CreateDynamicObject(19450,1574.8643800,-1703.4251700,-39.8400000,0.0000000,0.0000000,90.0000000);
  42091. CreateDynamicObject(19450,1565.3857400,-1703.4251700,-39.8400000,0.0000000,0.0000000,90.0000000);
  42092. CreateDynamicObject(19358,1579.0798300,-1715.9499500,-39.8400000,0.0000000,0.0000000,90.0000000);
  42093. CreateDynamicObject(19450,1561.5061000,-1715.9499500,-39.8400000,0.0000000,0.0000000,90.0000000);
  42094. CreateDynamicObject(19358,1564.4237100,-1714.5014600,-39.8400000,0.0000000,0.0000000,0.0000000);
  42095. CreateDynamicObject(1584,1573.5036600,-1735.8280000,-41.5870600,0.0000000,0.0000000,0.0000000);
  42096. CreateDynamicObject(1583,1572.1159700,-1730.3961200,-41.5829200,0.0000000,0.0000000,0.0000000);
  42097. CreateDynamicObject(1586,1570.3658400,-1737.8957500,-41.5832300,0.0000000,0.0000000,0.0000000);
  42098. CreateDynamicObject(18036,1570.7288800,-1727.5898400,-39.5821000,0.0000000,0.0000000,90.0000000);
  42099. CreateDynamicObject(1585,1568.8107900,-1730.3955100,-41.5832900,0.0000000,0.0000000,0.0000000);
  42100. CreateDynamicObject(1583,1565.8811000,-1730.4299300,-41.5824700,0.0000000,0.0000000,0.0000000);
  42101. CreateDynamicObject(1585,1567.3081100,-1736.9595900,-41.5832900,0.0000000,0.0000000,0.0000000);
  42102. CreateDynamicObject(1586,1564.3803700,-1727.4108900,-41.5832300,0.0000000,0.0000000,0.0000000);
  42103. CreateDynamicObject(1584,1575.3748800,-1733.2905300,-41.5870600,0.0000000,0.0000000,0.0000000);
  42104. CreateDynamicObject(2036,1566.7071500,-1716.6462400,-41.5428000,0.0000000,0.0000000,0.0000000);
  42105. CreateDynamicObject(16770,1564.8542500,-1716.9113800,-39.9887000,0.0000000,0.0000000,-90.0000000);
  42106. CreateDynamicObject(1502,1575.9476300,-1715.9842500,-41.5900000,0.0000000,0.0000000,0.0000000);
  42107. CreateDynamicObject(19358,1576.6662600,-1715.9300500,-37.3400000,0.0000000,0.0000000,90.0000000);
  42108. CreateDynamicObject(19379,1569.5249000,-1711.5100100,-38.0300000,0.0000000,90.0000000,0.0000000);
  42109. CreateDynamicObject(19379,1590.4694800,-1701.8660900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42110. CreateDynamicObject(19379,1590.4592300,-1692.2542700,-38.0300000,0.0000000,90.0000000,0.0000000);
  42111. CreateDynamicObject(19379,1590.4799800,-1672.9689900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42112. CreateDynamicObject(19379,1580.0260000,-1701.8660900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42113. CreateDynamicObject(19379,1580.0260000,-1692.2542700,-38.0300000,0.0000000,90.0000000,0.0000000);
  42114. CreateDynamicObject(19379,1569.5249000,-1682.6200000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42115. CreateDynamicObject(19379,1600.9499500,-1672.9799800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42116. CreateDynamicObject(19379,1600.9499500,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42117. CreateDynamicObject(19379,1580.0260000,-1672.9689900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42118. CreateDynamicObject(19379,1611.4569100,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42119. CreateDynamicObject(19379,1611.4775400,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42120. CreateDynamicObject(19379,1600.9499500,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42121. CreateDynamicObject(19379,1600.9499500,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42122. CreateDynamicObject(19379,1600.9499500,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42123. CreateDynamicObject(19379,1590.4799800,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42124. CreateDynamicObject(19379,1590.4799800,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42125. CreateDynamicObject(19379,1590.4799800,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42126. CreateDynamicObject(19379,1590.4799800,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42127. CreateDynamicObject(19379,1580.0260000,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42128. CreateDynamicObject(19379,1580.0260000,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42129. CreateDynamicObject(19379,1580.0260000,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42130. CreateDynamicObject(19379,1580.0260000,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42131. CreateDynamicObject(19379,1569.5249000,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42132. CreateDynamicObject(19379,1569.5249000,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42133. CreateDynamicObject(19379,1569.5249000,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42134. CreateDynamicObject(19379,1569.5249000,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42135. CreateDynamicObject(19379,1559.0345500,-1711.5100100,-38.0300000,0.0000000,90.0000000,0.0000000);
  42136. CreateDynamicObject(19379,1548.6110800,-1711.5100100,-38.0300000,0.0000000,90.0000000,0.0000000);
  42137. CreateDynamicObject(19379,1559.0345500,-1692.2542700,-38.0300000,0.0000000,90.0000000,0.0000000);
  42138. CreateDynamicObject(19379,1559.0345500,-1673.0090300,-38.0300000,0.0000000,90.0000000,0.0000000);
  42139. CreateDynamicObject(19379,1559.0345500,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42140. CreateDynamicObject(19379,1559.0345500,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42141. CreateDynamicObject(19379,1559.0345500,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42142. CreateDynamicObject(19379,1559.0345500,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42143. CreateDynamicObject(19379,1548.6110800,-1701.8660900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42144. CreateDynamicObject(19379,1548.6110800,-1692.2542700,-38.0300000,0.0000000,90.0000000,0.0000000);
  42145. CreateDynamicObject(19379,1548.6110800,-1682.6397700,-38.0300000,0.0000000,90.0000000,0.0000000);
  42146. CreateDynamicObject(19379,1548.6110800,-1673.0090300,-38.0300000,0.0000000,90.0000000,0.0000000);
  42147. CreateDynamicObject(19379,1548.6110800,-1663.3800000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42148. CreateDynamicObject(19379,1548.6110800,-1653.7644000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42149. CreateDynamicObject(14410,1561.2694100,-1699.0466300,-41.1547000,0.0000000,0.0000000,90.0000000);
  42150. CreateDynamicObject(19379,1559.0545700,-1705.7031300,-38.0300000,0.0000000,90.0000000,0.0000000);
  42151. CreateDynamicObject(19450,1559.6804200,-1701.0423600,-39.8400000,0.0000000,0.0000000,90.0000000);
  42152. CreateDynamicObject(19450,1564.4237100,-1705.7791700,-39.8400000,0.0000000,0.0000000,0.0000000);
  42153. CreateDynamicObject(19450,1559.6804200,-1696.9335900,-39.8400000,0.0000000,0.0000000,90.0000000);
  42154. CreateDynamicObject(19358,1564.4237100,-1695.4071000,-39.8400000,0.0000000,0.0000000,0.0000000);
  42155. CreateDynamicObject(19379,1569.5249000,-1701.8660900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42156. CreateDynamicObject(19379,1569.5249000,-1692.2542700,-38.0300000,0.0000000,90.0000000,0.0000000);
  42157. CreateDynamicObject(19450,1559.4715600,-1700.9556900,-36.2000000,0.0000000,0.0000000,90.0000000);
  42158. CreateDynamicObject(19450,1554.5918000,-1696.2398700,-36.2200000,0.0000000,0.0000000,0.0000000);
  42159. CreateDynamicObject(19450,1554.5918000,-1658.2087400,-36.2200000,0.0000000,0.0000000,0.0000000);
  42160. CreateDynamicObject(19450,1554.5918000,-1686.7214400,-36.2200000,0.0000000,0.0000000,0.0000000);
  42161. CreateDynamicObject(19450,1554.5918000,-1677.0994900,-36.2200000,0.0000000,0.0000000,0.0000000);
  42162. CreateDynamicObject(19450,1554.5918000,-1667.5865500,-36.2200000,0.0000000,0.0000000,0.0000000);
  42163. CreateDynamicObject(19450,1564.2111800,-1696.9168700,-36.2000000,0.0000000,0.0000000,90.0000000);
  42164. CreateDynamicObject(19450,1564.4143100,-1672.9377400,-36.2000000,0.0000000,0.0000000,0.0000000);
  42165. CreateDynamicObject(19358,1565.9332300,-1677.6665000,-36.2000000,0.0000000,0.0000000,90.0000000);
  42166. CreateDynamicObject(19358,1568.7959000,-1668.2054400,-36.2000000,0.0000000,0.0000000,90.0000000);
  42167. CreateDynamicObject(19450,1559.9034400,-1685.0119600,-36.2000000,0.0000000,0.0000000,90.0000000);
  42168. CreateDynamicObject(18756,1559.9681400,-1683.0920400,-35.9200000,0.0000000,0.0000000,90.0000000);
  42169. CreateDynamicObject(18757,1559.9865700,-1683.0920400,-35.9200000,0.0000000,0.0000000,90.0000000);
  42170. CreateDynamicObject(19450,1550.4610600,-1693.5339400,-36.2000000,0.0000000,0.0000000,90.0000000);
  42171. CreateDynamicObject(19358,1571.8900100,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  42172. CreateDynamicObject(19450,1564.7991900,-1689.7330300,-36.2000000,0.0000000,0.0000000,0.0000000);
  42173. CreateDynamicObject(19388,1578.2348600,-1674.7292500,-36.2000000,0.0000000,0.0000000,90.0000000);
  42174. CreateDynamicObject(19450,1560.0827600,-1693.5339400,-36.2000000,0.0000000,0.0000000,90.0000000);
  42175. CreateDynamicObject(19379,1559.0345500,-1682.6200000,-38.0300000,0.0000000,90.0000000,0.0000000);
  42176. CreateDynamicObject(19450,1550.2926000,-1685.0119600,-36.2000000,0.0000000,0.0000000,90.0000000);
  42177. CreateDynamicObject(19450,1570.3399700,-1688.5518800,-36.2000000,0.0000000,0.0000000,0.0000000);
  42178. CreateDynamicObject(19450,1573.7924800,-1696.9168700,-36.2000000,0.0000000,0.0000000,90.0000000);
  42179. CreateDynamicObject(19358,1565.9332300,-1668.2054400,-36.2000000,0.0000000,0.0000000,90.0000000);
  42180. CreateDynamicObject(19358,1568.7618400,-1677.6665000,-36.2000000,0.0000000,0.0000000,90.0000000);
  42181. CreateDynamicObject(1502,1570.3179900,-1673.3901400,-41.5900000,0.0000000,0.0000000,90.0000000);
  42182. CreateDynamicObject(1495,1570.3454600,-1668.2426800,-37.9600000,0.0000000,0.0000000,90.0000000);
  42183. CreateDynamicObject(19450,1616.5845900,-1661.5899700,-36.2000000,0.0000000,0.0000000,90.0000000);
  42184. CreateDynamicObject(2357,1593.5172100,-1680.6649200,-37.5300000,0.0000000,0.0000000,90.0000000);
  42185. CreateDynamicObject(2357,1607.6055900,-1680.6649200,-37.5300000,0.0000000,0.0000000,90.0000000);
  42186. CreateDynamicObject(2095,1612.2347400,-1683.1827400,-37.9457000,0.0000000,0.0000000,69.0000000);
  42187. CreateDynamicObject(2200,1601.7869900,-1687.0263700,-37.9457000,0.0000000,0.0000000,180.0000000);
  42188. CreateDynamicObject(2010,1613.4150400,-1683.1146200,-37.9459000,0.0000000,0.0000000,0.0000000);
  42189. CreateDynamicObject(3077,1612.7752700,-1685.3399700,-37.9459000,0.0000000,0.0000000,76.0000000);
  42190. CreateDynamicObject(1651,1613.7769800,-1680.3188500,-35.8059000,0.0000000,0.0000000,180.0000000);
  42191. CreateDynamicObject(19450,1613.7867400,-1687.2600100,-36.2000000,0.0000000,0.0000000,90.0000000);
  42192. CreateDynamicObject(2010,1613.4150400,-1678.0335700,-37.9458900,0.0000000,0.0000000,0.0000000);
  42193. CreateDynamicObject(2200,1607.1480700,-1674.9364000,-37.9457000,0.0000000,0.0000000,0.0000000);
  42194. CreateDynamicObject(2200,1599.5297900,-1687.0263700,-37.9457000,0.0000000,0.0000000,180.0000000);
  42195. CreateDynamicObject(2200,1604.0411400,-1687.0263700,-37.9457000,0.0000000,0.0000000,180.0000000);
  42196. CreateDynamicObject(2200,1606.2851600,-1687.0263700,-37.9457000,0.0000000,0.0000000,180.0000000);
  42197. CreateDynamicObject(2200,1608.5363800,-1687.0263700,-37.9457000,0.0000000,0.0000000,180.0000000);
  42198. CreateDynamicObject(2200,1609.4105200,-1674.9364000,-37.9457000,0.0000000,0.0000000,0.0000000);
  42199. CreateDynamicObject(14455,1570.6473400,-1654.0358900,-36.2680000,0.0000000,0.0000000,-90.0000000);
  42200. CreateDynamicObject(2010,1570.7603800,-1650.5922900,-37.9466600,0.0000000,0.0000000,0.0000000);
  42201. CreateDynamicObject(2200,1571.6521000,-1650.3454600,-37.9470200,0.0000000,0.0000000,0.0000000);
  42202. CreateDynamicObject(2200,1598.1589400,-1650.3560800,-37.9470200,0.0000000,0.0000000,0.0000000);
  42203. CreateDynamicObject(2010,1590.7359600,-1650.5828900,-37.9466600,0.0000000,0.0000000,0.0000000);
  42204. CreateDynamicObject(14455,1590.6534400,-1653.8851300,-36.2680000,0.0000000,0.0000000,-90.0000000);
  42205. CreateDynamicObject(2010,1600.2847900,-1650.6481900,-37.9466600,0.0000000,0.0000000,0.0000000);
  42206. CreateDynamicObject(2010,1590.0728800,-1650.4691200,-37.9466600,0.0000000,0.0000000,0.0000000);
  42207. CreateDynamicObject(2200,1592.1064500,-1650.3461900,-37.9470200,0.0000000,0.0000000,0.0000000);
  42208. CreateDynamicObject(2200,1587.3386200,-1650.4052700,-37.9470200,0.0000000,0.0000000,0.0000000);
  42209. CreateDynamicObject(2010,1591.0627400,-1661.3148200,-37.9466600,0.0000000,0.0000000,0.0000000);
  42210. CreateDynamicObject(2010,1579.5293000,-1650.5383300,-37.9466600,0.0000000,0.0000000,0.0000000);
  42211. CreateDynamicObject(2200,1581.5190400,-1650.3981900,-37.9470200,0.0000000,0.0000000,0.0000000);
  42212. CreateDynamicObject(2200,1577.4421400,-1650.4537400,-37.9470200,0.0000000,0.0000000,0.0000000);
  42213. CreateDynamicObject(14455,1580.1906700,-1654.4807100,-36.2680000,0.0000000,0.0000000,-90.0000000);
  42214. CreateDynamicObject(2010,1580.4052700,-1650.5771500,-37.9466600,0.0000000,0.0000000,0.0000000);
  42215. CreateDynamicObject(2010,1570.8288600,-1661.2977300,-37.9466600,0.0000000,0.0000000,0.0000000);
  42216. CreateDynamicObject(2010,1580.4500700,-1661.2030000,-37.9466600,0.0000000,0.0000000,0.0000000);
  42217. CreateDynamicObject(2164,1579.8538800,-1653.2137500,-37.9456000,0.0000000,0.0000000,-90.0000000);
  42218. CreateDynamicObject(2164,1600.6512500,-1653.0716600,-37.9456000,0.0000000,0.0000000,-90.0000000);
  42219. CreateDynamicObject(2164,1590.2652600,-1653.4047900,-37.9456000,0.0000000,0.0000000,-90.0000000);
  42220. CreateDynamicObject(19450,1616.6077900,-1674.7099600,-36.2000000,0.0000000,0.0000000,90.0000000);
  42221. CreateDynamicObject(16378,1572.1811500,-1672.3878200,-37.1705000,0.0000000,0.0000000,-90.0000000);
  42222. CreateDynamicObject(2166,1571.2653800,-1668.6314700,-37.9441000,0.0000000,0.0000000,-90.0000000);
  42223. CreateDynamicObject(2165,1572.2740500,-1672.5556600,-37.9445000,0.0000000,0.0000000,-90.0000000);
  42224. CreateDynamicObject(1722,1571.0343000,-1673.2097200,-37.9458000,0.0000000,0.0000000,-55.0000000);
  42225. CreateDynamicObject(1721,1573.9488500,-1672.3136000,-37.9453000,0.0000000,0.0000000,76.0000000);
  42226. CreateDynamicObject(2617,1571.6715100,-1665.2202100,-37.3257000,0.0000000,0.0000000,50.0000000);
  42227. CreateDynamicObject(1710,1579.2319300,-1662.3703600,-37.9504400,0.0000000,0.0000000,0.0000000);
  42228. CreateDynamicObject(1710,1591.1353800,-1662.2974900,-37.9504400,0.0000000,0.0000000,0.0000000);
  42229. CreateDynamicObject(1710,1600.5932600,-1662.1577100,-37.9504400,0.0000000,0.0000000,0.0000000);
  42230. CreateDynamicObject(1709,1612.2397500,-1668.4499500,-37.9572000,0.0000000,0.0000000,-90.0000000);
  42231. CreateDynamicObject(1709,1607.6475800,-1663.2434100,-37.9571900,0.0000000,0.0000000,0.0000000);
  42232. CreateDynamicObject(1710,1596.9658200,-1674.1523400,-37.9504000,0.0000000,0.0000000,180.0000000);
  42233. CreateDynamicObject(1710,1607.9400600,-1674.1344000,-37.9504000,0.0000000,0.0000000,180.0000000);
  42234. CreateDynamicObject(1710,1584.7023900,-1674.2235100,-37.9504000,0.0000000,0.0000000,180.0000000);
  42235. CreateDynamicObject(1710,1590.7334000,-1674.1569800,-37.9504000,0.0000000,0.0000000,180.0000000);
  42236. CreateDynamicObject(1823,1610.1163300,-1674.4962200,-37.9559700,0.0000000,0.0000000,0.0000000);
  42237. CreateDynamicObject(1823,1602.4277300,-1674.5944800,-37.9559700,0.0000000,0.0000000,0.0000000);
  42238. CreateDynamicObject(1823,1597.7421900,-1674.7058100,-37.9559700,0.0000000,0.0000000,0.0000000);
  42239. CreateDynamicObject(1823,1591.4024700,-1674.5931400,-37.9559700,0.0000000,0.0000000,0.0000000);
  42240. CreateDynamicObject(1823,1585.3763400,-1674.7434100,-37.9559700,0.0000000,0.0000000,0.0000000);
  42241. CreateDynamicObject(1823,1579.2866200,-1674.6706500,-37.9559700,0.0000000,0.0000000,0.0000000);
  42242. CreateDynamicObject(1823,1589.4669200,-1662.7042200,-37.9559700,0.0000000,0.0000000,0.0000000);
  42243. CreateDynamicObject(1823,1577.3448500,-1662.7325400,-37.9559700,0.0000000,0.0000000,0.0000000);
  42244. CreateDynamicObject(1823,1583.5532200,-1662.7995600,-37.9559700,0.0000000,0.0000000,0.0000000);
  42245. CreateDynamicObject(1823,1595.5100100,-1662.7712400,-37.9559700,0.0000000,0.0000000,0.0000000);
  42246. CreateDynamicObject(1823,1598.7231400,-1662.7836900,-37.9559700,0.0000000,0.0000000,0.0000000);
  42247. CreateDynamicObject(1823,1605.3798800,-1662.8325200,-37.9559700,0.0000000,0.0000000,0.0000000);
  42248. CreateDynamicObject(1823,1613.6644300,-1666.1535600,-37.9560000,0.0000000,0.0000000,90.0000000);
  42249. CreateDynamicObject(3963,1570.2371800,-1687.5054900,-35.9467000,0.0000000,0.0000000,90.0000000);
  42250. CreateDynamicObject(3963,1594.4146700,-1674.8153100,-35.9467000,0.0000000,0.0000000,180.0000000);
  42251. CreateDynamicObject(3963,1554.6927500,-1667.4762000,-35.9467000,0.0000000,0.0000000,-90.0000000);
  42252. CreateDynamicObject(3963,1562.7587900,-1661.6950700,-35.9467000,0.0000000,0.0000000,180.0000000);
  42253. CreateDynamicObject(3964,1557.8436300,-1661.7183800,-35.8791000,0.0000000,0.0000000,-90.0000000);
  42254. CreateDynamicObject(3964,1554.7032500,-1680.2307100,-35.8791000,0.0000000,0.0000000,0.0000000);
  42255. CreateDynamicObject(3962,1590.3762200,-1680.5889900,-35.8778000,0.0000000,0.0000000,180.0000000);
  42256. CreateDynamicObject(3962,1564.2747800,-1672.5673800,-35.8778000,0.0000000,0.0000000,0.0000000);
  42257. CreateDynamicObject(3963,1570.2370600,-1680.9052700,-35.9467000,0.0000000,0.0000000,90.0000000);
  42258. CreateDynamicObject(3964,1554.7099600,-1672.3886700,-35.8791000,0.0000000,0.0000000,0.0000000);
  42259. CreateDynamicObject(3963,1567.0459000,-1661.7125200,-35.9467000,0.0000000,0.0000000,180.0000000);
  42260. CreateDynamicObject(3963,1598.1682100,-1674.8221400,-35.9467000,0.0000000,0.0000000,180.0000000);
  42261. CreateDynamicObject(3963,1602.3811000,-1672.9732700,-35.9467000,0.0000000,0.0000000,180.0000000);
  42262. CreateDynamicObject(3963,1579.8394800,-1656.8426500,-35.9467000,0.0000000,0.0000000,90.0000000);
  42263. CreateDynamicObject(3963,1603.8409400,-1674.8291000,-35.9467000,0.0000000,0.0000000,180.0000000);
  42264. CreateDynamicObject(3963,1600.6591800,-1656.8364300,-35.9467000,0.0000000,0.0000000,90.0000000);
  42265. CreateDynamicObject(3963,1590.3148200,-1656.8789100,-35.9467000,0.0000000,0.0000000,90.0000000);
  42266. CreateDynamicObject(3964,1545.9827900,-1639.3859900,-39.4982000,0.0000000,0.0000000,-90.0000000);
  42267. CreateDynamicObject(14455,1552.7927200,-1639.4592300,-39.9430000,0.0000000,0.0000000,180.0000000);
  42268. CreateDynamicObject(2010,1543.7680700,-1661.1047400,-41.5966600,0.0000000,0.0000000,0.0000000);
  42269. CreateDynamicObject(2200,1543.4050300,-1648.2744100,-41.5956000,0.0000000,0.0000000,90.0000000);
  42270. CreateDynamicObject(2200,1543.4090600,-1643.7279100,-41.5956000,0.0000000,0.0000000,90.0000000);
  42271. CreateDynamicObject(2200,1543.4134500,-1646.0267300,-41.5956000,0.0000000,0.0000000,90.0000000);
  42272. CreateDynamicObject(2200,1543.4106400,-1650.5192900,-41.5956000,0.0000000,0.0000000,90.0000000);
  42273. CreateDynamicObject(2204,1553.3975800,-1643.2824700,-41.5954000,0.0000000,0.0000000,-90.0000000);
  42274. CreateDynamicObject(2204,1553.4848600,-1646.3039600,-41.5954000,0.0000000,0.0000000,-90.0000000);
  42275. CreateDynamicObject(2186,1553.1611300,-1641.7972400,-41.5977000,0.0000000,0.0000000,90.0000000);
  42276. CreateDynamicObject(2010,1543.6189000,-1639.9555700,-41.5966600,0.0000000,0.0000000,0.0000000);
  42277. CreateDynamicObject(2010,1543.7738000,-1653.2346200,-41.5966600,0.0000000,0.0000000,0.0000000);
  42278. CreateDynamicObject(2010,1553.1286600,-1653.3299600,-41.5966600,0.0000000,0.0000000,0.0000000);
  42279. CreateDynamicObject(2010,1553.2320600,-1660.8658400,-41.5966600,0.0000000,0.0000000,0.0000000);
  42280. CreateDynamicObject(1808,1543.5037800,-1635.4019800,-41.5958000,0.0000000,0.0000000,90.0000000);
  42281. CreateDynamicObject(1502,1551.1951900,-1639.2835700,-41.5922000,0.0000000,0.0000000,0.0000000);
  42282. CreateDynamicObject(2013,1545.8155500,-1638.7108200,-41.7353000,0.0000000,0.0000000,180.0000000);
  42283. CreateDynamicObject(2017,1547.7503700,-1638.7353500,-41.7353000,0.0000000,0.0000000,180.0000000);
  42284. CreateDynamicObject(2016,1546.7756300,-1638.7353500,-41.7403000,0.0000000,0.0000000,180.0000000);
  42285. CreateDynamicObject(2016,1543.8210400,-1638.7353500,-41.7403000,0.0000000,0.0000000,180.0000000);
  42286. CreateDynamicObject(2016,1548.7419400,-1638.7353500,-41.7403000,0.0000000,0.0000000,180.0000000);
  42287. CreateDynamicObject(1780,1543.7663600,-1636.7310800,-40.5801000,0.0000000,0.0000000,-90.0000000);
  42288. CreateDynamicObject(19450,1548.9088100,-1630.1193800,-39.8400000,0.0000000,0.0000000,90.0000000);
  42289. CreateDynamicObject(19450,1543.1572300,-1627.9405500,-39.8400000,0.0000000,0.0000000,0.0000000);
  42290. CreateDynamicObject(19450,1539.4791300,-1630.1193800,-39.8400000,0.0000000,0.0000000,90.0000000);
  42291. CreateDynamicObject(2298,1549.5966800,-1631.6348900,-41.5929000,0.0000000,0.0000000,-90.0000000);
  42292. CreateDynamicObject(2091,1543.3784200,-1633.6562500,-41.5938000,0.0000000,0.0000000,90.0000000);
  42293. CreateDynamicObject(2104,1543.2430400,-1631.1275600,-41.5937000,0.0000000,0.0000000,90.0000000);
  42294. CreateDynamicObject(2104,1543.2014200,-1634.2481700,-41.5937000,0.0000000,0.0000000,90.0000000);
  42295. CreateDynamicObject(18608,1548.2729500,-1642.8491200,-37.3889000,0.0000000,0.0000000,0.0000000);
  42296. CreateDynamicObject(19379,1548.6110800,-1634.5745800,-38.0300000,0.0000000,90.0000000,0.0000000);
  42297. CreateDynamicObject(1649,1568.0564000,-1676.2197300,-38.3906000,0.0000000,0.0000000,180.0000000);
  42298. CreateDynamicObject(1649,1568.0507800,-1668.8713400,-38.3906000,0.0000000,0.0000000,0.0000000);
  42299. CreateDynamicObject(19379,1611.4499500,-1682.5899700,-34.3862000,0.0000000,90.0000000,0.0000000);
  42300. CreateDynamicObject(19379,1600.9499500,-1682.5899700,-34.3862000,0.0000000,90.0000000,0.0000000);
  42301. CreateDynamicObject(19379,1590.4843800,-1682.5899700,-34.3862000,0.0000000,90.0000000,0.0000000);
  42302. CreateDynamicObject(19379,1580.0260000,-1682.5899700,-34.3862000,0.0000000,90.0000000,0.0000000);
  42303. CreateDynamicObject(19379,1569.5249000,-1682.5899700,-34.3862000,0.0000000,90.0000000,0.0000000);
  42304. CreateDynamicObject(19379,1559.0345500,-1682.5899700,-34.3862000,0.0000000,90.0000000,0.0000000);
  42305. CreateDynamicObject(19379,1559.0345500,1559.0345500,-34.3862000,0.0000000,90.0000000,0.0000000);
  42306. CreateDynamicObject(19379,1569.5249000,-1692.2143600,-34.3862000,0.0000000,90.0000000,0.0000000);
  42307. CreateDynamicObject(19379,1559.0345500,-1692.2143600,-34.3862000,0.0000000,90.0000000,0.0000000);
  42308. CreateDynamicObject(19379,1569.5249000,-1701.8660900,-34.3862000,0.0000000,90.0000000,0.0000000);
  42309. CreateDynamicObject(19379,1559.0345500,-1701.8660900,-34.3862000,0.0000000,90.0000000,0.0000000);
  42310. CreateDynamicObject(19379,1611.4499500,-1672.9799800,-34.3862000,0.0000000,90.0000000,0.0000000);
  42311. CreateDynamicObject(19379,1611.4499500,-1663.3800000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42312. CreateDynamicObject(19379,1611.4499500,-1653.7644000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42313. CreateDynamicObject(19379,1611.4668000,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42314. CreateDynamicObject(19379,1611.4499500,-1644.1490500,-34.3862000,0.0000000,90.0000000,0.0000000);
  42315. CreateDynamicObject(19379,1600.9499500,-1672.9799800,-34.3862000,0.0000000,90.0000000,0.0000000);
  42316. CreateDynamicObject(19379,1600.9499500,-1663.3800000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42317. CreateDynamicObject(19379,1600.9499500,-1653.7644000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42318. CreateDynamicObject(19379,1590.4843800,-1672.9799800,-34.3862000,0.0000000,90.0000000,0.0000000);
  42319. CreateDynamicObject(19379,1590.4843800,-1663.3800000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42320. CreateDynamicObject(19379,1590.4843800,-1653.7644000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42321. CreateDynamicObject(19379,1580.0260000,-1672.9799800,-34.3862000,0.0000000,90.0000000,0.0000000);
  42322. CreateDynamicObject(19379,1580.0260000,-1663.3800000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42323. CreateDynamicObject(19379,1580.0260000,-1653.7644000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42324. CreateDynamicObject(19379,1569.5249000,-1663.3800000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42325. CreateDynamicObject(19379,1569.5249000,-1653.7644000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42326. CreateDynamicObject(19379,1559.0345500,-1672.9799800,-34.3862000,0.0000000,90.0000000,0.0000000);
  42327. CreateDynamicObject(19379,1559.0345500,-1663.3800000,-34.3862000,0.0000000,90.0000000,0.0000000);
  42328. CreateDynamicObject(19379,1548.6110800,-1644.1490500,-38.0300000,0.0000000,90.0000000,0.0000000);
  42329. CreateDynamicObject(19379,1569.5249000,-1672.9689900,-38.0300000,0.0000000,90.0000000,0.0000000);
  42330. CreateDynamicObject(19379,1569.5249000,-1672.9799800,-34.3862000,0.0000000,90.0000000,0.0000000);
  42331. }
  42332. /*stock LoadTollBooths()
  42333. {
  42334. printf("Loading - Mapping for Toll Booths were loaded.");
  42335. // LS-LV
  42336. CreateDynamicObject(8168, 1789.83203125, 703.189453125, 15.846367835999, 0.000000, 3, 99.24951171875, -1);
  42337. CreateDynamicObject(8168, 1784.8334960938, 703.94799804688, 16.070636749268, 0.000000, 357, 278.61096191406, -1);
  42338. CreateDynamicObject(966, 1781.4122314453, 697.32531738281, 14.636913299561, 0.000000, 0.000000, 348.09008789063, -1);
  42339. CreateDynamicObject(996, 1767.3087158203, 700.50506591797, 15.281567573547, 0.000000, 0.000000, 346.10510253906, -1);
  42340. CreateDynamicObject(997, 1781.6832275391, 697.34796142578, 14.698781013489, 0.000000, 3, 77.41455078125, -1);
  42341. CreateDynamicObject(997, 1792.7745361328, 706.38543701172, 13.948781013489, 0.000000, 2.999267578125, 81.379638671875, -1);
  42342. CreateDynamicObject(966, 1793.4289550781, 709.87982177734, 13.636913299561, 0.000000, 0.000000, 169.43664550781, -1);
  42343. CreateDynamicObject(996, 1800.8060302734, 708.38299560547, 14.281567573547, 0.000000, 0.000000, 346.10229492188, -1);
  42344. tollObject2 = CreateDynamicObject(968, 1781.4133300781, 697.31750488281, 15.420023918152, 0.000000, -90.000000, 348.10229492188, -1);
  42345. tollObject1 = CreateDynamicObject(968, 1793.6700439453, 709.84631347656, 14.405718803406, 0.000000, -90.000000, 169.43664550781, -1);
  42346. //Richman
  42347. CreateDynamicObject( 8168, 612.73895263672, -1191.4602050781, 20.294105529785, 0.000000, 5, 318.31237792969, -1 );
  42348. CreateDynamicObject( 8168, 620.47265625, -1188.49609375, 20.044105529785, 0.000000, 352.99621582031, 138.94409179688, -1 );
  42349. CreateDynamicObject( 966, 613.97229003906, -1197.7174072266, 17.475030899048, 0.000000, 0.000000, 23.81982421875, -1 );
  42350. CreateDynamicObject( 997, 614.33209228516, -1194.3870849609, 17.709369659424, 0.000000, 0.000000, 266.70568847656, -1 );
  42351. CreateDynamicObject( 973, 602.98425292969, -1202.1643066406, 18.000516891479, 0.000000, 0.000000, 19.849853515625, -1 );
  42352. tollObject3 = CreateDynamicObject( 968, 613.8935546875, -1197.7329101563, 18.109180450439, 0.000000, -90.000000, 23.81982421875, -1 );
  42353. CreateDynamicObject( 966, 619.42913818359, -1181.6597900391, 18.725030899048, 0.000000, 0.000000, 214.37744140625, -1 );
  42354. CreateDynamicObject( 973, 629.68823242188, -1176.0551757813, 19.500516891479, 0.000000, 0.000000, 21.831787109375, -1 );
  42355. CreateDynamicObject( 997, 619.26574707031, -1181.6518554688, 18.709369659424, 0.000000, 0.000000, 268.68908691406, -1 );
  42356. tollObject4 = CreateDynamicObject( 968, 619.44201660156, -1181.6903076172, 19.525806427002, 0.000000, -90.000000, 214.37744140625, -1 );
  42357. //Flint
  42358. CreateDynamicObject( 8168, 61.256042480469, -1533.3946533203, 6.1042537689209, 0.000000, 0.000000, 9.9252624511719, -1 );
  42359. CreateDynamicObject( 8168, 40.966598510742, -1529.5725097656, 6.1042537689209, 0.000000, 0.000000, 188.5712890625, -1 );
  42360. tollObject5 = CreateDynamicObject( 968, 35.838928222656, -1525.9034423828, 5.0012145042419, 0.000000, -90.000000, 270.67565917969, -1 );
  42361. CreateDynamicObject( 966, 35.889751434326, -1526.0096435547, 4.2410612106323, 0.000000, 0.000000, 270.67565917969, -1 );
  42362. CreateDynamicObject( 966, 67.093727111816, -1536.8275146484, 3.9910612106323, 0.000000, 0.000000, 87.337799072266, -1 );
  42363. tollObject6 = CreateDynamicObject( 968, 67.116600036621, -1536.8218994141, 4.7504549026489, 0.000000, -90.000000, 87.337799072266, -1 );
  42364. CreateDynamicObject( 973, 52.9794921875, -1531.9252929688, 5.090488910675, 0.000000, 0.000000, 352.06005859375, -1 );
  42365. CreateDynamicObject( 973, 49.042072296143, -1531.5065917969, 5.1758694648743, 0.000000, 0.000000, 352.05688476563, -1 );
  42366. CreateDynamicObject( 997, 68.289916992188, -1546.6020507813, 4.0626411437988, 0.000000, 0.000000, 119.09942626953, -1 );
  42367. CreateDynamicObject( 997, 34.5198097229, -1516.1402587891, 4.0626411437988, 0.000000, 0.000000, 292.50622558594, -1 );
  42368. CreateDynamicObject( 997, 35.903915405273, -1525.8717041016, 4.0626411437988, 0.000000, 0.000000, 342.13012695313, -1 );
  42369. CreateDynamicObject( 997, 63.914081573486, -1535.7126464844, 4.0626411437988, 0.000000, 0.000000, 342.130859375, -1 );
  42370. return true;
  42371. }*/
  42372. stock LoadPrisonMapping()
  42373. {
  42374. CreateDynamicObject(4079, -333.91153, 1529.67932, 86.99270, 0.00000, 0.00000, 50.27999);
  42375. CreateDynamicObject(19913, -343.56723, 1556.44446, 60.04720, 0.00000, 90.00000, -44.94000);
  42376. CreateDynamicObject(987, -295.63504, 1507.08521, 74.07851, 0.00000, 0.00000, -314.94000);
  42377. CreateDynamicObject(987, -287.18655, 1515.55664, 74.07851, 0.00000, 0.00000, -314.94000);
  42378. CreateDynamicObject(987, -278.68756, 1523.96985, 74.07851, 0.00000, 0.00000, -319.38007);
  42379. CreateDynamicObject(987, -269.58188, 1531.76257, 74.07851, 0.00000, 0.00000, -317.52014);
  42380. CreateDynamicObject(987, -265.21896, 1535.73901, 74.07851, 0.00000, 0.00000, -317.52014);
  42381. CreateDynamicObject(987, -256.37875, 1543.70361, 74.07851, 0.00000, 0.00000, -227.64012);
  42382. CreateDynamicObject(987, -264.37643, 1552.55457, 74.07851, 0.00000, 0.00000, -227.64012);
  42383. CreateDynamicObject(987, -272.44910, 1561.39832, 74.07851, 0.00000, 0.00000, -219.42012);
  42384. CreateDynamicObject(987, -281.67026, 1568.97571, 74.07851, 0.00000, 0.00000, -224.04004);
  42385. CreateDynamicObject(987, -290.26233, 1577.29163, 74.07851, 0.00000, 0.00000, -224.04004);
  42386. CreateDynamicObject(987, -294.57056, 1581.44812, 74.07851, 0.00000, 0.00000, -224.04004);
  42387. CreateDynamicObject(987, -303.08661, 1589.77502, 74.07851, 0.00000, 0.00000, -135.66002);
  42388. CreateDynamicObject(987, -311.64777, 1581.44104, 74.07851, 0.00000, 0.00000, -135.66002);
  42389. CreateDynamicObject(987, -320.19189, 1573.14722, 74.07851, 0.00000, 0.00000, -135.66002);
  42390. CreateDynamicObject(987, -328.68732, 1564.88818, 74.07851, 0.00000, 0.00000, -135.66002);
  42391. CreateDynamicObject(19447, -333.43536, 1566.32483, 76.17900, 90.00000, 0.00000, 96.96002);
  42392. CreateDynamicObject(19447, -336.87286, 1565.89600, 76.17900, 90.00000, 0.00000, 96.96002);
  42393. CreateDynamicObject(19447, -337.35916, 1565.44104, 76.17900, 90.00000, 0.00000, 62.46003);
  42394. CreateDynamicObject(19313, -342.50076, 1565.28345, 77.79948, 0.00000, 0.00000, -134.82004);
  42395. CreateDynamicObject(19313, -332.61157, 1575.21350, 77.79948, 0.00000, 0.00000, -134.82004);
  42396. CreateDynamicObject(19313, -322.71588, 1585.10205, 77.79948, 0.00000, 0.00000, -135.06004);
  42397. CreateDynamicObject(19313, -317.13977, 1590.72986, 77.79948, 0.00000, 0.00000, -135.06004);
  42398. CreateDynamicObject(19313, -317.06528, 1600.58801, 77.79948, 0.00000, 0.00000, -45.06005);
  42399. CreateDynamicObject(19313, -326.87451, 1610.48865, 77.79948, 0.00000, 0.00000, -45.06005);
  42400. CreateDynamicObject(19313, -336.74527, 1620.40906, 77.79948, 0.00000, 0.00000, -45.06005);
  42401. CreateDynamicObject(19313, -342.44379, 1626.05664, 77.79948, 0.00000, 0.00000, -45.06005);
  42402. CreateDynamicObject(19313, -352.39557, 1626.09082, 78.02879, 0.00000, 0.00000, 44.87995);
  42403. CreateDynamicObject(19313, -362.28955, 1616.21863, 78.02879, 0.00000, 0.00000, 44.87995);
  42404. CreateDynamicObject(19313, -372.15689, 1606.38672, 78.02879, 0.00000, 0.00000, 44.87995);
  42405. CreateDynamicObject(19313, -377.79404, 1600.66956, 78.02879, 0.00000, 0.00000, 44.87995);
  42406. CreateDynamicObject(19313, -377.80908, 1590.76355, 77.79948, 0.00000, 0.00000, -45.06005);
  42407. CreateDynamicObject(19313, -352.45721, 1565.26587, 77.79948, 0.00000, 0.00000, -45.06005);
  42408. CreateDynamicObject(19313, -360.12531, 1573.00623, 77.79948, 0.00000, 0.00000, -45.06005);
  42409. CreateDynamicObject(19313, -375.92673, 1588.91614, 77.79948, 0.00000, 0.00000, -45.06005);
  42410. CreateDynamicObject(10575, -328.13745, 1493.14221, 76.18545, 0.00000, 0.00000, 94.85999);
  42411. CreateDynamicObject(19859, -359.64038, 1534.90894, 75.54964, 0.00000, 0.00000, -84.66000);
  42412. CreateDynamicObject(19859, -359.34958, 1531.95178, 75.54964, 0.00000, 0.00000, -263.93994);
  42413. CreateDynamicObject(19313, -347.21860, 1507.27588, 77.79720, 0.00000, 0.00000, -182.04010);
  42414. CreateDynamicObject(19313, -361.20239, 1507.19763, 77.79720, 0.00000, 0.00000, -177.72009);
  42415. CreateDynamicObject(19313, -375.16547, 1506.98840, 77.79723, 0.00000, 0.00000, -180.60008);
  42416. CreateDynamicObject(19313, -389.16800, 1507.08655, 77.79720, 0.00000, 0.00000, -180.60010);
  42417. CreateDynamicObject(19313, -403.12921, 1507.17737, 77.79720, 0.00000, 0.00000, -180.60010);
  42418. CreateDynamicObject(19313, -409.86459, 1514.09216, 77.79720, 0.00000, 0.00000, -271.62009);
  42419. CreateDynamicObject(19313, -409.48611, 1528.09485, 77.79720, 0.00000, 0.00000, -271.62009);
  42420. CreateDynamicObject(19313, -409.12909, 1542.01306, 77.77979, 0.00000, 0.00000, -271.62009);
  42421. CreateDynamicObject(19313, -408.77316, 1555.95996, 77.77979, 0.00000, 0.00000, -271.62009);
  42422. CreateDynamicObject(19313, -408.34433, 1569.92822, 77.77979, 0.00000, 0.00000, -271.62009);
  42423. CreateDynamicObject(19313, -407.99338, 1583.93030, 77.77979, 0.00000, 0.00000, -271.62009);
  42424. CreateDynamicObject(19313, -403.25830, 1596.22192, 77.77979, 0.00000, 0.00000, -310.20010);
  42425. CreateDynamicObject(19313, -394.24344, 1606.91235, 77.77979, 0.00000, 0.00000, -310.20010);
  42426. CreateDynamicObject(19313, -384.36270, 1616.65430, 77.77979, 0.00000, 0.00000, -320.70013);
  42427. CreateDynamicObject(19313, -373.56219, 1625.50647, 77.77979, 0.00000, 0.00000, -320.70013);
  42428. CreateDynamicObject(19313, -362.96750, 1634.61816, 77.77979, 0.00000, 0.00000, -318.36020);
  42429. CreateDynamicObject(19313, -352.62131, 1643.93567, 77.77979, 0.00000, 0.00000, -318.36020);
  42430. CreateDynamicObject(19313, -342.97171, 1643.24390, 77.77979, 0.00000, 0.00000, -409.98010);
  42431. CreateDynamicObject(19313, -333.97900, 1632.53503, 77.77979, 0.00000, 0.00000, -409.98010);
  42432. CreateDynamicObject(19313, -324.94760, 1621.87231, 77.77979, 0.00000, 0.00000, -409.98010);
  42433. CreateDynamicObject(19313, -315.93204, 1611.27441, 77.77979, 0.00000, 0.00000, -409.98010);
  42434. CreateDynamicObject(19313, -308.30704, 1599.63623, 77.77979, 0.00000, 0.00000, -423.72006);
  42435. CreateDynamicObject(19313, -306.49167, 1595.94641, 77.77979, 0.00000, 0.00000, -423.72006);
  42436. CreateDynamicObject(19313, -364.57062, 1517.54224, 77.79720, 0.00000, 0.00000, -180.60010);
  42437. CreateDynamicObject(19313, -378.48410, 1517.69995, 77.79720, 0.00000, 0.00000, -180.60010);
  42438. CreateDynamicObject(19313, -392.44077, 1517.85364, 77.79720, 0.00000, 0.00000, -180.60010);
  42439. CreateDynamicObject(19313, -399.11136, 1525.08850, 77.79720, 0.00000, 0.00000, -271.62009);
  42440. CreateDynamicObject(19313, -398.69754, 1539.12024, 77.79720, 0.00000, 0.00000, -271.62009);
  42441. CreateDynamicObject(985, -398.41510, 1550.05298, 75.61630, 0.00000, 0.00000, -90.90000);
  42442. CreateDynamicObject(985, -398.30252, 1557.93750, 75.61635, 0.00000, 0.00000, -270.96005);
  42443. CreateDynamicObject(19313, -398.06290, 1568.85571, 77.79720, 0.00000, 0.00000, -271.62009);
  42444. CreateDynamicObject(19313, -394.06058, 1581.78418, 77.79720, 0.00000, 0.00000, -302.40009);
  42445. CreateDynamicObject(19313, -385.52231, 1592.84363, 77.79720, 0.00000, 0.00000, -313.38004);
  42446. CreateDynamicObject(19313, -308.30704, 1599.63623, 71.25690, 0.00000, 0.00000, -423.72006);
  42447. CreateDynamicObject(19313, -315.93204, 1611.27441, 71.19181, 0.00000, 0.00000, -409.98010);
  42448. CreateDynamicObject(19313, -324.94760, 1621.87231, 71.19425, 0.00000, 0.00000, -409.98010);
  42449. CreateDynamicObject(19313, -333.97900, 1632.53503, 71.17497, 0.00000, 0.00000, -409.98010);
  42450. CreateDynamicObject(19313, -342.97171, 1643.24390, 71.17102, 0.00000, 0.00000, -409.98010);
  42451. CreateDynamicObject(19313, -352.62131, 1643.93567, 71.18545, 0.00000, 0.00000, -318.36020);
  42452. CreateDynamicObject(19313, -362.96750, 1634.61816, 71.19102, 0.00000, 0.00000, -318.36020);
  42453. CreateDynamicObject(19313, -373.56219, 1625.50647, 71.16590, 0.00000, 0.00000, -320.70013);
  42454. CreateDynamicObject(19313, -384.36270, 1616.65430, 71.16825, 0.00000, 0.00000, -320.70013);
  42455. CreateDynamicObject(19313, -394.24344, 1606.91235, 71.18106, 0.00000, 0.00000, -310.20010);
  42456. CreateDynamicObject(19313, -403.25830, 1596.22192, 71.11817, 0.00000, 0.00000, -310.20010);
  42457. CreateDynamicObject(19313, -407.99338, 1583.93030, 71.17803, 0.00000, 0.00000, -271.62009);
  42458. CreateDynamicObject(19313, -408.34433, 1569.92822, 71.24378, 0.00000, 0.00000, -271.62009);
  42459. CreateDynamicObject(19313, -408.77316, 1555.95996, 71.19431, 0.00000, 0.00000, -271.62009);
  42460. CreateDynamicObject(19313, -409.12909, 1542.01306, 71.24368, 0.00000, 0.00000, -271.62009);
  42461. CreateDynamicObject(19313, -409.48611, 1528.09485, 71.23761, 0.00000, 0.00000, -271.62009);
  42462. CreateDynamicObject(19313, -409.86459, 1514.09216, 71.22744, 0.00000, 0.00000, -271.62009);
  42463. CreateDynamicObject(19313, -403.12921, 1507.17737, 71.22330, 0.00000, 0.00000, -180.60010);
  42464. CreateDynamicObject(19313, -389.16800, 1507.08655, 71.29904, 0.00000, 0.00000, -180.60010);
  42465. CreateDynamicObject(8168, -293.34879, 1503.24023, 76.56230, 0.00000, 0.00000, -69.78000);
  42466. CreateDynamicObject(3279, -405.23773, 1512.32983, 73.11200, 0.00000, 0.00000, -0.30000);
  42467. CreateDynamicObject(3279, -401.63965, 1589.38147, 71.35230, 0.00000, 0.00000, -36.36000);
  42468. CreateDynamicObject(3279, -349.64987, 1638.10596, 71.35230, 0.00000, 0.00000, -135.59999);
  42469. CreateDynamicObject(967, -309.42172, 1504.56360, 74.63560, 0.00000, 0.00000, -89.16001);
  42470. CreateDynamicObject(966, -309.03381, 1506.07141, 74.63560, 0.00000, 0.00000, -178.08009);
  42471. CreateDynamicObject(966, -295.34637, 1506.60901, 74.63560, 0.00000, 0.00000, -357.06003);
  42472. CreateDynamicObject(970, -314.95313, 1507.39246, 75.02563, 0.00000, 0.00000, 0.00000);
  42473. CreateDynamicObject(970, -310.79062, 1507.39258, 75.02563, 0.00000, 0.00000, 0.00000);
  42474. CreateDynamicObject(19859, -354.30200, 1510.98267, 75.81992, 0.00000, 0.00000, -40.44000);
  42475. CreateDynamicObject(1372, -359.16663, 1525.14343, 74.55180, 0.00000, 0.00000, -90.00000);
  42476. CreateDynamicObject(1328, -359.34448, 1526.52185, 74.98618, 0.00000, 0.00000, 0.00000);
  42477. CreateDynamicObject(1328, -359.28369, 1523.53748, 74.98618, 0.00000, 0.00000, 0.00000);
  42478. CreateDynamicObject(1968, -377.86902, 1560.79187, 75.08837, 0.00000, 0.00000, 58.26003);
  42479. CreateDynamicObject(1968, -375.17935, 1559.20947, 75.08837, 0.00000, 0.00000, 58.26003);
  42480. CreateDynamicObject(1969, -379.73383, 1554.54346, 75.08840, 0.00000, 0.00000, -2.52000);
  42481. CreateDynamicObject(1969, -379.61963, 1552.24121, 75.08840, 0.00000, 0.00000, -2.52000);
  42482. CreateDynamicObject(3496, -336.08676, 1583.79504, 75.18821, 0.00000, 0.00000, 46.19998);
  42483. CreateDynamicObject(3496, -357.50641, 1605.56665, 75.18821, 0.00000, 0.00000, -132.60002);
  42484. CreateDynamicObject(1368, -347.53751, 1575.38293, 76.24530, 0.00000, 0.00000, 133.50000);
  42485. CreateDynamicObject(1368, -350.45041, 1578.41052, 76.24530, 0.00000, 0.00000, 133.50000);
  42486. CreateDynamicObject(1368, -353.75433, 1581.75061, 76.24525, 0.00000, 0.00000, 133.50002);
  42487. CreateDynamicObject(1330, -356.16782, 1583.35999, 76.09590, 0.00000, 0.00000, 0.00000);
  42488. CreateDynamicObject(1968, -368.11209, 1545.16394, 75.08837, 0.00000, 0.00000, -7.97996);
  42489. CreateDynamicObject(1968, -368.71762, 1541.04651, 75.08837, 0.00000, 0.00000, -7.97996);
  42490. CreateDynamicObject(1968, -375.05832, 1546.31848, 75.08837, 0.00000, 0.00000, -7.97996);
  42491. CreateDynamicObject(1968, -375.64215, 1542.15417, 75.08837, 0.00000, 0.00000, -7.97996);
  42492. CreateDynamicObject(2628, -374.77039, 1586.22363, 75.07298, 0.00000, 0.00000, -44.76003);
  42493. CreateDynamicObject(2628, -377.21310, 1588.60376, 75.10690, 0.00000, 0.00000, -44.76003);
  42494. CreateDynamicObject(2628, -380.12967, 1591.55273, 75.10366, 0.00000, 0.00000, -44.76003);
  42495. CreateDynamicObject(2630, -382.80664, 1591.68933, 74.93771, 0.00000, 0.00000, 0.00000);
  42496. CreateDynamicObject(2630, -385.41760, 1589.45740, 74.93771, 0.00000, 0.00000, 35.22000);
  42497. CreateDynamicObject(2629, -386.83823, 1581.94019, 74.98808, 0.00000, 0.00000, 134.93991);
  42498. CreateDynamicObject(2630, -388.00320, 1585.90161, 74.93771, 0.00000, 0.00000, 35.22000);
  42499. CreateDynamicObject(2629, -384.66931, 1579.77856, 74.97125, 0.00000, 0.00000, 134.93991);
  42500. CreateDynamicObject(2629, -382.51233, 1577.68884, 74.95450, 0.00000, 0.00000, 134.93991);
  42501. CreateDynamicObject(2632, -386.07544, 1581.12915, 74.93770, 0.00000, 0.00000, 134.93990);
  42502. CreateDynamicObject(2632, -383.24139, 1578.29260, 74.93770, 0.00000, 0.00000, 134.93990);
  42503. CreateDynamicObject(2631, -375.17770, 1586.77026, 75.06235, 0.00000, 0.00000, 134.93990);
  42504. CreateDynamicObject(2631, -377.94199, 1589.55664, 75.06235, 0.00000, 0.00000, 134.93990);
  42505. CreateDynamicObject(2631, -380.75107, 1592.36829, 75.06235, 0.00000, 0.00000, 134.93990);
  42506. CreateDynamicObject(1969, -368.13950, 1552.94690, 75.08840, 0.00000, 0.00000, 90.00000);
  42507. CreateDynamicObject(1969, -372.89301, 1552.79138, 75.08840, 0.00000, 0.00000, 90.00000);
  42508. CreateDynamicObject(3864, -400.17612, 1543.99231, 80.27838, 0.00000, 0.00000, -179.63997);
  42509. CreateDynamicObject(3864, -399.93124, 1563.95361, 80.27838, 0.00000, 0.00000, -179.63997);
  42510. CreateDynamicObject(1330, -362.15601, 1589.06836, 76.27642, 0.00000, 0.00000, 0.00000);
  42511. CreateDynamicObject(1368, -363.33871, 1590.31775, 76.59116, 0.00000, 0.00000, 133.50002);
  42512. CreateDynamicObject(1368, -366.38580, 1593.55054, 76.59116, 0.00000, 0.00000, 133.50002);
  42513. CreateDynamicObject(3496, -336.48190, 1604.53430, 75.18820, 0.00000, 0.00000, -224.10005);
  42514. CreateDynamicObject(2945, -381.17838, 1526.12207, 75.83885, 0.00000, 0.00000, 0.00000);
  42515. CreateDynamicObject(2945, -384.82599, 1526.12732, 75.83890, 0.00000, 0.00000, 0.00000);
  42516. CreateDynamicObject(2945, -388.45441, 1526.12817, 75.83890, 0.00000, 0.00000, 0.00000);
  42517. CreateDynamicObject(2945, -392.15570, 1526.13806, 75.83890, 0.00000, 0.00000, 0.00000);
  42518. CreateDynamicObject(2945, -394.24631, 1524.10669, 75.83890, 0.00000, 0.00000, -90.00000);
  42519. CreateDynamicObject(2945, -394.23669, 1520.60095, 75.83890, 0.00000, 0.00000, -90.00000);
  42520. CreateDynamicObject(2945, -394.22891, 1519.63940, 75.83890, 0.00000, 0.00000, -90.00000);
  42521. CreateDynamicObject(2945, -379.58130, 1524.47351, 75.83890, 0.00000, 0.00000, 90.00000);
  42522. CreateDynamicObject(2945, -379.61227, 1520.89380, 75.81950, 0.00000, 0.00000, -90.00000);
  42523. CreateDynamicObject(2945, -381.17838, 1526.12207, 79.07317, 0.00000, 0.00000, 0.00000);
  42524. CreateDynamicObject(2945, -384.82599, 1526.12732, 79.07320, 0.00000, 0.00000, 0.00000);
  42525. CreateDynamicObject(2945, -388.45441, 1526.12817, 79.07320, 0.00000, 0.00000, 0.00000);
  42526. CreateDynamicObject(2945, -392.15570, 1526.13806, 79.07320, 0.00000, 0.00000, 0.00000);
  42527. CreateDynamicObject(2945, -394.24631, 1524.10669, 79.07320, 0.00000, 0.00000, -90.00000);
  42528. CreateDynamicObject(2945, -394.23669, 1520.60095, 79.07320, 0.00000, 0.00000, -90.00000);
  42529. CreateDynamicObject(2945, -394.22891, 1519.63940, 79.07320, 0.00000, 0.00000, -90.00000);
  42530. CreateDynamicObject(2945, -379.58130, 1524.47351, 79.07320, 0.00000, 0.00000, 90.00000);
  42531. CreateDynamicObject(2945, -379.58691, 1521.77661, 79.07320, 0.00000, 0.00000, -90.00000);
  42532. CreateDynamicObject(1495, -379.65561, 1517.75781, 74.55830, 0.00000, 0.00000, 90.00000);
  42533. CreateDynamicObject(2945, -379.61230, 1520.89380, 79.07320, 0.00000, 0.00000, -90.00000);
  42534. CreateDynamicObject(2945, -379.63745, 1519.33337, 78.45717, 0.00000, 0.00000, -90.00000);
  42535. CreateDynamicObject(2945, -381.16946, 1524.86096, 80.69999, 90.00000, 0.00000, 0.00000);
  42536. CreateDynamicObject(2945, -381.18732, 1521.79285, 80.69999, 90.00000, 0.00000, 0.00000);
  42537. CreateDynamicObject(2945, -381.21219, 1519.70715, 80.69999, 90.00000, 0.00000, 0.00000);
  42538. CreateDynamicObject(2945, -384.74240, 1519.69556, 80.69999, 90.00000, 0.00000, 0.00000);
  42539. CreateDynamicObject(2945, -384.72592, 1522.76990, 80.69999, 90.00000, 0.00000, 0.00000);
  42540. CreateDynamicObject(2945, -384.68033, 1524.85583, 80.69999, 90.00000, 0.00000, 0.00000);
  42541. CreateDynamicObject(2945, -388.16513, 1524.80200, 80.69999, 90.00000, 0.00000, 0.00000);
  42542. CreateDynamicObject(2945, -391.69434, 1524.87537, 80.69999, 90.00000, 0.00000, 0.00000);
  42543. CreateDynamicObject(2945, -392.31027, 1524.83411, 80.69999, 90.00000, 0.00000, 0.00000);
  42544. CreateDynamicObject(2945, -392.31311, 1521.59814, 80.69999, 90.00000, 0.00000, 0.00000);
  42545. CreateDynamicObject(2945, -392.06485, 1519.66760, 80.69999, 90.00000, 0.00000, 0.00000);
  42546. CreateDynamicObject(2945, -388.32480, 1519.70715, 80.69999, 90.00000, 0.00000, 0.00000);
  42547. CreateDynamicObject(2945, -388.41217, 1522.18945, 80.65165, 90.00000, 0.00000, 0.00000);
  42548. CreateDynamicObject(19313, -352.17545, 1555.18457, 77.79948, 0.00000, 0.00000, -134.82004);
  42549. CreateDynamicObject(19313, -355.51172, 1543.40503, 77.79948, 0.00000, 0.00000, -77.04003);
  42550. CreateDynamicObject(14781, -363.84396, 1563.43518, 75.73116, 0.00000, 0.00000, 0.00000);
  42551. CreateDynamicObject(1361, -313.04962, 1535.06702, 75.30195, 0.00000, 0.00000, 0.00000);
  42552. CreateDynamicObject(1361, -317.62244, 1536.89014, 75.30195, 0.00000, 0.00000, 0.00000);
  42553. CreateDynamicObject(1364, -309.74130, 1535.95691, 75.30190, 0.00000, 0.00000, 180.00000);
  42554. CreateDynamicObject(1364, -304.38983, 1535.91406, 75.30190, 0.00000, 0.00000, 180.00000);
  42555. CreateDynamicObject(1361, -300.72272, 1535.52026, 75.30195, 0.00000, 0.00000, 0.00000);
  42556. CreateDynamicObject(970, -298.03091, 1534.84302, 75.02563, 0.00000, 0.00000, 0.00000);
  42557. CreateDynamicObject(970, -293.85934, 1534.84058, 75.02563, 0.00000, 0.00000, 0.00000);
  42558. CreateDynamicObject(970, -292.11826, 1534.83142, 75.02563, 0.00000, 0.00000, 0.00000);
  42559. CreateDynamicObject(970, -290.77011, 1538.64819, 75.02563, 0.00000, 0.00000, -44.52000);
  42560. CreateDynamicObject(970, -293.23486, 1541.05957, 75.02563, 0.00000, 0.00000, -44.52000);
  42561. CreateDynamicObject(970, -296.18173, 1543.93616, 75.02563, 0.00000, 0.00000, -44.52000);
  42562. CreateDynamicObject(11489, -314.34119, 1554.66003, 74.55460, 0.00000, 0.00000, 35.04000);
  42563. CreateDynamicObject(3515, -317.91171, 1561.25342, 75.34583, 0.00000, 0.00000, 0.00000);
  42564. CreateDynamicObject(3515, -317.88519, 1560.47351, 75.34580, 0.00000, 0.00000, 0.00000);
  42565. CreateDynamicObject(18739, -316.54514, 1561.07690, 76.24482, 0.00000, 0.00000, 0.00000);
  42566. CreateDynamicObject(1361, -298.47177, 1545.67395, 75.30195, 0.00000, 0.00000, 0.00000);
  42567. CreateDynamicObject(1364, -300.91074, 1547.86365, 75.30190, 0.00000, 0.00000, -42.65998);
  42568. CreateDynamicObject(1364, -304.39246, 1551.23413, 75.30190, 0.00000, 0.00000, -42.65998);
  42569. CreateDynamicObject(1361, -307.49844, 1554.55371, 75.30195, 0.00000, 0.00000, 0.00000);
  42570. CreateDynamicObject(1361, -317.90158, 1547.91467, 75.30195, 0.00000, 0.00000, 0.00000);
  42571. CreateDynamicObject(1214, -288.85190, 1535.48962, 74.40253, 0.00000, 0.00000, 0.00000);
  42572. CreateDynamicObject(1290, -310.37170, 1498.70935, 80.18443, 0.00000, 0.00000, 90.00000);
  42573. CreateDynamicObject(1290, -295.30878, 1498.57190, 80.18443, 0.00000, 0.00000, 90.00000);
  42574. CreateDynamicObject(1290, -265.71127, 1549.66821, 80.18443, 0.00000, 0.00000, 145.20006);
  42575. CreateDynamicObject(1290, -278.06354, 1562.21924, 80.18443, 0.00000, 0.00000, 145.20006);
  42576. CreateDynamicObject(1290, -290.41281, 1574.45020, 80.18443, 0.00000, 0.00000, 145.20006);
  42577. CreateDynamicObject(1290, -303.12936, 1587.01892, 80.18443, 0.00000, 0.00000, 145.20006);
  42578. return 1;
  42579. }
  42580. stock LoadPrisonInterior() //by ElDema
  42581. {
  42582. PDDoor[0] = CreateDynamicObject(1500, 2577.50000, -1484.82642, -49.92000, 0.00000, 0.00000, -90.00000);
  42583. PDDoor[2] = CreateDynamicObject(1500, 2595.95532, -1487.13977, -49.92000, 0.00000, 0.00000, 180.00000);
  42584. PDDoor[4] = CreateDynamicObject(2930, 2571.82983, -1532.14771, -47.34000, 0.00000, 0.00000, 90.00000);
  42585. PDDoor[6] = CreateDynamicObject(2930, 2578.28296, -1496.61218, -47.34000, 0.00000, 0.00000, 90.00000);
  42586. PDDoor[8] = CreateDynamicObject(2930, 2587.85669, -1496.61206, -47.34000, 0.00000, 0.00000, 90.00000);
  42587. PDDoor[10] = CreateDynamicObject(2930, 2593.54297, -1497.40930, -47.34000, 0.00000, 0.00000, 0.00000);
  42588. PDDoor[12] = CreateDynamicObject(2930, 2580.86865, -1535.06982, -47.34000, 0.00000, 0.00000, 90.00000);
  42589. PDDoor[14] = CreateDynamicObject(2930, 2587.29785, -1535.08044, -47.34000, 0.00000, 0.00000, 90.00000);
  42590. CreateDynamicObject(19377, 2604.69556, -1479.21655, -50.00000, 0.00000, 90.00000, 0.00000);
  42591. CreateDynamicObject(19377, 2594.24170, -1479.19153, -50.00000, 0.00000, 90.00000, 0.00000);
  42592. CreateDynamicObject(19377, 2583.75342, -1479.20496, -50.00000, 0.00000, 90.00000, 0.00000);
  42593. CreateDynamicObject(19377, 2573.25171, -1479.20496, -50.00000, 0.00000, 90.00000, 0.00000);
  42594. CreateDynamicObject(19377, 2604.73657, -1488.83032, -50.00000, 0.00000, 90.00000, 0.00000);
  42595. CreateDynamicObject(19377, 2604.73657, -1498.44824, -50.00000, 0.00000, 90.00000, 0.00000);
  42596. CreateDynamicObject(19377, 2604.73413, -1508.06628, -50.00000, 0.00000, 90.00000, 0.00000);
  42597. CreateDynamicObject(19377, 2604.73657, -1517.68286, -50.00000, 0.00000, 90.00000, 0.00000);
  42598. CreateDynamicObject(19377, 2604.71655, -1527.30066, -50.00000, 0.00000, 90.00000, 0.00000);
  42599. CreateDynamicObject(19377, 2594.23755, -1488.83032, -50.00000, 0.00000, 90.00000, 0.00000);
  42600. CreateDynamicObject(19377, 2594.23755, -1498.44824, -50.00000, 0.00000, 90.00000, 0.00000);
  42601. CreateDynamicObject(19377, 2594.23755, -1508.07593, -50.00000, 0.00000, 90.00000, 0.00000);
  42602. CreateDynamicObject(19377, 2594.23755, -1517.70288, -50.00000, 0.00000, 90.00000, 0.00000);
  42603. CreateDynamicObject(19377, 2594.22144, -1527.33264, -50.00000, 0.00000, 90.00000, 0.00000);
  42604. CreateDynamicObject(19377, 2583.75342, -1488.83032, -50.00000, 0.00000, 90.00000, 0.00000);
  42605. CreateDynamicObject(19377, 2583.75342, -1498.44824, -50.00000, 0.00000, 90.00000, 0.00000);
  42606. CreateDynamicObject(19377, 2583.75342, -1508.07593, -50.00000, 0.00000, 90.00000, 0.00000);
  42607. CreateDynamicObject(19377, 2583.75342, -1517.70288, -50.00000, 0.00000, 90.00000, 0.00000);
  42608. CreateDynamicObject(19377, 2583.75342, -1527.31873, -50.00000, 0.00000, 90.00000, 0.00000);
  42609. CreateDynamicObject(19377, 2573.25171, -1488.83032, -50.00000, 0.00000, 90.00000, 0.00000);
  42610. CreateDynamicObject(19377, 2573.25171, -1498.44824, -50.00000, 0.00000, 90.00000, 0.00000);
  42611. CreateDynamicObject(19377, 2573.25171, -1508.07593, -50.00000, 0.00000, 90.00000, 0.00000);
  42612. CreateDynamicObject(19377, 2573.25171, -1517.70288, -50.00000, 0.00000, 90.00000, 0.00000);
  42613. CreateDynamicObject(19377, 2573.25171, -1527.32068, -50.00000, 0.00000, 90.00000, 0.00000);
  42614. CreateDynamicObject(19457, 2567.98242, -1488.84753, -48.15700, 0.00000, 0.00000, 0.00000);
  42615. CreateDynamicObject(19457, 2567.98242, -1498.46826, -48.15700, 0.00000, 0.00000, 0.00000);
  42616. CreateDynamicObject(19457, 2567.98242, -1508.08655, -48.15700, 0.00000, 0.00000, 0.00000);
  42617. CreateDynamicObject(19457, 2567.98242, -1517.71619, -48.15700, 0.00000, 0.00000, 0.00000);
  42618. CreateDynamicObject(19457, 2567.98242, -1527.34375, -48.15700, 0.00000, 0.00000, 0.00000);
  42619. CreateDynamicObject(19377, 2573.23828, -1536.92749, -50.00000, 0.00000, 90.00000, 0.00000);
  42620. CreateDynamicObject(19377, 2583.75342, -1536.94226, -50.00000, 0.00000, 90.00000, 0.00000);
  42621. CreateDynamicObject(19377, 2594.23755, -1536.94226, -50.00000, 0.00000, 90.00000, 0.00000);
  42622. CreateDynamicObject(19377, 2604.73657, -1536.92224, -50.00000, 0.00000, 90.00000, 0.00000);
  42623. CreateDynamicObject(19457, 2567.98242, -1536.97681, -48.15700, 0.00000, 0.00000, 0.00000);
  42624. CreateDynamicObject(19457, 2572.73511, -1541.61340, -48.15700, 0.00000, 0.00000, 90.00000);
  42625. CreateDynamicObject(19457, 2582.35132, -1541.61340, -48.15700, 0.00000, 0.00000, 90.00000);
  42626. CreateDynamicObject(19457, 2591.98022, -1541.61340, -48.15700, 0.00000, 0.00000, 90.00000);
  42627. CreateDynamicObject(19457, 2601.59912, -1541.61340, -48.15700, 0.00000, 0.00000, 90.00000);
  42628. CreateDynamicObject(19457, 2611.22363, -1541.61340, -48.15700, 0.00000, 0.00000, 90.00000);
  42629. CreateDynamicObject(19457, 2609.64673, -1536.97681, -48.15700, 0.00000, 0.00000, 0.00000);
  42630. CreateDynamicObject(19457, 2609.64673, -1527.34375, -48.15700, 0.00000, 0.00000, 0.00000);
  42631. CreateDynamicObject(19457, 2609.64673, -1517.71619, -48.15700, 0.00000, 0.00000, 0.00000);
  42632. CreateDynamicObject(19457, 2609.64673, -1508.08655, -48.15700, 0.00000, 0.00000, 0.00000);
  42633. CreateDynamicObject(19457, 2609.64673, -1498.46826, -48.15700, 0.00000, 0.00000, 0.00000);
  42634. CreateDynamicObject(19457, 2609.64673, -1488.84753, -48.15700, 0.00000, 0.00000, 0.00000);
  42635. CreateDynamicObject(19394, 2577.53418, -1485.62036, -48.15700, 0.00000, 0.00000, 0.00000);
  42636. CreateDynamicObject(19438, 2578.33325, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42637. CreateDynamicObject(19411, 2580.72949, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42638. CreateDynamicObject(19394, 2582.39258, -1487.15344, -48.15700, 0.00000, 0.00000, 90.00000);
  42639. CreateDynamicObject(19457, 2588.80151, -1487.15344, -48.15700, 0.00000, 0.00000, -90.00000);
  42640. CreateDynamicObject(19365, 2579.20117, -1487.15344, -48.15700, 0.00000, 0.00000, 90.00000);
  42641. CreateDynamicObject(19394, 2595.20630, -1487.15344, -48.15700, 0.00000, 0.00000, 90.00000);
  42642. CreateDynamicObject(19457, 2601.62769, -1487.15344, -48.15700, 0.00000, 0.00000, -90.00000);
  42643. CreateDynamicObject(19457, 2585.52222, -1491.90063, -48.15700, 0.00000, 0.00000, 0.00000);
  42644. CreateDynamicObject(19457, 2596.73438, -1491.96057, -48.15700, 0.00000, 0.00000, 0.00000);
  42645. CreateDynamicObject(19457, 2585.53613, -1483.94971, -48.15700, 0.00000, 0.00000, -90.00000);
  42646. CreateDynamicObject(19394, 2579.12988, -1483.94971, -48.15700, 0.00000, 0.00000, 90.00000);
  42647. CreateDynamicObject(19394, 2591.95581, -1483.94971, -48.15700, 0.00000, 0.00000, 90.00000);
  42648. CreateDynamicObject(19457, 2598.36108, -1483.94971, -48.15700, 0.00000, 0.00000, -90.00000);
  42649. CreateDynamicObject(19394, 2607.97900, -1483.94971, -48.15700, 0.00000, 0.00000, 90.00000);
  42650. CreateDynamicObject(19365, 2604.77515, -1483.94971, -48.15700, 0.00000, 0.00000, 90.00000);
  42651. CreateDynamicObject(19457, 2606.36792, -1491.89099, -48.15700, 0.00000, 0.00000, 0.00000);
  42652. CreateDynamicObject(19457, 2596.73438, -1501.58716, -48.15700, 0.00000, 0.00000, 0.00000);
  42653. CreateDynamicObject(19365, 2583.94214, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42654. CreateDynamicObject(19411, 2575.93896, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42655. CreateDynamicObject(19438, 2573.54858, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42656. CreateDynamicObject(19411, 2571.15869, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42657. CreateDynamicObject(19438, 2568.76416, -1491.93372, -48.15700, 0.00000, 0.00000, 90.00000);
  42658. CreateDynamicObject(19394, 2588.71118, -1496.64905, -48.15700, 0.00000, 0.00000, 90.00000);
  42659. CreateDynamicObject(19394, 2606.36792, -1498.30066, -48.15700, 0.00000, 0.00000, 0.00000);
  42660. CreateDynamicObject(19365, 2595.12354, -1496.64905, -48.15700, 0.00000, 0.00000, 90.00000);
  42661. CreateDynamicObject(19394, 2593.50073, -1498.25647, -48.15700, 0.00000, 0.00000, 0.00000);
  42662. CreateDynamicObject(19365, 2591.92236, -1496.64905, -48.15700, 0.00000, 0.00000, 90.00000);
  42663. CreateDynamicObject(19394, 2579.10840, -1496.64905, -48.15700, 0.00000, 0.00000, 90.00000);
  42664. CreateDynamicObject(19457, 2572.69751, -1496.64905, -48.15700, 0.00000, 0.00000, -90.00000);
  42665. CreateDynamicObject(19457, 2593.50073, -1504.66357, -48.15700, 0.00000, 0.00000, 0.00000);
  42666. CreateDynamicObject(19457, 2606.36792, -1504.71655, -48.15700, 0.00000, 0.00000, 0.00000);
  42667. CreateDynamicObject(19457, 2596.73438, -1536.85156, -48.15700, 0.00000, 0.00000, 0.00000);
  42668. CreateDynamicObject(19394, 2596.73438, -1511.19775, -48.15700, 0.00000, 0.00000, 0.00000);
  42669. CreateDynamicObject(19457, 2579.10498, -1532.16663, -48.15700, 0.00000, 0.00000, -90.00000);
  42670. CreateDynamicObject(19394, 2572.68799, -1532.16663, -48.15700, 0.00000, 0.00000, 90.00000);
  42671. CreateDynamicObject(19457, 2593.50073, -1514.29639, -48.15700, 0.00000, 0.00000, 0.00000);
  42672. CreateDynamicObject(19457, 2593.50073, -1523.92566, -48.15700, 0.00000, 0.00000, 0.00000);
  42673. CreateDynamicObject(19457, 2580.17871, -1537.02161, -48.15700, 0.00000, 0.00000, 0.00000);
  42674. CreateDynamicObject(19394, 2592.84033, -1533.52258, -48.15700, 0.00000, 0.00000, 0.00000);
  42675. CreateDynamicObject(19457, 2588.73242, -1532.16663, -48.15700, 0.00000, 0.00000, -90.00000);
  42676. CreateDynamicObject(19365, 2569.49292, -1532.16663, -48.15700, 0.00000, 0.00000, 90.00000);
  42677. CreateDynamicObject(19365, 2593.50073, -1530.33081, -48.15700, 0.00000, 0.00000, 0.00000);
  42678. CreateDynamicObject(19365, 2592.84058, -1536.72754, -48.15700, 0.00000, 0.00000, 0.00000);
  42679. CreateDynamicObject(19365, 2592.84058, -1539.92944, -48.15700, 0.00000, 0.00000, 0.00000);
  42680. CreateDynamicObject(19457, 2606.36792, -1514.33423, -48.15700, 0.00000, 0.00000, 0.00000);
  42681. CreateDynamicObject(19394, 2581.71582, -1535.09802, -48.15700, 0.00000, 0.00000, 90.00000);
  42682. CreateDynamicObject(19394, 2588.12769, -1535.09802, -48.15700, 0.00000, 0.00000, 90.00000);
  42683. CreateDynamicObject(19365, 2591.31812, -1535.10168, -48.15700, 0.00000, 0.00000, 90.00000);
  42684. CreateDynamicObject(19457, 2586.59912, -1539.92896, -48.15700, 0.00000, 0.00000, 0.00000);
  42685. CreateDynamicObject(19457, 2596.73438, -1527.22974, -48.15700, 0.00000, 0.00000, 0.00000);
  42686. CreateDynamicObject(19457, 2596.73438, -1517.60791, -48.15700, 0.00000, 0.00000, 0.00000);
  42687. CreateDynamicObject(19365, 2596.73438, -1508.00098, -48.15700, 0.00000, 0.00000, 0.00000);
  42688. CreateDynamicObject(19457, 2601.62329, -1538.23767, -48.15700, 0.00000, 0.00000, 90.00000);
  42689. CreateDynamicObject(19394, 2606.36792, -1523.92163, -48.15700, 0.00000, 0.00000, 0.00000);
  42690. CreateDynamicObject(14410, 2603.18066, -1540.22668, -49.42110, 0.00000, 0.00000, 90.00000);
  42691. CreateDynamicObject(19457, 2606.36792, -1533.50403, -48.15700, 0.00000, 0.00000, 0.00000);
  42692. CreateDynamicObject(19457, 2601.46436, -1522.82019, -48.15700, 0.00000, 0.00000, -90.00000);
  42693. CreateDynamicObject(19365, 2606.36792, -1527.10815, -48.15700, 0.00000, 0.00000, 0.00000);
  42694. CreateDynamicObject(19365, 2606.36792, -1520.74219, -48.15700, 0.00000, 0.00000, 0.00000);
  42695. CreateDynamicObject(19377, 2580.90771, -1537.05920, -46.32280, 0.00000, 90.00000, 0.00000);
  42696. CreateDynamicObject(19457, 2567.98242, -1527.34375, -44.66560, 0.00000, 0.00000, 0.00000);
  42697. CreateDynamicObject(19457, 2567.98242, -1517.71619, -44.66560, 0.00000, 0.00000, 0.00000);
  42698. CreateDynamicObject(19457, 2567.98242, -1508.08655, -44.66560, 0.00000, 0.00000, 0.00000);
  42699. CreateDynamicObject(19457, 2567.98242, -1498.46826, -44.66560, 0.00000, 0.00000, 0.00000);
  42700. CreateDynamicObject(19457, 2579.10498, -1532.16663, -44.66560, 0.00000, 0.00000, -90.00000);
  42701. CreateDynamicObject(19457, 2588.73242, -1532.16663, -44.66560, 0.00000, 0.00000, -90.00000);
  42702. CreateDynamicObject(19365, 2569.49292, -1532.16663, -44.66560, 0.00000, 0.00000, 90.00000);
  42703. CreateDynamicObject(19457, 2569.50122, -1496.64905, -44.66560, 0.00000, 0.00000, -90.00000);
  42704. CreateDynamicObject(19365, 2591.92236, -1496.64905, -44.66560, 0.00000, 0.00000, 90.00000);
  42705. CreateDynamicObject(19365, 2588.72119, -1496.64905, -44.66560, 0.00000, 0.00000, 90.00000);
  42706. CreateDynamicObject(19365, 2575.88525, -1496.64905, -44.66560, 0.00000, 0.00000, 90.00000);
  42707. CreateDynamicObject(19365, 2572.67749, -1532.16663, -44.66560, 0.00000, 0.00000, 90.00000);
  42708. CreateDynamicObject(19457, 2611.22363, -1541.61340, -44.66560, 0.00000, 0.00000, 90.00000);
  42709. CreateDynamicObject(19457, 2601.59912, -1541.61340, -44.66560, 0.00000, 0.00000, 90.00000);
  42710. CreateDynamicObject(19457, 2591.98022, -1541.61340, -44.66560, 0.00000, 0.00000, 90.00000);
  42711. CreateDynamicObject(19457, 2609.64673, -1536.97681, -44.66560, 0.00000, 0.00000, 0.00000);
  42712. CreateDynamicObject(19457, 2601.46338, -1538.23767, -44.66560, 0.00000, 0.00000, 90.00000);
  42713. CreateDynamicObject(19457, 2593.46069, -1536.82861, -44.64560, 0.00000, 0.00000, 0.00000);
  42714. CreateDynamicObject(19303, 2588.88403, -1517.11194, -48.66390, 0.00000, 0.00000, 90.00000);
  42715. CreateDynamicObject(19303, 2588.82397, -1518.85535, -48.66390, 0.00000, 0.00000, -90.00000);
  42716. CreateDynamicObject(1499, 2592.84473, -1534.26465, -49.92010, 0.00000, 0.00000, 90.00000);
  42717. CreateDynamicObject(14410, 2574.25952, -1498.61865, -49.42110, 0.00000, 0.00000, 90.00000);
  42718. CreateDynamicObject(19457, 2572.72388, -1504.14124, -48.15700, 0.00000, 0.00000, 90.00000);
  42719. CreateDynamicObject(19365, 2585.51172, -1496.64905, -48.15700, 0.00000, 0.00000, 90.00000);
  42720. CreateDynamicObject(19365, 2582.30908, -1496.64905, -48.15700, 0.00000, 0.00000, 90.00000);
  42721. CreateDynamicObject(14410, 2591.63647, -1525.89551, -49.42110, 0.00000, 0.00000, 180.00000);
  42722. CreateDynamicObject(19457, 2589.66089, -1527.42822, -48.15700, 0.00000, 0.00000, 0.00000);
  42723. CreateDynamicObject(19365, 2590.38696, -1519.81201, -48.15700, 0.00000, 0.00000, 90.00000);
  42724. CreateDynamicObject(19438, 2592.78369, -1519.81201, -48.15700, 0.00000, 0.00000, 90.00000);
  42725. CreateDynamicObject(19365, 2590.38696, -1516.14624, -48.15700, 0.00000, 0.00000, 90.00000);
  42726. CreateDynamicObject(19303, 2588.82397, -1515.19543, -48.66390, 0.00000, 0.00000, -90.00000);
  42727. CreateDynamicObject(19303, 2588.88403, -1513.45361, -48.66390, 0.00000, 0.00000, 90.00000);
  42728. CreateDynamicObject(19365, 2590.38696, -1512.49951, -48.15700, 0.00000, 0.00000, 90.00000);
  42729. CreateDynamicObject(19303, 2588.82397, -1511.55188, -48.66390, 0.00000, 0.00000, -90.00000);
  42730. CreateDynamicObject(19303, 2588.88403, -1509.80188, -48.66390, 0.00000, 0.00000, 90.00000);
  42731. CreateDynamicObject(19365, 2590.38696, -1508.83838, -48.15700, 0.00000, 0.00000, 90.00000);
  42732. CreateDynamicObject(19303, 2588.82397, -1507.86768, -48.66390, 0.00000, 0.00000, -90.00000);
  42733. CreateDynamicObject(19303, 2588.88403, -1506.13000, -48.66390, 0.00000, 0.00000, 90.00000);
  42734. CreateDynamicObject(19365, 2590.38696, -1505.17712, -48.15700, 0.00000, 0.00000, 90.00000);
  42735. CreateDynamicObject(19303, 2588.82397, -1504.22510, -48.66390, 0.00000, 0.00000, -90.00000);
  42736. CreateDynamicObject(19303, 2588.88403, -1502.47522, -48.66390, 0.00000, 0.00000, 90.00000);
  42737. CreateDynamicObject(19365, 2590.38696, -1501.50879, -48.15700, 0.00000, 0.00000, 90.00000);
  42738. CreateDynamicObject(19438, 2592.78369, -1516.14624, -48.15700, 0.00000, 0.00000, 90.00000);
  42739. CreateDynamicObject(19438, 2592.78369, -1508.83838, -48.15700, 0.00000, 0.00000, 90.00000);
  42740. CreateDynamicObject(19438, 2592.78369, -1512.49951, -48.15700, 0.00000, 0.00000, 90.00000);
  42741. CreateDynamicObject(19438, 2592.78369, -1505.17712, -48.15700, 0.00000, 0.00000, 90.00000);
  42742. CreateDynamicObject(19438, 2592.78369, -1501.50879, -48.15700, 0.00000, 0.00000, 90.00000);
  42743. CreateDynamicObject(19438, 2592.78369, -1501.50879, -44.66560, 0.00000, 0.00000, 90.00000);
  42744. CreateDynamicObject(19365, 2590.38696, -1501.50879, -44.66560, 0.00000, 0.00000, 90.00000);
  42745. CreateDynamicObject(19365, 2590.38696, -1519.81201, -44.66560, 0.00000, 0.00000, 90.00000);
  42746. CreateDynamicObject(19438, 2592.78369, -1519.81201, -44.66560, 0.00000, 0.00000, 90.00000);
  42747. CreateDynamicObject(19303, 2577.49097, -1501.45276, -48.66390, 0.00000, 0.00000, 90.00000);
  42748. CreateDynamicObject(19303, 2577.43091, -1503.18945, -48.66390, 0.00000, 0.00000, -90.00000);
  42749. CreateDynamicObject(19457, 2572.72388, -1500.48474, -48.15700, 0.00000, 0.00000, 90.00000);
  42750. CreateDynamicObject(19303, 2577.49097, -1505.09802, -48.66390, 0.00000, 0.00000, 90.00000);
  42751. CreateDynamicObject(19303, 2577.43091, -1506.82947, -48.66390, 0.00000, 0.00000, -90.00000);
  42752. CreateDynamicObject(19457, 2572.72388, -1507.78198, -48.15700, 0.00000, 0.00000, 90.00000);
  42753. CreateDynamicObject(19303, 2577.49097, -1508.74573, -48.66390, 0.00000, 0.00000, 90.00000);
  42754. CreateDynamicObject(19303, 2577.43091, -1510.49683, -48.66390, 0.00000, 0.00000, -90.00000);
  42755. CreateDynamicObject(19457, 2572.72388, -1511.46228, -48.15700, 0.00000, 0.00000, 90.00000);
  42756. CreateDynamicObject(19303, 2577.49097, -1512.40625, -48.66390, 0.00000, 0.00000, 90.00000);
  42757. CreateDynamicObject(19303, 2577.41772, -1514.14026, -48.66390, 0.00000, 0.00000, -90.00000);
  42758. CreateDynamicObject(19457, 2572.72388, -1515.10449, -48.15700, 0.00000, 0.00000, 90.00000);
  42759. CreateDynamicObject(19303, 2577.49097, -1516.07214, -48.66390, 0.00000, 0.00000, 90.00000);
  42760. CreateDynamicObject(19303, 2577.43091, -1517.80591, -48.66390, 0.00000, 0.00000, -90.00000);
  42761. CreateDynamicObject(19457, 2572.72388, -1518.77844, -48.15700, 0.00000, 0.00000, 90.00000);
  42762. CreateDynamicObject(19303, 2588.69189, -1522.68372, -48.66390, 0.00000, 0.00000, 0.00000);
  42763. CreateDynamicObject(19303, 2586.95972, -1522.64368, -48.66390, 0.00000, 0.00000, 180.00000);
  42764. CreateDynamicObject(19457, 2585.99341, -1527.42822, -48.15700, 0.00000, 0.00000, 0.00000);
  42765. CreateDynamicObject(19303, 2585.02905, -1522.68372, -48.66390, 0.00000, 0.00000, 0.00000);
  42766. CreateDynamicObject(19303, 2583.27686, -1522.64368, -48.66390, 0.00000, 0.00000, 180.00000);
  42767. CreateDynamicObject(19457, 2582.31201, -1527.42822, -48.15700, 0.00000, 0.00000, 0.00000);
  42768. CreateDynamicObject(19303, 2581.36182, -1522.70374, -48.66390, 0.00000, 0.00000, 0.00000);
  42769. CreateDynamicObject(19303, 2579.62646, -1522.64368, -48.66390, 0.00000, 0.00000, 180.00000);
  42770. CreateDynamicObject(19365, 2584.92163, -1535.09802, -48.15700, 0.00000, 0.00000, 90.00000);
  42771. CreateDynamicObject(19457, 2578.66724, -1527.42822, -48.15700, 0.00000, 0.00000, 0.00000);
  42772. CreateDynamicObject(19457, 2583.44385, -1529.08032, -48.15700, 0.00000, 0.00000, 90.00000);
  42773. CreateDynamicObject(19365, 2589.85205, -1529.08032, -48.15700, 0.00000, 0.00000, 90.00000);
  42774. CreateDynamicObject(19457, 2571.35767, -1513.92432, -48.15700, 0.00000, 0.00000, 0.00000);
  42775. CreateDynamicObject(19457, 2571.35767, -1504.30652, -48.15700, 0.00000, 0.00000, 0.00000);
  42776. CreateDynamicObject(1533, 2596.31348, -1541.49646, -49.91540, 0.00000, 0.00000, 180.00000);
  42777. CreateDynamicObject(1537, 2593.30347, -1541.50256, -49.91520, 0.00000, 0.00000, 180.00000);
  42778. CreateDynamicObject(19365, 2593.49902, -1530.65002, -48.15700, 0.00000, 0.00000, 0.00000);
  42779. CreateDynamicObject(19273, 2587.68384, -1496.70154, -48.57370, 0.00000, 0.00000, 0.00000);
  42780. CreateDynamicObject(1800, 2579.30176, -1529.71985, -49.93800, 0.00000, 0.00000, 0.00000);
  42781. CreateDynamicObject(2819, 2572.33154, -1515.02246, -46.24090, 0.00000, 0.00000, 0.00000);
  42782. CreateDynamicObject(2843, 2571.78833, -1507.56091, -46.24090, 0.00000, 0.00000, 0.00000);
  42783. CreateDynamicObject(2844, 2573.01489, -1517.60657, -46.24090, 0.00000, 0.00000, -90.00000);
  42784. CreateDynamicObject(2852, 2569.12988, -1519.36218, -49.91600, 0.00000, 0.00000, 90.00000);
  42785. CreateDynamicObject(2855, 2568.41553, -1519.85400, -49.91580, 0.00000, 0.00000, 0.00000);
  42786. CreateDynamicObject(2635, 2591.57056, -1500.70532, -49.51590, 0.00000, 0.00000, 0.00000);
  42787. CreateDynamicObject(1369, 2572.51929, -1508.48364, -45.63970, 0.00000, 0.00000, 0.00000);
  42788. CreateDynamicObject(1810, 2592.69019, -1500.98840, -49.91660, 0.00000, 0.00000, -120.00000);
  42789. CreateDynamicObject(1712, 2575.10474, -1521.60791, -49.91530, 0.00000, 0.00000, 220.00000);
  42790. CreateDynamicObject(1710, 2572.42480, -1522.98169, -49.91550, 0.00000, 0.00000, 180.00000);
  42791. CreateDynamicObject(2202, 2568.61523, -1485.09546, -49.91860, 0.00000, 0.00000, 90.00000);
  42792. CreateDynamicObject(2602, 2572.80518, -1503.66809, -49.35030, 0.00000, 0.00000, 180.00000);
  42793. CreateDynamicObject(2718, 2583.29663, -1496.86487, -47.33910, 0.00000, 0.00000, 0.00000);
  42794. CreateDynamicObject(2713, 2586.62939, -1496.74292, -47.07579, 0.00000, 0.00000, 0.00000);
  42795. CreateDynamicObject(2670, 2588.79297, -1505.17224, -49.81600, 0.00000, 0.00000, 90.00000);
  42796. CreateDynamicObject(2671, 2577.37207, -1511.55420, -49.89690, 0.00000, 0.00000, -90.00000);
  42797. CreateDynamicObject(2673, 2585.87183, -1522.61853, -49.81540, 0.00000, 0.00000, 0.00000);
  42798. CreateDynamicObject(1800, 2586.58960, -1529.61963, -49.93800, 0.00000, 0.00000, 0.00000);
  42799. CreateDynamicObject(1800, 2585.10864, -1528.30640, -49.93800, 0.00000, 0.00000, 0.00000);
  42800. CreateDynamicObject(1800, 2593.82910, -1519.16614, -49.93800, 0.00000, 0.00000, 90.00000);
  42801. CreateDynamicObject(1800, 2594.43774, -1502.44714, -49.93800, 0.00000, 0.00000, 90.00000);
  42802. CreateDynamicObject(1800, 2594.09326, -1508.22900, -49.93800, 0.00000, 0.00000, 90.00000);
  42803. CreateDynamicObject(1800, 2594.49976, -1515.55029, -49.93800, 0.00000, 0.00000, 90.00000);
  42804. CreateDynamicObject(1800, 2593.84644, -1509.71021, -49.93800, 0.00000, 0.00000, 90.00000);
  42805. CreateDynamicObject(1800, 2576.26758, -1501.41138, -49.93800, 0.00000, 0.00000, 90.00000);
  42806. CreateDynamicObject(1800, 2575.28101, -1517.93799, -49.93800, 0.00000, 0.00000, 90.00000);
  42807. CreateDynamicObject(1800, 2576.25122, -1514.52551, -49.93800, 0.00000, 0.00000, 90.00000);
  42808. CreateDynamicObject(1800, 2576.31226, -1508.65601, -49.93800, 0.00000, 0.00000, 90.00000);
  42809. CreateDynamicObject(1800, 2575.98706, -1507.13489, -49.93800, 0.00000, 0.00000, 90.00000);
  42810. CreateDynamicObject(19394, 2604.76782, -1530.64587, -48.15700, 0.00000, 0.00000, 90.00000);
  42811. CreateDynamicObject(1800, 2591.71436, -1542.23181, -49.93800, 0.00000, 0.00000, 0.00000);
  42812. CreateDynamicObject(1800, 2585.56396, -1542.43237, -49.93800, 0.00000, 0.00000, 0.00000);
  42813. CreateDynamicObject(1533, 2578.80688, -1541.49841, -49.91540, 0.00000, 0.00000, 180.00000);
  42814. CreateDynamicObject(1537, 2575.82056, -1541.48950, -49.91520, 0.00000, 0.00000, 180.00000);
  42815. CreateDynamicObject(19457, 2596.73291, -1501.50732, -44.66560, 0.00000, 0.00000, 0.00000);
  42816. CreateDynamicObject(19438, 2593.50073, -1500.78638, -44.66560, 0.00000, 0.00000, 0.00000);
  42817. CreateDynamicObject(19438, 2593.50073, -1496.67261, -44.64560, 0.00000, 0.00000, 0.00000);
  42818. CreateDynamicObject(19438, 2588.86792, -1503.19250, -46.60810, 90.00000, 0.00000, 0.00000);
  42819. CreateDynamicObject(3278, -1502.87170, -44.73340, -44.73340, 0.00000, 0.00000, 90.00000);
  42820. CreateDynamicObject(19457, 2578.66724, -1527.42786, -44.66560, 0.00000, 0.00000, 0.00000);
  42821. CreateDynamicObject(19457, 2572.72388, -1518.77844, -44.66560, 0.00000, 0.00000, 90.00000);
  42822. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  42823. CreateDynamicObject(1649, 2580.88477, -1491.93469, -48.07390, 0.00000, 0.00000, 0.00000);
  42824. CreateDynamicObject(1649, 2575.99390, -1491.95569, -48.07390, 0.00000, 0.00000, 0.00000);
  42825. CreateDynamicObject(1649, 2571.26660, -1491.93286, -48.07390, 0.00000, 0.00000, 0.00000);
  42826. CreateDynamicObject(1649, 2571.26660, -1491.93286, -48.07390, 0.00000, 0.00000, 180.00000);
  42827. CreateDynamicObject(1649, 2575.99390, -1491.95569, -48.07390, 0.00000, 0.00000, 180.00000);
  42828. CreateDynamicObject(1649, 2580.88477, -1491.93469, -48.07390, 0.00000, 0.00000, 180.00000);
  42829. CreateDynamicObject(19438, 2578.31860, -1492.65125, -48.15700, 0.00000, 0.00000, 0.00000);
  42830. CreateDynamicObject(19438, 2573.61475, -1492.65125, -48.15700, 0.00000, 0.00000, 0.00000);
  42831. CreateDynamicObject(19438, 2597.53979, -1530.64587, -48.15700, 0.00000, 0.00000, 90.00000);
  42832. CreateDynamicObject(19438, 2602.35913, -1530.64502, -48.15700, 0.00000, 0.00000, 90.00000);
  42833. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 180.00000);
  42834. CreateDynamicObject(19365, 2599.94849, -1530.64502, -50.79670, 0.00000, 180.00000, 90.00000);
  42835. CreateDynamicObject(19450, 2572.74170, -1487.11389, -48.15700, 0.00000, 0.00000, 90.00000);
  42836. CreateDynamicObject(19388, 2577.52100, -1485.62708, -48.15700, 0.00000, 0.00000, 0.00000);
  42837. CreateDynamicObject(19450, 2577.52100, -1479.22351, -48.15700, 0.00000, 0.00000, 0.00000);
  42838. CreateDynamicObject(19450, 2568.04858, -1482.28113, -48.15700, 0.00000, 0.00000, 0.00000);
  42839. CreateDynamicObject(19450, 2568.04858, -1472.68555, -48.15700, 0.00000, 0.00000, 0.00000);
  42840. CreateDynamicObject(19450, 2572.70215, -1474.37366, -48.15700, 0.00000, 0.00000, 90.00000);
  42841. CreateDynamicObject(19376, 2572.30908, -1482.24805, -49.98540, 0.00000, 90.00000, 0.00000);
  42842. CreateDynamicObject(19376, 2572.29688, -1472.63074, -49.98540, 0.00000, 90.00000, 0.00000);
  42843. CreateDynamicObject(19376, 2585.49756, -1479.14197, -49.98540, 0.00000, 90.00000, 0.00000);
  42844. CreateDynamicObject(19376, 2582.85132, -1479.14355, -49.98600, 0.00000, 90.00000, 0.00000);
  42845. CreateDynamicObject(1491, 2581.60938, -1487.16541, -49.92915, 0.00000, 0.00000, 0.00000);
  42846. CreateDynamicObject(1491, 2578.34424, -1483.96143, -49.92915, 0.00000, 0.00000, 0.00000);
  42847. CreateDynamicObject(1491, 2591.17407, -1483.97058, -49.92915, 0.00000, 0.00000, 0.00000);
  42848. CreateDynamicObject(1491, 2607.19409, -1483.95923, -49.92915, 0.00000, 0.00000, 0.00000);
  42849. CreateDynamicObject(1491, 2606.38599, -1499.04651, -49.92910, 0.00000, 0.00000, 90.00000);
  42850. CreateDynamicObject(1491, 2606.36719, -1524.65271, -49.92910, 0.00000, 0.00000, 90.00000);
  42851. CreateDynamicObject(1491, 2596.74072, -1511.93921, -49.92910, 0.00000, 0.00000, 90.00000);
  42852. CreateDynamicObject(1491, 2603.99561, -1530.66272, -49.92910, 0.00000, 0.00000, 0.00000);
  42853. CreateDynamicObject(19394, 2596.73438, -1535.11438, -44.66560, 0.00000, 0.00000, 0.00000);
  42854. CreateDynamicObject(19438, 2596.73438, -1537.50696, -44.66560, 0.00000, 0.00000, 0.00000);
  42855. CreateDynamicObject(19457, 2596.71509, -1528.70300, -44.66560, 0.00000, 0.00000, 0.00000);
  42856. CreateDynamicObject(19394, 2596.73438, -1522.29004, -44.66560, 0.00000, 0.00000, 0.00000);
  42857. CreateDynamicObject(19457, 2596.73438, -1515.88171, -44.66560, 0.00000, 0.00000, 0.00000);
  42858. CreateDynamicObject(19394, 2596.73438, -1507.94800, -44.66560, 0.00000, 0.00000, 0.00000);
  42859. CreateDynamicObject(19438, 2596.73633, -1510.28113, -44.66560, 0.00000, 0.00000, 0.00000);
  42860. CreateDynamicObject(1491, 2596.74634, -1508.70105, -46.41220, 0.00000, 0.00000, 90.00000);
  42861. CreateDynamicObject(1491, 2596.74268, -1523.02856, -46.39220, 0.00000, 0.00000, 90.00000);
  42862. CreateDynamicObject(1491, 2596.73853, -1535.85486, -46.41220, 0.00000, 0.00000, 90.00000);
  42863. CreateDynamicObject(19383, 2596.74243, -1511.18933, -48.15700, 0.00000, 0.00000, 0.00000);
  42864. CreateDynamicObject(19389, 2607.98511, -1483.93140, -48.15700, 0.00000, 0.00000, 90.00000);
  42865. CreateDynamicObject(19451, 2600.04883, -1479.17151, -48.15700, 0.00000, 0.00000, 0.00000);
  42866. CreateDynamicObject(19459, 2568.00049, -1487.06604, -48.15700, 0.00000, 0.00000, 0.00000);
  42867. CreateDynamicObject(19413, 2580.72876, -1491.91785, -48.15700, 0.00000, 0.00000, 90.00000);
  42868. CreateDynamicObject(19395, 2582.39893, -1487.16382, -48.15700, 0.00000, 0.00000, 90.00000);
  42869. CreateDynamicObject(19440, 2578.33716, -1491.91785, -48.15700, 0.00000, 0.00000, 90.00000);
  42870. CreateDynamicObject(19445, 2601.62573, -1519.32007, -48.15700, 0.00000, 0.00000, 90.00000);
  42871. CreateDynamicObject(19390, 2596.74512, -1522.29639, -44.64560, 0.00000, 0.00000, 0.00000);
  42872. CreateDynamicObject(19453, 2596.74512, -1515.88208, -44.64560, 0.00000, 0.00000, 0.00000);
  42873. CreateDynamicObject(19446, 2601.57861, -1503.61792, -48.15700, 0.00000, 0.00000, 90.00000);
  42874. CreateDynamicObject(19384, 2606.36426, -1498.30371, -48.15700, 0.00000, 0.00000, 0.00000);
  42875. CreateDynamicObject(19453, 2577.64526, -1479.12122, -48.15700, 0.00000, 0.00000, 0.00000);
  42876. CreateDynamicObject(19390, 2579.13159, -1483.94873, -48.15700, 0.00000, 0.00000, 90.00000);
  42877. CreateDynamicObject(19453, 2590.37671, -1479.16846, -48.15700, 0.00000, 0.00000, 0.00000);
  42878. CreateDynamicObject(19451, 2590.70972, -1479.03870, -48.15700, 0.00000, 0.00000, 0.00000);
  42879. CreateDynamicObject(19451, 2595.59399, -1474.44043, -48.15700, 0.00000, 0.00000, 90.00000);
  42880. CreateDynamicObject(19451, 2604.87866, -1476.27332, -48.15700, 0.00000, 0.00000, 90.00000);
  42881. CreateDynamicObject(19451, 2609.63794, -1479.12170, -48.15700, 0.00000, 0.00000, 0.00000);
  42882. CreateDynamicObject(19453, 2585.53589, -1483.94873, -48.15700, 0.00000, 0.00000, 90.00000);
  42883. CreateDynamicObject(19453, 2586.36011, -1474.33655, -48.15700, 0.00000, 0.00000, 90.00000);
  42884. CreateDynamicObject(19453, 2576.73926, -1474.33655, -48.15700, 0.00000, 0.00000, 90.00000);
  42885. CreateDynamicObject(19445, 2606.31226, -1514.43140, -48.15700, 0.00000, 0.00000, 0.00000);
  42886. CreateDynamicObject(19445, 2601.52612, -1509.52893, -48.15700, 0.00000, 0.00000, 90.00000);
  42887. CreateDynamicObject(19445, 2596.74243, -1517.60657, -48.15700, 0.00000, 0.00000, 0.00000);
  42888. CreateDynamicObject(19451, 2601.56958, -1483.93140, -48.15700, 0.00000, 0.00000, 90.00000);
  42889. CreateDynamicObject(19446, 2606.36426, -1491.89954, -48.15700, 0.00000, 0.00000, 0.00000);
  42890. CreateDynamicObject(19446, 2601.50659, -1487.19727, -48.15700, 0.00000, 0.00000, 90.00000);
  42891. CreateDynamicObject(19446, 2596.81445, -1492.05701, -48.15700, 0.00000, 0.00000, 0.00000);
  42892. CreateDynamicObject(19446, 2596.81396, -1501.69055, -48.15700, 0.00000, 0.00000, 0.00000);
  42893. CreateDynamicObject(19446, 2606.36426, -1504.71265, -48.15700, 0.00000, 0.00000, 0.00000);
  42894. CreateDynamicObject(19460, 2605.17773, -1523.80847, -44.66560, 0.00000, 0.00000, 0.00000);
  42895. CreateDynamicObject(19396, 2596.74243, -1507.93945, -44.66560, 0.00000, 0.00000, 0.00000);
  42896. CreateDynamicObject(19441, 2596.75220, -1537.48865, -44.66560, 0.00000, 0.00000, 0.00000);
  42897. CreateDynamicObject(19459, 2575.99341, -1487.16382, -48.15700, 0.00000, 0.00000, 90.00000);
  42898. CreateDynamicObject(19459, 2566.37207, -1487.16382, -48.15700, 0.00000, 0.00000, 90.00000);
  42899. CreateDynamicObject(19367, 2585.52173, -1490.38965, -48.15700, 0.00000, 0.00000, 0.00000);
  42900. CreateDynamicObject(19440, 2584.78125, -1487.16980, -48.15700, 0.00000, 0.00000, 90.00000);
  42901. CreateDynamicObject(19440, 2585.52173, -1488.00598, -48.15700, 0.00000, 0.00000, 0.00000);
  42902. CreateDynamicObject(19367, 2583.93018, -1491.91785, -48.15700, 0.00000, 0.00000, 990.00000);
  42903. CreateDynamicObject(19413, 2575.94653, -1491.91785, -48.15700, 0.00000, 0.00000, 90.00000);
  42904. CreateDynamicObject(19440, 2573.53979, -1491.91785, -48.15700, 0.00000, 0.00000, 90.00000);
  42905. CreateDynamicObject(19413, 2571.15576, -1491.91785, -48.15700, 0.00000, 0.00000, 90.00000);
  42906. CreateDynamicObject(19440, 2568.75244, -1491.91785, -48.15700, 0.00000, 0.00000, 90.00000);
  42907. CreateDynamicObject(19440, 2573.61475, -1491.23413, -48.15700, 0.00000, 0.00000, 0.00000);
  42908. CreateDynamicObject(19440, 2578.31860, -1491.23413, -48.15700, 0.00000, 0.00000, 0.00000);
  42909. CreateDynamicObject(19453, 2601.49902, -1523.92810, -44.64560, 0.00000, 0.00000, 90.00000);
  42910. CreateDynamicObject(19453, 2604.40186, -1519.21802, -44.64560, 0.00000, 0.00000, 0.00000);
  42911. CreateDynamicObject(19453, 2604.40723, -1514.36414, -44.64560, 0.00000, 0.00000, 0.00000);
  42912. CreateDynamicObject(19453, 2601.52881, -1509.55347, -44.64560, 0.00000, 0.00000, 90.00000);
  42913. CreateDynamicObject(19460, 2605.18359, -1533.41101, -44.66560, 0.00000, 0.00000, 0.00000);
  42914. CreateDynamicObject(19460, 2601.54688, -1538.22644, -44.66560, 0.00000, 0.00000, 90.00000);
  42915. CreateDynamicObject(19460, 2606.34937, -1504.71692, -44.66560, 0.00000, 0.00000, 0.00000);
  42916. CreateDynamicObject(19460, 2601.61230, -1499.81580, -44.64560, 0.00000, 0.00000, 90.00000);
  42917. CreateDynamicObject(19460, 2601.56616, -1509.53284, -44.66560, 0.00000, 0.00000, 90.00000);
  42918. CreateDynamicObject(19460, 2596.74243, -1501.52954, -44.66560, 0.00000, 0.00000, 0.00000);
  42919. CreateDynamicObject(19460, 2596.75220, -1528.67676, -44.66560, 0.00000, 0.00000, 0.00000);
  42920. CreateDynamicObject(19396, 2596.75220, -1535.09338, -44.66560, 0.00000, 0.00000, 0.00000);
  42921. CreateDynamicObject(19460, 2601.58057, -1524.01147, -44.64560, 0.00000, 0.00000, 90.00000);
  42922. CreateDynamicObject(19434, 2596.74512, -1510.27942, -44.66560, 0.00000, 0.00000, 0.00000);
  42923. CreateDynamicObject(19389, 2591.95532, -1483.93140, -48.15700, 0.00000, 0.00000, 90.00000);
  42924. CreateDynamicObject(19359, 2595.14453, -1483.93140, -48.15700, 0.00000, 0.00000, 90.00000);
  42925. CreateDynamicObject(19457, 2583.40991, -1522.69897, -44.66560, 0.00000, 0.00000, 90.00000);
  42926. CreateDynamicObject(19438, 2588.94702, -1522.69946, -44.66560, 0.00000, 0.00000, 90.00000);
  42927. CreateDynamicObject(19457, 2577.47266, -1505.22424, -44.66560, 0.00000, 0.00000, 0.00000);
  42928. CreateDynamicObject(19365, 2589.66089, -1527.40613, -44.66560, 0.00000, 0.00000, 0.00000);
  42929. CreateDynamicObject(19365, 2589.66089, -1524.21826, -44.66560, 0.00000, 0.00000, 0.00000);
  42930. CreateDynamicObject(19365, 2585.99341, -1527.40613, -44.66560, 0.00000, 0.00000, 0.00000);
  42931. CreateDynamicObject(19365, 2585.99341, -1524.21826, -44.66560, 0.00000, 0.00000, 0.00000);
  42932. CreateDynamicObject(19365, 2582.31201, -1524.21826, -44.66560, 0.00000, 0.00000, 0.00000);
  42933. CreateDynamicObject(19365, 2582.31201, -1527.40613, -44.66560, 0.00000, 0.00000, 0.00000);
  42934. CreateDynamicObject(19365, 2575.94946, -1500.48474, -44.66560, 0.00000, 0.00000, 90.00000);
  42935. CreateDynamicObject(19365, 2572.75977, -1500.48474, -44.66560, 0.00000, 0.00000, 90.00000);
  42936. CreateDynamicObject(19365, 2572.75977, -1504.14124, -44.66560, 0.00000, 0.00000, 90.00000);
  42937. CreateDynamicObject(19365, 2575.94946, -1504.14124, -44.66560, 0.00000, 0.00000, 90.00000);
  42938. CreateDynamicObject(19365, 2572.75977, -1507.78198, -44.66560, 0.00000, 0.00000, 90.00000);
  42939. CreateDynamicObject(19365, 2575.94946, -1507.78198, -44.66560, 0.00000, 0.00000, 90.00000);
  42940. CreateDynamicObject(19365, 2572.75977, -1511.46228, -44.66560, 0.00000, 0.00000, 90.00000);
  42941. CreateDynamicObject(19365, 2575.94946, -1511.46228, -44.66560, 0.00000, 0.00000, 90.00000);
  42942. CreateDynamicObject(19365, 2572.75977, -1515.10449, -44.66560, 0.00000, 0.00000, 90.00000);
  42943. CreateDynamicObject(19365, 2575.94946, -1515.10449, -44.66560, 0.00000, 0.00000, 90.00000);
  42944. CreateDynamicObject(19457, 2583.40991, -1522.69995, -45.66560, 0.00000, 0.00000, 90.00000);
  42945. CreateDynamicObject(19438, 2588.94702, -1522.70020, -45.66560, 0.00000, 0.00000, 90.00000);
  42946. CreateDynamicObject(19457, 2577.46680, -1514.04822, -45.66560, 0.00000, 0.00000, 0.00000);
  42947. CreateDynamicObject(19457, 2577.46289, -1505.22412, -45.66560, 0.00000, 0.00000, 0.00000);
  42948. CreateDynamicObject(19377, 2584.49292, -1527.44690, -46.32280, 0.00000, 90.00000, 0.00000);
  42949. CreateDynamicObject(19377, 2583.97290, -1527.44690, -46.32320, 0.00000, 90.00000, 0.00000);
  42950. CreateDynamicObject(19377, 2604.39526, -1533.42480, -46.34320, 0.00000, 90.00000, 0.00000);
  42951. CreateDynamicObject(19377, 2604.37622, -1523.79626, -46.34320, 0.00000, 90.00000, 0.00000);
  42952. CreateDynamicObject(19377, 2604.37622, -1514.20166, -46.32320, 0.00000, 90.00000, 0.00000);
  42953. CreateDynamicObject(19377, 2604.37622, -1504.58643, -46.32320, 0.00000, 90.00000, 0.00000);
  42954. CreateDynamicObject(19377, 2591.38745, -1536.89417, -46.32320, 0.00000, 90.00000, 0.00000);
  42955. CreateDynamicObject(19457, 2611.08936, -1538.23767, -44.66560, 0.00000, 0.00000, 90.00000);
  42956. CreateDynamicObject(19377, 2572.18408, -1513.94531, -46.32320, 0.00000, 90.00000, 0.00000);
  42957. CreateDynamicObject(19377, 2572.18408, -1505.22791, -46.32280, 0.00000, 90.00000, 0.00000);
  42958. CreateDynamicObject(19303, 2571.18823, -1503.19775, -44.98580, 0.00000, 0.00000, -90.00000);
  42959. CreateDynamicObject(19303, 2571.22827, -1501.44617, -44.98580, 0.00000, 0.00000, 90.00000);
  42960. CreateDynamicObject(19303, 2571.18823, -1506.85437, -44.98580, 0.00000, 0.00000, -90.00000);
  42961. CreateDynamicObject(19303, 2571.24829, -1505.10486, -44.98580, 0.00000, 0.00000, 90.00000);
  42962. CreateDynamicObject(19303, 2571.18823, -1510.49536, -44.98580, 0.00000, 0.00000, -90.00000);
  42963. CreateDynamicObject(19303, 2571.24829, -1508.74658, -44.98580, 0.00000, 0.00000, 90.00000);
  42964. CreateDynamicObject(19303, 2571.18823, -1514.13904, -44.98580, 0.00000, 0.00000, -90.00000);
  42965. CreateDynamicObject(19303, 2571.24829, -1512.41980, -44.98580, 0.00000, 0.00000, 90.00000);
  42966. CreateDynamicObject(19303, 2571.24829, -1516.06641, -44.98580, 0.00000, 0.00000, 90.00000);
  42967. CreateDynamicObject(19303, 2571.18823, -1517.80603, -44.98580, 0.00000, 0.00000, -90.00000);
  42968. CreateDynamicObject(19457, 2571.22729, -1505.22424, -41.98680, 0.00000, 0.00000, 0.00000);
  42969. CreateDynamicObject(19457, 2571.22754, -1514.04822, -41.98680, 0.00000, 0.00000, 0.00000);
  42970. CreateDynamicObject(19303, 2581.35059, -1528.97156, -44.98580, 0.00000, 0.00000, 0.00000);
  42971. CreateDynamicObject(19457, 2583.40991, -1528.94238, -41.98680, 0.00000, 0.00000, 90.00000);
  42972. CreateDynamicObject(19303, 2579.60327, -1528.91162, -44.98580, 0.00000, 0.00000, 180.00000);
  42973. CreateDynamicObject(19303, 2583.28394, -1528.91162, -44.98580, 0.00000, 0.00000, 180.00000);
  42974. CreateDynamicObject(19303, 2585.03296, -1528.97156, -44.98580, 0.00000, 0.00000, 0.00000);
  42975. CreateDynamicObject(19303, 2588.69336, -1528.97156, -44.98580, 0.00000, 0.00000, 0.00000);
  42976. CreateDynamicObject(19303, 2586.94556, -1528.91162, -44.98580, 0.00000, 0.00000, 180.00000);
  42977. CreateDynamicObject(19438, 2588.94702, -1528.94202, -41.98680, 0.00000, 0.00000, 90.00000);
  42978. CreateDynamicObject(1800, 2579.32202, -1527.93164, -46.27398, 0.00000, 0.00000, 0.00000);
  42979. CreateDynamicObject(1800, 2582.93384, -1526.51917, -46.27398, 0.00000, 0.00000, 0.00000);
  42980. CreateDynamicObject(1800, 2588.66797, -1527.36243, -46.27398, 0.00000, 0.00000, 0.00000);
  42981. CreateDynamicObject(1800, 2577.43042, -1501.41919, -46.27400, 0.00000, 0.00000, 90.00000);
  42982. CreateDynamicObject(1800, 2577.11499, -1505.10083, -46.27400, 0.00000, 0.00000, 90.00000);
  42983. CreateDynamicObject(1800, 2577.59204, -1510.85632, -46.27400, 0.00000, 0.00000, 90.00000);
  42984. CreateDynamicObject(1800, 2577.44751, -1512.31799, -46.27400, 0.00000, 0.00000, 90.00000);
  42985. CreateDynamicObject(1800, 2577.47534, -1516.01294, -46.27400, 0.00000, 0.00000, 90.00000);
  42986. CreateDynamicObject(19438, 2588.86646, -1506.45715, -46.60810, 90.00000, 0.00000, 0.00000);
  42987. CreateDynamicObject(19438, 2588.86597, -1509.73706, -46.60810, 90.00000, 0.00000, 0.00000);
  42988. CreateDynamicObject(19438, 2588.86548, -1513.03381, -46.60810, 90.00000, 0.00000, 0.00000);
  42989. CreateDynamicObject(19438, 2588.86499, -1516.33594, -46.60810, 90.00000, 0.00000, 0.00000);
  42990. CreateDynamicObject(19438, 2588.86548, -1518.14807, -46.60810, 90.00000, 0.00000, 180.00000);
  42991. CreateDynamicObject(19438, 2588.86646, -1516.41406, -44.66560, 0.00000, 0.00000, 0.00000);
  42992. CreateDynamicObject(19438, 2588.88135, -1504.90344, -44.66560, 0.00000, 0.00000, 0.00000);
  42993. CreateDynamicObject(19438, 2588.86646, -1508.99731, -44.66560, 0.00000, 0.00000, 0.00000);
  42994. CreateDynamicObject(19438, 2588.87012, -1512.33447, -44.66560, 0.00000, 0.00000, 0.00000);
  42995. CreateDynamicObject(1810, 2590.42920, -1500.51331, -49.91660, 0.00000, 0.00000, 90.00000);
  42996. CreateDynamicObject(1810, 2586.68237, -1497.30750, -49.91660, 0.00000, 0.00000, 0.00000);
  42997. CreateDynamicObject(2602, 2572.14648, -1504.59937, -49.35030, 0.00000, 0.00000, 0.00000);
  42998. CreateDynamicObject(2602, 2573.22412, -1511.01282, -49.35030, 0.00000, 0.00000, 180.00000);
  42999. CreateDynamicObject(2602, 2573.22266, -1511.92688, -49.35030, 0.00000, 0.00000, 0.00000);
  43000. CreateDynamicObject(2602, 2572.79858, -1515.56519, -49.35030, 0.00000, 0.00000, 0.00000);
  43001. CreateDynamicObject(2602, 2591.27979, -1516.63000, -49.35030, 0.00000, 0.00000, 0.00000);
  43002. CreateDynamicObject(2602, 2591.74487, -1512.97473, -49.35030, 0.00000, 0.00000, 0.00000);
  43003. CreateDynamicObject(2602, 2592.38574, -1512.03723, -49.35030, 0.00000, 0.00000, 180.00000);
  43004. CreateDynamicObject(2602, 2591.84839, -1505.66943, -49.35030, 0.00000, 0.00000, 0.00000);
  43005. CreateDynamicObject(2602, 2591.37744, -1504.71008, -49.35030, 0.00000, 0.00000, 180.00000);
  43006. CreateDynamicObject(2602, 2582.76782, -1527.49097, -49.35030, 0.00000, 0.00000, 90.00000);
  43007. CreateDynamicObject(2602, 2589.18628, -1526.14258, -49.35030, 0.00000, 0.00000, -90.00000);
  43008. CreateDynamicObject(2602, 2581.86279, -1526.67358, -49.35030, 0.00000, 0.00000, -90.00000);
  43009. CreateDynamicObject(2602, 2581.86060, -1523.89819, -45.61610, 0.00000, 0.00000, -90.00000);
  43010. CreateDynamicObject(2602, 2585.52637, -1524.74927, -45.61610, 0.00000, 0.00000, -90.00000);
  43011. CreateDynamicObject(2602, 2586.44727, -1524.84241, -45.61610, 0.00000, 0.00000, 90.00000);
  43012. CreateDynamicObject(2602, 2576.57471, -1518.32629, -45.61610, 0.00000, 0.00000, 180.00000);
  43013. CreateDynamicObject(2602, 2576.43530, -1514.63892, -45.61610, 0.00000, 0.00000, 180.00000);
  43014. CreateDynamicObject(2602, 2575.47778, -1508.23962, -45.61610, 0.00000, 0.00000, 0.00000);
  43015. CreateDynamicObject(2602, 2576.33154, -1507.31702, -45.61610, 0.00000, 0.00000, 180.00000);
  43016. CreateDynamicObject(2602, 2576.11206, -1503.66699, -45.61610, 0.00000, 0.00000, 180.00000);
  43017. CreateDynamicObject(2718, 2568.19434, -1527.00000, -47.33910, 0.00000, 0.00000, 90.00000);
  43018. CreateDynamicObject(1711, 2578.03882, -1529.53357, -49.91520, 0.00000, 0.00000, -90.00000);
  43019. CreateDynamicObject(1711, 2576.34570, -1531.33813, -49.91520, 0.00000, 0.00000, 180.00000);
  43020. CreateDynamicObject(2635, 2569.77515, -1530.23474, -49.51590, 0.00000, 0.00000, 0.00000);
  43021. CreateDynamicObject(1810, 2569.92432, -1529.15881, -49.91660, 0.00000, 0.00000, 0.00000);
  43022. CreateDynamicObject(1810, 2569.37134, -1531.29395, -49.91660, 0.00000, 0.00000, 180.00000);
  43023. CreateDynamicObject(1810, 2568.62671, -1530.01941, -49.91660, 0.00000, 0.00000, 90.00000);
  43024. CreateDynamicObject(1810, 2570.78198, -1530.48633, -49.91660, 0.00000, 0.00000, -90.00000);
  43025. CreateDynamicObject(1810, 2576.96851, -1519.39624, -49.91660, 0.00000, 0.00000, 0.00000);
  43026. CreateDynamicObject(19273, 2594.08350, -1487.19788, -48.57370, 0.00000, 0.00000, 0.00000);
  43027. CreateDynamicObject(19273, 2594.18018, -1487.10999, -48.57370, 0.00000, 0.00000, 180.00000);
  43028. CreateDynamicObject(19273, 2589.69604, -1496.60120, -48.57370, 0.00000, 0.00000, 180.00000);
  43029. CreateDynamicObject(19273, 2573.71143, -1532.06836, -48.57370, 0.00000, 0.00000, 180.00000);
  43030. CreateDynamicObject(19273, 2571.60864, -1532.21521, -48.57370, 0.00000, 0.00000, 0.00000);
  43031. CreateDynamicObject(19273, 2593.41919, -1497.23035, -48.57370, 0.00000, 0.00000, -90.00000);
  43032. CreateDynamicObject(19273, 2593.55542, -1499.23413, -48.57370, 0.00000, 0.00000, 90.00000);
  43033. CreateDynamicObject(19273, 2577.58984, -1486.57471, -48.57370, 0.00000, 0.00000, 90.00000);
  43034. CreateDynamicObject(19273, 2577.44214, -1484.65076, -48.57370, 0.00000, 0.00000, -90.00000);
  43035. CreateDynamicObject(2602, 2587.07300, -1539.93286, -49.35030, 0.00000, 0.00000, 90.00000);
  43036. CreateDynamicObject(2602, 2580.64624, -1539.87231, -49.35030, 0.00000, 0.00000, 90.00000);
  43037. CreateDynamicObject(19377, 2598.66260, -1533.35229, -46.32270, 0.00000, 90.00000, 0.00000);
  43038. CreateDynamicObject(19377, 2598.66260, -1523.75049, -46.32270, 0.00000, 90.00000, 0.00000);
  43039. CreateDynamicObject(19377, 2598.66260, -1514.12561, -46.32270, 0.00000, 90.00000, 0.00000);
  43040. CreateDynamicObject(19377, 2598.66260, -1504.50085, -46.32270, 0.00000, 90.00000, 0.00000);
  43041. CreateDynamicObject(19377, 2598.66260, -1494.88330, -46.32270, 0.00000, 90.00000, 0.00000);
  43042. CreateDynamicObject(19377, 2593.63184, -1506.68372, -46.32320, 0.00000, 90.00000, 90.00000);
  43043. CreateDynamicObject(19377, 2593.63184, -1514.64746, -46.32230, 0.00000, 90.00000, 90.00000);
  43044. CreateDynamicObject(638, 2568.48364, -1477.85156, -49.19830, 0.00000, 0.00000, 0.00000);
  43045. CreateDynamicObject(2245, 2572.41943, -1481.87903, -48.68350, 0.00000, 0.00000, 0.00000);
  43046. CreateDynamicObject(2252, 2572.42139, -1485.11365, -48.68350, 0.00000, 0.00000, 0.00000);
  43047. CreateDynamicObject(2253, 2568.62402, -1481.60767, -48.72350, 0.00000, 0.00000, 0.00000);
  43048. CreateDynamicObject(19175, 2585.85278, -1474.42944, -47.35350, 0.00000, 0.00000, 0.00000);
  43049. CreateDynamicObject(19174, 2574.56104, -1487.03320, -47.61350, 0.00000, 0.00000, 180.00000);
  43050. CreateDynamicObject(19173, 2570.72852, -1474.47534, -47.60280, 0.00000, 0.00000, 0.00000);
  43051. CreateDynamicObject(19172, 2568.13721, -1479.89917, -47.61350, 0.00000, 0.00000, 90.00000);
  43052. CreateDynamicObject(18070, 2569.50610, -1483.44165, -49.47186, 0.00000, 0.00000, 180.00000);
  43053. CreateDynamicObject(1806, 2586.90967, -1488.75354, -49.91704, 0.00000, 0.00000, 0.00000);
  43054. CreateDynamicObject(2161, 2596.98218, -1492.31104, -49.91700, 0.00000, 0.00000, 90.00000);
  43055. CreateDynamicObject(2162, 2596.87769, -1490.86902, -48.72180, 0.00000, 0.00000, 90.00000);
  43056. CreateDynamicObject(2163, 2606.37378, -1499.91345, -48.52203, 0.00000, 0.00000, -90.00000);
  43057. CreateDynamicObject(2164, 2602.21899, -1487.31799, -49.91704, 0.00000, 0.00000, 0.00000);
  43058. CreateDynamicObject(2165, 2605.77466, -1496.28833, -49.91700, 0.00000, 0.00000, 180.00000);
  43059. CreateDynamicObject(2167, 2596.95679, -1493.40100, -49.91700, 0.00000, 0.00000, 90.00000);
  43060. CreateDynamicObject(2169, 2597.33545, -1490.92798, -49.91700, 0.00000, 0.00000, 90.00000);
  43061. CreateDynamicObject(2172, 2597.42065, -1500.96277, -49.91700, 0.00000, 0.00000, 90.00000);
  43062. CreateDynamicObject(2174, 2599.37720, -1487.76538, -49.91704, 0.00000, 0.00000, 0.00000);
  43063. CreateDynamicObject(2181, 2603.72656, -1502.96973, -49.91700, 0.00000, 0.00000, 180.00000);
  43064. CreateDynamicObject(2182, 2605.72803, -1502.02673, -49.91700, 0.00000, 0.00000, 180.00000);
  43065. CreateDynamicObject(2183, 2601.35400, -1497.89331, -49.91700, 0.00000, 0.00000, 90.00000);
  43066. CreateDynamicObject(2184, 2599.82764, -1527.04395, -46.25660, 0.00000, 0.00000, 0.00000);
  43067. CreateDynamicObject(2185, 2602.97461, -1531.84851, -46.23660, 0.00000, 0.00000, 180.00000);
  43068. CreateDynamicObject(2193, 2598.41455, -1503.01685, -49.91700, 0.00000, 0.00000, 90.00000);
  43069. CreateDynamicObject(2198, 2601.69312, -1503.04260, -49.91700, 0.00000, 0.00000, 180.00000);
  43070. CreateDynamicObject(2199, 2597.56201, -1524.18323, -46.25660, 0.00000, 0.00000, 0.00000);
  43071. CreateDynamicObject(2200, 2604.13843, -1487.38721, -49.91704, 0.00000, 0.00000, 0.00000);
  43072. CreateDynamicObject(2204, 2604.62842, -1509.37769, -46.25660, 0.00000, 0.00000, 180.00000);
  43073. CreateDynamicObject(2205, 2597.36426, -1502.96680, -46.25660, 0.00000, 0.00000, 90.00000);
  43074. CreateDynamicObject(2206, 2603.71655, -1505.10828, -46.25660, 0.00000, 0.00000, 90.00000);
  43075. CreateDynamicObject(2308, 2597.39551, -1488.77307, -49.91704, 0.00000, 0.00000, 0.00000);
  43076. CreateDynamicObject(1714, 2605.20947, -1504.24695, -46.21650, 0.00000, 0.00000, -90.00000);
  43077. CreateDynamicObject(1721, 2569.63257, -1474.60681, -49.90590, 0.00000, 0.00000, 180.00000);
  43078. CreateDynamicObject(2611, 2591.42407, -1487.29639, -48.26870, 0.00000, 0.00000, 0.00000);
  43079. CreateDynamicObject(2606, 2591.78906, -1496.30676, -47.69410, 0.00000, 0.00000, 180.00000);
  43080. CreateDynamicObject(2604, 2596.13354, -1494.63843, -49.11350, 0.00000, 0.00000, -90.00000);
  43081. CreateDynamicObject(2616, 2574.79102, -1518.92114, -48.60635, 0.00000, 0.00000, 0.00000);
  43082. CreateDynamicObject(1742, 2598.48486, -1538.24622, -46.25660, 0.00000, 0.00000, 180.00000);
  43083. CreateDynamicObject(1671, 2600.98779, -1524.89697, -45.79235, 0.00000, 0.00000, 0.00000);
  43084. CreateDynamicObject(2894, 2591.63574, -1500.69678, -49.08870, 0.00000, 0.00000, 90.00000);
  43085. CreateDynamicObject(1998, 2586.08789, -1488.74377, -49.91875, 0.00000, 0.00000, 0.00000);
  43086. CreateDynamicObject(1523, 2600.10474, -1479.13501, -49.92952, 0.00000, 0.00000, 0.00000);
  43087. CreateDynamicObject(2742, 2600.31421, -1482.18481, -48.60370, 0.00000, 0.00000, 90.00000);
  43088. CreateDynamicObject(2741, 2605.64014, -1483.76282, -48.46370, 0.00000, 0.00000, 180.00000);
  43089. CreateDynamicObject(1775, 2579.58594, -1474.87830, -48.82513, 0.00000, 0.00000, 0.00000);
  43090. CreateDynamicObject(956, 2580.95557, -1474.80444, -49.49685, 0.00000, 0.00000, 0.00000);
  43091. CreateDynamicObject(1789, 2588.80957, -1486.76392, -49.35120, 0.00000, 0.00000, 180.00000);
  43092. CreateDynamicObject(2146, 2596.20996, -1508.98181, -49.43050, 0.00000, 0.00000, 0.00000);
  43093. CreateDynamicObject(2628, 2574.28003, -1540.58179, -49.92200, 0.00000, 0.00000, 180.00000);
  43094. CreateDynamicObject(2627, 2572.58423, -1540.41638, -49.91840, 0.00000, 0.00000, 180.00000);
  43095. CreateDynamicObject(2629, 2575.20313, -1533.17505, -49.91780, 0.00000, 0.00000, 0.00000);
  43096. CreateDynamicObject(2630, 2568.96802, -1537.28748, -49.91880, 0.00000, 0.00000, 90.00000);
  43097. CreateDynamicObject(2631, 2577.87817, -1534.40308, -49.91780, 0.00000, 0.00000, 15.00000);
  43098. CreateDynamicObject(2632, 2569.96753, -1534.49731, -49.91730, 0.00000, 0.00000, 100.00000);
  43099. CreateDynamicObject(1363, 2583.87109, -1493.30212, -49.08421, 0.00000, 0.00000, 0.00000);
  43100. CreateDynamicObject(2596, 2571.47485, -1519.17908, -48.30616, 0.00000, 0.00000, 0.00000);
  43101. CreateDynamicObject(1713, 2584.90649, -1481.50220, -49.90458, 0.00000, 0.00000, 0.00000);
  43102. CreateDynamicObject(2000, 2586.11768, -1494.90564, -49.91420, 0.00000, 0.00000, 90.00000);
  43103. CreateDynamicObject(2523, 2601.54858, -1483.32410, -49.81460, 0.00000, 0.00000, 180.00000);
  43104. CreateDynamicObject(2525, 2607.53931, -1476.88062, -49.91460, 0.00000, 0.00000, 0.00000);
  43105. CreateDynamicObject(3072, 2570.91357, -1532.60449, -49.71390, 0.00000, 90.00000, 50.00000);
  43106. CreateDynamicObject(3004, 2578.01782, -1537.85706, -49.01550, 0.00000, 0.00000, 0.00000);
  43107. CreateDynamicObject(2995, 2578.33276, -1537.65479, -48.99400, 0.00000, 0.00000, 0.00000);
  43108. CreateDynamicObject(2996, 2578.62646, -1537.23999, -48.99400, 0.00000, 0.00000, 0.00000);
  43109. CreateDynamicObject(2997, 2578.38940, -1538.05322, -48.99400, 0.00000, 0.00000, 0.00000);
  43110. CreateDynamicObject(2998, 2578.55835, -1538.38879, -48.99400, 0.00000, 0.00000, 0.00000);
  43111. CreateDynamicObject(2999, 2578.71729, -1537.82056, -48.99400, 0.00000, 0.00000, 0.00000);
  43112. CreateDynamicObject(3000, 2577.95215, -1538.75720, -48.99400, 0.00000, 0.00000, 0.00000);
  43113. CreateDynamicObject(2995, 2577.85596, -1538.33630, -48.99400, 0.00000, 0.00000, 0.00000);
  43114. CreateDynamicObject(2964, 2578.29688, -1537.96448, -49.91370, 0.00000, 0.00000, 80.00000);
  43115. CreateDynamicObject(14401, 2587.76660, -1469.15039, -49.62430, 0.00000, 0.00000, 180.00000);
  43116. CreateDynamicObject(1363, 2582.29395, -1495.10706, -49.08421, 0.00000, 0.00000, 0.00000);
  43117. CreateDynamicObject(14455, 2577.31763, -1481.97693, -48.38499, 0.00000, 0.00000, 90.00000);
  43118. CreateDynamicObject(14455, 2590.16699, -1481.47791, -48.38499, 0.00000, 0.00000, 90.00000);
  43119. CreateDynamicObject(2146, 2605.76953, -1516.00061, -49.43050, 0.00000, 0.00000, 0.00000);
  43120. CreateDynamicObject(2611, 2603.20459, -1524.15088, -44.87059, 0.00000, 0.00000, 0.00000);
  43121. CreateDynamicObject(14455, 2604.03296, -1509.76282, -48.28500, 0.00000, 0.00000, 180.00000);
  43122. CreateDynamicObject(2165, 2569.67407, -1481.68408, -49.75700, 0.00000, 0.00000, 0.00000);
  43123. CreateDynamicObject(14455, 2598.97168, -1535.75232, -48.28500, 0.00000, 0.00000, 0.00000);
  43124. CreateDynamicObject(14455, 2598.63550, -1523.78687, -44.68180, 0.00000, 0.00000, 0.00000);
  43125. CreateDynamicObject(14455, 2603.71631, -1500.01074, -44.70180, 0.00000, 0.00000, 180.00000);
  43126. CreateDynamicObject(1806, 2600.41162, -1488.70020, -49.91704, 0.00000, 0.00000, 0.00000);
  43127. CreateDynamicObject(2010, 2568.52417, -1486.66736, -49.90100, 0.00000, 0.00000, 0.00000);
  43128. CreateDynamicObject(2010, 2577.07935, -1474.77063, -49.90100, 0.00000, 0.00000, 0.00000);
  43129. CreateDynamicObject(2946, 2576.44922, -1474.44080, -49.90040, 0.00000, 0.00000, 90.00000);
  43130. CreateDynamicObject(2946, 2573.27051, -1474.41724, -49.90040, 0.00000, 0.00000, -90.00000);
  43131. CreateDynamicObject(2614, 2570.66675, -1486.98413, -47.63040, 0.00000, 0.00000, 180.00000);
  43132. CreateDynamicObject(2010, 2568.47461, -1474.89624, -49.90100, 0.00000, 0.00000, 0.00000);
  43133. CreateDynamicObject(1721, 2570.24854, -1474.60681, -49.90590, 0.00000, 0.00000, 180.00000);
  43134. CreateDynamicObject(1721, 2570.86060, -1474.60681, -49.90590, 0.00000, 0.00000, 180.00000);
  43135. CreateDynamicObject(1721, 2571.47290, -1474.60681, -49.90590, 0.00000, 0.00000, 180.00000);
  43136. CreateDynamicObject(1721, 2583.87866, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43137. CreateDynamicObject(1721, 2585.25098, -1488.88098, -49.90590, 0.00000, 0.00000, 90.00000);
  43138. CreateDynamicObject(1806, 2570.82275, -1490.87329, -49.91700, 0.00000, 0.00000, 200.00000);
  43139. CreateDynamicObject(3004, 2578.15698, -1538.35229, -49.01550, 0.00000, 0.00000, -150.00000);
  43140. CreateDynamicObject(3072, 2568.93994, -1535.83972, -49.71390, 0.00000, 90.00000, 90.00000);
  43141. CreateDynamicObject(3072, 2569.24634, -1533.01208, -49.67390, 0.00000, 90.00000, 0.00000);
  43142. CreateDynamicObject(3072, 2579.19116, -1533.47083, -49.67390, 0.00000, 90.00000, 90.00000);
  43143. CreateDynamicObject(3072, 2579.59277, -1535.24817, -49.71390, 0.00000, 90.00000, -15.00000);
  43144. CreateDynamicObject(2819, 2575.37158, -1504.00977, -49.91674, 0.00000, 0.00000, 0.00000);
  43145. CreateDynamicObject(2844, 2574.35718, -1511.12402, -49.91626, 0.00000, 0.00000, 0.00000);
  43146. CreateDynamicObject(2852, 2576.17847, -1504.80542, -49.91603, 0.00000, 0.00000, 0.00000);
  43147. CreateDynamicObject(2852, 2589.46997, -1511.89709, -49.91603, 0.00000, 0.00000, 0.00000);
  43148. CreateDynamicObject(2855, 2575.18433, -1511.84570, -49.91580, 0.00000, 0.00000, 90.00000);
  43149. CreateDynamicObject(2843, 2575.69604, -1518.78784, -49.91651, 0.00000, 0.00000, 0.00000);
  43150. CreateDynamicObject(1369, 2575.72192, -1515.83301, -49.31600, 0.00000, 0.00000, 0.00000);
  43151. CreateDynamicObject(2855, 2589.40991, -1501.91907, -49.91580, 0.00000, 0.00000, 90.00000);
  43152. CreateDynamicObject(2843, 2588.94653, -1508.74988, -49.91651, 0.00000, 0.00000, 0.00000);
  43153. CreateDynamicObject(2819, 2589.46948, -1513.59839, -49.91674, 0.00000, 0.00000, 0.00000);
  43154. CreateDynamicObject(2855, 2589.45874, -1519.40405, -49.91580, 0.00000, 0.00000, 90.00000);
  43155. CreateDynamicObject(2852, 2578.05347, -1531.53015, -49.91600, 0.00000, 0.00000, 90.00000);
  43156. CreateDynamicObject(1369, 2597.63550, -1513.57092, -49.31600, 0.00000, 0.00000, 90.00000);
  43157. CreateDynamicObject(2146, 2602.29590, -1518.70361, -49.43050, 0.00000, 0.00000, 90.00000);
  43158. CreateDynamicObject(14455, 2596.43384, -1517.47253, -44.72180, 0.00000, 0.00000, 90.00000);
  43159. CreateDynamicObject(2606, 2578.67944, -1490.76758, -43.61390, 0.00000, 0.00000, 0.00000);
  43160. CreateDynamicObject(2606, 2597.10278, -1505.08801, -44.05260, 0.00000, 0.00000, 90.00000);
  43161. CreateDynamicObject(2819, 2599.03271, -1480.38318, -49.29670, 0.00000, 0.00000, -90.00000);
  43162. CreateDynamicObject(2596, 2585.77661, -1483.56042, -47.88430, 0.00000, 0.00000, 180.00000);
  43163. CreateDynamicObject(1806, 2594.95313, -1495.69495, -49.91700, 0.00000, 0.00000, -90.00000);
  43164. CreateDynamicObject(1806, 2580.77637, -1490.76599, -49.91700, 0.00000, 0.00000, 180.00000);
  43165. CreateDynamicObject(1806, 2576.08960, -1490.74622, -49.91700, 0.00000, 0.00000, 170.00000);
  43166. CreateDynamicObject(14401, 2613.71362, -1470.69446, -49.62430, 0.00000, 0.00000, 90.00000);
  43167. CreateDynamicObject(14401, 2596.19336, -1474.96106, -49.62430, 0.00000, 0.00000, -90.00000);
  43168. CreateDynamicObject(14782, 2591.12061, -1478.68481, -48.91040, 0.00000, 0.00000, 90.00000);
  43169. CreateDynamicObject(19359, 2601.70410, -1477.57898, -48.15700, 0.00000, 0.00000, 0.00000);
  43170. CreateDynamicObject(1523, 2601.76587, -1479.13501, -49.92950, 0.00000, 0.00000, 0.00000);
  43171. CreateDynamicObject(19359, 2603.36670, -1477.57898, -48.15700, 0.00000, 0.00000, 0.00000);
  43172. CreateDynamicObject(1523, 2603.43408, -1479.13501, -49.92950, 0.00000, 0.00000, 0.00000);
  43173. CreateDynamicObject(19359, 2605.05103, -1477.57898, -48.15700, 0.00000, 0.00000, 0.00000);
  43174. CreateDynamicObject(1523, 2605.11182, -1479.13501, -49.92950, 0.00000, 0.00000, 0.00000);
  43175. CreateDynamicObject(19359, 2606.72070, -1477.57898, -48.15700, 0.00000, 0.00000, 0.00000);
  43176. CreateDynamicObject(1523, 2606.78003, -1479.13501, -49.92950, 0.00000, 0.00000, 0.00000);
  43177. CreateDynamicObject(19359, 2608.38110, -1477.57898, -48.15700, 0.00000, 0.00000, 0.00000);
  43178. CreateDynamicObject(19359, 2609.90601, -1479.10535, -48.15700, 0.00000, 0.00000, 90.00000);
  43179. CreateDynamicObject(19379, 2605.34692, -1479.18799, -49.91380, 0.00000, 90.00000, 0.00000);
  43180. CreateDynamicObject(2525, 2605.91382, -1476.88062, -49.91460, 0.00000, 0.00000, 0.00000);
  43181. CreateDynamicObject(2525, 2604.16821, -1476.88062, -49.91460, 0.00000, 0.00000, 0.00000);
  43182. CreateDynamicObject(2525, 2602.54395, -1476.88062, -49.91460, 0.00000, 0.00000, 0.00000);
  43183. CreateDynamicObject(2525, 2600.89771, -1476.88062, -49.91460, 0.00000, 0.00000, 0.00000);
  43184. CreateDynamicObject(2523, 2603.16846, -1483.32410, -49.81460, 0.00000, 0.00000, 180.00000);
  43185. CreateDynamicObject(2523, 2606.63232, -1483.32410, -49.81460, 0.00000, 0.00000, 180.00000);
  43186. CreateDynamicObject(2523, 2604.84888, -1483.32410, -49.81460, 0.00000, 0.00000, 180.00000);
  43187. CreateDynamicObject(2741, 2603.85864, -1483.76282, -48.46370, 0.00000, 0.00000, 180.00000);
  43188. CreateDynamicObject(2741, 2600.60522, -1483.76282, -48.46370, 0.00000, 0.00000, 180.00000);
  43189. CreateDynamicObject(2741, 2602.20996, -1483.76282, -48.46370, 0.00000, 0.00000, 180.00000);
  43190. CreateDynamicObject(2742, 2600.31421, -1480.62231, -48.60370, 0.00000, 0.00000, 90.00000);
  43191. CreateDynamicObject(2742, 2609.43042, -1480.52808, -48.60370, 0.00000, 0.00000, -90.00000);
  43192. CreateDynamicObject(2742, 2609.43042, -1482.34863, -48.60370, 0.00000, 0.00000, -90.00000);
  43193. CreateDynamicObject(1789, 2609.24829, -1492.59570, -49.35120, 0.00000, 0.00000, -90.00000);
  43194. CreateDynamicObject(1789, 2609.24463, -1510.89917, -49.35120, 0.00000, 0.00000, -90.00000);
  43195. CreateDynamicObject(2185, 2598.71509, -1529.34131, -46.23660, 0.00000, 0.00000, 180.00000);
  43196. CreateDynamicObject(2185, 2598.69971, -1531.77185, -46.23660, 0.00000, 0.00000, 180.00000);
  43197. CreateDynamicObject(2185, 2604.92847, -1529.39124, -46.23660, 0.00000, 0.00000, 180.00000);
  43198. CreateDynamicObject(2185, 2604.92847, -1534.41040, -46.23660, 0.00000, 0.00000, 180.00000);
  43199. CreateDynamicObject(2180, 2604.58057, -1526.72522, -46.23660, 0.00000, 0.00000, 90.00000);
  43200. CreateDynamicObject(2185, 2604.92847, -1531.84851, -46.23660, 0.00000, 0.00000, 180.00000);
  43201. CreateDynamicObject(2185, 2602.97461, -1534.41040, -46.23660, 0.00000, 0.00000, 180.00000);
  43202. CreateDynamicObject(2185, 2602.97461, -1529.39294, -46.23660, 0.00000, 0.00000, 180.00000);
  43203. CreateDynamicObject(2844, 2594.80347, -1475.47400, -49.29630, 0.00000, 0.00000, 90.00000);
  43204. CreateDynamicObject(2843, 2593.65186, -1483.94617, -49.27650, 0.00000, 0.00000, 0.00000);
  43205. CreateDynamicObject(2852, 2599.43823, -1483.13098, -49.91600, 0.00000, 0.00000, 0.00000);
  43206. CreateDynamicObject(2855, 2593.16162, -1474.95178, -49.91580, 0.00000, 0.00000, 0.00000);
  43207. CreateDynamicObject(1789, 2593.90356, -1529.38184, -49.35120, 0.00000, 0.00000, 90.00000);
  43208. CreateDynamicObject(1369, 2583.47314, -1535.81604, -49.31600, 0.00000, 0.00000, 0.00000);
  43209. CreateDynamicObject(3072, 2582.31519, -1540.82629, -49.71390, 0.00000, 90.00000, 90.00000);
  43210. CreateDynamicObject(2852, 2590.54321, -1541.08350, -49.91600, 0.00000, 0.00000, 0.00000);
  43211. CreateDynamicObject(2635, 2590.40771, -1535.82129, -49.51590, 0.00000, 0.00000, 0.00000);
  43212. CreateDynamicObject(2819, 2591.74268, -1536.52283, -49.91670, 0.00000, 0.00000, -90.00000);
  43213. CreateDynamicObject(2844, 2583.94360, -1538.20215, -49.91626, 0.00000, 0.00000, 0.00000);
  43214. CreateDynamicObject(2671, 2586.97827, -1535.93213, -49.89690, 0.00000, 0.00000, 180.00000);
  43215. CreateDynamicObject(1810, 2580.68408, -1536.78333, -49.91660, 0.00000, 0.00000, 90.00000);
  43216. CreateDynamicObject(1810, 2588.70215, -1541.01331, -49.91660, 0.00000, 0.00000, 180.00000);
  43217. CreateDynamicObject(1810, 2591.71729, -1536.16455, -49.91660, 0.00000, 0.00000, -100.00000);
  43218. CreateDynamicObject(1713, 2600.71387, -1508.91553, -46.28670, 0.00000, 0.00000, 180.00000);
  43219. CreateDynamicObject(2010, 2578.33032, -1475.01855, -49.90100, 0.00000, 0.00000, 0.00000);
  43220. CreateDynamicObject(2010, 2589.80762, -1475.05420, -49.90100, 0.00000, 0.00000, 0.00000);
  43221. CreateDynamicObject(2010, 2589.81470, -1483.41736, -49.90100, 0.00000, 0.00000, 0.00000);
  43222. CreateDynamicObject(2010, 2580.66528, -1483.34033, -49.90100, 0.00000, 0.00000, 0.00000);
  43223. CreateDynamicObject(1721, 2584.48218, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43224. CreateDynamicObject(1721, 2585.08569, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43225. CreateDynamicObject(1721, 2585.70093, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43226. CreateDynamicObject(1721, 2586.31104, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43227. CreateDynamicObject(1721, 2586.93262, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43228. CreateDynamicObject(1721, 2587.53809, -1474.54224, -49.90590, 0.00000, 0.00000, 180.00000);
  43229. CreateDynamicObject(1721, 2587.53809, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43230. CreateDynamicObject(1721, 2586.93262, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43231. CreateDynamicObject(1721, 2586.31104, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43232. CreateDynamicObject(1721, 2585.70093, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43233. CreateDynamicObject(1721, 2585.08569, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43234. CreateDynamicObject(1721, 2584.48218, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43235. CreateDynamicObject(1721, 2583.87866, -1478.06799, -49.90590, 0.00000, 0.00000, 180.00000);
  43236. CreateDynamicObject(1721, 2587.53809, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43237. CreateDynamicObject(1721, 2586.93262, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43238. CreateDynamicObject(1721, 2586.31104, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43239. CreateDynamicObject(1721, 2585.70093, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43240. CreateDynamicObject(1721, 2585.08569, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43241. CreateDynamicObject(1721, 2584.48218, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43242. CreateDynamicObject(1721, 2583.87866, -1477.80798, -49.90590, 0.00000, 0.00000, 0.00000);
  43243. CreateDynamicObject(1721, 2577.85864, -1477.00391, -49.90590, 0.00000, 0.00000, -90.00000);
  43244. CreateDynamicObject(1721, 2577.85864, -1477.61597, -49.90590, 0.00000, 0.00000, -90.00000);
  43245. CreateDynamicObject(1721, 2577.85864, -1478.22400, -49.90590, 0.00000, 0.00000, -90.00000);
  43246. CreateDynamicObject(1721, 2577.85864, -1478.83960, -49.90590, 0.00000, 0.00000, -90.00000);
  43247. CreateDynamicObject(1721, 2577.85864, -1479.44983, -49.90590, 0.00000, 0.00000, -90.00000);
  43248. CreateDynamicObject(1721, 2577.85864, -1480.05359, -49.90590, 0.00000, 0.00000, -90.00000);
  43249. CreateDynamicObject(1721, 2577.85864, -1480.66565, -49.90590, 0.00000, 0.00000, -90.00000);
  43250. CreateDynamicObject(19173, 2577.74170, -1478.78918, -47.34280, 0.00000, 0.00000, 90.00000);
  43251. CreateDynamicObject(1721, 2568.24292, -1488.48950, -49.90590, 0.00000, 0.00000, -90.00000);
  43252. CreateDynamicObject(1721, 2568.25806, -1489.10095, -49.90590, 0.00000, 0.00000, -90.00000);
  43253. CreateDynamicObject(1721, 2572.55347, -1487.33875, -49.90590, 0.00000, 0.00000, 180.00000);
  43254. CreateDynamicObject(1721, 2573.16187, -1487.34607, -49.90590, 0.00000, 0.00000, 180.00000);
  43255. CreateDynamicObject(1721, 2573.76978, -1487.35364, -49.90590, 0.00000, 0.00000, 180.00000);
  43256. CreateDynamicObject(1721, 2577.89258, -1487.38855, -49.90590, 0.00000, 0.00000, 180.00000);
  43257. CreateDynamicObject(1721, 2578.49341, -1487.37585, -49.90590, 0.00000, 0.00000, 180.00000);
  43258. CreateDynamicObject(1721, 2579.09424, -1487.36316, -49.90590, 0.00000, 0.00000, 180.00000);
  43259. CreateDynamicObject(1721, 2585.25098, -1489.48145, -49.90590, 0.00000, 0.00000, 90.00000);
  43260. CreateDynamicObject(1721, 2585.25098, -1490.08191, -49.90590, 0.00000, 0.00000, 90.00000);
  43261. CreateDynamicObject(1810, 2580.52197, -1492.96436, -49.91660, 0.00000, 0.00000, 190.00000);
  43262. CreateDynamicObject(1810, 2575.77637, -1492.75854, -49.91660, 0.00000, 0.00000, 180.00000);
  43263. CreateDynamicObject(1810, 2570.69043, -1492.83032, -49.91660, 0.00000, 0.00000, 160.00000);
  43264. CreateDynamicObject(1363, 2569.69702, -1494.92078, -49.08421, 0.00000, 0.00000, 0.00000);
  43265. CreateDynamicObject(2000, 2586.11768, -1494.39185, -49.91420, 0.00000, 0.00000, 90.00000);
  43266. CreateDynamicObject(2000, 2586.11768, -1493.86658, -49.91420, 0.00000, 0.00000, 90.00000);
  43267. CreateDynamicObject(2000, 2605.48438, -1518.76184, -49.91420, 0.00000, 0.00000, 180.00000);
  43268. CreateDynamicObject(2000, 2605.00439, -1518.75061, -49.91420, 0.00000, 0.00000, 180.00000);
  43269. CreateDynamicObject(2615, 2588.26880, -1487.28296, -48.52640, 0.00000, 0.00000, 0.00000);
  43270. CreateDynamicObject(2615, 2574.38354, -1518.93274, -48.44710, 0.00000, 0.00000, 0.00000);
  43271. CreateDynamicObject(2615, 2601.38721, -1538.09265, -44.93370, 0.00000, 0.00000, 180.00000);
  43272. CreateDynamicObject(2184, 2599.55859, -1512.51917, -46.25660, 0.00000, 0.00000, 0.00000);
  43273. CreateDynamicObject(2852, 2582.84888, -1527.43164, -46.24090, 0.00000, 0.00000, 180.00000);
  43274. CreateDynamicObject(2852, 2572.39941, -1501.08386, -46.24090, 0.00000, 0.00000, 90.00000);
  43275. CreateDynamicObject(2852, 2568.61255, -1497.22864, -46.24090, 0.00000, 0.00000, 90.00000);
  43276. CreateDynamicObject(2855, 2577.09937, -1505.96021, -46.24090, 0.00000, 0.00000, 0.00000);
  43277. CreateDynamicObject(2819, 2582.33325, -1527.63440, -46.24090, 0.00000, 0.00000, 90.00000);
  43278. CreateDynamicObject(2844, 2586.07373, -1526.79089, -46.24090, 0.00000, 0.00000, -90.00000);
  43279. CreateDynamicObject(1810, 2573.23657, -1503.49475, -46.24090, 0.00000, 0.00000, 180.00000);
  43280. CreateDynamicObject(1810, 2585.36938, -1526.96338, -46.24090, 0.00000, 0.00000, -90.00000);
  43281. CreateDynamicObject(2165, 2605.77905, -1493.67004, -49.91700, 0.00000, 0.00000, 180.00000);
  43282. CreateDynamicObject(2165, 2605.81689, -1491.15540, -49.91700, 0.00000, 0.00000, 180.00000);
  43283. CreateDynamicObject(2183, 2601.35352, -1493.96692, -49.91700, 0.00000, 0.00000, 90.00000);
  43284. CreateDynamicObject(1806, 2598.38501, -1488.60022, -49.91704, 0.00000, 0.00000, 0.00000);
  43285. CreateDynamicObject(1806, 2600.89673, -1502.00037, -49.91700, 0.00000, 0.00000, 180.00000);
  43286. CreateDynamicObject(1806, 2603.20557, -1502.23035, -49.91700, 0.00000, 0.00000, 180.00000);
  43287. CreateDynamicObject(1806, 2598.52271, -1502.08582, -49.91700, 0.00000, 0.00000, 90.00000);
  43288. CreateDynamicObject(1806, 2598.15820, -1500.15710, -49.91700, 0.00000, 0.00000, 90.00000);
  43289. CreateDynamicObject(1806, 2605.02002, -1502.13989, -49.91700, 0.00000, 0.00000, -90.00000);
  43290. CreateDynamicObject(1806, 2604.91797, -1495.18140, -49.91700, 0.00000, 0.00000, 190.00000);
  43291. CreateDynamicObject(1806, 2605.14307, -1492.21313, -49.91700, 0.00000, 0.00000, 180.00000);
  43292. CreateDynamicObject(1806, 2605.41919, -1490.08899, -49.91700, 0.00000, 0.00000, 160.00000);
  43293. CreateDynamicObject(1806, 2601.67261, -1497.34338, -49.91700, 0.00000, 0.00000, 90.00000);
  43294. CreateDynamicObject(1806, 2602.03223, -1491.72705, -49.91700, 0.00000, 0.00000, 100.00000);
  43295. CreateDynamicObject(1806, 2601.80176, -1495.71045, -49.91700, 0.00000, 0.00000, 100.00000);
  43296. CreateDynamicObject(1806, 2601.73486, -1493.26978, -49.91700, 0.00000, 0.00000, 80.00000);
  43297. CreateDynamicObject(1806, 2599.17505, -1491.63220, -49.91700, 0.00000, 0.00000, -90.00000);
  43298. CreateDynamicObject(1806, 2599.11133, -1497.35950, -49.91700, 0.00000, 0.00000, -90.00000);
  43299. CreateDynamicObject(1806, 2599.21216, -1493.34729, -49.91700, 0.00000, 0.00000, -80.00000);
  43300. CreateDynamicObject(1806, 2599.11914, -1494.95374, -49.91700, 0.00000, 0.00000, -860.00000);
  43301. CreateDynamicObject(2202, 2597.38647, -1497.29321, -49.91860, 0.00000, 0.00000, 90.00000);
  43302. CreateDynamicObject(2202, 2605.84692, -1501.26392, -46.25660, 0.00000, 0.00000, -90.00000);
  43303. CreateDynamicObject(2202, 2604.26831, -1537.74451, -46.25660, 0.00000, 0.00000, 180.00000);
  43304. CreateDynamicObject(2635, 2601.48755, -1515.65649, -45.81770, 0.00000, 0.00000, 0.00000);
  43305. CreateDynamicObject(2199, 2599.06812, -1509.67236, -46.25660, 0.00000, 0.00000, 0.00000);
  43306. CreateDynamicObject(1742, 2597.60156, -1509.65869, -46.25660, 0.00000, 0.00000, 0.00000);
  43307. CreateDynamicObject(2611, 2602.52026, -1509.70483, -44.87059, 0.00000, 0.00000, 0.00000);
  43308. CreateDynamicObject(1714, 2600.68555, -1510.39087, -46.21650, 0.00000, 0.00000, 0.00000);
  43309. CreateDynamicObject(2635, 2600.59888, -1515.65698, -45.81770, 0.00000, 0.00000, 0.00000);
  43310. CreateDynamicObject(2635, 2599.71069, -1515.65796, -45.81770, 0.00000, 0.00000, 0.00000);
  43311. CreateDynamicObject(2635, 2599.71240, -1516.58228, -45.81770, 0.00000, 0.00000, 0.00000);
  43312. CreateDynamicObject(2635, 2599.71802, -1517.51526, -45.81770, 0.00000, 0.00000, 0.00000);
  43313. CreateDynamicObject(2635, 2599.71387, -1518.43994, -45.81770, 0.00000, 0.00000, 0.00000);
  43314. CreateDynamicObject(2635, 2599.71118, -1519.36511, -45.81770, 0.00000, 0.00000, 0.00000);
  43315. CreateDynamicObject(2635, 2599.70850, -1520.29028, -45.81770, 0.00000, 0.00000, 0.00000);
  43316. CreateDynamicObject(2635, 2600.58838, -1520.28259, -45.81770, 0.00000, 0.00000, 0.00000);
  43317. CreateDynamicObject(2635, 2601.47729, -1520.28918, -45.81770, 0.00000, 0.00000, 0.00000);
  43318. CreateDynamicObject(2635, 2601.47974, -1519.36768, -45.81770, 0.00000, 0.00000, 0.00000);
  43319. CreateDynamicObject(2635, 2601.47559, -1518.44104, -45.81770, 0.00000, 0.00000, 0.00000);
  43320. CreateDynamicObject(2635, 2601.47559, -1517.51526, -45.81770, 0.00000, 0.00000, 0.00000);
  43321. CreateDynamicObject(2635, 2601.47559, -1516.58228, -45.81770, 0.00000, 0.00000, 0.00000);
  43322. CreateDynamicObject(2635, 2600.59888, -1516.58228, -45.81770, 0.00000, 0.00000, 0.00000);
  43323. CreateDynamicObject(2635, 2600.59888, -1517.51526, -45.81770, 0.00000, 0.00000, 0.00000);
  43324. CreateDynamicObject(2635, 2600.59888, -1518.43994, -45.81770, 0.00000, 0.00000, 0.00000);
  43325. CreateDynamicObject(2635, 2600.59888, -1519.36511, -45.81770, 0.00000, 0.00000, 0.00000);
  43326. CreateDynamicObject(1806, 2601.18921, -1521.74365, -46.23790, 0.00000, 0.00000, 10.00000);
  43327. CreateDynamicObject(1806, 2604.15088, -1530.79492, -46.23790, 0.00000, 0.00000, 15.00000);
  43328. CreateDynamicObject(1806, 2604.09448, -1535.74048, -46.23790, 0.00000, 0.00000, 15.00000);
  43329. CreateDynamicObject(1806, 2603.93750, -1533.27576, -46.23790, 0.00000, 0.00000, 0.00000);
  43330. CreateDynamicObject(1806, 2602.18140, -1530.70654, -46.23790, 0.00000, 0.00000, 0.00000);
  43331. CreateDynamicObject(1806, 2601.81592, -1535.80945, -46.23790, 0.00000, 0.00000, 0.00000);
  43332. CreateDynamicObject(1806, 2602.22144, -1533.18469, -46.23790, 0.00000, 0.00000, 0.00000);
  43333. CreateDynamicObject(1806, 2598.36084, -1530.76440, -46.23790, 0.00000, 0.00000, 15.00000);
  43334. CreateDynamicObject(1806, 2597.86426, -1533.26538, -46.23790, 0.00000, 0.00000, 0.00000);
  43335. CreateDynamicObject(1806, 2599.85864, -1521.53955, -46.23790, 0.00000, 0.00000, 0.00000);
  43336. CreateDynamicObject(1806, 2602.92407, -1518.60632, -46.23790, 0.00000, 0.00000, 90.00000);
  43337. CreateDynamicObject(1806, 2602.81445, -1516.00598, -46.23790, 0.00000, 0.00000, 90.00000);
  43338. CreateDynamicObject(1806, 2602.81958, -1517.30981, -46.23790, 0.00000, 0.00000, 100.00000);
  43339. CreateDynamicObject(1806, 2602.77197, -1520.11450, -46.23790, 0.00000, 0.00000, 80.00000);
  43340. CreateDynamicObject(1806, 2598.47681, -1517.20923, -46.23790, 0.00000, 0.00000, 270.00000);
  43341. CreateDynamicObject(1806, 2598.59570, -1520.40613, -46.23790, 0.00000, 0.00000, 290.00000);
  43342. CreateDynamicObject(1806, 2598.32495, -1515.85583, -46.23790, 0.00000, 0.00000, 260.00000);
  43343. CreateDynamicObject(1806, 2598.46143, -1518.56140, -46.23790, 0.00000, 0.00000, 270.00000);
  43344. CreateDynamicObject(2894, 2600.37036, -1512.12280, -45.48580, 0.00000, 0.00000, -10.00000);
  43345. CreateDynamicObject(2894, 2603.79810, -1504.21948, -45.32550, 0.00000, 0.00000, 90.00000);
  43346. CreateDynamicObject(2894, 2598.10400, -1529.46814, -45.42781, 0.00000, 0.00000, 0.00000);
  43347. CreateDynamicObject(2894, 2604.37891, -1531.95337, -45.43073, 0.00000, 0.00000, 0.00000);
  43348. CreateDynamicObject(2894, 2602.46851, -1534.55371, -45.43033, 0.00000, 0.00000, 0.00000);
  43349. CreateDynamicObject(2001, 2597.29370, -1500.36682, -46.23613, 0.00000, 0.00000, 0.00000);
  43350. CreateDynamicObject(2001, 2605.67236, -1500.43628, -46.23713, 0.00000, 0.00000, 0.00000);
  43351. CreateDynamicObject(2001, 2605.86353, -1509.00757, -46.23719, 0.00000, 0.00000, 0.00000);
  43352. CreateDynamicObject(2001, 2597.51782, -1509.20056, -46.23853, 0.00000, 0.00000, 0.00000);
  43353. CreateDynamicObject(2245, 2597.29150, -1501.55530, -45.10540, 0.00000, 0.00000, 0.00000);
  43354. CreateDynamicObject(2252, 2600.58569, -1519.09448, -45.10540, 0.00000, 0.00000, 0.00000);
  43355. CreateDynamicObject(2252, 2600.63550, -1516.62964, -45.10540, 0.00000, 0.00000, 0.00000);
  43356. CreateDynamicObject(2253, 2601.65112, -1512.40173, -45.12540, 0.00000, 0.00000, 0.00000);
  43357. CreateDynamicObject(2894, 2600.86157, -1526.71851, -45.48580, 0.00000, 0.00000, 0.00000);
  43358. CreateDynamicObject(2008, 2605.73901, -1512.52026, -49.91470, 0.00000, 0.00000, -90.00000);
  43359. CreateDynamicObject(2009, 2598.35034, -1518.66821, -49.91380, 0.00000, 0.00000, 18090.00000);
  43360. CreateDynamicObject(1806, 2598.55957, -1517.70276, -49.91330, 0.00000, 0.00000, 90.00000);
  43361. CreateDynamicObject(1806, 2604.53857, -1513.04248, -49.91330, 0.00000, 0.00000, -120.00000);
  43362. CreateDynamicObject(1999, 2597.33716, -1516.68750, -49.91330, 0.00000, 0.00000, 90.00000);
  43363. CreateDynamicObject(1806, 2598.66626, -1515.95056, -49.91330, 0.00000, 0.00000, 80.00000);
  43364. CreateDynamicObject(1806, 2601.09863, -1529.57886, -49.91330, 0.00000, 0.00000, 170.00000);
  43365. CreateDynamicObject(1806, 2599.12573, -1529.55432, -49.91330, 0.00000, 0.00000, 210.00000);
  43366. CreateDynamicObject(2635, 2599.46484, -1532.53149, -49.53300, 0.00000, 0.00000, 0.00000);
  43367. CreateDynamicObject(2635, 2600.33936, -1532.53198, -49.53300, 0.00000, 0.00000, 0.00000);
  43368. CreateDynamicObject(2635, 2599.46265, -1533.45850, -49.53300, 0.00000, 0.00000, 0.00000);
  43369. CreateDynamicObject(2635, 2600.34717, -1533.46289, -49.53300, 0.00000, 0.00000, 0.00000);
  43370. CreateDynamicObject(2635, 2601.21802, -1533.46277, -49.53300, 0.00000, 0.00000, 0.00000);
  43371. CreateDynamicObject(2635, 2601.22827, -1532.52905, -49.53300, 0.00000, 0.00000, 0.00000);
  43372. CreateDynamicObject(19457, 2601.50391, -1535.96143, -48.15700, 0.00000, 0.00000, 90.00000);
  43373. CreateDynamicObject(1806, 2602.64160, -1532.93860, -49.91330, 0.00000, 0.00000, 90.00000);
  43374. CreateDynamicObject(1806, 2597.96924, -1532.92883, -49.91330, 0.00000, 0.00000, -90.00000);
  43375. CreateDynamicObject(1808, 2606.14307, -1532.02734, -49.91390, 0.00000, 0.00000, -90.00000);
  43376. CreateDynamicObject(2611, 2606.21655, -1534.06055, -48.50110, 0.00000, 0.00000, -90.00000);
  43377. CreateDynamicObject(2615, 2596.87427, -1534.12744, -48.26969, 0.00000, 0.00000, 90.00000);
  43378. CreateDynamicObject(2604, 2598.77588, -1523.37158, -49.16039, 0.00000, 0.00000, 0.00000);
  43379. CreateDynamicObject(1742, 2606.38892, -1527.54590, -49.91400, 0.00000, 0.00000, -90.00000);
  43380. CreateDynamicObject(2894, 2601.38232, -1533.00220, -49.09920, 0.00000, 0.00000, 90.00000);
  43381. CreateDynamicObject(2245, 2600.28979, -1532.98804, -48.92830, 0.00000, 0.00000, 0.00000);
  43382. CreateDynamicObject(1806, 2599.87769, -1524.60071, -49.91330, 0.00000, 0.00000, 0.00000);
  43383. CreateDynamicObject(2008, 2601.19189, -1523.51062, -49.91369, 0.00000, 0.00000, 0.00000);
  43384. CreateDynamicObject(1806, 2602.09302, -1524.65088, -49.91330, 0.00000, 0.00000, 0.00000);
  43385. CreateDynamicObject(2289, 2602.73682, -1530.51477, -48.19218, 0.00000, 0.00000, 180.00000);
  43386. CreateDynamicObject(2287, 2597.32715, -1528.70410, -48.49450, 0.00000, 0.00000, 90.00000);
  43387. CreateDynamicObject(19173, 2606.26440, -1505.40930, -44.33310, 0.00000, 0.00000, 90.00000);
  43388. CreateDynamicObject(19174, 2604.31934, -1516.84656, -44.20910, 0.00000, 0.00000, -90.00000);
  43389. CreateDynamicObject(19377, 2570.48438, -1536.98816, -46.32280, 0.00000, 90.00000, 0.00000);
  43390. CreateDynamicObject(19377, 2609.05151, -1495.01025, -46.32280, 0.00000, 90.00000, 0.00000);
  43391. CreateDynamicObject(19377, 2588.26196, -1491.91650, -46.32280, 0.00000, 90.00000, 0.00000);
  43392. CreateDynamicObject(19377, 2577.76514, -1491.91650, -46.32280, 0.00000, 90.00000, 0.00000);
  43393. CreateDynamicObject(19377, 2567.30249, -1491.85706, -46.32280, 0.00000, 90.00000, 0.00000);
  43394. CreateDynamicObject(19377, 2609.04883, -1485.38208, -46.32280, 0.00000, 90.00000, 0.00000);
  43395. CreateDynamicObject(19377, 2609.05371, -1475.81421, -46.32280, 0.00000, 90.00000, 0.00000);
  43396. CreateDynamicObject(19377, 2598.59033, -1485.25952, -46.32280, 0.00000, 90.00000, 0.00000);
  43397. CreateDynamicObject(19377, 2598.60522, -1475.78210, -46.32280, 0.00000, 90.00000, 0.00000);
  43398. CreateDynamicObject(19377, 2588.22559, -1482.30920, -46.32280, 0.00000, 90.00000, 0.00000);
  43399. CreateDynamicObject(19377, 2577.75000, -1482.28381, -46.32280, 0.00000, 90.00000, 0.00000);
  43400. CreateDynamicObject(19377, 2567.30493, -1482.27686, -46.32280, 0.00000, 90.00000, 0.00000);
  43401. CreateDynamicObject(19377, 2588.32837, -1472.82227, -46.32280, 0.00000, 90.00000, 0.00000);
  43402. CreateDynamicObject(19377, 2577.97363, -1472.76172, -46.32280, 0.00000, 90.00000, 0.00000);
  43403. CreateDynamicObject(19377, 2567.49756, -1472.73145, -46.32280, 0.00000, 90.00000, 0.00000);
  43404. CreateDynamicObject(19377, 2573.06641, -1501.30261, -43.14140, 0.00000, 90.00000, 0.00000);
  43405. CreateDynamicObject(19377, 2583.55322, -1501.27698, -43.14140, 0.00000, 90.00000, 0.00000);
  43406. CreateDynamicObject(19377, 2593.98682, -1501.26221, -43.14140, 0.00000, 90.00000, 0.00000);
  43407. CreateDynamicObject(19377, 2604.46899, -1501.23511, -43.14140, 0.00000, 90.00000, 0.00000);
  43408. CreateDynamicObject(19377, 2573.21289, -1510.93457, -43.14140, 0.00000, 90.00000, 0.00000);
  43409. CreateDynamicObject(19377, 2573.19482, -1520.48315, -43.14140, 0.00000, 90.00000, 0.00000);
  43410. CreateDynamicObject(19377, 2573.17261, -1530.09070, -43.14140, 0.00000, 90.00000, 0.00000);
  43411. CreateDynamicObject(19377, 2604.78564, -1539.13416, -43.14140, 0.00000, 90.00000, 0.00000);
  43412. CreateDynamicObject(19377, 2594.33789, -1539.16272, -43.14140, 0.00000, 90.00000, 0.00000);
  43413. CreateDynamicObject(19377, 2583.61108, -1527.38879, -43.14140, 0.00000, 90.00000, 0.00000);
  43414. CreateDynamicObject(19377, 2583.59595, -1517.81982, -43.14140, 0.00000, 90.00000, 0.00000);
  43415. CreateDynamicObject(19377, 2583.57471, -1508.38232, -43.14100, 0.00000, 90.00000, 0.00000);
  43416. CreateDynamicObject(19377, 2594.01123, -1510.68335, -43.14100, 0.00000, 90.00000, 0.00000);
  43417. CreateDynamicObject(19377, 2604.43481, -1510.66492, -43.14100, 0.00000, 90.00000, 0.00000);
  43418. CreateDynamicObject(19377, 2593.84204, -1520.25879, -43.14100, 0.00000, 90.00000, 0.00000);
  43419. CreateDynamicObject(19377, 2593.91895, -1529.78552, -43.14100, 0.00000, 90.00000, 0.00000);
  43420. CreateDynamicObject(19377, 2604.27930, -1520.22876, -43.14100, 0.00000, 90.00000, 0.00000);
  43421. CreateDynamicObject(19377, 2604.24341, -1529.55286, -43.14100, 0.00000, 90.00000, 0.00000);
  43422. CreateDynamicObject(16779, 2573.03149, -1480.88623, -46.41247, 0.00000, 0.00000, 0.00000);
  43423. CreateDynamicObject(16779, 2583.56738, -1479.21240, -46.41266, 0.00000, 0.00000, 0.00000);
  43424. CreateDynamicObject(16779, 2602.03760, -1504.97571, -43.23161, 0.00000, 0.00000, 0.00000);
  43425. CreateDynamicObject(16779, 2600.71997, -1519.15662, -43.23109, 0.00000, 0.00000, 0.00000);
  43426. CreateDynamicObject(16779, 2600.74341, -1513.91467, -43.23240, 0.00000, 0.00000, 0.00000);
  43427. CreateDynamicObject(14680, 2597.88989, -1481.67188, -48.01162, 0.00000, 0.00000, 0.00000);
  43428. CreateDynamicObject(14680, 2607.06226, -1479.55444, -48.01160, 0.00000, 0.00000, 90.00000);
  43429. CreateDynamicObject(14680, 2587.03491, -1483.66406, -48.01160, 0.00000, 0.00000, 90.00000);
  43430. CreateDynamicObject(14680, 2606.71167, -1483.48694, -48.01160, 0.00000, 0.00000, 90.00000);
  43431. CreateDynamicObject(14680, 2594.33618, -1494.36743, -48.01160, 0.00000, 0.00000, 0.00000);
  43432. CreateDynamicObject(14680, 2590.17407, -1494.06519, -48.01160, 0.00000, 0.00000, 0.00000);
  43433. CreateDynamicObject(14680, 2602.65259, -1530.03674, -44.77839, 0.00000, 0.00000, 0.00000);
  43434. CreateDynamicObject(14680, 2602.65381, -1536.29956, -44.77840, 0.00000, 0.00000, 0.00000);
  43435. CreateDynamicObject(14680, 2594.78369, -1517.27771, -44.77840, 0.00000, 0.00000, 0.00000);
  43436. CreateDynamicObject(14680, 2594.73267, -1510.18250, -44.77840, 0.00000, 0.00000, 0.00000);
  43437. CreateDynamicObject(14680, 2576.17236, -1487.53223, -48.01160, 0.00000, 0.00000, 90.00000);
  43438. CreateDynamicObject(14680, 2580.87866, -1487.46729, -48.01160, 0.00000, 0.00000, 90.00000);
  43439. CreateDynamicObject(14680, 2580.84375, -1492.36255, -48.01160, 0.00000, 0.00000, 90.00000);
  43440. CreateDynamicObject(14680, 2576.27808, -1492.71997, -48.01160, 0.00000, 0.00000, 90.00000);
  43441. CreateDynamicObject(14680, 2573.37939, -1539.67676, -48.01160, 0.00000, 0.00000, 0.00000);
  43442. CreateDynamicObject(14680, 2578.07520, -1539.60449, -48.01160, 0.00000, 0.00000, 0.00000);
  43443. CreateDynamicObject(14680, 2585.70508, -1536.43091, -48.01160, 0.00000, 0.00000, 90.00000);
  43444. CreateDynamicObject(14680, 2591.81128, -1536.13403, -48.01160, 0.00000, 0.00000, 90.00000);
  43445. CreateDynamicObject(14680, 2587.90649, -1531.57642, -48.01160, 0.00000, 0.00000, 90.00000);
  43446. CreateDynamicObject(14680, 2596.62573, -1538.75452, -48.01160, 0.00000, 0.00000, 0.00000);
  43447. CreateDynamicObject(14680, 2596.89502, -1525.88184, -48.01160, 0.00000, 0.00000, 0.00000);
  43448. CreateDynamicObject(14680, 2596.87769, -1517.50830, -48.01160, 0.00000, 0.00000, 0.00000);
  43449. CreateDynamicObject(14680, 2596.88208, -1508.79663, -48.01160, 0.00000, 0.00000, 0.00000);
  43450. CreateDynamicObject(14680, 2602.65771, -1516.59473, -48.01160, 0.00000, 0.00000, 0.00000);
  43451. CreateDynamicObject(14680, 2603.02002, -1529.10193, -48.01160, 0.00000, 0.00000, 0.00000);
  43452. CreateDynamicObject(14680, 2603.24658, -1535.49536, -48.01160, 0.00000, 0.00000, 0.00000);
  43453. CreateDynamicObject(14680, 2602.77759, -1501.35938, -48.01160, 0.00000, 0.00000, 0.00000);
  43454. CreateDynamicObject(14680, 2602.91504, -1494.98413, -48.01160, 0.00000, 0.00000, 0.00000);
  43455. CreateDynamicObject(14680, 2609.90112, -1492.45386, -48.01160, 0.00000, 0.00000, 0.00000);
  43456. CreateDynamicObject(14680, 2597.30737, -1483.54065, -48.01160, 0.00000, 0.00000, 90.00000);
  43457. CreateDynamicObject(14680, 2597.30737, -1483.54065, -48.01160, 0.00000, 0.00000, 90.00000);
  43458. CreateDynamicObject(14680, 2610.06348, -1504.14380, -48.01160, 0.00000, 0.00000, 0.00000);
  43459. CreateDynamicObject(14680, 2609.78418, -1530.53442, -48.01160, 0.00000, 0.00000, 0.00000);
  43460. CreateDynamicObject(14680, 2609.78125, -1516.39758, -48.01160, 0.00000, 0.00000, 0.00000);
  43461. CreateDynamicObject(14680, 2603.16992, -1542.31421, -44.77840, 0.00000, 0.00000, 0.00000);
  43462. CreateDynamicObject(14680, 2596.68042, -1535.33899, -44.77840, 0.00000, 0.00000, 0.00000);
  43463. CreateDynamicObject(14438, 2582.89795, -1509.68689, -41.55914, 0.00000, 0.00000, 90.00000);
  43464. CreateDynamicObject(14680, 2574.86792, -1527.99976, -44.85020, 0.00000, 0.00000, 0.00000);
  43465. CreateDynamicObject(2615, 2591.48560, -1501.63916, -44.87640, 0.00000, 0.00000, 0.00000);
  43466. CreateDynamicObject(2604, 2596.16553, -1503.93079, -45.48770, 0.00000, 0.00000, -90.00000);
  43467. CreateDynamicObject(14685, 2569.72339, -1541.74365, -49.17550, 0.00000, 0.00000, 0.00000);
  43468. CreateDynamicObject(14686, 2569.99048, -1539.16528, -49.49780, 0.00000, 0.00000, -90.00000);
  43469. CreateDynamicObject(19430, 2569.26294, -1541.66345, -49.19740, 0.00000, 90.00000, 0.00000);
  43470. CreateDynamicObject(19394, 2595.02148, -1495.94958, -44.64560, 0.00000, 0.00000, 90.00000);
  43471. CreateDynamicObject(19365, 2596.73291, -1495.08789, -44.64560, 0.00000, 0.00000, 0.00000);
  43472. CreateDynamicObject(19365, 2579.09326, -1496.64905, -44.66560, 0.00000, 0.00000, 90.00000);
  43473. CreateDynamicObject(19365, 2595.20044, -1493.53894, -44.64560, 0.00000, 0.00000, 90.00000);
  43474. CreateDynamicObject(19457, 2588.92554, -1490.47449, -44.64560, 0.00000, 0.00000, 90.00000);
  43475. CreateDynamicObject(19365, 2593.66895, -1492.01538, -44.64560, 0.00000, 0.00000, 0.00000);
  43476. CreateDynamicObject(19457, 2579.29199, -1490.47449, -44.64560, 0.00000, 0.00000, 90.00000);
  43477. CreateDynamicObject(19457, 2574.54614, -1491.76636, -44.64560, 0.00000, 0.00000, 0.00000);
  43478. CreateDynamicObject(1494, 2595.76807, -1495.93347, -46.39760, 0.00000, 0.00000, 180.00000);
  43479. CreateDynamicObject(3394, 2591.60400, -1491.15332, -46.23640, 0.00000, 0.00000, 90.00000);
  43480. CreateDynamicObject(3395, 2578.17749, -1496.01196, -46.23630, 0.00000, 0.00000, -90.00000);
  43481. CreateDynamicObject(3389, 2575.11060, -1492.32385, -46.23840, 0.00000, 0.00000, 180.00000);
  43482. CreateDynamicObject(3388, 2575.11060, -1491.28015, -46.23840, 0.00000, 0.00000, 180.00000);
  43483. CreateDynamicObject(3387, 2575.11060, -1493.35913, -46.23840, 0.00000, 0.00000, 180.00000);
  43484. CreateDynamicObject(3386, 2575.11060, -1494.40210, -46.23840, 0.00000, 0.00000, 180.00000);
  43485. CreateDynamicObject(2606, 2578.67944, -1490.76758, -44.06360, 0.00000, 0.00000, 0.00000);
  43486. CreateDynamicObject(2606, 2578.67944, -1490.76758, -44.51390, 0.00000, 0.00000, 0.00000);
  43487. CreateDynamicObject(14391, 2583.95825, -1491.39612, -45.28270, 0.00000, 0.00000, -90.00000);
  43488. CreateDynamicObject(1671, 2585.79834, -1493.32935, -45.79240, 0.00000, 0.00000, 200.00000);
  43489. CreateDynamicObject(1671, 2583.03809, -1493.37903, -45.79240, 0.00000, 0.00000, 170.00000);
  43490. CreateDynamicObject(1671, 2591.25732, -1491.89514, -45.79240, 0.00000, 0.00000, 180.00000);
  43491. CreateDynamicObject(1671, 2578.37451, -1495.59460, -45.79240, 0.00000, 0.00000, 0.00000);
  43492. CreateDynamicObject(2606, 2589.80542, -1496.32996, -43.81910, 0.00000, 0.00000, 180.00000);
  43493. CreateDynamicObject(2606, 2589.80542, -1496.32996, -44.25910, 0.00000, 0.00000, 180.00000);
  43494. CreateDynamicObject(19377, 2592.14258, -1491.71265, -43.14140, 0.00000, 90.00000, 0.00000);
  43495. CreateDynamicObject(19377, 2581.76343, -1491.67957, -43.14140, 0.00000, 90.00000, 0.00000);
  43496. CreateDynamicObject(19377, 2571.33789, -1491.62769, -43.14140, 0.00000, 90.00000, 0.00000);
  43497. CreateDynamicObject(14680, 2590.65576, -1496.53162, -44.77840, 0.00000, 0.00000, 0.00000);
  43498. CreateDynamicObject(14680, 2583.76318, -1496.50903, -44.77840, 0.00000, 0.00000, 0.00000);
  43499. CreateDynamicObject(19438, 2593.46069, -1523.85315, -44.66560, 0.00000, 0.00000, 0.00000);
  43500. CreateDynamicObject(19438, 2593.46069, -1528.16846, -44.66560, 0.00000, 0.00000, 0.00000);
  43501. CreateDynamicObject(19438, 2593.46069, -1526.56458, -44.66560, 0.00000, 0.00000, 0.00000);
  43502. CreateDynamicObject(19438, 2593.45996, -1525.10400, -44.66560, 0.00000, 0.00000, 0.00000);
  43503. CreateDynamicObject(2855, 2589.30444, -1523.53430, -49.91580, 0.00000, 0.00000, 90.00000);
  43504. CreateDynamicObject(2852, 2579.39990, -1523.78247, -49.91603, 0.00000, 0.00000, 0.00000);
  43505. CreateDynamicObject(2819, 2582.60229, -1524.50977, -49.91674, 0.00000, 0.00000, 0.00000);
  43506. CreateDynamicObject(19325, 2583.98071, -1496.63440, -44.22130, 0.00000, 0.00000, 90.00000);
  43507. CreateDynamicObject(19325, 2593.47339, -1521.86755, -43.01513, 90.00000, 0.00000, 0.00000);
  43508. CreateDynamicObject(19325, 2593.50684, -1530.39648, -42.97044, 90.00000, 0.00000, 0.00000);
  43509. CreateDynamicObject(19325, 2588.88647, -1517.69177, -42.50720, 90.00000, 0.00000, 0.00000);
  43510. CreateDynamicObject(19325, 2588.88647, -1514.42761, -42.50720, 90.00000, 0.00000, 0.00000);
  43511. CreateDynamicObject(19325, 2588.88647, -1510.71814, -42.50720, 90.00000, 0.00000, 0.00000);
  43512. CreateDynamicObject(19325, 2588.88647, -1506.75598, -42.50720, 90.00000, 0.00000, 0.00000);
  43513. CreateDynamicObject(19325, 2588.88647, -1503.50513, -42.50720, 90.00000, 0.00000, 0.00000);
  43514. CreateDynamicObject(19325, 2593.45288, -1499.01685, -43.11288, 90.00000, 0.00000, 0.00000);
  43515. CreateDynamicObject(19457, 2577.48267, -1514.06824, -44.66560, 0.00000, 0.00000, 0.00000);
  43516. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43517. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43518. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43519. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43520. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43521. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43522. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43523. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43524. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43525. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43526. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43527. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43528. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43529. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43530. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43531. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43532. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43533. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43534. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43535. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43536. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43537. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43538. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43539. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43540. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43541. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43542. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43543. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43544. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43545. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43546. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43547. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43548. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43549. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43550. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43551. CreateDynamicObject(1649, 2600.22559, -1530.64111, -48.07390, 0.00000, 0.00000, 0.00000);
  43552. }
  43553. stock LoadHospital() //from SC:RP
  43554. {
  43555. CreateDynamicObject(19449,-207.3999939,-1739.6999512,676.5000000,0.0000000,0.0000000,0.0000000);
  43556. CreateDynamicObject(17038,-205.8994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43557. CreateDynamicObject(17038,-204.3994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43558. CreateDynamicObject(17038,-202.8999939,-1747.6999512,668.2999878,0.0000000,270.0000000,0.0000000);
  43559. CreateDynamicObject(17038,-201.3994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43560. CreateDynamicObject(19460,-207.3990021,-1739.6999512,673.2999878,0.0000000,0.0000000,0.0000000);
  43561. CreateDynamicObject(19449,-202.6000061,-1734.8000488,676.5000000,0.0000000,0.0000000,90.0000000);
  43562. CreateDynamicObject(19460,-206.1999969,-1734.8010254,673.2999878,0.0000000,0.0000000,90.0000000);
  43563. CreateDynamicObject(1569,-206.0000000,-1734.9000244,674.7999878,0.0000000,0.0000000,0.0000000);
  43564. CreateDynamicObject(1569,-203.0000000,-1734.9000244,674.7999878,0.0000000,0.0000000,180.0000000);
  43565. CreateDynamicObject(19387,-196.6992188,-1744.5000000,676.5000000,0.0000000,0.0000000,90.0000000);
  43566. CreateDynamicObject(19357,-201.3994141,-1736.5000000,676.5000000,0.0000000,0.0000000,0.0000000);
  43567. CreateDynamicObject(19368,-201.4003906,-1736.5000000,673.2999878,0.0000000,0.0000000,0.0000000);
  43568. CreateDynamicObject(2885,-211.7998047,-1734.7998047,678.4000244,270.0000000,180.0000000,180.0000000);
  43569. CreateDynamicObject(17038,-199.8994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43570. CreateDynamicObject(17038,-198.3999939,-1747.6999512,668.2999878,0.0000000,270.0000000,0.0000000);
  43571. CreateDynamicObject(17038,-196.8994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43572. CreateDynamicObject(19449,-196.6000061,-1738.0159912,676.5000000,0.0000000,0.0000000,90.0000000);
  43573. CreateDynamicObject(19460,-196.6719971,-1738.0169678,673.2999878,0.0000000,0.0000000,90.0000000);
  43574. CreateDynamicObject(19449,-195.3994141,-1742.8994141,676.5000000,0.0000000,0.0000000,0.0000000);
  43575. CreateDynamicObject(17038,-195.3994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43576. CreateDynamicObject(19460,-195.4010010,-1742.9000244,673.2999878,0.0000000,0.0000000,0.0000000);
  43577. CreateDynamicObject(19449,-201.1000061,-1739.6999512,674.0999756,0.0000000,0.0000000,0.0000000);
  43578. CreateDynamicObject(19460,-201.1005859,-1739.6992188,673.2999878,0.0000000,0.0000000,0.0000000);
  43579. CreateDynamicObject(19357,-199.8837891,-1744.5000000,676.5000000,0.0000000,0.0000000,90.0000000);
  43580. CreateDynamicObject(19460,-191.1503906,-1744.4990234,673.2999878,0.0000000,0.0000000,90.0000000);
  43581. CreateDynamicObject(19460,-191.1503906,-1744.5009766,673.2999878,0.0000000,0.0000000,90.0000000);
  43582. CreateDynamicObject(19368,-199.0749969,-1744.4990234,673.2999878,0.0000000,0.0000000,90.0000000);
  43583. CreateDynamicObject(19368,-199.0749969,-1744.5009766,673.2999878,0.0000000,0.0000000,90.0000000);
  43584. CreateDynamicObject(19368,-199.8849945,-1744.4980469,673.2999878,0.0000000,0.0000000,90.0000000);
  43585. CreateDynamicObject(19460,-201.0989990,-1739.5999756,673.2999878,0.0000000,0.0000000,0.0000000);
  43586. CreateDynamicObject(19357,-201.3994141,-1746.0996094,676.5000000,0.0000000,0.0000000,0.0000000);
  43587. CreateDynamicObject(19387,-201.3994141,-1749.2998047,676.5000000,0.0000000,0.0000000,0.0000000);
  43588. CreateDynamicObject(19357,-201.3999939,-1752.5000000,676.5000000,0.0000000,0.0000000,0.0000000);
  43589. CreateDynamicObject(19387,-201.3999939,-1755.6999512,676.5000000,0.0000000,0.0000000,0.0000000);
  43590. CreateDynamicObject(19357,-201.3999939,-1758.9000244,676.5000000,0.0000000,0.0000000,0.0000000);
  43591. CreateDynamicObject(17038,-205.8994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43592. CreateDynamicObject(17038,-204.3999939,-1768.4000244,668.2999878,0.0000000,270.0000000,0.0000000);
  43593. CreateDynamicObject(17038,-202.8999939,-1768.4000244,668.2999878,0.0000000,270.0000000,0.0000000);
  43594. CreateDynamicObject(17038,-201.3999939,-1768.4000244,668.2999878,0.0000000,270.0000000,0.0000000);
  43595. CreateDynamicObject(17038,-199.8994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43596. CreateDynamicObject(17038,-198.3994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43597. CreateDynamicObject(17038,-196.8999939,-1768.4000244,668.2999878,0.0000000,270.0000000,0.0000000);
  43598. CreateDynamicObject(17038,-195.3994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43599. CreateDynamicObject(19368,-201.4019928,-1746.0999756,673.2999878,0.0000000,0.0000000,0.0000000);
  43600. CreateDynamicObject(19368,-201.4010010,-1746.9250488,673.2999878,0.0000000,0.0000000,0.0000000);
  43601. CreateDynamicObject(19387,-201.3994141,-1762.0996094,676.5000000,0.0000000,0.0000000,0.0000000);
  43602. CreateDynamicObject(19449,-206.1999969,-1763.6999512,676.5000000,0.0000000,0.0000000,90.0000000);
  43603. CreateDynamicObject(19368,-201.4010010,-1751.6369629,673.2999878,0.0000000,0.0000000,0.0000000);
  43604. CreateDynamicObject(19368,-201.4019928,-1753.3249512,673.2999878,0.0000000,0.0000000,0.0000000);
  43605. CreateDynamicObject(19368,-201.4010010,-1758.0369873,673.2999878,0.0000000,0.0000000,0.0000000);
  43606. CreateDynamicObject(19368,-201.4019928,-1759.7249756,673.2999878,0.0000000,0.0000000,0.0000000);
  43607. CreateDynamicObject(19368,-201.4010010,-1764.4370117,673.2999878,0.0000000,0.0000000,0.0000000);
  43608. CreateDynamicObject(19460,-206.3000031,-1763.6989746,673.2999878,0.0000000,0.0000000,90.0000000);
  43609. CreateDynamicObject(19387,-207.3994141,-1746.0996094,676.5000000,0.0000000,0.0000000,0.0000000);
  43610. CreateDynamicObject(19387,-207.3994141,-1758.8994141,676.5000000,0.0000000,0.0000000,0.0000000);
  43611. CreateDynamicObject(19357,-207.3999939,-1762.0999756,676.5000000,0.0000000,0.0000000,0.0000000);
  43612. CreateDynamicObject(19449,-195.3994141,-1752.5000000,676.5000000,0.0000000,0.0000000,0.0000000);
  43613. CreateDynamicObject(19449,-195.3994141,-1762.0996094,676.5000000,0.0000000,0.0000000,0.0000000);
  43614. CreateDynamicObject(19449,-196.5996094,-1758.7998047,676.5000000,0.0000000,0.0000000,90.0000000);
  43615. CreateDynamicObject(19460,-206.0000000,-1733.2998047,672.5999756,270.0000000,179.9945068,0.0000000);
  43616. CreateDynamicObject(19460,-203.0000000,-1733.3000488,672.5999756,270.0000000,179.9945068,0.0000000);
  43617. CreateDynamicObject(19441,-203.7140045,-1733.3010254,677.3980244,0.0000000,270.0000000,90.0000000);
  43618. CreateDynamicObject(19441,-205.2870026,-1733.3010254,677.3970244,0.0000000,270.0000000,90.0000000);
  43619. CreateDynamicObject(2885,-200.8994141,-1734.7998047,678.4000244,270.0000000,0.0000000,0.0000000);
  43620. CreateDynamicObject(2885,-200.8994141,-1741.5000000,678.4000244,270.0000000,0.0000000,0.0000000);
  43621. CreateDynamicObject(2885,-211.7998047,-1741.5000000,678.4000244,270.0000000,179.9945068,179.9945068);
  43622. CreateDynamicObject(2885,-211.7998047,-1748.1992188,678.4000244,270.0000000,0.0000000,0.0000000);
  43623. CreateDynamicObject(2885,-200.8999939,-1748.1999512,678.4000244,270.0000000,0.0000000,0.0000000);
  43624. CreateDynamicObject(2885,-200.8994141,-1754.8994141,678.4000244,270.0000000,0.0000000,0.0000000);
  43625. CreateDynamicObject(2885,-200.8994141,-1761.5996094,678.4000244,270.0000000,0.0000000,0.0000000);
  43626. CreateDynamicObject(2885,-211.7998047,-1761.5996094,678.4000244,270.0000000,0.0000000,0.0000000);
  43627. CreateDynamicObject(17038,-207.3994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43628. CreateDynamicObject(17038,-208.8994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43629. CreateDynamicObject(17038,-210.3999939,-1747.6999512,668.2999878,0.0000000,270.0000000,0.0000000);
  43630. CreateDynamicObject(17038,-211.8999939,-1747.6999512,668.2999878,0.0000000,270.0000000,0.0000000);
  43631. CreateDynamicObject(17038,-213.3994141,-1747.6992188,668.2999878,0.0000000,270.0000000,0.0000000);
  43632. CreateDynamicObject(17038,-213.3994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43633. CreateDynamicObject(17038,-211.8999939,-1768.4000244,668.2999878,0.0000000,270.0000000,0.0000000);
  43634. CreateDynamicObject(17038,-210.3994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43635. CreateDynamicObject(17038,-208.8994141,-1768.3994141,668.2999878,0.0000000,270.0000000,0.0000000);
  43636. CreateDynamicObject(17038,-207.3999939,-1768.4000244,668.2999878,0.0000000,270.0000000,0.0000000);
  43637. CreateDynamicObject(19449,-214.6000061,-1758.9000244,676.5000000,0.0000000,0.0000000,0.0000000);
  43638. CreateDynamicObject(19449,-214.5996094,-1749.2998047,676.5000000,0.0000000,0.0000000,0.0000000);
  43639. CreateDynamicObject(19449,-214.6000061,-1739.6999512,676.5000000,0.0000000,0.0000000,0.0000000);
  43640. CreateDynamicObject(19449,-212.1992188,-1734.7998047,676.5000000,0.0000000,0.0000000,90.0000000);
  43641. CreateDynamicObject(19368,-199.8000031,-1744.5010986,673.2999878,0.0000000,0.0000000,90.0000000);
  43642. CreateDynamicObject(19368,-201.3979950,-1746.0999756,673.2999878,0.0000000,0.0000000,0.0000000);
  43643. CreateDynamicObject(19368,-201.3990021,-1746.9250488,673.2999878,0.0000000,0.0000000,0.0000000);
  43644. CreateDynamicObject(19368,-201.3990021,-1751.6369629,673.2999878,0.0000000,0.0000000,0.0000000);
  43645. CreateDynamicObject(19368,-201.3970032,-1753.3242188,673.2999878,0.0000000,0.0000000,0.0000000);
  43646. CreateDynamicObject(19368,-201.3990021,-1758.0369873,673.2999878,0.0000000,0.0000000,0.0000000);
  43647. CreateDynamicObject(19368,-201.3979950,-1759.7249756,673.2999878,0.0000000,0.0000000,0.0000000);
  43648. CreateDynamicObject(19460,-195.4010010,-1752.5000000,673.2999878,0.0000000,0.0000000,0.0000000);
  43649. CreateDynamicObject(19460,-195.4003906,-1762.0996094,673.2999878,0.0000000,0.0000000,0.0000000);
  43650. CreateDynamicObject(19460,-196.6494141,-1758.7988281,673.2999878,0.0000000,0.0000000,90.0000000);
  43651. CreateDynamicObject(19460,-196.6494141,-1758.8007812,673.2999878,0.0000000,0.0000000,90.0000000);
  43652. CreateDynamicObject(19460,-207.3979950,-1740.5140381,673.2999878,0.0000000,0.0000000,0.0000000);
  43653. CreateDynamicObject(19368,-207.3990021,-1761.2370605,673.2999878,0.0000000,0.0000000,0.0000000);
  43654. CreateDynamicObject(19368,-207.3979950,-1764.4000244,673.2999878,0.0000000,0.0000000,0.0000000);
  43655. CreateDynamicObject(19460,-214.5989990,-1758.8000488,673.2999878,0.0000000,0.0000000,0.0000000);
  43656. CreateDynamicObject(19460,-214.5980072,-1749.1999512,673.2999878,0.0000000,0.0000000,0.0000000);
  43657. CreateDynamicObject(19460,-214.5989990,-1739.5999756,673.2999878,0.0000000,0.0000000,0.0000000);
  43658. CreateDynamicObject(19460,-215.8000031,-1734.8011475,673.2999878,0.0000000,0.0000000,90.0000000);
  43659. CreateDynamicObject(19460,-207.4010010,-1739.6999512,673.2999878,0.0000000,0.0000000,0.0000000);
  43660. CreateDynamicObject(19460,-207.4013672,-1740.5136719,673.2999878,0.0000000,0.0000000,0.0000000);
  43661. CreateDynamicObject(19368,-207.4011993,-1761.2370605,673.2999878,0.0000000,0.0000000,0.0000000);
  43662. CreateDynamicObject(19368,-207.4010010,-1764.3994141,673.2999878,0.0000000,0.0000000,0.0000000);
  43663. CreateDynamicObject(3034,-204.3994141,-1763.5996094,676.7000122,0.0000000,0.0000000,179.9945068);
  43664. CreateDynamicObject(1523,-201.3699951,-1756.4499512,674.7399902,0.0000000,0.0000000,90.0000000);
  43665. CreateDynamicObject(1523,-201.3691406,-1750.0498047,674.7399902,0.0000000,0.0000000,90.0000000);
  43666. CreateDynamicObject(1523,-201.3699951,-1762.8499756,674.7399902,0.0000000,0.0000000,90.0000000);
  43667. CreateDynamicObject(2686,-201.5130005,-1744.9000244,676.4000244,0.0000000,0.0000000,270.0000000);
  43668. CreateDynamicObject(2685,-201.5130005,-1745.4000244,676.4000244,0.0000000,0.0000000,270.0000000);
  43669. CreateDynamicObject(2688,-207.2998047,-1747.5996094,676.2999878,0.0000000,0.0000000,90.0000000);
  43670. CreateDynamicObject(16101,-201.5000000,-1748.5000000,666.2999878,0.0000000,0.0000000,0.0000000);
  43671. CreateDynamicObject(16101,-201.5000000,-1750.0000000,666.2999878,0.0000000,0.0000000,0.0000000);
  43672. CreateDynamicObject(16101,-201.5000000,-1754.9000244,666.2999878,0.0000000,0.0000000,0.0000000);
  43673. CreateDynamicObject(16101,-201.5000000,-1756.4000244,666.2999878,0.0000000,0.0000000,0.0000000);
  43674. CreateDynamicObject(16101,-201.5000000,-1761.3000488,666.2999878,0.0000000,0.0000000,0.0000000);
  43675. CreateDynamicObject(16101,-201.5000000,-1762.8000488,666.2999878,0.0000000,0.0000000,0.0000000);
  43676. CreateDynamicObject(16101,-201.3291016,-1748.5000000,666.2999878,0.0000000,0.0000000,0.0000000);
  43677. CreateDynamicObject(16101,-201.3300018,-1750.0000000,666.2999878,0.0000000,0.0000000,0.0000000);
  43678. CreateDynamicObject(16101,-201.3300018,-1754.9000244,666.2999878,0.0000000,0.0000000,0.0000000);
  43679. CreateDynamicObject(16101,-201.3300018,-1756.4000244,666.2999878,0.0000000,0.0000000,0.0000000);
  43680. CreateDynamicObject(16101,-201.3300018,-1761.3000488,666.2999878,0.0000000,0.0000000,0.0000000);
  43681. CreateDynamicObject(16101,-201.3300018,-1762.8000488,666.2999878,0.0000000,0.0000000,0.0000000);
  43682. CreateDynamicObject(14487,-211.8000031,-1751.5000000,678.0999756,0.0000000,0.0000000,0.0000000);
  43683. CreateDynamicObject(14487,-211.7998047,-1729.5996094,678.0999756,0.0000000,0.0000000,0.0000000);
  43684. CreateDynamicObject(14487,-218.5996094,-1729.5996094,678.0999756,0.0000000,0.0000000,0.0000000);
  43685. CreateDynamicObject(14487,-218.6000061,-1754.3000488,678.0999756,0.0000000,0.0000000,0.0000000);
  43686. CreateDynamicObject(14487,-190.8994141,-1753.5996094,678.0999756,0.0000000,0.0000000,0.0000000);
  43687. CreateDynamicObject(14487,-190.8999939,-1735.1999512,678.0999756,0.0000000,0.0000000,0.0000000);
  43688. CreateDynamicObject(14487,-190.8994141,-1731.6992188,678.0999756,0.0000000,0.0000000,0.0000000);
  43689. CreateDynamicObject(1523,-207.3691406,-1746.8496094,674.7399902,0.0000000,0.0000000,90.0000000);
  43690. CreateDynamicObject(1523,-207.3699951,-1759.6500244,674.7399902,0.0000000,0.0000000,90.0000000);
  43691. CreateDynamicObject(16101,-207.3291016,-1745.2998047,666.2999878,0.0000000,0.0000000,0.0000000);
  43692. CreateDynamicObject(16101,-207.3300018,-1746.8199463,666.2999878,0.0000000,0.0000000,0.0000000);
  43693. CreateDynamicObject(16101,-207.3300018,-1758.0999756,666.2999878,0.0000000,0.0000000,0.0000000);
  43694. CreateDynamicObject(16101,-207.3300018,-1759.6199951,666.2999878,0.0000000,0.0000000,0.0000000);
  43695. CreateDynamicObject(16101,-207.5000000,-1759.5999756,666.2999878,0.0000000,0.0000000,0.0000000);
  43696. CreateDynamicObject(16101,-207.5000000,-1758.0999756,666.2999878,0.0000000,0.0000000,0.0000000);
  43697. CreateDynamicObject(16101,-207.5000000,-1746.8000488,666.2999878,0.0000000,0.0000000,0.0000000);
  43698. CreateDynamicObject(16101,-207.5000000,-1745.2998047,666.2999878,0.0000000,0.0000000,0.0000000);
  43699. CreateDynamicObject(1999,-200.5000000,-1740.3994141,674.7999878,0.0000000,0.0000000,90.0000000);
  43700. CreateDynamicObject(2009,-199.5000000,-1743.7998047,674.7999878,0.0000000,0.0000000,90.0000000);
  43701. CreateDynamicObject(1671,-199.5000000,-1739.3000488,675.2000122,0.0000000,0.0000000,270.0000000);
  43702. CreateDynamicObject(1671,-199.2998047,-1743.0000000,675.2000122,0.0000000,0.0000000,270.0000000);
  43703. CreateDynamicObject(19387,-213.0000000,-1742.6992188,676.5000000,0.0000000,0.0000000,90.0000000);
  43704. CreateDynamicObject(19357,-209.7998047,-1742.6992188,673.9010010,0.0000000,0.0000000,90.0000000);
  43705. CreateDynamicObject(19357,-209.0000000,-1742.7001953,673.9000244,0.0000000,0.0000000,90.0000000);
  43706. CreateDynamicObject(19449,-212.1999969,-1742.6989746,679.0000000,0.0000000,0.0000000,90.0000000);
  43707. CreateDynamicObject(19466,-208.5000000,-1742.6999512,676.4000244,0.0000000,0.0000000,90.0000000);
  43708. CreateDynamicObject(19466,-210.7402344,-1742.6992188,676.4000244,0.0000000,0.0000000,90.0000000);
  43709. CreateDynamicObject(19368,-209.0000000,-1742.6989746,673.2999878,0.0000000,0.0000000,90.0000000);
  43710. CreateDynamicObject(19368,-210.6640015,-1742.6979980,673.2999878,0.0000000,0.0000000,90.0000000);
  43711. CreateDynamicObject(19368,-215.3739929,-1742.6989746,673.2999878,0.0000000,0.0000000,90.0000000);
  43712. CreateDynamicObject(19368,-215.3750000,-1742.7001953,673.2999878,0.0000000,0.0000000,90.0000000);
  43713. CreateDynamicObject(19368,-209.0000000,-1742.7011719,673.2999878,0.0000000,0.0000000,90.0000000);
  43714. CreateDynamicObject(19368,-210.6640015,-1742.7021484,673.2999878,0.0000000,0.0000000,90.0000000);
  43715. CreateDynamicObject(1523,-213.7890625,-1742.7294922,674.7399902,0.0000000,0.0000000,0.0000000);
  43716. CreateDynamicObject(16101,-212.2998047,-1742.7998047,666.2999878,0.0000000,0.0000000,0.0000000);
  43717. CreateDynamicObject(16101,-213.8000031,-1742.8000488,666.2999878,0.0000000,0.0000000,0.0000000);
  43718. CreateDynamicObject(16101,-213.8000031,-1742.5999756,666.2999878,0.0000000,0.0000000,0.0000000);
  43719. CreateDynamicObject(16101,-212.3000031,-1742.5999756,666.2999878,0.0000000,0.0000000,0.0000000);
  43720. CreateDynamicObject(16101,-207.5000000,-1742.6992188,666.9000244,0.0000000,0.0000000,0.0000000);
  43721. CreateDynamicObject(3657,-213.8999939,-1745.6999512,675.2999878,0.0000000,0.0000000,90.0000000);
  43722. CreateDynamicObject(3394,-213.7998047,-1739.0000000,674.7999878,0.0000000,0.0000000,179.9945068);
  43723. CreateDynamicObject(3396,-208.1992188,-1737.0000000,674.7999878,0.0000000,0.0000000,0.0000000);
  43724. CreateDynamicObject(3397,-208.1992188,-1740.8994141,674.7999878,0.0000000,0.0000000,0.0000000);
  43725. CreateDynamicObject(14487,-218.6000061,-1731.8000488,678.0999756,0.0000000,0.0000000,0.0000000);
  43726. CreateDynamicObject(2007,-213.6992188,-1735.3994141,674.7999878,0.0000000,0.0000000,0.0000000);
  43727. CreateDynamicObject(2007,-212.6992188,-1735.3994141,674.7999878,0.0000000,0.0000000,0.0000000);
  43728. CreateDynamicObject(2132,-211.0996094,-1735.3994141,674.7999878,0.0000000,0.0000000,0.0000000);
  43729. CreateDynamicObject(14532,-211.3994141,-1737.0996094,675.7800293,0.0000000,0.0000000,194.7491455);
  43730. CreateDynamicObject(2146,-211.0996094,-1738.7998047,675.2700195,0.0000000,0.0000000,0.0000000);
  43731. CreateDynamicObject(3657,-206.8999939,-1754.5999756,675.2999878,0.0000000,0.0000000,90.0000000);
  43732. CreateDynamicObject(2811,-201.8994141,-1735.3994141,674.7999878,0.0000000,0.0000000,139.9932861);
  43733. CreateDynamicObject(2811,-201.8999939,-1763.1999512,674.7999878,0.0000000,0.0000000,219.9957275);
  43734. CreateDynamicObject(2811,-206.8999939,-1763.1999512,674.7999878,0.0000000,0.0000000,149.9957275);
  43735. CreateDynamicObject(3657,-206.8999939,-1739.5999756,675.2999878,0.0000000,0.0000000,90.0000000);
  43736. CreateDynamicObject(2811,-206.8994141,-1735.3994141,674.7999878,0.0000000,0.0000000,221.9897461);
  43737. CreateDynamicObject(2688,-201.5000000,-1760.5000000,676.4000244,0.0000000,0.0000000,270.0000000);
  43738. CreateDynamicObject(19460,-201.5000000,-1739.6999512,679.9000244,0.0000000,179.9945068,0.0000000);
  43739. CreateDynamicObject(19460,-207.3000031,-1739.6999512,679.9000244,0.0000000,179.9945068,0.0000000);
  43740. CreateDynamicObject(19460,-207.3000031,-1749.3000488,679.9000244,0.0000000,179.9945068,0.0000000);
  43741. CreateDynamicObject(19460,-207.3000031,-1758.9000244,679.9000244,0.0000000,179.9945068,0.0000000);
  43742. CreateDynamicObject(19460,-201.5000000,-1749.3000488,679.9000244,0.0000000,179.9945068,0.0000000);
  43743. CreateDynamicObject(19460,-201.5000000,-1758.9000244,679.9000244,0.0000000,179.9945068,0.0000000);
  43744. CreateDynamicObject(19460,-204.8000031,-1734.9000244,679.9000244,0.0000000,179.9945068,90.0000000);
  43745. CreateDynamicObject(19460,-206.3999939,-1763.5999756,679.9000244,0.0000000,179.9945068,90.0000000);
  43746. CreateDynamicObject(19460,-214.5000000,-1758.9000244,679.9000244,0.0000000,179.9945068,0.0000000);
  43747. CreateDynamicObject(19460,-214.5000000,-1749.3000488,679.9000244,0.0000000,179.9945068,0.0000000);
  43748. CreateDynamicObject(19460,-214.5000000,-1739.6999512,679.9000244,0.0000000,179.9945068,0.0000000);
  43749. CreateDynamicObject(19460,-207.5000000,-1758.9000244,679.9000244,0.0000000,179.9945068,0.0000000);
  43750. CreateDynamicObject(19460,-207.5000000,-1749.3000488,679.9000244,0.0000000,179.9945068,0.0000000);
  43751. CreateDynamicObject(19460,-207.5000000,-1739.6999512,679.9000244,0.0000000,179.9945068,0.0000000);
  43752. CreateDynamicObject(19460,-214.3999939,-1734.9000244,679.9000244,0.0000000,179.9945068,90.0000000);
  43753. CreateDynamicObject(19460,-212.1999969,-1742.8000488,679.9000244,0.0000000,179.9945068,90.0000000);
  43754. CreateDynamicObject(19460,-212.1999969,-1742.5999756,679.9000244,0.0000000,179.9945068,90.0000000);
  43755. CreateDynamicObject(19460,-196.6000061,-1744.4000244,679.9000244,0.0000000,179.9945068,90.0000000);
  43756. CreateDynamicObject(19460,-196.6000061,-1738.0999756,679.9000244,0.0000000,179.9945068,90.0000000);
  43757. CreateDynamicObject(19460,-196.6000061,-1744.5999756,679.9000244,0.0000000,179.9945068,90.0000000);
  43758. CreateDynamicObject(19460,-196.6000061,-1758.6999512,679.9000244,0.0000000,179.9945068,90.0000000);
  43759. CreateDynamicObject(19460,-196.6000061,-1758.9000244,679.9000244,0.0000000,179.9945068,90.0000000);
  43760. CreateDynamicObject(19460,-195.5000000,-1758.9000244,679.9000244,0.0000000,179.9945068,0.0000000);
  43761. CreateDynamicObject(19460,-195.5000000,-1749.3000488,679.9000244,0.0000000,179.9945068,0.0000000);
  43762. CreateDynamicObject(19460,-195.5000000,-1739.6999512,679.9000244,0.0000000,179.9945068,0.0000000);
  43763. CreateDynamicObject(19357,-209.0000000,-1748.8010254,673.9010010,0.0000000,0.0000000,90.0000000);
  43764. CreateDynamicObject(19449,-207.3999939,-1752.5000000,676.5000000,0.0000000,0.0000000,0.0000000);
  43765. CreateDynamicObject(19460,-207.4010010,-1751.5999756,673.2999878,0.0000000,0.0000000,0.0000000);
  43766. CreateDynamicObject(19460,-207.3990021,-1751.5999756,673.2999878,0.0000000,0.0000000,0.0000000);
  43767. CreateDynamicObject(19460,-207.4019928,-1753.3000488,673.2999878,0.0000000,0.0000000,0.0000000);
  43768. CreateDynamicObject(19460,-207.3979950,-1753.3000488,673.2999878,0.0000000,0.0000000,0.0000000);
  43769. CreateDynamicObject(3657,-206.8999939,-1750.4000244,675.2999878,0.0000000,0.0000000,90.0000000);
  43770. CreateDynamicObject(19387,-213.0000000,-1748.8000488,676.5000000,0.0000000,0.0000000,90.0000000);
  43771. CreateDynamicObject(19449,-212.1999969,-1748.8010254,679.0000000,0.0000000,0.0000000,90.0000000);
  43772. CreateDynamicObject(19357,-209.8000031,-1748.8000488,673.9000244,0.0000000,0.0000000,90.0000000);
  43773. CreateDynamicObject(19466,-208.6000061,-1748.8000488,676.4000244,0.0000000,0.0000000,90.0000000);
  43774. CreateDynamicObject(19466,-210.8404999,-1748.8000488,676.4000244,0.0000000,0.0000000,90.0000000);
  43775. CreateDynamicObject(19449,-212.1999969,-1756.1999512,676.5000000,0.0000000,0.0000000,90.0000000);
  43776. CreateDynamicObject(1523,-213.7890015,-1748.8299561,674.7399902,0.0000000,0.0000000,0.0000000);
  43777. CreateDynamicObject(19460,-212.1999969,-1748.6999512,679.9000244,0.0000000,179.9945068,90.0000000);
  43778. CreateDynamicObject(19460,-212.1999969,-1748.9000244,679.9000244,0.0000000,179.9945068,90.0000000);
  43779. CreateDynamicObject(19460,-212.1999969,-1756.0999756,679.9000244,0.0000000,179.9945068,90.0000000);
  43780. CreateDynamicObject(19460,-212.3000031,-1756.1989746,673.2999878,0.0000000,0.0000000,90.0000000);
  43781. CreateDynamicObject(19368,-209.0000000,-1748.7990000,673.2999878,0.0000000,0.0000000,90.0000000);
  43782. CreateDynamicObject(19368,-210.6629944,-1748.7980000,673.2999878,0.0000000,0.0000000,90.0000000);
  43783. CreateDynamicObject(19368,-210.6621094,-1748.8027344,673.2999878,0.0000000,0.0000000,90.0000000);
  43784. CreateDynamicObject(19368,-209.0000000,-1748.8017578,673.2999878,0.0000000,0.0000000,90.0000000);
  43785. CreateDynamicObject(19368,-215.3750000,-1748.7989502,673.2999878,0.0000000,0.0000000,90.0000000);
  43786. CreateDynamicObject(19368,-215.3750000,-1748.8007812,673.2999878,0.0000000,0.0000000,90.0000000);
  43787. CreateDynamicObject(3397,-208.1999969,-1750.8000488,674.7999878,0.0000000,0.0000000,0.0000000);
  43788. CreateDynamicObject(3396,-208.1999969,-1754.4000244,674.7999878,0.0000000,0.0000000,0.0000000);
  43789. CreateDynamicObject(19460,-212.1999969,-1756.3000488,679.9000244,0.0000000,179.9945068,90.0000000);
  43790. CreateDynamicObject(2132,-209.8999939,-1755.5999756,674.7999878,0.0000000,0.0000000,180.0000000);
  43791. CreateDynamicObject(2007,-212.3000031,-1755.5999756,674.7999878,0.0000000,0.0000000,180.0000000);
  43792. CreateDynamicObject(2007,-213.3000031,-1755.5999756,674.7999878,0.0000000,0.0000000,179.9945068);
  43793. CreateDynamicObject(3394,-213.8000031,-1752.1999512,674.7999878,0.0000000,0.0000000,179.9945068);
  43794. CreateDynamicObject(2146,-211.1000061,-1751.9000244,675.2999878,0.0000000,0.0000000,0.0000000);
  43795. CreateDynamicObject(14532,-210.6999969,-1753.5000000,675.7999878,0.0000000,0.0000000,14.0000000);
  43796. CreateDynamicObject(19460,-212.2998047,-1756.2001953,673.2999878,0.0000000,0.0000000,90.0000000);
  43797. CreateDynamicObject(3657,-201.8994141,-1746.5000000,675.2999878,0.0000000,0.0000000,270.0000000);
  43798. CreateDynamicObject(2811,-214.0000000,-1743.4000244,674.7999878,0.0000000,0.0000000,251.9897461);
  43799. CreateDynamicObject(2811,-214.0000000,-1748.0999756,674.7999878,0.0000000,0.0000000,295.9879761);
  43800. CreateDynamicObject(16101,-207.5000000,-1748.8000488,666.9000244,0.0000000,0.0000000,0.0000000);
  43801. CreateDynamicObject(3394,-213.8000031,-1761.5000000,674.7999878,0.0000000,0.0000000,179.9945068);
  43802. CreateDynamicObject(2007,-214.0000000,-1758.5999756,674.7999878,0.0000000,0.0000000,90.0000000);
  43803. CreateDynamicObject(2007,-214.0000000,-1757.5999756,674.7999878,0.0000000,0.0000000,90.0000000);
  43804. CreateDynamicObject(2132,-210.1000061,-1763.0999756,674.7999878,0.0000000,0.0000000,179.9945068);
  43805. CreateDynamicObject(3396,-208.1999969,-1761.6999512,674.7999878,0.0000000,0.0000000,0.0000000);
  43806. CreateDynamicObject(3397,-210.8000031,-1756.6999512,674.7999878,0.0000000,0.0000000,90.0000000);
  43807. CreateDynamicObject(2146,-211.1999969,-1759.9000244,675.2999878,0.0000000,0.0000000,0.0000000);
  43808. CreateDynamicObject(11237,-230.0000000,-1760.4000244,698.9000244,0.0000000,180.0000000,180.0000000);
  43809. CreateDynamicObject(3053,-211.1999969,-1760.4000244,678.4000244,0.0000000,0.0000000,0.0000000);
  43810. CreateDynamicObject(16101,-211.1999969,-1760.4000244,688.0999756,0.0000000,180.0000000,0.0000000);
  43811. CreateDynamicObject(2596,-214.3000031,-1760.0999756,676.7000122,0.0000000,0.0000000,90.0000000);
  43812. CreateDynamicObject(2885,-211.8000031,-1754.9000244,678.4000244,270.0000000,0.0000000,0.0000000);
  43813. CreateDynamicObject(2596,-214.3000031,-1760.8000488,676.7000122,0.0000000,0.0000000,90.0000000);
  43814. CreateDynamicObject(2596,-214.3000031,-1760.8000488,677.2999878,0.0000000,0.0000000,90.0000000);
  43815. CreateDynamicObject(2596,-214.3000031,-1760.0999756,677.2999878,0.0000000,0.0000000,90.0000000);
  43816. CreateDynamicObject(16101,-222.6000061,-1760.4000244,677.9000244,0.0000000,90.0000000,0.0000000);
  43817. CreateDynamicObject(16101,-214.5000000,-1760.4000244,666.19387220,0.0000000,0.0000000,0.0000000);
  43818. CreateDynamicObject(3808,-207.2500000,-1757.8000488,676.2999878,0.0000000,0.0000000,0.0000000);
  43819. CreateDynamicObject(3808,-212.0000000,-1742.8499756,676.2999878,0.0000000,0.0000000,270.0000000);
  43820. CreateDynamicObject(3808,-212.0000000,-1748.6600342,676.2999878,0.0000000,0.0000000,90.0000000);
  43821. CreateDynamicObject(19460,-201.3000031,-1749.5000000,679.9000244,0.0000000,179.9945068,0.0000000);
  43822. CreateDynamicObject(19460,-201.3000031,-1759.0999756,679.9000244,0.0000000,179.9945068,0.0000000);
  43823. CreateDynamicObject(2009,-199.5000000,-1747.8000488,674.7999878,0.0000000,0.0000000,90.0000000);
  43824. CreateDynamicObject(1999,-200.5000000,-1746.0999756,674.8010254,0.0000000,0.0000000,90.0000000);
  43825. CreateDynamicObject(1671,-199.3999939,-1746.9000244,675.2000122,0.0000000,0.0000000,264.0000000);
  43826. CreateDynamicObject(1671,-199.3999939,-1745.0999756,675.2000122,0.0000000,0.0000000,278.0000000);
  43827. CreateDynamicObject(2009,-196.8000031,-1753.8000488,674.8010254,0.0000000,0.0000000,90.0000000);
  43828. CreateDynamicObject(1999,-197.8000031,-1752.0999756,674.7999878,0.0000000,0.0000000,90.0000000);
  43829. CreateDynamicObject(1999,-198.6999969,-1752.8000488,674.7999878,0.0000000,0.0000000,270.0000000);
  43830. CreateDynamicObject(2009,-199.6999969,-1751.0999756,674.8010254,0.0000000,0.0000000,270.0000000);
  43831. CreateDynamicObject(1671,-197.6000061,-1753.0000000,675.2000122,0.0000000,0.0000000,282.0000000);
  43832. CreateDynamicObject(1671,-196.8000031,-1751.3000488,675.2000122,0.0000000,0.0000000,260.0000000);
  43833. CreateDynamicObject(1671,-199.8000031,-1752.0999756,675.2000122,0.0000000,0.0000000,84.0000000);
  43834. CreateDynamicObject(1671,-199.8000031,-1753.8000488,675.2000122,0.0000000,0.0000000,104.0000000);
  43835. CreateDynamicObject(2009,-196.0000000,-1757.1999512,674.7999878,0.0000000,0.0000000,180.0000000);
  43836. CreateDynamicObject(1999,-197.6999969,-1758.1999512,674.8010254,0.0000000,0.0000000,180.0000000);
  43837. CreateDynamicObject(1671,-196.8999939,-1757.3000488,675.2000122,0.0000000,0.0000000,0.0000000);
  43838. CreateDynamicObject(1671,-198.6999969,-1758.0000000,675.2000122,0.0000000,0.0000000,0.0000000);
  43839. CreateDynamicObject(2202,-196.0000000,-1746.1999512,674.7800293,0.0000000,0.0000000,270.0000000);
  43840. CreateDynamicObject(2811,-195.8999939,-1745.0999756,674.7999878,0.0000000,0.0000000,115.9932861);
  43841. CreateDynamicObject(2007,-196.0000000,-1748.3000488,674.7999878,0.0000000,0.0000000,270.0000000);
  43842. CreateDynamicObject(2007,-196.0000000,-1749.3000488,674.7999878,0.0000000,0.0000000,270.0000000);
  43843. CreateDynamicObject(2811,-200.8999939,-1758.3000488,674.7999878,0.0000000,0.0000000,141.9881592);
  43844. CreateDynamicObject(2611,-198.1999969,-1758.6700439,676.7999878,0.0000000,0.0000000,180.0000000);
  43845. CreateDynamicObject(2611,-201.2700043,-1746.4000244,676.5999756,0.0000000,0.0000000,89.9945068);
  43846. CreateDynamicObject(19449,-215.8000031,-1763.6999512,676.5000000,0.0000000,0.0000000,90.0000000);
  43847. CreateDynamicObject(19449,-201.3999939,-1768.5000000,676.5000000,0.0000000,0.0000000,0.0000000);
  43848. CreateDynamicObject(19449,-195.3999939,-1771.6999512,676.5000000,0.0000000,0.0000000,0.0000000);
  43849. CreateDynamicObject(2885,-200.8999939,-1768.3000488,678.4000244,270.0000000,0.0000000,0.0000000);
  43850. CreateDynamicObject(19460,-201.3990021,-1767.5799561,673.2999878,0.0000000,0.0000000,0.0000000);
  43851. CreateDynamicObject(19460,-195.4010010,-1771.6999512,673.2999878,0.0000000,0.0000000,0.0000000);
  43852. CreateDynamicObject(19460,-195.5000000,-1768.5000000,679.9000244,0.0000000,179.9945068,0.0000000);
  43853. CreateDynamicObject(19460,-201.3000031,-1768.6999512,679.9000244,0.0000000,179.9945068,0.0000000);
  43854. CreateDynamicObject(19449,-196.6000061,-1772.4000244,676.5000000,0.0000000,0.0000000,90.0000000);
  43855. CreateDynamicObject(19460,-196.6000061,-1772.3990479,673.2999878,0.0000000,0.0000000,90.0000000);
  43856. CreateDynamicObject(19460,-196.6000061,-1772.3000488,679.9000244,0.0000000,179.9945068,90.0000000);
  43857. CreateDynamicObject(14487,-190.8999939,-1778.1999512,678.0999756,0.0000000,0.0000000,0.0000000);
  43858. CreateDynamicObject(1789,-211.8000031,-1753.0999756,675.2999878,0.0000000,0.0000000,290.0000000);
  43859. CreateDynamicObject(1789,-211.8994141,-1759.1992188,675.2999878,0.0000000,0.0000000,270.0000000);
  43860. CreateDynamicObject(1789,-210.1999969,-1737.6999512,675.2999878,0.0000000,0.0000000,99.9951172);
  43861. CreateDynamicObject(1800,-199.0000000,-1759.5000000,674.7000122,0.0000000,0.0000000,270.0000000);
  43862. CreateDynamicObject(1800,-199.0000000,-1771.5000000,674.7000122,0.0000000,0.0000000,270.0000000);
  43863. CreateDynamicObject(1800,-199.0000000,-1767.5999756,674.7000122,0.0000000,0.0000000,270.0000000);
  43864. CreateDynamicObject(1800,-199.0000000,-1763.6999512,674.7000122,0.0000000,0.0000000,270.0000000);
  43865. CreateDynamicObject(1800,-200.6999969,-1766.9000244,674.7000122,0.0000000,0.0000000,0.0000000);
  43866. CreateDynamicObject(1800,-200.6999969,-1773.3000488,674.7000122,0.0000000,0.0000000,0.0000000);
  43867. CreateDynamicObject(1789,-196.1999969,-1770.6999512,675.2999878,0.0000000,0.0000000,180.0000000);
  43868. CreateDynamicObject(1789,-196.1999969,-1766.6999512,675.2999878,0.0000000,0.0000000,179.9945068);
  43869. CreateDynamicObject(1789,-196.1999969,-1762.9000244,675.2999878,0.0000000,0.0000000,179.9945068);
  43870. CreateDynamicObject(1789,-196.3000031,-1760.6999512,675.2999878,0.0000000,0.0000000,0.0000000);
  43871. CreateDynamicObject(1789,-200.5000000,-1766.1999512,675.2999878,0.0000000,0.0000000,0.0000000);
  43872. CreateDynamicObject(1789,-200.5000000,-1769.4000244,675.2999878,0.0000000,0.0000000,180.0000000);
  43873. CreateDynamicObject(19460,-216.0000000,-1763.5999756,679.9000244,0.0000000,179.9945068,90.0000000);
  43874. CreateDynamicObject(1999,-197.5000000,-1740.4000244,674.7999878,0.0000000,0.0000000,90.0000000);
  43875. CreateDynamicObject(1671,-196.5000000,-1739.3000488,675.2000122,0.0000000,0.0000000,270.0000000);
  43876. CreateDynamicObject(19460,-215.8999939,-1763.6989746,673.2999878,0.0000000,0.0000000,90.0000000);
  43877. CreateDynamicObject(16101,-212.3000031,-1748.6999512,666.2999878,0.0000000,0.0000000,0.0000000);
  43878. CreateDynamicObject(16101,-213.8000031,-1748.6999512,666.2999878,0.0000000,0.0000000,0.0000000);
  43879. CreateDynamicObject(16101,-213.8000031,-1748.9000244,666.2999878,0.0000000,0.0000000,0.0000000);
  43880. CreateDynamicObject(16101,-212.3000031,-1748.9000244,666.2999878,0.0000000,0.0000000,0.0000000);
  43881. CreateDynamicObject(2852,-206.8000031,-1742.8000488,675.2800293,0.0000000,0.0000000,0.0000000);
  43882. CreateDynamicObject(2315,-206.8000031,-1742.4000244,674.7999878,0.0000000,0.0000000,270.0000000);
  43883. CreateDynamicObject(2855,-206.6999969,-1743.6999512,675.2999878,0.0000000,0.0000000,0.0000000);
  43884. SetDynamicObjectMaterial(CreateDynamicObject(11435,-204.3999939,-1745.0999756,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43885. SetDynamicObjectMaterial(CreateDynamicObject(11435,-204.3999939,-1752.0000000,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43886. SetDynamicObjectMaterial(CreateDynamicObject(11435,-204.3999939,-1758.8000488,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43887. SetDynamicObjectMaterial(CreateDynamicObject(11435,-198.6000061,-1764.0000000,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43888. SetDynamicObjectMaterial(CreateDynamicObject(11435,-198.6000061,-1769.1999512,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43889. SetDynamicObjectMaterial(CreateDynamicObject(11435,-198.6000061,-1756.3000488,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43890. SetDynamicObjectMaterial(CreateDynamicObject(11435,-198.6000061,-1749.9000244,679.4000244,0.0000000,0.0000000,270.0000000), 1, 14532, "drivingbit", "blak_1");
  43891. // Bank interior
  43892. CreateDynamicObject(14602, 1443.33521, -985.86328, 1000.47083, 0.00000, 0.00000, 0.00000);
  43893. CreateDynamicObject(19450, 1420.34436, -987.59058, 996.85638, 0.00000, 0.00000, 0.00000);
  43894. CreateDynamicObject(19450, 1420.34436, -997.22662, 996.85638, 0.00000, 0.00000, 0.00000);
  43895. CreateDynamicObject(19450, 1420.34436, -977.94659, 996.85638, 0.00000, 0.00000, 0.00000);
  43896. CreateDynamicObject(19450, 1420.34436, -968.31262, 996.85638, 0.00000, 0.00000, 0.00000);
  43897. CreateDynamicObject(19377, 1425.39563, -997.23810, 998.69531, 0.00000, -90.00000, 0.00000);
  43898. CreateDynamicObject(19379, 1425.52917, -996.80780, 995.01910, 0.00000, -90.00000, 0.00000);
  43899. CreateDynamicObject(19377, 1425.39563, -987.59912, 998.69928, 0.00000, -90.00000, 0.00000);
  43900. CreateDynamicObject(19377, 1425.39563, -977.97009, 998.69531, 0.00000, -90.00000, 0.00000);
  43901. CreateDynamicObject(19377, 1425.39563, -968.33612, 998.69531, 0.00000, -90.00000, 0.00000);
  43902. CreateDynamicObject(19450, 1425.15210, -1001.58301, 996.85638, 0.00000, 0.00000, 89.99190);
  43903. CreateDynamicObject(19450, 1444.42175, -992.99921, 996.85638, 0.00000, 0.00000, 89.99190);
  43904. CreateDynamicObject(19450, 1425.24097, -1001.64844, 996.85638, 0.00000, 0.00000, 89.99190);
  43905. CreateDynamicObject(19450, 1435.60022, -997.79559, 996.85638, 0.00000, 0.00000, 0.00000);
  43906. CreateDynamicObject(19450, 1430.77246, -1001.59528, 996.85638, 0.00000, 0.00000, 89.99190);
  43907. CreateDynamicObject(1569, 1432.61536, -1001.55011, 995.10773, 0.00000, 0.00000, 0.00000);
  43908. CreateDynamicObject(19388, 1438.83838, -993.01642, 996.85449, 0.00000, 0.00000, 90.90000);
  43909. CreateDynamicObject(19431, 1436.57031, -993.03369, 996.85193, 0.00000, 0.00000, 89.95040);
  43910. CreateDynamicObject(19431, 1436.32031, -993.03369, 996.85388, 0.00000, 0.00000, 89.95040);
  43911. CreateDynamicObject(19450, 1425.15210, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  43912. CreateDynamicObject(19450, 1427.71814, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  43913. CreateDynamicObject(19450, 1439.00610, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  43914. CreateDynamicObject(19450, 1448.52612, -970.08197, 996.85638, 0.00000, 0.00000, 89.99190);
  43915. CreateDynamicObject(19388, 1433.38245, -970.08441, 996.86249, 0.00000, 0.00000, 89.78290);
  43916. CreateDynamicObject(19450, 1444.40637, -976.56262, 996.85638, 0.00000, 0.00000, 0.00000);
  43917. CreateDynamicObject(19450, 1444.40637, -966.93060, 996.85638, 0.00000, 0.00000, 0.00000);
  43918. CreateDynamicObject(19450, 1444.40637, -994.98560, 996.85638, 0.00000, 0.00000, 0.00000);
  43919. CreateDynamicObject(19377, 1435.89355, -997.23810, 998.69531, 0.00000, -90.00000, 0.00000);
  43920. CreateDynamicObject(19377, 1435.89355, -987.59912, 998.70532, 0.00000, -90.00000, 0.00000);
  43921. CreateDynamicObject(19377, 1435.89355, -977.97009, 998.70532, 0.00000, -90.00000, 0.00000);
  43922. CreateDynamicObject(19377, 1435.89355, -968.33612, 998.69531, 0.00000, -90.00000, 0.00000);
  43923. CreateDynamicObject(19377, 1446.39160, -968.33612, 998.69531, 0.00000, -90.00000, 0.00000);
  43924. CreateDynamicObject(19377, 1446.39160, -977.97009, 998.69733, 0.00000, -90.00000, 0.00000);
  43925. CreateDynamicObject(19377, 1446.39160, -987.59912, 998.69733, 0.00000, -90.00000, 0.00000);
  43926. CreateDynamicObject(19450, 1444.40637, -986.19659, 1000.16260, -180.00000, 0.00000, 0.00000);
  43927. CreateDynamicObject(1569, 1457.74744, -985.02881, 995.10431, 0.00000, 0.00000, -90.06000);
  43928. CreateDynamicObject(19377, 1446.35864, -997.23810, 998.69531, 0.00000, -90.00000, 0.00000);
  43929. CreateDynamicObject(16101, 1424.50464, -988.71008, 990.73462, 0.00000, 0.00000, 0.00000);
  43930. CreateDynamicObject(16101, 1424.50464, -990.89410, 990.73462, 0.00000, 0.00000, 0.00000);
  43931. CreateDynamicObject(16101, 1424.50464, -993.07813, 990.73462, 0.00000, 0.00000, 0.00000);
  43932. CreateDynamicObject(16101, 1424.50464, -995.26208, 990.73462, 0.00000, 0.00000, 0.00000);
  43933. CreateDynamicObject(16101, 1424.50464, -997.44611, 990.73462, 0.00000, 0.00000, 0.00000);
  43934. CreateDynamicObject(16101, 1424.50464, -999.63013, 990.73462, 0.00000, 0.00000, 0.00000);
  43935. CreateDynamicObject(16101, 1424.50464, -983.33411, 990.73462, 0.00000, 0.00000, 0.00000);
  43936. CreateDynamicObject(16101, 1424.50464, -981.15009, 990.73462, 0.00000, 0.00000, 0.00000);
  43937. CreateDynamicObject(16101, 1424.50464, -978.96613, 990.73462, 0.00000, 0.00000, 0.00000);
  43938. CreateDynamicObject(16101, 1424.50464, -976.78210, 990.73462, 0.00000, 0.00000, 0.00000);
  43939. CreateDynamicObject(16101, 1424.50464, -974.59808, 990.73462, 0.00000, 0.00000, 0.00000);
  43940. CreateDynamicObject(16101, 1424.50464, -972.41412, 990.73462, 0.00000, 0.00000, 0.00000);
  43941. CreateDynamicObject(19325, 1424.51428, -991.97479, 999.00391, 0.00000, 0.00000, 0.00000);
  43942. CreateDynamicObject(19325, 1424.51428, -998.45477, 999.00391, 0.00000, 0.00000, 0.00000);
  43943. CreateDynamicObject(19325, 1424.51428, -980.05078, 999.00391, 0.00000, 0.00000, 0.00000);
  43944. CreateDynamicObject(19325, 1424.51428, -973.42279, 999.00391, 0.00000, 0.00000, 0.00000);
  43945. CreateDynamicObject(2190, 1426.35876, -983.58972, 995.82874, 0.00000, 0.00000, -39.84000);
  43946. CreateDynamicObject(2190, 1427.57007, -986.54395, 995.82874, 0.00000, 0.00000, -102.06001);
  43947. CreateDynamicObject(2190, 1425.72351, -988.86444, 995.82874, 0.00000, 0.00000, -154.73996);
  43948. CreateDynamicObject(1715, 1425.98022, -986.25348, 995.10559, 0.00000, 0.00000, 81.60000);
  43949. CreateDynamicObject(1715, 1425.09607, -984.83795, 995.10559, 0.00000, 0.00000, 148.67998);
  43950. CreateDynamicObject(1715, 1424.76306, -987.25067, 995.10559, 0.00000, 0.00000, 29.09999);
  43951. CreateDynamicObject(2244, 1427.16125, -984.70050, 996.06403, 0.00000, 0.00000, 27.72000);
  43952. CreateDynamicObject(2244, 1426.93335, -987.59070, 996.06403, 0.00000, 0.00000, -24.42000);
  43953. CreateDynamicObject(2165, 1420.89612, -986.00458, 995.10638, 0.00000, 0.00000, 89.57999);
  43954. CreateDynamicObject(1715, 1422.16272, -985.46423, 995.10559, 0.00000, 0.00000, -105.06001);
  43955. CreateDynamicObject(2164, 1420.47449, -980.71246, 995.10602, 0.00000, 0.00000, 87.65998);
  43956. CreateDynamicObject(2773, 1426.07617, -993.09894, 995.65790, 0.00000, 0.00000, 89.16010);
  43957. CreateDynamicObject(2773, 1426.07690, -990.98590, 995.65790, 0.00000, 0.00000, 89.16010);
  43958. CreateDynamicObject(2773, 1426.07617, -995.23187, 995.65790, 0.00000, 0.00000, 89.16010);
  43959. CreateDynamicObject(2773, 1426.07617, -997.52289, 995.65790, 0.00000, 0.00000, 89.16010);
  43960. CreateDynamicObject(2773, 1426.07617, -999.65588, 995.65790, 0.00000, 0.00000, 89.16010);
  43961. CreateDynamicObject(2773, 1426.07690, -981.18988, 995.65790, 0.00000, 0.00000, 89.16010);
  43962. CreateDynamicObject(2773, 1426.07690, -979.05688, 995.65790, 0.00000, 0.00000, 89.16010);
  43963. CreateDynamicObject(2773, 1426.07690, -976.84491, 995.65790, 0.00000, 0.00000, 89.16010);
  43964. CreateDynamicObject(2773, 1426.07690, -974.63287, 995.65790, 0.00000, 0.00000, 89.16010);
  43965. CreateDynamicObject(2773, 1426.07690, -972.42090, 995.65790, 0.00000, 0.00000, 89.16010);
  43966. CreateDynamicObject(1514, 1424.18726, -992.59534, 996.20605, 0.00000, 0.00000, 89.58002);
  43967. CreateDynamicObject(1514, 1424.18726, -994.72827, 996.20612, 0.00000, 0.00000, 89.58000);
  43968. CreateDynamicObject(1514, 1424.18726, -996.94031, 996.20612, 0.00000, 0.00000, 89.58000);
  43969. CreateDynamicObject(1514, 1424.18726, -999.23132, 996.20612, 0.00000, 0.00000, 89.58000);
  43970. CreateDynamicObject(1514, 1424.18726, -980.66632, 996.20612, 0.00000, 0.00000, 89.58000);
  43971. CreateDynamicObject(1514, 1424.18726, -978.53333, 996.20612, 0.00000, 0.00000, 89.58000);
  43972. CreateDynamicObject(1514, 1424.18726, -976.32129, 996.20612, 0.00000, 0.00000, 89.58000);
  43973. CreateDynamicObject(1514, 1424.18726, -974.18829, 996.20612, 0.00000, 0.00000, 89.58000);
  43974. CreateDynamicObject(1514, 1424.18726, -971.97632, 996.20612, 0.00000, 0.00000, 89.58000);
  43975. CreateDynamicObject(1514, 1424.18726, -1001.12732, 996.20612, 0.00000, 0.00000, 89.58000);
  43976. CreateDynamicObject(2599, 1426.01086, -1000.61847, 995.50098, 0.00000, 0.00000, -90.78001);
  43977. CreateDynamicObject(2599, 1425.84473, -973.51959, 995.50061, 0.00000, 0.00000, -89.88000);
  43978. CreateDynamicObject(2007, 1420.94165, -999.54968, 995.10248, 0.00000, 0.00000, 89.76000);
  43979. CreateDynamicObject(2007, 1420.94165, -998.60168, 995.10248, 0.00000, 0.00000, 89.76000);
  43980. CreateDynamicObject(2007, 1420.94165, -997.65369, 995.10248, 0.00000, 0.00000, 89.76000);
  43981. CreateDynamicObject(2007, 1420.94165, -996.70569, 995.10248, 0.00000, 0.00000, 89.76000);
  43982. CreateDynamicObject(2007, 1420.94165, -995.75769, 995.10248, 0.00000, 0.00000, 89.76000);
  43983. CreateDynamicObject(1806, 1422.44788, -971.87213, 995.10742, 0.00000, 0.00000, -78.18002);
  43984. CreateDynamicObject(1806, 1422.44788, -973.37311, 995.10742, 0.00000, 0.00000, -86.22002);
  43985. CreateDynamicObject(1806, 1422.44788, -975.50610, 995.10742, 0.00000, 0.00000, -94.20003);
  43986. CreateDynamicObject(1806, 1422.44788, -977.63910, 995.10742, 0.00000, 0.00000, -93.60002);
  43987. CreateDynamicObject(1806, 1422.44788, -979.93011, 995.10742, 0.00000, 0.00000, -83.64001);
  43988. CreateDynamicObject(1806, 1422.44788, -991.78009, 995.10742, 0.00000, 0.00000, -87.24001);
  43989. CreateDynamicObject(1806, 1422.44788, -993.75513, 995.10742, 0.00000, 0.00000, -101.16003);
  43990. CreateDynamicObject(1806, 1422.44788, -996.04608, 995.10742, 0.00000, 0.00000, -91.26003);
  43991. CreateDynamicObject(1806, 1422.44788, -998.33710, 995.10742, 0.00000, 0.00000, -89.94003);
  43992. CreateDynamicObject(1806, 1422.44788, -1000.23309, 995.10742, 0.00000, 0.00000, -78.18000);
  43993. CreateDynamicObject(19379, 1425.52917, -987.17383, 995.01910, 0.00000, -90.00000, 0.00000);
  43994. CreateDynamicObject(19379, 1425.52917, -977.54077, 995.01910, 0.00000, -90.00000, 0.00000);
  43995. CreateDynamicObject(19379, 1425.52917, -967.90881, 995.01910, 0.00000, -90.00000, 0.00000);
  43996. CreateDynamicObject(19379, 1436.03015, -996.80780, 995.01910, 0.00000, -90.00000, 0.00000);
  43997. CreateDynamicObject(19379, 1436.03015, -987.17383, 995.01910, 0.00000, -90.00000, 0.00000);
  43998. CreateDynamicObject(19379, 1436.03015, -977.53979, 995.01910, 0.00000, -90.00000, 0.00000);
  43999. CreateDynamicObject(19379, 1436.03015, -967.90778, 995.01910, 0.00000, -90.00000, 0.00000);
  44000. CreateDynamicObject(19379, 1446.53076, -987.19177, 995.01910, 0.00000, -90.00000, 0.00000);
  44001. CreateDynamicObject(19379, 1457.03186, -987.19177, 995.01910, 0.00000, -90.00000, 0.00000);
  44002. CreateDynamicObject(19379, 1457.03186, -977.55780, 995.01910, 0.00000, -90.00000, 0.00000);
  44003. CreateDynamicObject(19379, 1446.53186, -977.55780, 995.01910, 0.00000, -90.00000, 0.00000);
  44004. CreateDynamicObject(19379, 1446.53186, -967.92480, 995.01910, 0.00000, -90.00000, 0.00000);
  44005. CreateDynamicObject(19379, 1446.53223, -996.81183, 995.01910, 0.00000, -90.00000, 0.00000);
  44006. CreateDynamicObject(19450, 1449.15112, -981.53003, 996.85638, 0.00000, 0.00000, 89.99190);
  44007. CreateDynamicObject(19450, 1458.76709, -981.53003, 996.85638, 0.00000, 0.00000, 89.99190);
  44008. CreateDynamicObject(19450, 1449.15210, -990.17499, 996.85638, 0.00000, 0.00000, 89.99190);
  44009. CreateDynamicObject(19450, 1458.78308, -990.17499, 996.85638, 0.00000, 0.00000, 89.99190);
  44010. CreateDynamicObject(19377, 1449.57959, -985.77112, 998.29529, 0.00000, -90.00000, 0.00000);
  44011. CreateDynamicObject(19377, 1459.64563, -985.73309, 998.27332, 0.00000, -90.00000, 0.00000);
  44012. CreateDynamicObject(19450, 1457.40637, -985.67657, 996.85638, 0.00000, 0.00000, 0.00000);
  44013. CreateDynamicObject(1569, 1457.37061, -982.48169, 995.10571, 0.00000, 0.00000, 269.37631);
  44014. CreateDynamicObject(1569, 1457.37549, -985.46259, 995.10571, 0.00000, 0.00000, 89.99800);
  44015. CreateDynamicObject(1569, 1457.36865, -986.57483, 995.10571, 0.00000, 0.00000, 269.37631);
  44016. CreateDynamicObject(1569, 1457.37585, -989.57758, 995.10571, 0.00000, 0.00000, 89.99800);
  44017. CreateDynamicObject(19431, 1440.70752, -982.46478, 996.86212, 0.00000, 0.00000, -91.56000);
  44018. CreateDynamicObject(19431, 1440.70752, -981.04077, 996.86212, 0.00000, 0.00000, -91.14001);
  44019. CreateDynamicObject(19431, 1439.91956, -981.72931, 996.86212, 0.00000, 0.00000, -183.05991);
  44020. CreateDynamicObject(19431, 1441.44763, -981.76929, 996.86212, 0.00000, 0.00000, -181.92000);
  44021. CreateDynamicObject(19431, 1441.44763, -989.43732, 996.86212, 0.00000, 0.00000, -181.92000);
  44022. CreateDynamicObject(19431, 1440.70752, -988.71283, 996.86212, 0.00000, 0.00000, -91.56000);
  44023. CreateDynamicObject(19431, 1440.70752, -990.13281, 996.86212, 0.00000, 0.00000, -91.56000);
  44024. CreateDynamicObject(19431, 1439.88562, -989.40332, 996.86212, 0.00000, 0.00000, -181.92000);
  44025. CreateDynamicObject(19431, 1431.84351, -988.67279, 996.86212, 0.00000, 0.00000, -91.56000);
  44026. CreateDynamicObject(19431, 1431.10046, -989.40332, 996.86212, 0.00000, 0.00000, -181.92000);
  44027. CreateDynamicObject(19431, 1431.84351, -990.13580, 996.86212, 0.00000, 0.00000, -91.56000);
  44028. CreateDynamicObject(19431, 1432.58154, -989.40332, 996.86212, 0.00000, 0.00000, -181.92000);
  44029. CreateDynamicObject(19431, 1432.58154, -982.06531, 996.86212, 0.00000, 0.00000, -181.92000);
  44030. CreateDynamicObject(19431, 1431.02148, -982.01929, 996.86212, 0.00000, 0.00000, -181.92000);
  44031. CreateDynamicObject(19431, 1431.84351, -982.75677, 996.86212, 0.00000, 0.00000, -91.56000);
  44032. CreateDynamicObject(19431, 1431.84351, -981.32483, 996.86212, 0.00000, 0.00000, -91.56000);
  44033. CreateDynamicObject(1569, 1432.61133, -970.15210, 995.10773, 0.00000, 0.00000, 0.00000);
  44034. CreateDynamicObject(14576, 1435.29407, -987.92871, 990.71588, 0.00000, 0.00000, -0.36000);
  44035. CreateDynamicObject(19379, 1436.03015, -1001.03583, 995.02307, 0.00000, -90.00000, 0.00000);
  44036. CreateDynamicObject(19388, 1438.86841, -1002.63641, 996.85449, 0.00000, 0.00000, 90.90000);
  44037. CreateDynamicObject(19450, 1440.54065, -997.84619, 996.85638, 0.00000, 0.00000, 0.00000);
  44038. CreateDynamicObject(19450, 1437.23877, -997.84979, 996.85638, 0.00000, 0.00000, 0.00000);
  44039. CreateDynamicObject(19377, 1440.83362, -1004.66913, 998.26831, 0.00000, -90.00000, 0.00000);
  44040. CreateDynamicObject(2634, 1441.06909, -1004.53168, 992.32001, 0.00000, 0.00000, 270.07040);
  44041. CreateDynamicObject(2198, 1433.27332, -996.86798, 989.92047, 0.00000, 0.00000, 178.63960);
  44042. CreateDynamicObject(2198, 1433.27332, -994.02600, 989.92047, 0.00000, 0.00000, 178.63960);
  44043. CreateDynamicObject(2198, 1433.27332, -990.89001, 989.92047, 0.00000, 0.00000, 178.63960);
  44044. CreateDynamicObject(2198, 1433.27332, -1000.00403, 989.92047, 0.00000, 0.00000, 178.63960);
  44045. CreateDynamicObject(1806, 1432.72278, -998.97363, 989.91901, 0.00000, 0.00000, -167.28003);
  44046. CreateDynamicObject(1806, 1432.60571, -995.73785, 989.91901, 0.00000, 0.00000, 175.12816);
  44047. CreateDynamicObject(1806, 1432.60571, -992.79791, 989.91901, 0.00000, 0.00000, 194.12750);
  44048. CreateDynamicObject(1806, 1432.60571, -989.75989, 989.91901, 0.00000, 0.00000, 186.49478);
  44049. CreateDynamicObject(16782, 1443.08545, -993.57495, 992.76324, 0.00000, 0.00000, 179.01819);
  44050. CreateDynamicObject(3397, 1442.95642, -993.62469, 989.94727, 0.00000, 0.00000, 357.18283);
  44051. CreateDynamicObject(3386, 1442.72241, -996.43250, 989.89600, 0.00000, 0.00000, 176.06250);
  44052. CreateDynamicObject(3386, 1442.72241, -997.60852, 989.91400, 0.00000, 0.00000, 176.06250);
  44053. CreateDynamicObject(3386, 1442.87439, -990.38049, 989.91400, 0.00000, 0.00000, 356.84091);
  44054. CreateDynamicObject(3386, 1442.87439, -989.24652, 989.91400, 0.00000, 0.00000, 356.84091);
  44055. CreateDynamicObject(18643, 1427.60217, -995.31152, 984.01813, 0.00000, 0.00000, 0.00000);
  44056. CreateDynamicObject(18643, 1418.20618, -995.31152, 984.01813, 0.00000, 0.00000, 0.00000);
  44057. CreateDynamicObject(18643, 1418.20618, -990.12750, 984.01813, 0.00000, 0.00000, 0.00000);
  44058. CreateDynamicObject(18643, 1427.60217, -990.12750, 984.01813, 0.00000, 0.00000, 0.00000);
  44059. CreateDynamicObject(18643, 1427.60217, -984.45752, 984.45007, 0.00000, 0.00000, 0.00000);
  44060. CreateDynamicObject(18643, 1418.04419, -984.45752, 984.45007, 0.00000, 0.00000, 0.00000);
  44061. CreateDynamicObject(14598, 1431.54688, -985.73328, 1010.65839, 0.00000, 0.00000, 0.00000);
  44062. CreateDynamicObject(1723, 1439.22668, -972.44214, 995.05151, 0.00000, 0.00000, 0.00000);
  44063. CreateDynamicObject(1723, 1442.60986, -973.58191, 995.05151, 0.00000, 0.00000, 269.47330);
  44064. CreateDynamicObject(1723, 1441.65991, -976.88171, 995.05151, 0.00000, 0.00000, 179.19260);
  44065. CreateDynamicObject(1723, 1438.09546, -975.58490, 995.05151, 0.00000, 0.00000, 86.82700);
  44066. CreateDynamicObject(1817, 1439.95251, -975.20856, 995.11218, 0.00000, 0.00000, -0.36000);
  44067. CreateDynamicObject(2011, 1437.90637, -970.72211, 995.11951, 0.00000, 0.00000, 0.00000);
  44068. CreateDynamicObject(2002, 1439.03247, -970.70801, 995.11951, 0.00000, 0.00000, 0.00000);
  44069. CreateDynamicObject(1776, 1440.21924, -970.60382, 996.18219, 0.00000, 0.00000, 0.00000);
  44070. CreateDynamicObject(2816, 1439.91479, -974.76520, 995.62378, 0.00000, 0.00000, -66.18000);
  44071. CreateDynamicObject(2245, 1440.35779, -974.71698, 995.85413, 0.00000, 0.00000, 0.00000);
  44072. CreateDynamicObject(1549, 1441.38904, -970.58020, 995.07281, 0.00000, 0.00000, 0.00000);
  44073. CreateDynamicObject(2961, 1436.19360, -992.91449, 996.43372, 0.00000, 0.00000, 0.00000);
  44074. CreateDynamicObject(2690, 1436.22546, -992.86798, 996.92572, 0.00000, 0.00000, 169.80000);
  44075. CreateDynamicObject(1999, 1435.73157, -1005.59863, 995.12238, 0.00000, 0.00000, 177.89998);
  44076. CreateDynamicObject(1806, 1435.42896, -1003.91840, 995.12079, 0.00000, 0.00000, 146.81998);
  44077. CreateDynamicObject(2606, 1433.61072, -1004.31232, 996.30280, 0.00000, 0.00000, 89.94000);
  44078. CreateDynamicObject(2606, 1433.61072, -1004.31232, 996.73480, 0.00000, 0.00000, 89.94000);
  44079. CreateDynamicObject(2606, 1433.61072, -1004.31232, 997.16681, 0.00000, 0.00000, 89.94000);
  44080. CreateDynamicObject(2894, 1435.51477, -1005.65875, 995.93512, 0.00000, 0.00000, -156.29988);
  44081. CreateDynamicObject(348, 1435.81042, -1005.49841, 995.93518, 91.00000, 0.00000, 38.22002);
  44082. CreateDynamicObject(2839, 1434.89624, -1005.61493, 995.12347, 0.00000, 0.00000, 28.74000);
  44083. CreateDynamicObject(1235, 1436.75586, -1005.67822, 995.63458, 0.00000, 0.00000, 4.14000);
  44084. CreateDynamicObject(2881, 1436.83350, -1005.81738, 995.13568, -2.00000, -69.00000, 28.00000);
  44085. CreateDynamicObject(2881, 1436.72742, -1005.73517, 995.13568, -2.00000, -69.00000, -15.20001);
  44086. CreateDynamicObject(2007, 1420.94165, -995.75769, 996.49847, 0.00000, 0.00000, 89.76000);
  44087. CreateDynamicObject(2007, 1420.94165, -996.70569, 996.50250, 0.00000, 0.00000, 89.76000);
  44088. CreateDynamicObject(2007, 1420.94165, -997.65369, 996.50250, 0.00000, 0.00000, 89.76000);
  44089. CreateDynamicObject(2007, 1420.94165, -998.60168, 996.50250, 0.00000, 0.00000, 89.76000);
  44090. CreateDynamicObject(2007, 1420.94165, -999.54968, 996.50250, 0.00000, 0.00000, 89.76000);
  44091. CreateDynamicObject(2942, 1446.68677, -989.58667, 995.71686, 0.00000, 0.00000, 179.99986);
  44092. CreateDynamicObject(2942, 1448.42285, -989.58667, 995.71692, 0.00000, 0.00000, 179.99989);
  44093. CreateDynamicObject(2942, 1450.13086, -989.58667, 995.71692, 0.00000, 0.00000, 179.99989);
  44094. CreateDynamicObject(2690, 1434.28040, -1002.78546, 996.38782, 0.00000, 0.00000, -4.26000);
  44095. CreateDynamicObject(1892, 1456.52942, -986.43781, 995.14093, 0.00000, 0.00000, 86.76000);
  44096. CreateDynamicObject(1892, 1456.52942, -990.61377, 995.14093, 0.00000, 0.00000, 86.76000);
  44097. CreateDynamicObject(1892, 1456.52942, -982.26178, 995.14093, 0.00000, 0.00000, 86.76000);
  44098. CreateDynamicObject(14633, 1426.06604, -979.43066, 996.56683, 0.00000, 0.00000, 0.00000);
  44099. CreateDynamicObject(2811, 1456.85181, -986.05109, 995.10602, 0.00000, 0.00000, 78.96002);
  44100. CreateDynamicObject(3386, 1442.87439, -988.14252, 989.91400, 0.00000, 0.00000, 356.84091);
  44101. CreateDynamicObject(3386, 1442.87439, -987.03851, 989.91400, 0.00000, 0.00000, 356.84091);
  44102. CreateDynamicObject(3386, 1442.72241, -998.80847, 989.91400, 0.00000, 0.00000, 176.06250);
  44103. CreateDynamicObject(3386, 1442.72241, -1000.00848, 989.91400, 0.00000, 0.00000, 176.06250);
  44104. CreateDynamicObject(3391, 1440.51379, -987.03638, 989.89600, 0.00000, 0.00000, 89.76003);
  44105. CreateDynamicObject(3392, 1436.92480, -987.02655, 989.89398, 0.00000, 0.00000, 89.81998);
  44106. CreateDynamicObject(1806, 1441.29553, -993.01025, 989.92133, 0.00000, 0.00000, -119.94001);
  44107. CreateDynamicObject(2634, 1435.35193, -980.29688, 984.21887, 0.00000, 0.00000, 179.04001);
  44108. CreateDynamicObject(1502, 1438.05847, -992.99011, 995.10675, 0.00000, 0.00000, 0.00000);
  44109. CreateDynamicObject(1499, 1438.53723, -1002.59253, 990.92316, 0.00000, 0.00000, 0.00000);
  44110. CreateDynamicObject(2690, 1440.72217, -1010.17639, 994.91425, 0.00000, 0.00000, -90.41999);
  44111. CreateDynamicObject(2690, 1433.67712, -1004.35260, 992.91760, 0.00000, 0.00000, 83.58002);
  44112. CreateDynamicObject(2690, 1440.74304, -1010.16492, 991.04169, 0.00000, 0.00000, -88.08002);
  44113. CreateDynamicObject(2690, 1433.68909, -1004.27728, 988.57770, 0.00000, 0.00000, 83.94003);
  44114. CreateDynamicObject(2690, 1433.56665, -1009.76007, 986.42206, 0.00000, 0.00000, 83.70004);
  44115. CreateDynamicObject(18643, 1441.46216, -995.31152, 984.01813, 0.00000, 0.00000, 0.00000);
  44116. CreateDynamicObject(18643, 1441.64221, -990.12750, 984.01813, 0.00000, 0.00000, 0.00000);
  44117. CreateDynamicObject(18643, 1441.54224, -984.45752, 984.45007, 0.00000, 0.00000, 0.00000);
  44118. }
  44119. stock LoadApartmentInterior()
  44120. {
  44121. print("Loading - Mapping for apartment interior was loaded.");
  44122. SetDynamicObjectMaterial(CreateDynamicObject(19378, 282.62299, 2037.47302, 8502.38281, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44123. SetDynamicObjectMaterial(CreateDynamicObject(19378, 298.28201, 2032.89697, 8500.61719, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44124. SetDynamicObjectMaterial(CreateDynamicObject(19378, 295.98499, 2042.47009, 8503.90332, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44125. SetDynamicObjectMaterial(CreateDynamicObject(19378, 308.77301, 2037.44897, 8500.61621, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44126. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2054.02588, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44127. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2047.18005, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44128. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2027.88904, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44129. SetDynamicObjectMaterial(CreateDynamicObject(19456, 288.41800, 2042.28101, 8502.28125, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44130. SetDynamicObjectMaterial(CreateDynamicObject(19456, 288.41800, 2032.74402, 8502.28125, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44131. SetDynamicObjectMaterial(CreateDynamicObject(19456, 283.58499, 2037.44897, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44132. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2056.81299, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44133. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2018.27905, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44134. SetDynamicObjectMaterial(CreateDynamicObject(19456, 298.01001, 2056.76709, 8502.28125, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44135. SetDynamicObjectMaterial(CreateDynamicObject(19456, 306.05600, 2039.69104, 8502.28125, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44136. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2018.25403, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44137. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2027.88904, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44138. SetDynamicObjectMaterial(CreateDynamicObject(19456, 306.04401, 2032.71704, 8502.28125, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44139. SetDynamicObjectMaterial(CreateDynamicObject(19456, 309.86899, 2037.41895, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44140. SetDynamicObjectMaterial(CreateDynamicObject(19456, 288.39801, 2042.28003, 8505.74805, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44141. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2044.40698, 8502.28125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44142. SetDynamicObjectMaterial(CreateDynamicObject(19378, 287.84201, 2037.44897, 8500.61035, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44143. SetDynamicObjectMaterial(CreateDynamicObject(19435, 287.89301, 2035.86597, 8501.28027, 25.00000, 0.00000, 89.50700), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44144. SetDynamicObjectMaterial(CreateDynamicObject(19435, 289.37500, 2035.86902, 8500.79102, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44145. SetDynamicObjectMaterial(CreateDynamicObject(19435, 287.83301, 2036.70203, 8501.40625, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44146. SetDynamicObjectMaterial(CreateDynamicObject(19435, 287.07599, 2037.50000, 8503.22559, 0.00000, -91.00000, 90.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44147. SetDynamicObjectMaterial(CreateDynamicObject(19435, 288.56900, 2039.14697, 8501.38672, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44148. SetDynamicObjectMaterial(CreateDynamicObject(19435, 287.80399, 2038.30701, 8501.40625, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44149. SetDynamicObjectMaterial(CreateDynamicObject(19435, 289.42401, 2039.16699, 8502.79102, -50.00000, 0.00000, 90.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44150. SetDynamicObjectMaterial(CreateDynamicObject(19435, 289.69601, 2039.15698, 8500.46680, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44151. SetDynamicObjectMaterial(CreateDynamicObject(19435, 291.83899, 2039.86499, 8502.23438, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44152. SetDynamicObjectMaterial(CreateDynamicObject(19435, 290.96201, 2039.14697, 8503.00293, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44153. SetDynamicObjectMaterial(CreateDynamicObject(19435, 291.12701, 2039.15601, 8499.58008, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44154. SetDynamicObjectMaterial(CreateDynamicObject(19435, 289.39001, 2039.15698, 8503.00195, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44155. SetDynamicObjectMaterial(CreateDynamicObject(19435, 291.83899, 2041.35901, 234.00000, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44156. SetDynamicObjectMaterial(CreateDynamicObject(19435, 287.12701, 2035.88501, 8501.38672, -2.00000, 0.00000, 90.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44157. SetDynamicObjectMaterial(CreateDynamicObject(19435, 286.32001, 2037.51501, 8502.49316, -89.00000, 0.00000, 0.31200), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44158. SetDynamicObjectMaterial(CreateDynamicObject(19435, 287.04999, 2039.15698, 8501.58301, 0.00000, 0.00000, 89.61400), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44159. SetDynamicObjectMaterial(CreateDynamicObject(19378, 298.28201, 2023.29504, 8500.61621, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44160. SetDynamicObjectMaterial(CreateDynamicObject(19456, 283.58600, 2037.44897, 8505.74805, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44161. SetDynamicObjectMaterial(CreateDynamicObject(19456, 288.41956, 2032.74841, 8505.74805, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44162. SetDynamicObjectMaterial(CreateDynamicObject(19378, 306.39999, 2035.06702, 8503.90234, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44163. SetDynamicObjectMaterial(CreateDynamicObject(19378, 295.97501, 2032.85999, 8503.90039, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44164. SetDynamicObjectMaterial(CreateDynamicObject(19378, 298.28201, 2042.52600, 8500.61719, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44165. SetDynamicObjectMaterial(CreateDynamicObject(19378, 298.28201, 2052.07690, 8500.61621, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44166. SetDynamicObjectMaterial(CreateDynamicObject(19378, 298.28201, 2023.29504, 8503.90332, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44167. SetDynamicObjectMaterial(CreateDynamicObject(19378, 298.28201, 2052.10400, 8503.90332, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44168. CreateDynamicObject(19456, 293.14401, 2056.81299, 8505.78125, 0.00000, 0.00000, 0.00000);
  44169. SetDynamicObjectMaterial(CreateDynamicObject(19456, 297.49301, 2019.21497, 8505.73828, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44170. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2018.27905, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44171. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2018.25403, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44172. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2027.88904, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44173. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2027.88904, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44174. SetDynamicObjectMaterial(CreateDynamicObject(19456, 306.03400, 2032.71704, 8505.74805, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44175. SetDynamicObjectMaterial(CreateDynamicObject(19456, 309.86899, 2037.41895, 8505.74805, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44176. SetDynamicObjectMaterial(CreateDynamicObject(19456, 306.05600, 2039.69104, 8505.78125, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44177. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2044.40698, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44178. SetDynamicObjectMaterial(CreateDynamicObject(19456, 301.31299, 2054.02588, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44179. SetDynamicObjectMaterial(CreateDynamicObject(19455, 298.01080, 2056.76782, 8505.78125, 0.00000, 0.00000, 270.13599), 0, 18246, "cw_junkyard2cs_t", "Was_scrpyd_door_dbl_grey", 0xFFFFFFFF);
  44180. SetDynamicObjectMaterial(CreateDynamicObject(19456, 293.14401, 2047.18005, 8505.78125, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44181. SetDynamicObjectMaterial(CreateDynamicObject(19435, 291.81900, 2041.43103, 8502.07129, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44182. SetDynamicObjectMaterial(CreateDynamicObject(19455, 297.11700, 2018.64404, 8502.28125, 0.00000, 0.00000, 270.13599), 0, 18246, "cw_junkyard2cs_t", "Was_scrpyd_door_dbl_grey", 0xFFFFFFFF);
  44183. CreateDynamicObject(14407, 288.23001, 2041.04797, 8500.79785, 0.00000, 0.00000, 90.06500);
  44184. CreateDynamicObject(14407, 289.73901, 2033.95105, 8499.21973, 0.00000, 0.00000, 271.08801);
  44185. CreateDynamicObject(1535, 301.24399, 2021.62402, 8503.97461, 0.00000, 0.00000, -90.19900);
  44186. CreateDynamicObject(1535, 301.24399, 2032.00305, 8500.69238, 0.00000, 0.00000, -89.99900);
  44187. CreateDynamicObject(1535, 293.22000, 2020.19202, 8500.70215, 0.00000, 0.00000, 90.69800);
  44188. CreateDynamicObject(1535, 293.19901, 2025.48499, 8500.70215, 0.00000, 0.00000, 89.59800);
  44189. CreateDynamicObject(1535, 293.22501, 2030.30701, 8500.70215, 0.00000, 0.00000, 91.00000);
  44190. CreateDynamicObject(1566, 309.77499, 2037.50403, 8502.08301, 0.00000, 0.00000, -89.79900);
  44191. CreateDynamicObject(1535, 301.24399, 2044.86304, 8500.70215, 0.00000, 0.00000, -89.69800);
  44192. CreateDynamicObject(1535, 293.20999, 2043.32898, 8500.70215, 0.00000, 0.00000, 90.09900);
  44193. CreateDynamicObject(1535, 301.24399, 2049.84399, 8500.70215, 0.00000, 0.00000, -89.90000);
  44194. CreateDynamicObject(1535, 301.24399, 2054.28101, 8500.70215, 0.00000, 0.00000, -89.59900);
  44195. CreateDynamicObject(1535, 293.22000, 2048.28491, 8500.70215, 0.00000, 0.00000, 90.89900);
  44196. CreateDynamicObject(1535, 293.21301, 2053.15601, 8500.70215, 0.00000, 0.00000, 90.50000);
  44197. CreateDynamicObject(1436, -2200.58105, 12487.57715, 10023.44434, 0.00000, 0.00000, 0.00000);
  44198. CreateDynamicObject(1535, 301.24399, 2021.62402, 8500.69238, 0.00000, 0.00000, -90.19900);
  44199. CreateDynamicObject(1535, 301.24399, 2026.98999, 8500.69238, 0.00000, 0.00000, -90.09800);
  44200. CreateDynamicObject(1535, 301.24399, 2026.98999, 8503.97461, 0.00000, 0.00000, -90.09800);
  44201. CreateDynamicObject(1535, 301.24399, 2032.00305, 8503.97461, 0.00000, 0.00000, -89.99900);
  44202. CreateDynamicObject(1535, 293.22501, 2030.30701, 8503.97461, 0.00000, 0.00000, 91.00000);
  44203. CreateDynamicObject(1535, 293.19901, 2025.48499, 8503.97461, 0.00000, 0.00000, 89.59800);
  44204. CreateDynamicObject(1535, 293.22000, 2020.19202, 8503.97461, 0.00000, 0.00000, 90.69800);
  44205. CreateDynamicObject(1535, 301.24399, 2049.84399, 8503.97461, 0.00000, 0.00000, -89.90000);
  44206. CreateDynamicObject(1535, 301.24399, 2054.28101, 8503.97461, 0.00000, 0.00000, -89.59900);
  44207. CreateDynamicObject(1535, 293.21301, 2053.15601, 8503.97461, 0.00000, 0.00000, 90.50000);
  44208. CreateDynamicObject(1535, 293.22000, 2048.28491, 8503.97461, 0.00000, 0.00000, 90.89900);
  44209. CreateDynamicObject(1535, 301.24399, 2044.86304, 8503.97461, 0.00000, 0.00000, -89.69800);
  44210. CreateDynamicObject(1535, 293.20999, 2043.32898, 8503.97461, 0.00000, 0.00000, 90.09900);
  44211. SetDynamicObjectMaterial(CreateDynamicObject(19377, 306.85968, 2036.15454, 8507.21680, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44212. SetDynamicObjectMaterial(CreateDynamicObject(19377, 296.35971, 2023.25049, 8507.21582, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44213. SetDynamicObjectMaterial(CreateDynamicObject(19377, 285.86722, 2037.45581, 8507.21680, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44214. SetDynamicObjectMaterial(CreateDynamicObject(19377, 296.35971, 2032.85999, 8507.21680, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44215. SetDynamicObjectMaterial(CreateDynamicObject(19377, 296.35861, 2042.48486, 8507.21680, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44216. SetDynamicObjectMaterial(CreateDynamicObject(19377, 296.35861, 2052.07690, 8507.21680, 0.00000, -90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44217. CreateDynamicObject(17969, 305.66919, 2039.56494, 8502.68848, 0.00000, 0.00000, 90.00000);
  44218. CreateDynamicObject(18661, 309.77731, 2038.60425, 8502.35840, 0.00000, 0.00000, 0.00000);
  44219. CreateDynamicObject(1291, 308.53577, 2038.66992, 8500.98145, 90.00000, 990.00000, 117.53999);
  44220. CreateDynamicObject(1493, 303.93939, 2034.79590, 8503.99121, 10.00000, 0.00000, 90.00000);
  44221. CreateDynamicObject(2847, 308.04349, 2036.06909, 8500.70996, 0.00000, 0.00000, 5.34000);
  44222. CreateDynamicObject(14782, 307.97562, 2033.24329, 8501.71094, 0.00000, 0.00000, 180.00000);
  44223. CreateDynamicObject(2610, 309.77911, 2035.37366, 8502.67676, 0.00000, 0.00000, 990.00000);
  44224. CreateDynamicObject(2610, 309.77911, 2034.88000, 8502.67676, 0.00000, 0.00000, 990.00000);
  44225. CreateDynamicObject(2610, 309.77911, 2034.38550, 8502.67676, 0.00000, 0.00000, 990.00000);
  44226. CreateDynamicObject(1812, 304.64130, 2039.29651, 8500.93359, 0.00000, 40.00000, 990.00000);
  44227. CreateDynamicObject(1735, 302.04453, 2039.10046, 8500.69238, 0.00000, 0.00000, 2.22000);
  44228. CreateDynamicObject(1344, 303.20349, 2033.60742, 8501.64844, -140.00000, 0.00000, 0.00000);
  44229. CreateDynamicObject(1440, 303.21259, 2034.78345, 8501.15137, 0.00000, 0.00000, 178.73981);
  44230. CreateDynamicObject(1440, 300.44937, 2039.97742, 8501.15137, 0.00000, 0.00000, 272.33997);
  44231. CreateDynamicObject(2692, 300.99060, 2033.01953, 8501.44531, 0.00000, 0.00000, -117.90001);
  44232. CreateDynamicObject(2671, 307.10651, 2036.48535, 8500.71094, 0.00000, 0.00000, 4.43998);
  44233. CreateDynamicObject(2675, 301.19174, 2036.80688, 8500.77246, 0.00000, 0.00000, 0.00000);
  44234. CreateDynamicObject(2671, 304.09482, 2037.36414, 8500.71094, 0.00000, 0.00000, -1.98002);
  44235. CreateDynamicObject(2674, 304.48569, 2035.85132, 8500.72168, 0.00000, 0.00000, 0.00000);
  44236. CreateDynamicObject(2670, 307.29416, 2037.92090, 8500.79199, 0.00000, 0.00000, -0.96002);
  44237. CreateDynamicObject(2599, 299.91812, 2046.25269, 8501.15527, 0.00000, 0.00000, 25.02000);
  44238. CreateDynamicObject(1436, 293.92563, 2046.50940, 8500.48633, 0.00000, 0.00000, 90.00000);
  44239. CreateDynamicObject(1300, 293.71475, 2042.07239, 8501.07422, 0.00000, 0.00000, -88.74000);
  44240. CreateDynamicObject(3034, 295.88269, 2056.66919, 8502.64355, 0.00000, 0.00000, 0.00000);
  44241. CreateDynamicObject(2558, 294.44479, 2056.28467, 8502.17676, 0.00000, 0.00000, 0.00000);
  44242. CreateDynamicObject(2558, 296.33481, 2056.28467, 8502.17676, 0.00000, 0.00000, 0.00000);
  44243. CreateDynamicObject(2069, 293.75760, 2045.75000, 8500.73926, 0.00000, 0.00000, 0.00000);
  44244. CreateDynamicObject(2718, 293.35461, 2046.56641, 8503.11914, 0.00000, 0.00000, 90.00000);
  44245. CreateDynamicObject(2611, 293.65619, 2046.87036, 8501.15723, -40.00000, 0.00000, 90.00000);
  44246. CreateDynamicObject(2630, 300.44873, 2051.26929, 8500.70410, 0.00000, 0.00000, 0.00000);
  44247. CreateDynamicObject(1415, 300.03369, 2055.28394, 8500.69336, 0.00000, 0.00000, -25.08000);
  44248. CreateDynamicObject(1761, 294.39059, 2056.06641, 8500.70215, 0.00000, 0.00000, 0.00000);
  44249. CreateDynamicObject(1985, 296.63293, 2056.61328, 8500.98828, 90.00000, 0.00000, -107.04002);
  44250. CreateDynamicObject(2673, 295.10684, 2042.74695, 8500.79492, 0.00000, 0.00000, 30.23999);
  44251. CreateDynamicObject(2670, 298.25299, 2043.25732, 8500.79492, 0.00000, 0.00000, -8.88000);
  44252. CreateDynamicObject(2676, 297.32709, 2046.57544, 8500.81250, 0.00000, 0.00000, 0.00000);
  44253. CreateDynamicObject(2670, 298.73022, 2050.14038, 8500.79492, 0.00000, 0.00000, -8.88000);
  44254. CreateDynamicObject(2676, 298.02194, 2054.12231, 8500.81250, 0.00000, 0.00000, 0.00000);
  44255. CreateDynamicObject(1793, 293.65460, 2049.58008, 8500.70313, 0.00000, 20.00000, 0.00000);
  44256. CreateDynamicObject(1793, 293.60461, 2049.59009, 8501.70703, 0.00000, 30.00000, 0.00000);
  44257. CreateDynamicObject(2673, 295.73227, 2049.26245, 8500.79492, 0.00000, 0.00000, 30.23999);
  44258. CreateDynamicObject(2930, 293.30020, 2044.96008, 8503.29102, 0.00000, 0.00000, 0.00000);
  44259. CreateDynamicObject(2676, 296.01974, 2034.79468, 8500.81250, 0.00000, 0.00000, 0.00000);
  44260. CreateDynamicObject(1442, 293.60516, 2033.26440, 8501.29785, 0.00000, 0.00000, 0.00000);
  44261. CreateDynamicObject(1439, 292.44925, 2040.15527, 8500.69531, 0.00000, 0.00000, 90.00000);
  44262. CreateDynamicObject(1793, 290.54019, 2036.99915, 8500.11914, 40.00000, 0.00000, 92.40000);
  44263. CreateDynamicObject(1369, 292.05811, 2037.55994, 8501.30273, 0.00000, 0.00000, 74.63999);
  44264. CreateDynamicObject(1493, 290.38791, 2038.55701, 8500.69629, -10.00000, 0.00000, 0.00000);
  44265. CreateDynamicObject(2671, 290.62796, 2036.44800, 8500.71094, 0.00000, 0.00000, -14.70002);
  44266. CreateDynamicObject(2930, 301.21939, 2032.11389, 8503.29102, 0.00000, 0.00000, 0.00000);
  44267. CreateDynamicObject(2930, 293.31451, 2021.80566, 8503.29102, 0.00000, 0.00000, 0.00000);
  44268. CreateDynamicObject(1498, 296.48456, 2030.14600, 8500.74121, 990.00000, 0.00000, 364.80020);
  44269. CreateDynamicObject(2671, 298.77560, 2033.98010, 8500.71094, 0.00000, 0.00000, 169.19995);
  44270. CreateDynamicObject(2676, 297.06818, 2030.95203, 8500.81250, 0.00000, 0.00000, 0.00000);
  44271. CreateDynamicObject(1800, 295.57288, 2025.95349, 8500.68848, 0.00000, 0.00000, -32.82000);
  44272. CreateDynamicObject(2103, 296.88257, 2027.80835, 8501.45605, 0.00000, 0.00000, -156.77994);
  44273. CreateDynamicObject(1748, 297.28729, 2030.29968, 8500.70605, 0.00000, 0.00000, 0.00000);
  44274. CreateDynamicObject(1300, 293.88199, 2027.69958, 8501.07422, 0.00000, 0.00000, -88.74000);
  44275. CreateDynamicObject(1302, 293.52319, 2029.21838, 8500.70410, 0.00000, 0.00000, 90.00000);
  44276. CreateDynamicObject(19996, 300.69617, 2028.75891, 8500.70410, 0.00000, 0.00000, -68.58000);
  44277. SetDynamicObjectMaterial(CreateDynamicObject(19453, 283.59601, 2037.44897, 8505.22266, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_dickgoblinmural", 0xFFFFFFFF);
  44278. CreateDynamicObject(2675, 298.79446, 2026.91235, 8500.77246, 0.00000, 0.00000, 0.00000);
  44279. CreateDynamicObject(2676, 298.20523, 2022.98035, 8500.81250, 0.00000, 0.00000, 6.84000);
  44280. CreateDynamicObject(2670, 294.95981, 2022.11218, 8500.79492, 0.00000, 0.00000, -8.88000);
  44281. CreateDynamicObject(2671, 295.66064, 2025.65405, 8500.71094, 0.00000, 0.00000, 113.75997);
  44282. CreateDynamicObject(2048, 299.02029, 2024.68298, 8500.71387, 990.00000, 0.00000, 501.00009);
  44283. CreateDynamicObject(2619, 293.24820, 2019.42175, 8502.69043, 0.00000, 0.00000, 180.00000);
  44284. CreateDynamicObject(4227, 290.27621, 2018.65002, 8500.55273, 0.00000, 0.00000, 180.00000);
  44285. CreateDynamicObject(4227, 296.34769, 2018.66199, 8504.29883, 0.00000, 180.00000, 180.00000);
  44286. CreateDynamicObject(4227, 295.74619, 2018.65125, 8500.55273, 0.00000, 0.00000, 180.00000);
  44287. CreateDynamicObject(4227, 301.69769, 2018.66406, 8504.29883, 0.00000, 180.00000, 180.00000);
  44288. SetDynamicObjectMaterial(CreateDynamicObject(19444, 305.24490, 2035.55212, 8505.67285, 0.00000, 0.00000, 90.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44289. SetDynamicObjectMaterial(CreateDynamicObject(19444, 304.52420, 2036.27356, 8505.67285, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44290. SetDynamicObjectMaterial(CreateDynamicObject(19444, 305.24493, 2036.99207, 8505.67285, 0.00000, 0.00000, 90.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44291. SetDynamicObjectMaterial(CreateDynamicObject(19444, 305.97089, 2036.27063, 8505.67285, 0.00000, 0.00000, 0.00000), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44292. SetDynamicObjectMaterial(CreateDynamicObject(19456, 310.84299, 2036.30542, 8505.74805, 0.00000, 0.00000, 270.13599), 0, 10856, "bakerybit_sfse", "ws_oldwarehouse10a", 0xFFFFFFFF);
  44293. SetDynamicObjectMaterial(CreateDynamicObject(19369, 309.86630, 2034.49768, 8505.73340, 0.00000, 0.00000, 0.00000), 0, 4849, "ground3_las", "mural01_LA", 0xFFFFFFFF);
  44294. SetDynamicObjectMaterial(CreateDynamicObject(19369, 309.86539, 2037.99231, 8505.73340, 0.00000, 0.00000, 0.00000), 0, 4849, "ground3_las", "mural01_LA", 0xFFFFFFFF);
  44295. SetDynamicObjectMaterial(CreateDynamicObject(19369, 307.83160, 2036.29028, 8505.73340, 0.00000, 0.00000, 90.00000), 0, 17504, "eastlstr_lae2", "mural07_LA", 0xFFFFFFFF);
  44296. SetDynamicObjectMaterial(CreateDynamicObject(19369, 307.83160, 2036.31030, 8505.73340, 0.00000, 0.00000, 90.00000), 0, 8399, "vgs_shops", "vegasclubmural_128", 0xFFFFFFFF);
  44297. SetDynamicObjectMaterial(CreateDynamicObject(19369, 304.84000, 2039.68506, 8505.73340, 0.00000, 0.00000, 90.24000), 0, 17504, "eastlstr_lae2", "mural07_LA", 0xFFFFFFFF);
  44298. SetDynamicObjectMaterial(CreateDynamicObject(19369, 304.84000, 2032.75330, 8505.73340, 0.00000, 0.00000, 90.00000), 0, 10856, "bakerybit_sfse", "ws_dickgoblinmural", 0xFFFFFFFF);
  44299. CreateDynamicObject(1709, 303.61633, 2037.95142, 8503.98730, 0.00000, 0.00000, 0.00000);
  44300. CreateDynamicObject(19997, 307.66483, 2034.43762, 8503.99023, 0.00000, 0.00000, 0.00000);
  44301. CreateDynamicObject(19996, 307.53067, 2035.91382, 8503.99121, 0.00000, 0.00000, 0.00000);
  44302. CreateDynamicObject(19996, 309.27890, 2034.45142, 8503.99121, 0.00000, 0.00000, 990.00000);
  44303. CreateDynamicObject(2846, 294.90164, 2028.26941, 8500.70410, 0.00000, 0.00000, 0.00000);
  44304. CreateDynamicObject(2846, 307.16077, 2034.11108, 8500.70410, 0.00000, 0.00000, 0.00000);
  44305. CreateDynamicObject(2832, 297.16260, 2038.55823, 8500.71289, 0.00000, 0.00000, 0.00000);
  44306. CreateDynamicObject(19996, 306.17435, 2034.46997, 8503.99121, 0.00000, 0.00000, 90.00000);
  44307. CreateDynamicObject(1486, 307.20392, 2034.13904, 8504.97461, 0.00000, 0.00000, 0.00000);
  44308. CreateDynamicObject(1486, 308.02203, 2034.46619, 8504.97461, 0.00000, 0.00000, 0.00000);
  44309. CreateDynamicObject(1486, 307.33618, 2034.79626, 8504.97461, 0.00000, 0.00000, 0.00000);
  44310. CreateDynamicObject(911, 307.27539, 2036.83447, 8504.52246, 0.00000, 0.00000, 180.00000);
  44311. CreateDynamicObject(1429, 307.15991, 2036.70776, 8505.34766, 0.00000, 0.00000, 180.00000);
  44312. CreateDynamicObject(1486, 307.72589, 2036.73120, 8505.24316, 0.00000, 0.00000, 0.00000);
  44313. CreateDynamicObject(1300, 301.82193, 2039.13953, 8504.32910, 0.00000, 0.00000, 0.00000);
  44314. CreateDynamicObject(2692, 300.66159, 2041.18921, 8504.71875, 0.00000, 0.00000, -76.80000);
  44315. CreateDynamicObject(1450, 300.81299, 2038.86377, 8504.56152, 0.00000, 0.00000, -87.18000);
  44316. CreateDynamicObject(2930, 293.30621, 2049.89258, 8506.56445, 0.00000, 0.00000, 0.00000);
  44317. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.54099, 2038.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44318. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2032.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44319. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2034.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44320. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2036.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44321. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2032.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44322. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2034.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44323. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2036.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44324. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2038.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44325. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.75211, 2038.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44326. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2032.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44327. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2034.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44328. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2036.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44329. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2032.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44330. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2034.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44331. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2036.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44332. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2038.09387, 8504.09473, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44333. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.74210, 2038.09387, 8504.53320, 0.00000, 90.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44334. CreateDynamicObject(2629, 295.25989, 2020.56152, 8503.99121, 0.00000, 0.00000, 149.76001);
  44335. CreateDynamicObject(1710, 300.18188, 2020.25269, 8503.98730, 0.00000, 0.00000, 180.00000);
  44336. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.95099, 2032.23010, 8504.74023, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44337. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.95099, 2034.23010, 8504.74023, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44338. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.95099, 2036.23010, 8504.74023, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44339. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.10101, 2032.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44340. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.10101, 2034.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44341. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.10101, 2036.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44342. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.54099, 2032.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44343. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.54099, 2034.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44344. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.54099, 2036.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44345. SetDynamicObjectMaterial(CreateDynamicObject(19940, 290.95099, 2038.23010, 8504.74023, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44346. SetDynamicObjectMaterial(CreateDynamicObject(19940, 291.10101, 2038.23010, 8504.74219, 0.00000, 0.00000, 0.00000), 0, 17075, "cuntwlandwest", "ws_carparknew2", 0xFFFFFFFF);
  44347. CreateDynamicObject(2930, 301.20859, 2032.10779, 8506.56445, 0.00000, 0.00000, 0.00000);
  44348. CreateDynamicObject(2048, 298.36328, 2019.32751, 8506.11816, 0.00000, 0.00000, 180.00000);
  44349. CreateDynamicObject(17969, 290.21390, 2042.15930, 8505.76367, 0.00000, 0.00000, 90.00000);
  44350. CreateDynamicObject(3034, 295.30969, 2019.30530, 8506.03320, 0.00000, 0.00000, 180.00000);
  44351. CreateDynamicObject(1439, 300.44412, 2023.97888, 8503.99023, 0.00000, 0.00000, -102.29999);
  44352. CreateDynamicObject(1442, 293.83542, 2024.64502, 8504.58496, 0.00000, 0.00000, 0.00000);
  44353. CreateDynamicObject(19996, 293.98730, 2029.31702, 8503.98828, 0.00000, 0.00000, 60.72000);
  44354. CreateDynamicObject(19996, 293.94977, 2028.18579, 8503.98828, 0.00000, 0.00000, 124.44003);
  44355. CreateDynamicObject(1327, 294.15948, 2046.29297, 8504.94043, 0.00000, -20.00000, 0.00000);
  44356. CreateDynamicObject(1735, 294.19568, 2052.08350, 8503.99023, 0.00000, 0.00000, 21.30000);
  44357. CreateDynamicObject(1735, 293.76523, 2050.34082, 8503.99023, 0.00000, 0.00000, 102.18001);
  44358. CreateDynamicObject(1338, 300.20053, 2029.11755, 8504.66797, 0.00000, 0.00000, 60.90000);
  44359. CreateDynamicObject(1793, 298.72330, 2043.53857, 8503.88477, 0.00000, 0.00000, 39.36000);
  44360. CreateDynamicObject(2069, 292.65689, 2033.25183, 8504.00293, 0.00000, 0.00000, 0.00000);
  44361. CreateDynamicObject(1438, 299.77051, 2051.32983, 8503.99023, 0.00000, 0.00000, -98.04000);
  44362. CreateDynamicObject(1448, 296.84930, 2028.10144, 8504.04980, 0.00000, 0.00000, 0.00000);
  44363. CreateDynamicObject(1448, 296.84930, 2028.10144, 8504.18945, 0.00000, 0.00000, 55.92000);
  44364. CreateDynamicObject(1355, 296.83099, 2029.19580, 8504.18750, 0.00000, 0.00000, -7.62000);
  44365. CreateDynamicObject(17969, 297.35889, 2056.64551, 8506.11621, 20.00000, 0.00000, 90.00000);
  44366. CreateDynamicObject(1985, 300.64664, 2047.44226, 8507.12500, 0.00000, 0.00000, 0.00000);
  44367. CreateDynamicObject(2676, 296.51337, 2039.01782, 8504.09375, 0.00000, 0.00000, 0.00000);
  44368. CreateDynamicObject(933, 296.25812, 2035.99719, 8503.81738, 0.00000, 0.00000, 0.00000);
  44369. CreateDynamicObject(19996, 294.52750, 2036.05249, 8503.99121, 0.00000, 0.00000, 90.00000);
  44370. CreateDynamicObject(19996, 295.55600, 2037.53711, 8503.99121, 0.00000, 0.00000, 35.46000);
  44371. CreateDynamicObject(19996, 297.24188, 2037.49683, 8503.99121, 0.00000, 0.00000, -31.02000);
  44372. CreateDynamicObject(19996, 298.00610, 2035.92358, 8503.99121, 0.00000, 0.00000, -81.05997);
  44373. CreateDynamicObject(19996, 297.03482, 2034.55444, 8503.99121, 0.00000, 0.00000, -139.07996);
  44374. CreateDynamicObject(19996, 295.41779, 2034.46265, 8503.99121, 0.00000, 0.00000, -205.25990);
  44375. CreateDynamicObject(1486, 295.77307, 2035.93994, 8504.93555, 0.00000, 0.00000, 0.00000);
  44376. CreateDynamicObject(1486, 296.35901, 2035.53955, 8504.93555, 0.00000, 0.00000, 0.00000);
  44377. CreateDynamicObject(1486, 296.54059, 2036.49060, 8504.83496, 90.00000, 0.00000, 29.94000);
  44378. CreateDynamicObject(2718, 293.34399, 2023.12964, 8505.79395, 0.00000, 0.00000, 90.00000);
  44379. CreateDynamicObject(1442, 293.73026, 2042.07129, 8504.58496, 0.00000, 0.00000, 0.00000);
  44380. CreateDynamicObject(1495, 300.74170, 2045.09131, 8503.99121, 10.00000, 0.00000, 90.00000);
  44381. CreateDynamicObject(2632, 297.00671, 2054.04028, 8503.99121, 0.00000, 0.00000, 149.75999);
  44382. CreateDynamicObject(2676, 296.87778, 2048.23389, 8504.09375, 0.00000, 0.00000, 0.00000);
  44383. CreateDynamicObject(2677, 295.63983, 2051.89185, 8504.27148, 0.00000, 0.00000, 0.00000);
  44384. CreateDynamicObject(2675, 299.73462, 2047.81726, 8504.07129, 0.00000, 0.00000, 0.00000);
  44385. CreateDynamicObject(2674, 296.71893, 2034.31470, 8504.01172, 0.00000, 0.00000, 0.00000);
  44386. CreateDynamicObject(2675, 297.82111, 2028.34143, 8504.06152, 0.00000, 0.00000, 0.00000);
  44387. CreateDynamicObject(2676, 298.41815, 2032.54077, 8504.09180, 0.00000, 0.00000, 0.00000);
  44388. CreateDynamicObject(2676, 295.24661, 2023.28467, 8504.09180, 0.00000, 0.00000, 0.00000);
  44389. CreateDynamicObject(2675, 294.46332, 2031.42139, 8504.05176, 0.00000, 0.00000, 0.00000);
  44390. CreateDynamicObject(2671, 295.25900, 2044.18530, 8504.00195, 0.00000, 0.00000, -74.64000);
  44391. CreateDynamicObject(2673, 294.84540, 2026.95374, 8504.08105, 0.00000, 0.00000, 0.00000);
  44392. CreateDynamicObject(2671, 298.74005, 2025.68298, 8504.00195, 0.00000, 0.00000, -74.64000);
  44393. CreateDynamicObject(2671, 299.76910, 2043.23682, 8504.00195, 0.00000, 0.00000, -114.83998);
  44394. CreateDynamicObject(2676, 301.59372, 2036.55273, 8504.09180, 0.00000, 0.00000, -36.72001);
  44395. CreateDynamicObject(2675, 305.69220, 2038.01038, 8504.06152, 0.00000, 0.00000, -63.41999);
  44396. CreateDynamicObject(2671, 306.25790, 2034.07605, 8504.00195, 0.00000, 0.00000, -8.76001);
  44397. CreateDynamicObject(1893, 303.79642, 2035.58862, 8503.80859, 0.00000, 0.00000, 90.00000);
  44398. CreateDynamicObject(1893, 297.03201, 2025.50500, 8503.80859, 0.00000, 0.00000, 90.00000);
  44399. CreateDynamicObject(1893, 297.03204, 2035.45044, 8503.80859, 0.00000, 0.00000, 90.00000);
  44400. CreateDynamicObject(1893, 297.03201, 2048.35571, 8503.80859, 0.00000, 0.00000, 90.00000);
  44401. CreateDynamicObject(2073, 285.79459, 2039.75488, 8506.39844, 0.00000, 0.00000, 0.00000);
  44402. CreateDynamicObject(2073, 285.79459, 2034.98450, 8506.39844, 0.00000, 0.00000, 0.00000);
  44403. CreateDynamicObject(1893, 297.20050, 2035.62720, 8507.12500, 0.00000, 0.00000, 90.00000);
  44404. CreateDynamicObject(1893, 297.20050, 2048.48389, 8507.12500, 0.00000, 0.00000, 90.00000);
  44405. CreateDynamicObject(1893, 297.20050, 2025.78345, 8507.12500, 0.00000, 0.00000, 90.00000);
  44406. CreateDynamicObject(16779, 307.76984, 2038.03394, 8507.24609, 0.00000, 0.00000, 0.00000);
  44407. CreateDynamicObject(16779, 307.61618, 2034.33398, 8507.24609, 0.00000, 0.00000, 0.00000);
  44408. SetDynamicObjectMaterial(CreateDynamicObject(19369, 301.30820, 2041.42957, 8505.73340, 0.00000, 0.00000, 0.00000), 0, 10439, "hashblock3_sfs", "ws_mural1", 0xFFFFFFFF);
  44409. SetDynamicObjectMaterial(CreateDynamicObject(19369, 301.31180, 2028.64795, 8505.73340, 0.00000, 0.00000, 0.00000), 0, 10434, "hashblock2b_sfs", "ws_mural2", 0xFFFFFFFF);
  44410. SetDynamicObjectMaterial(CreateDynamicObject(19442, 293.16049, 2028.65979, 8505.72949, 0.00000, 0.00000, 0.00000), 0, 10439, "hashblock3_sfs", "ws_mural1", 0xFFFFFFFF);
  44411. CreateDynamicObject(2256, 260.68820, 2034.41614, 8503.25781, 0.00000, 0.00000, 0.00000);
  44412. SetDynamicObjectMaterial(CreateDynamicObject(19940, 295.16550, 2022.79602, 8500.61426, 90.00000, 0.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44413. SetDynamicObjectMaterial(CreateDynamicObject(19940, 295.16550, 2022.35596, 8500.61426, 90.00000, 0.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44414. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17551, 2022.14661, 8500.51465, 0.00000, 90.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44415. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17551, 2022.14661, 8500.95508, 0.00000, 90.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44416. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17401, 2022.14600, 8501.39355, 0.00000, 90.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44417. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17551, 2023.00659, 8500.51465, 0.00000, 90.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44418. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17551, 2023.00659, 8500.95508, 0.00000, 90.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44419. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17401, 2023.00659, 8501.39355, 0.00000, 90.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44420. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17551, 2022.79663, 8501.60352, 0.00000, 0.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44421. SetDynamicObjectMaterial(CreateDynamicObject(19940, 294.17551, 2022.35657, 8501.60352, 0.00000, 0.00000, 90.00000), 0, 11391, "hubprops2_sfse", "blackmetal", 0xFFFFFFFF);
  44422. CreateDynamicObject(2826, 293.72784, 2022.55542, 8501.61523, 0.00000, 0.00000, 100.79999);
  44423. CreateDynamicObject(2826, 294.68497, 2022.56165, 8501.61523, 0.00000, 0.00000, 235.43999);
  44424. CreateDynamicObject(1486, 294.17490, 2022.91040, 8501.75879, 0.00000, 0.00000, 0.00000);
  44425. CreateDynamicObject(1486, 294.32834, 2022.83801, 8501.75879, 0.00000, 0.00000, 0.00000);
  44426. return true;
  44427. }
  44428. //Stocks and other functions
  44429. stock PreloadAnimations(playerid)
  44430. {
  44431. for (new i = 0; i < sizeof(g_aPreloadLibs); i ++) {
  44432. ApplyAnimation(playerid, g_aPreloadLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
  44433. }
  44434. return 1;
  44435. }
  44436. stock CountRegister()
  44437. {
  44438. new count;
  44439. new Cache:result = mysql_query(m_Handle, "SELECT COUNT(*) FROM players WHERE id != 0");
  44440. cache_get_value_index_int(0, 0, count);
  44441. cache_delete(result);
  44442. return count;
  44443. }
  44444. stock CountFactionMembers(factionid)
  44445. {
  44446. new query[60], count;
  44447. mysql_format(m_Handle, query, sizeof(query), "SELECT COUNT(*) FROM players WHERE Faction = %i", factionid);
  44448. new Cache:result = mysql_query(m_Handle, query);
  44449. cache_get_value_index_int(0, 0, count);
  44450. cache_delete(result);
  44451. return count;
  44452. }
  44453. stock LoadOwnedCars(playerid, slotid)
  44454. {
  44455. new query[60];
  44456. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM ownedcars WHERE id = %i LIMIT 1", PlayerData[playerid][pOwnedCar][slotid - 1]);
  44457. mysql_tquery(m_Handle, query, "SQL_LoadOwnedCars", "i", playerid);
  44458. DeletePVar(playerid, "Viewing_OwnedCarList");
  44459. return true;
  44460. }
  44461. stock ShowBusinessEmployees(playerid, bizid)
  44462. {
  44463. new query[60];
  44464. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM players WHERE WorkOn = %i LIMIT 20", bizid);
  44465. mysql_tquery(m_Handle, query, "SQL_ShowBusinessEmployees", "i", playerid);
  44466. return true;
  44467. }
  44468. stock ShowTenantNames(playerid, houseid)
  44469. {
  44470. new query[60];
  44471. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM players WHERE Renting = %i LIMIT 20", houseid);
  44472. mysql_tquery(m_Handle, query, "SQL_ShowTenantNames", "i", playerid);
  44473. return true;
  44474. }
  44475. stock EvictAllTenants(playerid, houseid)
  44476. {
  44477. new query[60];
  44478. mysql_format(m_Handle, query, sizeof(query), "SELECT Renting FROM players WHERE Renting = %i LIMIT 20", houseid);
  44479. mysql_tquery(m_Handle, query, "SQL_EvictAllTenants", "i", playerid);
  44480. return true;
  44481. }
  44482. stock RefreshFactionCar(vehicleid)
  44483. {
  44484. new query[60];
  44485. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `factioncars` WHERE id = %i", FactionCar[vehicleid][carID]);
  44486. mysql_tquery(m_Handle, query, "SQL_RefreshFactionCar", "i", vehicleid);
  44487. return true;
  44488. }
  44489. Server:LoadFurnitures()
  44490. {
  44491. return mysql_tquery(m_Handle, "SELECT * FROM furniture ORDER BY id ASC", "SQL_LoadFurniture");
  44492. }
  44493. stock SaveProperties()
  44494. {
  44495. new count;
  44496. for(new i = 0; i < TotalPropertyMade; i++){
  44497. SaveProperty(i);
  44498. count++;
  44499. }
  44500. printf("Saving - %d properties were saved to MySQL database.", count);
  44501. return true;
  44502. }
  44503. stock SaveBusinesses()
  44504. {
  44505. new count;
  44506. for(new i = 0; i < TotalBusinessesLoaded; i++){
  44507. SaveBusiness(i);
  44508. count++;
  44509. }
  44510. printf("Saving - %d businesses were saved to MySQL database.", count);
  44511. return true;
  44512. }
  44513. stock SavePaynSprays()
  44514. {
  44515. new count;
  44516. for(new i = 0; i < TotalPaynSpraysLoaded; i++){
  44517. SavePaynSpray(i);
  44518. count++;
  44519. }
  44520. printf("Saving - %d Pay n Sprays were saved to MySQL database.", count);
  44521. return true;
  44522. }
  44523. stock SaveTolls()
  44524. {
  44525. new count;
  44526. for(new i = 0; i < TotalTollsLoaded; i++) {
  44527. SaveToll(i);
  44528. count++;
  44529. }
  44530. printf("Saving - %d tolls were saved to MySQL database.", count);
  44531. return true;
  44532. }
  44533. stock SavePropertyGarages()
  44534. {
  44535. new count;
  44536. for(new i = 0; i < TotalPropertyGaragesMade; i++){
  44537. SavePropertyGarage(i);
  44538. count++;
  44539. }
  44540. printf("Saving - %d property garages were saved to MySQL database.", count);
  44541. return true;
  44542. }
  44543. stock SaveDoors()
  44544. {
  44545. new count;
  44546. for(new i = 0; i < TotalDoorsLoaded; i++){
  44547. SaveDoor(i);
  44548. count++;
  44549. }
  44550. printf("Saving - %d doors were saved to MySQL database.", count);
  44551. return true;
  44552. }
  44553. stock SaveFactions()
  44554. {
  44555. new count;
  44556. for(new i = 0; i < TotalFactionsLoaded; i++) {
  44557. SaveFaction(i);
  44558. count++;
  44559. }
  44560. printf("Saving - %d factions were saved to MySQL database.", count);
  44561. }
  44562. stock CountPlayerHouses(playerid)
  44563. {
  44564. new count = 0;
  44565. for(new i = 0; i < MAX_PROPERTY; i++){
  44566. if(PropertyData[i][propertyid] != 0){
  44567. if(PropertyData[i][propertyOwnerSQL] == PlayerData[playerid][pSQLID]){
  44568. count++;
  44569. }
  44570. }
  44571. }
  44572. return count;
  44573. }
  44574. stock CountPlayerBusinesses(playerid)
  44575. {
  44576. new count = 0;
  44577. for(new i = 0; i < MAX_BUSINESS; i++){
  44578. if(BusinessData[i][businessID] != 0){
  44579. if(BusinessData[i][businessOwnerSQL] == PlayerData[playerid][pSQLID]){
  44580. count++;
  44581. }
  44582. }
  44583. }
  44584. return count;
  44585. }
  44586. stock strmatch(const String1[], const String2[])
  44587. {
  44588. if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
  44589. {
  44590. return true;
  44591. }
  44592. else
  44593. {
  44594. return false;
  44595. }
  44596. }
  44597. stock ReturnIP(playerid)
  44598. {
  44599. new ip[20];
  44600. GetPlayerIp(playerid, ip, sizeof(ip));
  44601. return ip;
  44602. }
  44603. stock ReturnName(playerid, underscore=1)
  44604. {
  44605. new name[90], oocname[MAX_PLAYER_NAME], icname[MAX_PLAYER_NAME];
  44606. if(underscore == 1) {
  44607. GetPlayerName(playerid, oocname, sizeof(oocname));
  44608. name = oocname;
  44609. }
  44610. else if(underscore == 0) {
  44611. if(PlayerData[playerid][pMasked])
  44612. format(name, sizeof(name), "[Mask %d_%d]", PlayerData[playerid][pMaskID], PlayerData[playerid][pMaskIDEx]);
  44613. else{
  44614. GetPlayerName(playerid, icname, sizeof(icname));
  44615. strreplace(icname, "_", " ");
  44616. name = icname;
  44617. }
  44618. }
  44619. return name;
  44620. }
  44621. stock ReturnLocation(playerid)
  44622. {
  44623. new playerLocation[MAX_ZONE_NAME];
  44624. GetPlayer2DZone(playerid, playerLocation, MAX_ZONE_NAME);
  44625. return playerLocation;
  44626. }
  44627. stock ReturnHour()
  44628. {
  44629. new time[36];
  44630. gettime(time[0], time[1], time[2]);
  44631. format(time, sizeof(time), "%02d:%02d", time[0], time[1]);
  44632. return time;
  44633. }
  44634. stock ReturnDate()
  44635. {
  44636. new sendString[90], MonthStr[40], month, day, year;
  44637. new hour, minute, second;
  44638. gettime(hour, minute, second);
  44639. getdate(year, month, day);
  44640. switch(month)
  44641. {
  44642. case 1: MonthStr = "January";
  44643. case 2: MonthStr = "February";
  44644. case 3: MonthStr = "March";
  44645. case 4: MonthStr = "April";
  44646. case 5: MonthStr = "May";
  44647. case 6: MonthStr = "June";
  44648. case 7: MonthStr = "July";
  44649. case 8: MonthStr = "August";
  44650. case 9: MonthStr = "September";
  44651. case 10: MonthStr = "October";
  44652. case 11: MonthStr = "November";
  44653. case 12: MonthStr = "December";
  44654. }
  44655. format(sendString, 90, "%s %d, %d %02d:%02d:%02d", MonthStr, day, year, hour, minute, second);
  44656. return sendString;
  44657. }
  44658. stock ReturnDateLog()
  44659. {
  44660. new month, day, year,
  44661. hour, minute, second,
  44662. datestr[90];
  44663. gettime(hour, minute, second);
  44664. getdate(year, month, day);
  44665. format(datestr, 90, "%d-%d-%d %02d:%02d:%02d", year, month, day, hour, minute, second);
  44666. return datestr;
  44667. }
  44668. stock ReturnMonthAndDay()
  44669. {
  44670. new sendString[90], MonthStr[40], month, day, year;
  44671. getdate(year, month, day);
  44672. switch(month)
  44673. {
  44674. case 1: MonthStr = "January";
  44675. case 2: MonthStr = "February";
  44676. case 3: MonthStr = "March";
  44677. case 4: MonthStr = "April";
  44678. case 5: MonthStr = "May";
  44679. case 6: MonthStr = "June";
  44680. case 7: MonthStr = "July";
  44681. case 8: MonthStr = "August";
  44682. case 9: MonthStr = "September";
  44683. case 10: MonthStr = "October";
  44684. case 11: MonthStr = "November";
  44685. case 12: MonthStr = "December";
  44686. }
  44687. format(sendString, 90, "%s %d", MonthStr, day);
  44688. return sendString;
  44689. }
  44690. stock ReturnDateEx()
  44691. {
  44692. new sendString[90], MonthStr[40], month, day, year;
  44693. getdate(year, month, day);
  44694. switch(month)
  44695. {
  44696. case 1: MonthStr = "January";
  44697. case 2: MonthStr = "February";
  44698. case 3: MonthStr = "March";
  44699. case 4: MonthStr = "April";
  44700. case 5: MonthStr = "May";
  44701. case 6: MonthStr = "June";
  44702. case 7: MonthStr = "July";
  44703. case 8: MonthStr = "August";
  44704. case 9: MonthStr = "September";
  44705. case 10: MonthStr = "October";
  44706. case 11: MonthStr = "November";
  44707. case 12: MonthStr = "December";
  44708. }
  44709. format(sendString, 90, "%s %d, %d", MonthStr, day, year);
  44710. return sendString;
  44711. }
  44712. ReturnStatistics(playerid, playerb, admin = 0)
  44713. {
  44714. // playerid - player we're checking statistics.
  44715. // playerb - player we're sending too.
  44716. GetPlayerHealth(playerid, PlayerData[playerid][pLastHealth]);
  44717. GetPlayerArmour(playerid, PlayerData[playerid][pLastArmor]);
  44718. new vehicle_key[32], work_on[32], exp;
  44719. if(!_has_vehicle_spawned[playerid]) vehicle_key = "None";
  44720. else format(vehicle_key, 32, "%d", _has_spawned_vehicleid[playerid]);
  44721. if(PlayerData[playerid][pWorkOn] == -1 || PlayerData[playerid][pWorkOn] == 0) {
  44722. format(work_on, sizeof work_on, "None");
  44723. }
  44724. else {
  44725. format(work_on, sizeof work_on, "%s", BusinessData[PlayerData[playerid][pWorkOn]][businessName]);
  44726. }
  44727. exp = ((PlayerData[playerid][pLevel]) * 4 + 2);
  44728. Message(playerb, COLOR_DARKGREEN, "|__________________%s [%s]__________________|", ReturnDate(), ReturnName(playerid));
  44729. Message(playerb, COLOR_GRAD1, "CHARACTER: Level:[%d] Faction:[%d][%s] Rank:[%s] Job:[%s]", PlayerData[playerid][pLevel], PlayerData[playerid][pFaction], ReturnFaction(playerid), ReturnRank(playerid), ReturnJobName(PlayerData[playerid][pJob]));
  44730. Message(playerb, COLOR_GRAD2, "INVENTORY: Phone:[%d] Radio:[%s] Channel:[%d] Mask:[%s] Melee:[%s]", ReturnPhoneNumber(playerid), (PlayerData[playerid][pHasRadio] != 1) ? ("No") : ("Yes"), PlayerData[playerid][pRadio][PlayerData[playerid][pMainSlot]], (PlayerData[playerid][pMask] != 1) ? ("No") : ("Yes"), ReturnWeaponIndex(playerid, 0));
  44731. Message(playerb, COLOR_GRAD1, "SKILLS: Health:[%.1f/%d.0] Armor:[%.1f] Timeplayed:[%i Hours] EXP:[%d/%d]", PlayerData[playerid][pLastHealth], PlayerData[playerid][pMaxHealth], PlayerData[playerid][pLastArmor], PlayerData[playerid][pHoursPlayed], PlayerData[playerid][pExp], exp);
  44732. Message(playerb, COLOR_GRAD2, "WEAPONS: Primary weapon:[%s] Ammo:[%d] Secondary weapon:[%s] Ammo:[%d]", ReturnWeaponIndex(playerid, 3), Weapon[playerid][3][eWeaponAmmo], ReturnWeaponIndex(playerid, 2), Weapon[playerid][2][eWeaponAmmo]);
  44733. Message(playerb, COLOR_GRAD1, "MONEY: Cash:[$%s] Bank:[$%s] Savings:[$%s] Paycheck:[$%s]", MoneyFormat(PlayerData[playerid][pMoney]), MoneyFormat(PlayerData[playerid][pBank]), MoneyFormat(PlayerData[playerid][pSavings]), MoneyFormat(PlayerData[playerid][pPaycheck]));
  44734. Message(playerb, COLOR_GRAD2, "OTHER: VehicleKey(s):[%s] DonatorLevel:[%s] WorkOn:[%s] Sidejob:[%s]", vehicle_key, ReturnDonatorLevel(playerid), work_on, ReturnJobName(PlayerData[playerid][pSidejob]));
  44735. if(PlayerData[playerb][pAdmin] && admin == 1)
  44736. {
  44737. new
  44738. business_key = 0,
  44739. house_key[3] = 0,
  44740. playerTime,
  44741. minuteConnection;
  44742. for(new i = 1; i < MAX_BUSINESS; i++) if(BusinessData[i][businessOwnerSQL] == PlayerData[playerid][pSQLID])
  44743. business_key = i;
  44744. for(new i = 1, j = 0; i < MAX_PROPERTY; i++) if(PropertyData[i][propertyOwnerSQL] == PlayerData[playerid][pSQLID])
  44745. {
  44746. house_key[j] = i;
  44747. j++;
  44748. if(j > 2) {
  44749. break;
  44750. }
  44751. }
  44752. playerTime = NetStats_GetConnectedTime(playerid);
  44753. minuteConnection = ((playerTime % (1000*60*60)) % (1000*60)) / 1000;
  44754. Message(playerb, COLOR_GRAD1, "FOR ADMIN: BusinessKey:[%d] HouseKeys:[%d][%d][%d] Renting:[%d] Interior:[%d] Local:[%d]", business_key, house_key[0], house_key[1], house_key[2], PlayerData[playerid][pRenting], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid));
  44755. Message(playerb, COLOR_GRAD2, "CONNECTION: Packetloss:[%.2f] Ping:[%i] IP:[%s] Onlinetime:[%d minutes]", NetStats_PacketLossPercent(playerid), GetPlayerPing(playerid), ReturnIP(playerid), minuteConnection);
  44756. Message(playerb, COLOR_GRAD1, "MISC: InsideBusiness:[%d] InsideProperty:[%d] InsideGarage:[%d] Player state:[%s] Alive state:[%s]", IsPlayerInBusiness(playerid), IsPlayerInProperty(playerid), PlayerData[playerid][pInsideGarage], ReturnPlayerState(playerid), ReturnAliveState(playerid));
  44757. Message(playerb, COLOR_GRAD2, "MISC: Radios:[%d][%d][%d][%d][%d] Inside vehicle:[%i]", PlayerData[playerid][pRadio][1], PlayerData[playerid][pRadio][2], PlayerData[playerid][pRadio][3], PlayerData[playerid][pRadio][4], PlayerData[playerid][pRadio][5], GetPlayerVehicleID(playerid));
  44758. }
  44759. Message(playerb, COLOR_DARKGREEN, "|__________________%s [%s]__________________|", ReturnDate(), ReturnName(playerid));
  44760. return 1;
  44761. }
  44762. stock SendPlayer(playerid, Float: posx, Float: posy, Float: posz, interior, virtualworld)
  44763. {
  44764. if(GetPlayerState(playerid) == 2) {
  44765. SetPlayerVirtualWorld(playerid, virtualworld);
  44766. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), virtualworld);
  44767. SetPlayerInterior(playerid, interior);
  44768. LinkVehicleToInterior(GetPlayerVehicleID(playerid), interior);
  44769. SetVehiclePos(GetPlayerVehicleID(playerid), posx, posy, posz);
  44770. }
  44771. else {
  44772. SetPlayerVirtualWorld(playerid, virtualworld);
  44773. SetPlayerInterior(playerid, interior);
  44774. SetPlayerPos(playerid, posx, posy, posz);
  44775. }
  44776. return true;
  44777. }
  44778. stock IsPlayerNearPlayer(playerid, targetid, Float:radius)
  44779. {
  44780. static
  44781. Float:fX,
  44782. Float:fY,
  44783. Float:fZ;
  44784. GetPlayerPos(targetid, fX, fY, fZ);
  44785. return (GetPlayerInterior(playerid) == GetPlayerInterior(targetid) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(targetid)) && IsPlayerInRangeOfPoint(playerid, radius, fX, fY, fZ);
  44786. }
  44787. adminWarn(aLevel, aWarning[])
  44788. {
  44789. new myString[128];
  44790. format(myString, sizeof(myString), "AdmWarn(%d): %s", aLevel, aWarning);
  44791. foreach(new i : Player)
  44792. {
  44793. if(AdmWarmToggle[i] == 1)
  44794. {
  44795. if(PlayerData[i][pAdmin] >= aLevel)
  44796. {
  44797. SendClientMessage(i, COLOR_YELLOW, myString);
  44798. printf("[Admin warn] %s", myString);
  44799. }
  44800. }
  44801. }
  44802. }
  44803. MoneyFormat(integer)
  44804. {
  44805. new value[20], string[20];
  44806. valstr(value, integer);
  44807. new charcount;
  44808. for(new i = strlen(value); i >= 0; i --)
  44809. {
  44810. format(string, sizeof(string), "%c%s", value[i], string);
  44811. if(charcount == 3)
  44812. {
  44813. if(i != 0)
  44814. format(string, sizeof(string), ",%s", string);
  44815. charcount = 0;
  44816. }
  44817. charcount ++;
  44818. }
  44819. return string;
  44820. }
  44821. stock WriteLog(const path[], const str[], {Float,_}:...) // Credit Emmet
  44822. {
  44823. static
  44824. args,
  44825. start,
  44826. end,
  44827. File:file,
  44828. string[1024];
  44829. if ((start = strfind(path, "/")) != -1) {
  44830. strmid(string, path, 0, start + 1);
  44831. if (!fexist(string))
  44832. return printf("** Warning: Directory \"%s\" doesn't exist.", string);
  44833. }
  44834. #emit LOAD.S.pri 8
  44835. #emit STOR.pri args
  44836. file = fopen(path, io_append);
  44837. if (!file)
  44838. return 0;
  44839. if (args > 8)
  44840. {
  44841. #emit ADDR.pri str
  44842. #emit STOR.pri start
  44843. for (end = start + (args - 8); end > start; end -= 4)
  44844. {
  44845. #emit LREF.pri end
  44846. #emit PUSH.pri
  44847. }
  44848. #emit PUSH.S str
  44849. #emit PUSH.C 1024
  44850. #emit PUSH.C string
  44851. #emit PUSH.C args
  44852. #emit SYSREQ.C format
  44853. fwrite(file, string);
  44854. fwrite(file, "\r\n");
  44855. fclose(file);
  44856. #emit LCTRL 5
  44857. #emit SCTRL 4
  44858. #emit RETN
  44859. }
  44860. fwrite(file, str);
  44861. fwrite(file, "\r\n");
  44862. fclose(file);
  44863. return 1;
  44864. }
  44865. RemovePlayerWeapon(playerid, weaponid)
  44866. {
  44867. if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50)
  44868. return;
  44869. new saveweapon[13], saveammo[13];
  44870. for(new slot = 0; slot < 13; slot++)
  44871. GetPlayerWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
  44872. ResetPlayerWeapons(playerid);
  44873. for(new slot; slot < 13; slot++)
  44874. {
  44875. if(saveweapon[slot] == weaponid || saveammo[slot] == 0)
  44876. continue;
  44877. GivePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]);
  44878. }
  44879. GivePlayerWeapon(playerid, 0, 1);
  44880. }
  44881. IsNumeric(const str[])
  44882. {
  44883. for (new i = 0, l = strlen(str); i != l; i ++)
  44884. {
  44885. if (i == 0 && str[0] == '-')
  44886. continue;
  44887. else if (str[i] < '0' || str[i] > '9')
  44888. return 0;
  44889. }
  44890. return 1;
  44891. }
  44892. static stock g_arrVehicleNames[][] = {
  44893. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster",
  44894. "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  44895. "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer",
  44896. "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach",
  44897. "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow",
  44898. "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
  44899. "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic",
  44900. "Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton",
  44901. "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher",
  44902. "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick",
  44903. "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher",
  44904. "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain",
  44905. "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck",
  44906. "Fortune", "Cadrona", "SWAT Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan",
  44907. "Blade", "Streak", "Freight", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder",
  44908. "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster",
  44909. "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  44910. "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30",
  44911. "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  44912. "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "LSPD Cruiser", "SFPD Cruiser", "LVPD Cruiser",
  44913. "Police Rancher", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick",
  44914. "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher",
  44915. "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain",
  44916. "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck",
  44917. "Fortune", "Cadrona", "SWAT Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan",
  44918. "Blade", "Streak", "Freight", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder",
  44919. "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster",
  44920. "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  44921. "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30",
  44922. "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  44923. "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "LSPD Cruiser", "SFPD Cruiser", "LVPD Cruiser",
  44924. "Police Rancher", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs",
  44925. "Boxville", "Tiller", "Utility Trailer"
  44926. };
  44927. stock GetVehicleModelByName(const name[])
  44928. {
  44929. if (IsNumeric(name) && (strval(name) >= 400 && strval(name) <= 611))
  44930. return strval(name);
  44931. for (new i = 0; i < sizeof(g_arrVehicleNames); i ++)
  44932. {
  44933. if (strfind(g_arrVehicleNames[i], name, true) != -1)
  44934. {
  44935. return i + 400;
  44936. }
  44937. }
  44938. return 0;
  44939. }
  44940. ReturnBodypartName(bodypart)
  44941. {
  44942. new bodyname[20] = EOS;
  44943. switch(bodypart)
  44944. {
  44945. case BODY_PART_CHEST: bodyname = "CHEST";
  44946. case BODY_PART_GROIN: bodyname = "GROIN";
  44947. case BODY_PART_LEFT_ARM: bodyname = "LEFT ARM";
  44948. case BODY_PART_RIGHT_ARM: bodyname = "RIGHT ARM";
  44949. case BODY_PART_LEFT_LEG: bodyname = "LEFT LEG";
  44950. case BODY_PART_RIGHT_LEG: bodyname = "RIGHT LEG";
  44951. case BODY_PART_HEAD: bodyname = "HEAD";
  44952. }
  44953. return bodyname;
  44954. }
  44955. stock ReturnWeaponName(weaponid)
  44956. {
  44957. new weapon[22];
  44958. switch(weaponid)
  44959. {
  44960. case 0: weapon = "Fists";
  44961. case 18: weapon = "Molotov Cocktail";
  44962. case 44: weapon = "Night Vision Goggles";
  44963. case 45: weapon = "Thermal Goggles";
  44964. case 54: weapon = "Fall";
  44965. default: GetWeaponName(weaponid, weapon, sizeof(weapon));
  44966. }
  44967. return weapon;
  44968. }
  44969. stock ReturnVehicleName(vehicleid)
  44970. {
  44971. new
  44972. model = GetVehicleModel(vehicleid),
  44973. name[32] = "None";
  44974. if (model < 400 || model > 611) return name;
  44975. format(name, sizeof(name), g_arrVehicleNames[model - 400]);
  44976. return name;
  44977. }
  44978. stock ReturnVehicleModelName(model)
  44979. {
  44980. new name[32] = "None";
  44981. if (model < 400 || model > 611)
  44982. return name;
  44983. format(name, sizeof(name), g_arrVehicleNames[model - 400]);
  44984. return name;
  44985. }
  44986. stock SendNearbyMessage(playerid, Float:radius, color, const str[], {Float,_}:...)
  44987. {
  44988. static
  44989. args,
  44990. start,
  44991. end,
  44992. string[144];
  44993. #emit LOAD.S.pri 8
  44994. #emit STOR.pri args
  44995. if (args > 16)
  44996. {
  44997. #emit ADDR.pri str
  44998. #emit STOR.pri start
  44999. for (end = start + (args - 16); end > start; end -= 4)
  45000. {
  45001. #emit LREF.pri end
  45002. #emit PUSH.pri
  45003. }
  45004. #emit PUSH.S str
  45005. #emit PUSH.C 144
  45006. #emit PUSH.C string
  45007. #emit LOAD.S.pri 8
  45008. #emit CONST.alt 4
  45009. #emit SUB
  45010. #emit PUSH.pri
  45011. #emit SYSREQ.C format
  45012. #emit LCTRL 5
  45013. #emit SCTRL 4
  45014. foreach (new i : Player)
  45015. {
  45016. if (IsPlayerNearPlayer(i, playerid, radius)) {
  45017. SendClientMessage(i, color, string);
  45018. }
  45019. }
  45020. return 1;
  45021. }
  45022. foreach (new i : Player)
  45023. {
  45024. if (IsPlayerNearPlayer(i, playerid, radius)) {
  45025. SendClientMessage(i, color, str);
  45026. }
  45027. }
  45028. return 1;
  45029. }
  45030. stock SendAdminMessage(color, const str[])
  45031. {
  45032. foreach(new i : Player) if(PlayerData[i][pAdmin])
  45033. SendClientMessage(i, color, str);
  45034. return 1;
  45035. }
  45036. SendHelperMessage(color, const str[], {Float,_}:...)
  45037. {
  45038. static
  45039. args,
  45040. start,
  45041. end,
  45042. string[144]
  45043. ;
  45044. #emit LOAD.S.pri 8
  45045. #emit STOR.pri args
  45046. if (args > 8)
  45047. {
  45048. #emit ADDR.pri str
  45049. #emit STOR.pri start
  45050. for (end = start + (args - 8); end > start; end -= 4)
  45051. {
  45052. #emit LREF.pri end
  45053. #emit PUSH.pri
  45054. }
  45055. #emit PUSH.S str
  45056. #emit PUSH.C 144
  45057. #emit PUSH.C string
  45058. #emit LOAD.S.pri 8
  45059. #emit ADD.C 4
  45060. #emit PUSH.pri
  45061. #emit SYSREQ.C format
  45062. #emit LCTRL 5
  45063. #emit SCTRL 4
  45064. foreach (new i : Player)
  45065. {
  45066. if (PlayerData[i][pHelper]) {
  45067. SendClientMessage(i, color, string);
  45068. }
  45069. }
  45070. return 1;
  45071. }
  45072. foreach (new i : Player)
  45073. {
  45074. if (PlayerData[i][pHelper]) {
  45075. SendClientMessage(i, color, str);
  45076. }
  45077. }
  45078. return 1;
  45079. }
  45080. stock SendStaffMessage(color, const str[], {Float,_}:...)
  45081. {
  45082. static
  45083. args,
  45084. start,
  45085. end,
  45086. string[144];
  45087. #emit LOAD.S.pri 8
  45088. #emit STOR.pri args
  45089. if (args > 8)
  45090. {
  45091. #emit ADDR.pri str
  45092. #emit STOR.pri start
  45093. for (end = start + (args - 8); end > start; end -= 4)
  45094. {
  45095. #emit LREF.pri end
  45096. #emit PUSH.pri
  45097. }
  45098. #emit PUSH.S str
  45099. #emit PUSH.C 144
  45100. #emit PUSH.C string
  45101. #emit LOAD.S.pri 8
  45102. #emit ADD.C 4
  45103. #emit PUSH.pri
  45104. #emit SYSREQ.C format
  45105. #emit LCTRL 5
  45106. #emit SCTRL 4
  45107. foreach (new i : Player)
  45108. {
  45109. if (PlayerData[i][pHelper] || PlayerData[i][pAdmin]) {
  45110. SendClientMessage(i, color, string);
  45111. }
  45112. }
  45113. return 1;
  45114. }
  45115. foreach (new i : Player)
  45116. {
  45117. if (PlayerData[i][pHelper] || PlayerData[i][pAdmin]) {
  45118. SendClientMessage(i, color, str);
  45119. }
  45120. }
  45121. return 1;
  45122. }
  45123. stock SendMessageToAll(color, const str[], {Float,_}:...)
  45124. {
  45125. static
  45126. args,
  45127. start,
  45128. end,
  45129. string[144];
  45130. #emit LOAD.S.pri 8
  45131. #emit STOR.pri args
  45132. if (args > 8)
  45133. {
  45134. #emit ADDR.pri str
  45135. #emit STOR.pri start
  45136. for (end = start + (args - 8); end > start; end -= 4)
  45137. {
  45138. #emit LREF.pri end
  45139. #emit PUSH.pri
  45140. }
  45141. #emit PUSH.S str
  45142. #emit PUSH.C 144
  45143. #emit PUSH.C string
  45144. #emit LOAD.S.pri 8
  45145. #emit ADD.C 4
  45146. #emit PUSH.pri
  45147. #emit SYSREQ.C format
  45148. #emit LCTRL 5
  45149. #emit SCTRL 4
  45150. foreach (new i : Player)
  45151. {
  45152. SendClientMessage(i, color, string);
  45153. }
  45154. return 1;
  45155. }
  45156. foreach (new i : Player)
  45157. {
  45158. SendClientMessage(i, color, str);
  45159. }
  45160. return 1;
  45161. }
  45162. stock IsCaps(text[])
  45163. {
  45164. for( new i, j = strlen( text )-1; i < j; i ++ )
  45165. {
  45166. if( ( 'A' <= text[ i ] <= 'Z' ) && ( 'A' <= text[ i+1 ] <= 'Z' ) )
  45167. return true;
  45168. }
  45169. return false;
  45170. }
  45171. KickEx(playerid)
  45172. {
  45173. SetTimerEx("KickTimer", 300, false, "d", playerid);
  45174. if(PlayerData[playerid][pSQLID] != 0){
  45175. GetPlayerIp(playerid, PlayerData[playerid][pIP], 20);
  45176. SaveSQLInt(PlayerData[playerid][pSQLID], "players", "IP", PlayerData[playerid][pIP]);
  45177. }
  45178. return true;
  45179. }
  45180. UnAuthMessage(playerid)
  45181. {
  45182. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} You are not authorized to use this.");
  45183. }
  45184. stock ToggleVehicleLock(vehicleid, bool:lockstate)
  45185. {
  45186. new engine, lights, alarm, doors, bonnet, boot, objective;
  45187. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  45188. SetVehicleParamsEx(vehicleid, engine, lights, alarm, lockstate, bonnet, boot, objective);
  45189. return true;
  45190. }
  45191. stock ToggleVehicleAlarms(vehicleid, bool:alarmstate, time = 5000)
  45192. {
  45193. new engine, lights, alarm, doors, bonnet, boot, objective;
  45194. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  45195. SetVehicleParamsEx(vehicleid, engine, lights, alarmstate, doors, bonnet, boot, alarmstate);
  45196. if(alarmstate) SetTimerEx("OnVehicleAlarm", time, false, "i", vehicleid);
  45197. return 1;
  45198. }
  45199. stock ToggleVehicleEngine(vehicleid, bool:enginestate)
  45200. {
  45201. new engine, lights, alarm, doors, bonnet, boot, objective;
  45202. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  45203. SetVehicleParamsEx(vehicleid, enginestate, lights, alarm, doors, bonnet, boot, objective);
  45204. return true;
  45205. }
  45206. stock ToggleVehicleLights(vehicleid, bool:lightstate)
  45207. {
  45208. new engine, lights, alarm, doors, bonnet, boot, objective;
  45209. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  45210. SetVehicleParamsEx(vehicleid, engine, lightstate, alarm, doors, bonnet, boot, objective);
  45211. return true;
  45212. }
  45213. stock ToggleHouseLock(playerid, houseid, bool:lockstate)
  45214. {
  45215. if(lockstate == true){
  45216. PropertyData[houseid][propertyLocked] = true;
  45217. SaveSQLInt(PropertyData[houseid][propertyid], "properties", "Locked", 1);
  45218. GameTextForPlayer(playerid, "~w~DOOR ~r~LOCKED", 3000, 6);
  45219. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  45220. }
  45221. else{
  45222. PropertyData[houseid][propertyLocked] = false;
  45223. SaveSQLInt(PropertyData[houseid][propertyid], "properties", "Locked", 0);
  45224. GameTextForPlayer(playerid, "~w~DOOR ~g~UNLOCKED", 1000, 6);
  45225. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  45226. }
  45227. return true;
  45228. }
  45229. stock NoEngineCar(vehicleid)
  45230. {
  45231. switch(GetVehicleModel(vehicleid)) {
  45232. case 481, 509, 510: return true;
  45233. }
  45234. return false;
  45235. }
  45236. stock IsHelicopter(vehicleid)
  45237. {
  45238. switch(GetVehicleModel(vehicleid))
  45239. {
  45240. case 417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519, 520, 548, 553, 563, 577, 592, 593: return 1;
  45241. }
  45242. return 0;
  45243. }
  45244. stock PaintjobCar(vehicleid)
  45245. {
  45246. switch(GetVehicleModel(vehicleid)){
  45247. case 483, 534, 535, 536, 558, 559, 560, 561, 562, 565, 567, 575, 576: return true;
  45248. }
  45249. return false;
  45250. }
  45251. stock House_ReturnWeaponSlot(houseid)
  45252. {
  45253. if(houseid == 0)
  45254. return 0;
  45255. for(new i = 0; i < 21; i ++)
  45256. {
  45257. if(!PropertyData[houseid][propertyWeapons][i])
  45258. return i;
  45259. }
  45260. return -1;
  45261. }
  45262. stock Car_ReturnWeaponSlot(carid)
  45263. {
  45264. if(carid == 0)
  45265. return false;
  45266. for(new i = 1; i < 5; i ++){
  45267. if(!CarData[carid][carWeapons][i])
  45268. return i;
  45269. }
  45270. return -1;
  45271. }
  45272. stock ReturnWeapon(playerid)
  45273. {
  45274. new weaponid = GetPlayerWeapon(playerid);
  45275. if(PlayerHasWeapon(playerid, weaponid) && weaponid != 0)
  45276. return weaponid;
  45277. return -1;
  45278. }
  45279. stock ReturnFaction(playerid)
  45280. {
  45281. new string[128];
  45282. if (!PlayerData[playerid][pFaction])
  45283. string = "Civilian";
  45284. else
  45285. format(string, sizeof(string), "%s", FactionData[PlayerData[playerid][pFaction]][factionName]);
  45286. return string;
  45287. }
  45288. stock ReturnRank(playerid)
  45289. {
  45290. new string[128];
  45291. if(!PlayerData[playerid][pFaction])
  45292. string = "No Rank";
  45293. else format(string, sizeof(string), "%s", FactionRanks[PlayerData[playerid][pFaction]][PlayerData[playerid][pFactionRank]]);
  45294. return string;
  45295. }
  45296. stock ClearDamages(playerid)
  45297. {
  45298. for(new id = 0; id < MAX_DAMAGES; id++)
  45299. {
  45300. if(DamageData[playerid][id][damageTaken] != 0){
  45301. DamageData[playerid][id][damageTaken] = 0;
  45302. DamageData[playerid][id][damageBodypart] = 0;
  45303. DamageData[playerid][id][damageTime] = 0;
  45304. DamageData[playerid][id][damageWeapon] = -1;
  45305. DamageData[playerid][id][damageBy] = -1;
  45306. }
  45307. }
  45308. totalDamages[playerid] = 0;
  45309. PlayerData[playerid][pLegShot] = false;
  45310. return true;
  45311. }
  45312. stock ReturnDamages(damaged, playerid)
  45313. {
  45314. new str[400], longstr[2500], title[90], count = 0;
  45315. format(title, sizeof(title), "%s", ReturnName(damaged, 1));
  45316. for(new id = 0; id < MAX_DAMAGES; id++) {
  45317. if(DamageData[damaged][id][damageTaken] != 0) count++;
  45318. }
  45319. if(!count)
  45320. return ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, title, "There are no damages to show.", ">>>", "");
  45321. else if(count > 0) {
  45322. for(new id = 0; id < MAX_DAMAGES; id++) {
  45323. if(DamageData[damaged][id][damageTaken] >= 1) {
  45324. format(str, sizeof(str), "%d dmg from %s to %s (Kevlarhit: %d) %d s ago\n", DamageData[damaged][id][damageTaken], ReturnWeaponName(DamageData[damaged][id][damageWeapon]), ReturnBodypartName(DamageData[damaged][id][damageBodypart]), DamageData[damaged][id][damageArmor], gettime() - DamageData[damaged][id][damageTime]);
  45325. strcat(longstr, str);
  45326. }
  45327. }
  45328. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, title, longstr, ">>>", "");
  45329. }
  45330. return true;
  45331. }
  45332. stock ReturnDamagesAdmin(damaged, playerid)
  45333. {
  45334. new str[400], longstr[2500], title[90], count = 0;
  45335. format(title, sizeof(title), "%s", ReturnName(damaged, 1));
  45336. for(new id = 0; id < MAX_DAMAGES; id++) {
  45337. if(DamageData[damaged][id][damageTaken] != 0) count++;
  45338. }
  45339. if(!count)
  45340. return ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, title, "There are no damages to show.", ">>>", "");
  45341. else if(count > 0) {
  45342. for(new id = 0; id < MAX_DAMAGES; id++) {
  45343. if(DamageData[damaged][id][damageTaken] != 0){
  45344. format(str, sizeof(str), "{FF6346}(%s){FFFFFF} %d dmg from %s to %s (Kevlarhit: %d) %d s ago\n", DamageData[damaged][id][damageBy], DamageData[damaged][id][damageTaken], ReturnWeaponName(DamageData[damaged][id][damageWeapon]), ReturnBodypartName(DamageData[damaged][id][damageBodypart]), DamageData[damaged][id][damageArmor], gettime() - DamageData[damaged][id][damageTime]);
  45345. strcat(longstr, str);
  45346. }
  45347. }
  45348. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_LIST, title, longstr, ">>>", "");
  45349. }
  45350. return true;
  45351. }
  45352. stock AddDamages(playerid, issuerid, weaponid, bodypart, Float:amount)
  45353. {
  45354. new id;
  45355. totalDamages[playerid]++;
  45356. for(new i = 0; i < MAX_DAMAGES; i++)
  45357. {
  45358. if(!DamageData[playerid][i][damageTaken]) {
  45359. id = i;
  45360. break;
  45361. }
  45362. }
  45363. new Float: Armour;
  45364. GetPlayerArmour(playerid, Armour);
  45365. if(Armour > 1 && bodypart == BODY_PART_CHEST){
  45366. DamageData[playerid][id][damageArmor] = 1;
  45367. }
  45368. else {
  45369. DamageData[playerid][id][damageArmor] = 0;
  45370. }
  45371. DamageData[playerid][id][damageTaken] = floatround(amount, floatround_round);
  45372. DamageData[playerid][id][damageWeapon] = weaponid;
  45373. DamageData[playerid][id][damageBodypart] = bodypart;
  45374. DamageData[playerid][id][damageTime] = gettime();
  45375. format(DamageData[playerid][id][damageBy], 90, "%s", ReturnName(issuerid, 1));
  45376. WriteLog("damage_logs/damages_log.txt", "[%s] %s took %i damage from %s", ReturnDateLog(), ReturnName(playerid), DamageData[playerid][id][damageTaken], ReturnName(issuerid));
  45377. return true;
  45378. }
  45379. stock SetBrutallyWounded(playerid, killerid, weaponid)
  45380. {
  45381. new string[128];
  45382. PauseAntiCheat(playerid);
  45383. if(killerid != -1 && weaponid != -1) SavePlayerPos(playerid, true);
  45384. PlayerData[playerid][pExecuteTime] = 1;
  45385. PlayerData[playerid][pBrutallyWounded] = 1;
  45386. if(!PlayerData[playerid][pHandcuff]) SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  45387. ClearAnimations(playerid);
  45388. ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.1, 0, 0, 0, 1, 1);
  45389. ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.1, 0, 0, 0, 1, 1);
  45390. GameTextForPlayer(playerid, "~b~BRUTALLY WOUNDED", 5000, 3);
  45391. SendClientMessage(playerid, COLOR_ADM, "INFO: You were brutally wounded, now if a medic or anyone else doesn't save you, you will die.");
  45392. SendClientMessage(playerid, COLOR_ADM, "INFO: To accept death type /acceptdeath.");
  45393. format(string, sizeof(string), "(( You were injured %d times. Do /damages %d to see your injuries. ))", totalDamages[playerid], playerid);
  45394. SendClientMessage(playerid, COLOR_ADM, string);
  45395. SetPlayerHealth(playerid, 29);
  45396. for (new i = 0; i < 10; i++)
  45397. RemoveDrugPackage(playerid, i);
  45398. if (sprayingGraffiti[playerid])
  45399. {
  45400. KillTimer(graffitiTimer[playerid]);
  45401. KillTimer(graffitiTimerEx[playerid]);
  45402. graffitiTimerEx_Confirm[playerid] = false;
  45403. sprayingGraffiti[playerid] = false;
  45404. sprayingGraffitiTime[playerid] = saveSprayingTime[playerid];
  45405. }
  45406. if (PlayerData[playerid][pAddingFurniture])
  45407. {
  45408. DestroyDynamicObject(PlayerData[playerid][pFurnitureObject]);
  45409. PlayerData[playerid][pFurnitureObject] = false;
  45410. CancelEdit(playerid);
  45411. }
  45412. if (PlayerData[playerid][pEditingFurniture])
  45413. {
  45414. CancelEdit(playerid);
  45415. PlayerData[playerid][pEditingFurniture] = false;
  45416. }
  45417. if (PlayerData[playerid][pEditingDuplicate])
  45418. {
  45419. DestroyDynamicObject(PlayerData[playerid][pFurnitureDuplicate]);
  45420. PlayerData[playerid][pEditingDuplicate] = false;
  45421. CancelEdit(playerid);
  45422. }
  45423. if(PlayerData[playerid][pAddingRoadblock])
  45424. {
  45425. PlayerData[playerid][pAddingRoadblock] = 0;
  45426. DestroyDynamicObject(PlayerData[playerid][pRoadblockObject]);
  45427. }
  45428. if(PlayerPlacingWeapon[playerid])
  45429. {
  45430. PlayerPlacingWeapon[playerid] = 0; PlayerPlacingWeaponID[playerid] = 0;
  45431. PlayerPlacingWeaponAmmo[playerid] = 0;
  45432. SlotBeingUsed[ PlayerPlacingInVehicle[playerid] ][ PlayerPlacingWeaponSlot[playerid] ] = 0;
  45433. PlayerPlacingWeaponSlot[playerid] = 0; PlayerPlacingInVehicle[playerid] = 0;
  45434. DestroyDynamicObject(CarData[ PlayerPlacingInVehicle[playerid] ][carWeaponObject][ PlayerPlacingWeaponSlot[playerid] ]);
  45435. }
  45436. if(PlayerEditingWeapon[playerid])
  45437. {
  45438. CancelEdit(playerid);
  45439. }
  45440. if (PlayerData[playerid][pAdjustPackage] != -1)
  45441. {
  45442. PlayerData[playerid][pAdjustPackage] = -1;
  45443. CancelEdit(playerid);
  45444. }
  45445. if (PlayerData[playerid][pDrugEffect] != -1)
  45446. {
  45447. PlayerData[playerid][pDrugEffect] = -1;
  45448. PlayerData[playerid][pDrugTime] = 0;
  45449. PlayerData[playerid][pDrugStrength] = 0;
  45450. }
  45451. if(killerid == -1 && weaponid == -1) {
  45452. PlayerData[playerid][pBrutallyWounded] = 1;
  45453. SetPlayerTeam(playerid, STATE_WOUNDED);
  45454. format(string, sizeof(string), "%s spawned while brutally wounded.", ReturnName(playerid, 1));
  45455. adminWarn(1, string);
  45456. SetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  45457. SetPlayerFacingAngle(playerid, PlayerData[playerid][pPos][3]);
  45458. SetPlayerInterior(playerid, PlayerData[playerid][pInterior]);
  45459. SetPlayerVirtualWorld(playerid, PlayerData[playerid][pWorld]);
  45460. }
  45461. else {
  45462. format(string, sizeof(string), "Killed %s with %s", ReturnName(playerid), ReturnWeaponName(weaponid));
  45463. LogPlayerAction(killerid, string);
  45464. format(string, sizeof(string), "Killed by %s with %s", ReturnName(killerid), ReturnWeaponName(weaponid));
  45465. LogPlayerAction(playerid, string);
  45466. foreach(new i : Player)
  45467. {
  45468. if(PlayerData[i][pAdmin])
  45469. {
  45470. if(PlayerData[i][pTogDeath])
  45471. {
  45472. format(string, sizeof(string), "%s has been killed by %s. (%s)", ReturnName(playerid, 1), ReturnName(killerid, 1), ReturnWeaponName(weaponid));
  45473. SendClientMessage(i, COLOR_RED, string);
  45474. }
  45475. }
  45476. }
  45477. }
  45478. WriteLog("player_logs/death_log.txt", "[%s] %s brutally wounded %s with a %s", ReturnDate(), ReturnName(killerid, 1), ReturnName(playerid, 1), ReturnWeaponName(weaponid));
  45479. return true;
  45480. }
  45481. stock SetDead(playerid)
  45482. {
  45483. _respawn_timer[playerid] = gettime();
  45484. PlayerData[playerid][pBrutallyWounded] = 2;
  45485. SendClientMessage(playerid, COLOR_YELLOW, "-> You're now dead. You need to wait 60 seconds until you can /respawnme.");
  45486. PlayerData[playerid][pLegShot] = false;
  45487. SetPlayerTeam(playerid, STATE_DEAD);
  45488. TogglePlayerControllable(playerid, false);
  45489. ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.1, 0, 1, 1, 1, 0, 1);
  45490. ResetPlayerWeapons(playerid);
  45491. ClearPlayerWeapons(playerid, 2);
  45492. return true;
  45493. }
  45494. stock GetVehicleInterior(vehicleid)
  45495. {
  45496. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid))
  45497. return false;
  45498. if(IsValidFactionCar(vehicleid)) {
  45499. return FactionCar[vehicleid][carInterior];
  45500. }
  45501. else if(IsValidPlayerCar(vehicleid)) {
  45502. return CarData[vehicleid][carInterior];
  45503. }
  45504. return false;
  45505. }
  45506. stock GetChannelSlot(playerid, channel)
  45507. {
  45508. if(channel == PlayerData[playerid][pRadio][0]) return 1;
  45509. if(channel == PlayerData[playerid][pRadio][1]) return 2;
  45510. if(channel == PlayerData[playerid][pRadio][2]) return 3;
  45511. if(channel == PlayerData[playerid][pRadio][3]) return 4;
  45512. if(channel == PlayerData[playerid][pRadio][4]) return 5;
  45513. return false;
  45514. }
  45515. stock CheckPlayerBans(playerid)
  45516. {
  45517. new query[256];
  45518. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM `bans` WHERE `Name` = '%e' OR IP = '%e' OR HWID = '%e'", ReturnName(playerid), ReturnIP(playerid), ReturnGPCI(playerid));
  45519. mysql_pquery(m_Handle, query, "SQL_CheckPlayerBans", "i", playerid);
  45520. return true;
  45521. }
  45522. stock ToggleHandcuffs(playerid, bool:cuffstate)
  45523. {
  45524. if(cuffstate == true) {
  45525. PlayerData[playerid][pHandcuff] = true;
  45526. SetPlayerAttachedObject(playerid, 9, 19418,6,-0.031999,0.024000,-0.024000,-7.900000,-32.000011,-72.299987,1.115998,1.322000,1.406000);
  45527. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
  45528. }
  45529. else {
  45530. PlayerData[playerid][pHandcuff] = false;
  45531. RemovePlayerAttachedObject(playerid, 9);
  45532. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  45533. }
  45534. return true;
  45535. }
  45536. stock ReturnFriskData(receiver, searching)
  45537. {
  45538. new str[128];
  45539. SendClientMessage(receiver, COLOR_COP, "______Illegal items______");
  45540. format(str, sizeof(str), "Name: %s", ReturnName(searching, 0));
  45541. SendClientMessage(receiver, COLOR_WHITE, str);
  45542. if(PlayerData[searching][pMoney] > 500)
  45543. SendClientMessage(receiver, COLOR_WHITE, "Money: Has more than $500");
  45544. else
  45545. {
  45546. format(str, sizeof(str), "Money: $%d", PlayerData[searching][pMoney]);
  45547. SendClientMessage(receiver, COLOR_WHITE, str);
  45548. }
  45549. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[searching][i][eWeaponAmmo] > 0)
  45550. {
  45551. format(str, sizeof(str), "- %s", ReturnWeaponName(Weapon[searching][i][eWeaponID]));
  45552. SendClientMessage(receiver, COLOR_WHITE, str);
  45553. }
  45554. SendClientMessage(receiver, COLOR_COP, "__________________________");
  45555. format(str, sizeof(str), "%s's Drugs:", ReturnName(searching, 0));
  45556. SendClientMessage(receiver, COLOR_ADM, str);
  45557. for (new i = 0; i < 10; i++) if (DrugData[searching][i][drugQuantity] > 0)
  45558. {
  45559. format(str, sizeof(str), "[{FFFFFF} %d. %s (%s: %.1f%s/%.1f%s) (Strength: %d) {FF6347}]",
  45560. i, GetPackageType(DrugData[searching][i][drugPackage]), ReturnDrugsName(DrugData[searching][i][drugType]), DrugData[searching][i][drugQuantity], (IsPill(DrugData[searching][i][drugType]) == 1) ? (" Pills") : ("g"),
  45561. GetPackageCapacity(DrugData[searching][i][drugPackage], DrugData[searching][i][drugType]), (IsPill(DrugData[searching][i][drugType]) == 1) ? (" Pills") : ("g"), DrugData[searching][i][drugStrength]);
  45562. SendClientMessage(receiver, COLOR_ADM, str);
  45563. }
  45564. DisplayWeaponPackages(searching, receiver);
  45565. return 1;
  45566. }
  45567. stock GetGunObjectID(weaponid)
  45568. {
  45569. if (weaponid < 0 || weaponid > 64)
  45570. {
  45571. return 1575;
  45572. }
  45573. return GunObjectIDs[weaponid];
  45574. }
  45575. stock IsValidNumber(number)
  45576. {
  45577. foreach (new i : Player) if (PlayerData[i][pPhone] == number){
  45578. return i;
  45579. }
  45580. foreach(new i : Player) if (PlayerData[i][pBurnerPhoneNumber] == number && PlayerData[i][pHasBurnerPhone]){
  45581. return i;
  45582. }
  45583. return INVALID_PLAYER_ID;
  45584. }
  45585. stock PlayNearbySound(playerid, sound)
  45586. {
  45587. static
  45588. Float:x,
  45589. Float:y,
  45590. Float:z;
  45591. GetPlayerPos(playerid, x, y, z);
  45592. foreach (new i : Player) if (IsPlayerInRangeOfPoint(i, 20.0, x, y, z)) {
  45593. PlayerPlaySound(i, sound, x, y, z);
  45594. }
  45595. return 1;
  45596. }
  45597. stock IsPlayerInProperty(playerid)
  45598. {
  45599. new apt = PlayerData[playerid][pInsideApartment], house = PlayerData[playerid][pInsideHouse];
  45600. new complex = PlayerData[playerid][pInsideComplex];
  45601. if (!apt && !complex && house)return house;
  45602. if (!house && !complex && apt)return apt;
  45603. if (!apt && !house && complex)return complex;
  45604. return false;
  45605. }
  45606. stock InFactionProperty(playerid)
  45607. {
  45608. new
  45609. complex = PlayerData[playerid][pInsideComplex],
  45610. apartment = PlayerData[playerid][pInsideApartment];
  45611. if(complex)
  45612. {
  45613. if(PlayerData[playerid][pFaction] == PropertyData[complex][propertyFaction])
  45614. return true;
  45615. }
  45616. else if(apartment)
  45617. {
  45618. if(PlayerData[playerid][pFaction] == PropertyData[complex][propertyFaction])
  45619. return true;
  45620. }
  45621. return false;
  45622. }
  45623. stock IsPlayerInBusiness(playerid)
  45624. {
  45625. new biz = PlayerData[playerid][pInsideBusiness];
  45626. if (!biz)
  45627. return false;
  45628. else
  45629. return biz;
  45630. }
  45631. stock CountHouseWeapons(houseid)
  45632. {
  45633. if(houseid == 0)
  45634. return false;
  45635. new count = 0;
  45636. for(new i = 0; i < 21; i++){
  45637. if(PropertyData[houseid][propertyWeapons][i] != 0){
  45638. count++;
  45639. }
  45640. }
  45641. return count;
  45642. }
  45643. stock BusinessTypeMessage(playerid, id)
  45644. {
  45645. if (BusinessData[id][businessID] == 0)
  45646. return false;
  45647. if (BusinessData[id][businessType] == BIZ_PAWNSHOP) {
  45648. SendClientMessage(playerid, COLOR_DARKGREEN, "Pawnshop /withdraw /balance /buy /buyphone");
  45649. }
  45650. if (BusinessData[id][businessType] == BIZ_RESTAURANT) {
  45651. SendClientMessage(playerid, COLOR_WHITE, "This is a {FF6347}fast food restaurant.{FFFFFF} /eat to buy food.");
  45652. }
  45653. if (BusinessData[id][businessType] == BIZ_AMMUNATION) {
  45654. SendClientMessage(playerid, COLOR_DARKGREEN, "Ammunation /buygun /buyammo");
  45655. }
  45656. if (BusinessData[id][businessType] == BIZ_STORE) {
  45657. SendClientMessage(playerid, COLOR_DARKGREEN, "24/7 Supermarket /withdraw /balance /buy");
  45658. }
  45659. if(BusinessData[id][businessType] == BIZ_CLUB) {
  45660. SendClientMessage(playerid, COLOR_DARKGREEN, "Club /buydrink");
  45661. }
  45662. if(BusinessData[id][businessType] == BIZ_GENERAL) {
  45663. SendClientMessage(playerid, COLOR_DARKGREEN, "General /withdraw /balance");
  45664. }
  45665. if(BusinessData[id][businessType] == BIZ_BANK) {
  45666. SendClientMessage(playerid, COLOR_DARKGREEN, "Bank: /deposit /withdraw /balance /savings");
  45667. }
  45668. return true;
  45669. }
  45670. stock ConfirmDialog(playerid, caption[], info[], callback[], ...){
  45671. new n = numargs(), // number of arguments, static + optional
  45672. szParamHash[64]; // variable where the passed arguments will be stored
  45673. for(new arg = 4; arg < n; arg++) { // loop all additional arguments
  45674. format(szParamHash, sizeof(szParamHash), "%s%d|", szParamHash, getarg(arg)); // store them in szParamHash
  45675. }
  45676. SetPVarInt(playerid, "confDialogArgs", n -4); // store the amount of additional arguments
  45677. SetPVarString(playerid, "confDialCallback", callback); // store the callback that needs to be called after response
  45678. SetPVarString(playerid, "confDialog_arg", szParamHash); // store the additional arguments
  45679. ShowPlayerDialog(playerid, DIALOG_CONFIRM_SYS, DIALOG_STYLE_MSGBOX, caption, info, "Yes", "No"); // display the dialog message itself
  45680. return;
  45681. }
  45682. stock ConfirmDialog_Response(playerid, response){
  45683. new szCallback[33], // variable to fetch our callback to
  45684. szParamHash[64], // variable to check raw compressed argument string
  45685. n, // variable to fetch the amount of additional arguments
  45686. szForm[12]; // variable to generate the CallLocalFunction() "format" argument
  45687. n = GetPVarInt(playerid, "confDialogArgs"); // Fetch the amount of additional arguments
  45688. GetPVarString(playerid, "confDialCallback", szCallback, sizeof(szCallback)); // fetch the callback
  45689. GetPVarString(playerid, "confDialog_arg", szParamHash, sizeof(szParamHash)); // fetch the raw compressed additional arguments
  45690. new hashDecoded[12]; // variable to store extracted additional arguments from the ConfirmDialog() generated string
  45691. sscanf(szParamHash, "p<|>A<d>(0)[12]", hashDecoded); // extraction of the additional arguments
  45692. new args, // amount of cells passed to CallLocalFunction
  45693. addr, // pointer address variable for later use
  45694. i; // i
  45695. format(szForm, sizeof(szForm), "dd"); // static parameters for the callback, "playerid" and "response"
  45696. #emit ADDR.pri hashDecoded // get pointer address of the extracted additional arguments
  45697. #emit STOR.S.pri addr // store the pointer address in variable 'addr'
  45698. if(n) { // if there's any additional arguments
  45699. for(i = addr + ((n-1) * 4); i >= addr; i-=4) { // loops all additional arguments by their addresses
  45700. format(szForm, sizeof(szForm), "%sd", szForm); // adds an aditional specifier to the "format" parameter of CallLocalFunction
  45701. #emit load.s.pri i // load the argument at the current address
  45702. #emit push.pri // push it to the CallLocalFunction argument list
  45703. args+=4; // increase used cell number by 4
  45704. }
  45705. }
  45706. args+=16; // preserve 4 more arguments for CallLocalFunction (16 cause 4 args by 4 cells (4*4))
  45707. #emit ADDR.pri response // fetch "response" pointer address to the primary buffer
  45708. #emit push.pri // push it to the argument list
  45709. #emit ADDR.pri playerid // fetch "playerid" pointer address to the primary buffer
  45710. #emit push.pri // push it to the argument list
  45711. #emit push.adr szForm // push the szForm ("format") to the argument list by its referenced address
  45712. #emit push.adr szCallback // push the szCallback (custom callback) to the argument list by its referenced address
  45713. #emit push.s args // push the amount of arguments
  45714. #emit sysreq.c CallLocalFunction // call the function
  45715. // Clear used data
  45716. #emit LCTRL 4
  45717. #emit LOAD.S.ALT args
  45718. #emit ADD.C 4
  45719. #emit ADD
  45720. #emit SCTRL 4
  45721. // Clear used PVars
  45722. DeletePVar(playerid, "confDialCallback");
  45723. DeletePVar(playerid, "confDialog_arg");
  45724. DeletePVar(playerid, "confDialogArgs");
  45725. return;
  45726. }
  45727. stock DisplayFurnitureMessage(playerid)
  45728. {
  45729. for(new i = 0; i < 9; i++) {
  45730. TextDrawShowForPlayer(playerid, furnitureadd_TD[i]);
  45731. }
  45732. SetTimerEx("TIMER_HideTextdraw", 5000, false, "i", playerid);
  45733. return true;
  45734. }
  45735. stock DisplayBuyMenu(playerid)
  45736. {
  45737. new string[128], biz = IsPlayerInBusiness(playerid);
  45738. for(new i = 0; i < 37; i++) {
  45739. TextDrawShowForPlayer(playerid, Buymenu_TD[i]);
  45740. }
  45741. format(string, sizeof(string), "%s", BusinessData[biz][businessName]);
  45742. TextDrawSetString(Buymenu_TD[2], string);
  45743. SelectTextDraw(playerid, 0xA3B4C5FF);
  45744. return true;
  45745. }
  45746. stock ReturnTollsOpened()
  45747. {
  45748. new count = 0;
  45749. for(new i = 0; i < MAX_TOLLS; i++) {
  45750. if(TollsData[i][tollID] != 0) {
  45751. if(TollsData[i][tollStatus] == 1) {
  45752. count++;
  45753. }
  45754. }
  45755. }
  45756. return count;
  45757. }
  45758. stock OnVehicleToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z)
  45759. {
  45760. new Float:oldposx, Float:oldposy, Float:oldposz;
  45761. new Float:tempposx, Float:tempposy, Float:tempposz;
  45762. GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
  45763. tempposx = (oldposx -x);
  45764. tempposy = (oldposy -y);
  45765. tempposz = (oldposz -z);
  45766. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) {
  45767. return 1;
  45768. }
  45769. return 0;
  45770. }
  45771. stock IsValidPlayerCar(vehicleid)
  45772. {
  45773. if(vehicleid == 0)
  45774. return false;
  45775. if(CarData[vehicleid][carID] != 0)
  45776. return CarData[vehicleid][carID];
  45777. return false;
  45778. }
  45779. stock IsValidFactionCar(vehicleid)
  45780. {
  45781. if(vehicleid == 0)
  45782. return false;
  45783. if(FactionCar[vehicleid][carID] != 0)
  45784. return FactionCar[vehicleid][carID];
  45785. return false;
  45786. }
  45787. stock IsValidRentalCar(vehicleid)
  45788. {
  45789. if(vehicleid == 0)
  45790. return false;
  45791. if(RentalData[vehicleid][rentalcarSQLID] != 0)
  45792. return RentalData[vehicleid][rentalcarSQLID];
  45793. return false;
  45794. }
  45795. stock AnimationCheck(playerid)
  45796. {
  45797. return (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && !PlayerData[playerid][pBrutallyWounded] && !PlayerIsTased[playerid]);
  45798. }
  45799. stock GiveMoney(playerid, amount)
  45800. {
  45801. PauseAntiCheat(playerid);
  45802. PlayerData[playerid][pMoney] += amount;
  45803. GivePlayerMoney(playerid, amount);
  45804. new string[128];
  45805. if(amount < 0) {
  45806. format(string, sizeof(string), "~r~$%d", amount);
  45807. GameTextForPlayer(playerid, string, 2000, 1);
  45808. }
  45809. else {
  45810. format(string, sizeof(string), "~g~$%d", amount);
  45811. GameTextForPlayer(playerid, string, 2000, 1);
  45812. }
  45813. WriteLog("money_logs/function_log.txt", "[%s] %s %s $%s [On hand: $%s]", ReturnDate(), ReturnName(playerid), (amount < 1) ? ("lost") : ("received"), MoneyFormat(amount), MoneyFormat(PlayerData[playerid][pMoney]));
  45814. return true;
  45815. }
  45816. IsPlayerInDMVCar(playerid) {
  45817. if(IsPlayerInVehicle(playerid, dmvCar1) || IsPlayerInVehicle(playerid, dmvCar2) || IsPlayerInVehicle(playerid, dmvCar3) || IsPlayerInVehicle(playerid, dmvCar4)) {
  45818. return true;
  45819. }
  45820. return false;
  45821. }
  45822. stock QuitLicenseSession(playerid)
  45823. {
  45824. GameTextForPlayer(playerid, "~w~License Session Quitted", 4000, 1);
  45825. SetVehicleToRespawn(_taking_license_vehicle[playerid]);
  45826. _taking_license_point[playerid] = 0;
  45827. _taking_license_test[playerid] = false;
  45828. _taking_license_vehicle[playerid] = 0;
  45829. return true;
  45830. }
  45831. stock IsStaticVehicle(vehicleid)
  45832. {
  45833. #define MAX_STATIC_CARS 30
  45834. new staticCar[MAX_STATIC_CARS] =
  45835. {
  45836. 1, 2, 3, 4
  45837. };
  45838. for(new i = 0; i < MAX_STATIC_CARS; i++)
  45839. {
  45840. if(vehicleid == staticCar[i]) return true;
  45841. }
  45842. return false;
  45843. }
  45844. stock IsTruckerVehicle(vehicleid)
  45845. {
  45846. for(new i = 0; i < sizeof TruckerVehicles; i++) if(TruckerVehicles[i] == vehicleid)
  45847. return 1;
  45848. return 0;
  45849. }
  45850. stock IsRoadTrain(vehicleid)
  45851. {
  45852. if(GetVehicleModel(vehicleid) == 515)
  45853. return 1;
  45854. return 0;
  45855. }
  45856. stock IsSadler(vehicleid)
  45857. {
  45858. if(GetVehicleModel(vehicleid) == 543 || GetVehicleModel(vehicleid) == 605)
  45859. return 1;
  45860. return 0;
  45861. }
  45862. stock ReturnLicenses(playerid, playerb)
  45863. {
  45864. new string[128], driversLicense[128], weaponsLicense[128];
  45865. if(!PlayerData[playerid][pDriversLicense]) {
  45866. format(driversLicense, sizeof(driversLicense), "{FF6346}Driving License: No");
  45867. }
  45868. else {
  45869. format(driversLicense, sizeof(driversLicense), "{E2FFFF}Driving License: Yes");
  45870. }
  45871. if(!PlayerData[playerid][pWeaponsLicense]) {
  45872. format(weaponsLicense, sizeof(weaponsLicense), "{FF6346}Weapons License: No");
  45873. }
  45874. else {
  45875. format(weaponsLicense, sizeof(weaponsLicense), "{E2FFFF}Weapons License: Yes");
  45876. }
  45877. new Name[60];
  45878. format(Name, sizeof(Name), "%s", ReturnName(playerid));
  45879. for(new i = 0; i < strlen(Name); i++)
  45880. {
  45881. if(Name[i] == '_')
  45882. {
  45883. Name[i] = ' ';
  45884. }
  45885. }
  45886. SendClientMessage(playerb, COLOR_DARKGREEN, "______Identification_______");
  45887. format(string, sizeof(string), "Name: %s", Name);
  45888. SendClientMessage(playerb, COLOR_GRAD2, string);
  45889. format(string, sizeof(string), "%s", driversLicense);
  45890. SendClientMessage(playerb, COLOR_GRAD2, string);
  45891. format(string, sizeof(string), "%s", weaponsLicense);
  45892. SendClientMessage(playerb, COLOR_GRAD2, string);
  45893. SendClientMessage(playerb, COLOR_DARKGREEN, "___________________________");
  45894. return true;
  45895. }
  45896. stock IsMeleeWeapon(weaponid)
  45897. {
  45898. switch(weaponid) {
  45899. case 0 .. 15: return true;
  45900. }
  45901. return false;
  45902. }
  45903. stock IsBulletWeapon(weaponid)
  45904. {
  45905. switch(weaponid) {
  45906. case 16, 18, 22 .. 34: return true;
  45907. }
  45908. return false;
  45909. }
  45910. stock IsVehicleOccupied(vehicleid)
  45911. {
  45912. foreach(new i : Player) {
  45913. if(IsPlayerInVehicle(i, vehicleid))return true;
  45914. }
  45915. return false;
  45916. }
  45917. stock ReturnVehicleDBID(vehicleid)
  45918. {
  45919. if(!IsValidFactionCar(vehicleid) && !IsValidPlayerCar(vehicleid))
  45920. return false;
  45921. if(IsValidFactionCar(vehicleid)) {
  45922. return FactionCar[vehicleid][carID];
  45923. }
  45924. else if(IsValidPlayerCar(vehicleid)) {
  45925. return CarData[vehicleid][carID];
  45926. }
  45927. return false;
  45928. }
  45929. stock FreeFurnitureID()
  45930. {
  45931. for (new i = 0; i != MAX_FURNITURE; i ++) if (!FurnitureData[i][furnitureExists]) {
  45932. return i;
  45933. }
  45934. return -1;
  45935. }
  45936. stock LoadFurnitureObjects(specificid)
  45937. {
  45938. if(FurnitureData[specificid][furnitureSQLID] != 0 && FurnitureData[specificid][furnitureExists]) {
  45939. if( IsValidDynamicObject(FurnitureData[specificid][furnitureObject] )) {
  45940. DestroyDynamicObject( FurnitureData[specificid][furnitureObject] );
  45941. }
  45942. FurnitureData[specificid][furnitureObject] = CreateDynamicObject(FurnitureData[specificid][furnituresModel], FurnitureData[specificid][furniturePos][0], FurnitureData[specificid][furniturePos][1], FurnitureData[specificid][furniturePos][2], FurnitureData[specificid][furnitureRot][0],
  45943. FurnitureData[specificid][furnitureRot][1], FurnitureData[specificid][furnitureRot][2], PropertyData[FurnitureData[specificid][furniturePropertyID]][propertyInteriorWorld], PropertyData[FurnitureData[specificid][furniturePropertyID]][propertyInteriorID]);
  45944. printf("Loading - Furniture object %d (SQL ID: %d) was loaded. (Property ID: %d)", specificid, FurnitureData[specificid][furnitureSQLID], FurnitureData[specificid][furniturePropertyID]);
  45945. }
  45946. else printf("Loading - Failed to `LoadFurnitureObjects` ID: %d. (SQL ID: %d)", specificid, FurnitureData[specificid][furnitureSQLID]);
  45947. return true;
  45948. }
  45949. stock ReturnFactionName(factionid)
  45950. {
  45951. new string[128];
  45952. format(string, sizeof(string), "%s", FactionData[factionid][factionName]);
  45953. return string;
  45954. }
  45955. stock AddFurniture(playerid, propid, furnname[], modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  45956. {
  45957. new query[128], id = -1;
  45958. if(propertyid && !PropertyData[propid][propertyid])
  45959. return false;
  45960. if ((id = FreeFurnitureID()) != -1){
  45961. FurnitureData[id][furnitureExists] = true;
  45962. FurnitureData[id][furnituresModel] = modelid;
  45963. FurnitureData[id][furniturePropertyID] = propid;
  45964. format(FurnitureData[id][furnituresName], 32, furnname);
  45965. FurnitureData[id][furniturePos][0] = x;
  45966. FurnitureData[id][furniturePos][1] = y;
  45967. FurnitureData[id][furniturePos][2] = z;
  45968. FurnitureData[id][furnitureRot][0] = rx;
  45969. FurnitureData[id][furnitureRot][1] = ry;
  45970. FurnitureData[id][furnitureRot][2] = rz;
  45971. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO `furniture` (`propertyid`) VALUES(%i)", PropertyData[propid][propertyid]);
  45972. mysql_pquery(m_Handle, query, "SQL_AddFurniture", "d", id);
  45973. return id;
  45974. }
  45975. else Message(playerid, COLOR_ADM, "System error. Contact a developer with this message.");
  45976. return -1;
  45977. }
  45978. stock CountPropertyFurniture(id)
  45979. {
  45980. new count = 0;
  45981. for(new i = 0; i < MAX_FURNITURE; i++)
  45982. {
  45983. if(FurnitureData[i][furnitureSQLID] != 0)
  45984. {
  45985. if(FurnitureData[i][furnitureExists])
  45986. {
  45987. if(FurnitureData[i][furniturePropertyID] == id)
  45988. {
  45989. count++;
  45990. }
  45991. }
  45992. }
  45993. }
  45994. return count;
  45995. }
  45996. stock IsKeyJustDown(key, newkeys, oldkeys)
  45997. {
  45998. if((newkeys & key) && !(oldkeys & key)) return 1;
  45999. return 0;
  46000. }
  46001. stock GetPlayer2DZone(playerid, zone[], len)
  46002. {
  46003. new Float:x, Float:y, Float:z;
  46004. GetPlayerPos(playerid, x, y, z);
  46005. for(new i = 0; i != sizeof(gSAZones); i++ )
  46006. {
  46007. if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
  46008. {
  46009. return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
  46010. }
  46011. }
  46012. return 0;
  46013. }
  46014. stock CountAllBulletins()
  46015. {
  46016. new count = 0;
  46017. for(new i = 1; i < MAX_APBS; i++)
  46018. {
  46019. if(APBData[i][bulletinExists])
  46020. {
  46021. count++;
  46022. }
  46023. }
  46024. return count;
  46025. }
  46026. /*FreePlayerCarID(playerid)
  46027. {
  46028. for(new i = 0; i < (MAX_OWNED_CARS - 1); i++)
  46029. {
  46030. printf("player veh slot %d: %d", i, PlayerData[playerid][pOwnedCar][i]);
  46031. if(!PlayerData[playerid][pOwnedCar][i]) {
  46032. print(PlayerData[playerid][pOwnedCar][i]);
  46033. printf("(freeplayercarid loop) player %s (%d) owns vehicle id %d", ReturnName(playerid, 1), playerid, i);
  46034. } else {
  46035. print(PlayerData[playerid][pOwnedCar][i]);
  46036. printf("(freeplayercarid loop) player %s (%d) does not own vehicle id %d", ReturnName(playerid, 1), playerid, i);
  46037. return i;
  46038. }
  46039. }
  46040. return -1;
  46041. }*/
  46042. FreePlayerCarID(playerid) {
  46043. for (new i = 0; i < 9; i++) {
  46044. if (PlayerData[playerid][pOwnedCar][i] == 0 || PlayerData[playerid][pOwnedCar][i] == -1) {
  46045. return i;
  46046. }
  46047. }
  46048. return -1;
  46049. }
  46050. stock FreeReportID()
  46051. {
  46052. for(new i = 1; i < MAX_REPORTS; i++)
  46053. {
  46054. if(!ReportData[i][reportExists])
  46055. return i;
  46056. }
  46057. return -1;
  46058. }
  46059. stock ReturnSQLName(id)
  46060. {
  46061. new playerName[32], query[90];
  46062. mysql_format(m_Handle, query, sizeof(query), "SELECT Name FROM players WHERE id = %i LIMIT 1", id);
  46063. new Cache:cache = mysql_query(m_Handle, query);
  46064. cache_get_value_name(0, "Name", playerName);
  46065. cache_delete(cache);
  46066. return playerName;
  46067. }
  46068. stock ReturnSQLFromName(user[])
  46069. {
  46070. new
  46071. query[90], dbid;
  46072. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM players WHERE Name = '%e'", user);
  46073. new Cache:cache = mysql_query(m_Handle, query);
  46074. if(!cache_num_rows())
  46075. {
  46076. cache_delete(cache);
  46077. return 0;
  46078. }
  46079. cache_get_value_name_int(0, "id", dbid);
  46080. cache_delete(cache);
  46081. return dbid;
  46082. }
  46083. stock DoesIPExist(ip[])
  46084. {
  46085. new
  46086. query[90];
  46087. mysql_format(m_Handle, query, sizeof(query), "SELECT id FROM players WHERE IP = '%e' OR RegisterIP = '%e'", ip, ip);
  46088. new Cache:cache = mysql_query(m_Handle, query);
  46089. if(!cache_num_rows())
  46090. {
  46091. cache_delete(cache);
  46092. return 0;
  46093. }
  46094. cache_delete(cache);
  46095. return 1;
  46096. }
  46097. stock ClearDealershipVar(playerid)
  46098. {
  46099. g_aTotalAmount[playerid] = 0;
  46100. g_aXMR[playerid] = 0;
  46101. g_aLockLevel[playerid] = 0;
  46102. g_aAlarmLevel[playerid] = 0;
  46103. g_aImmobLevel[playerid] = 1;
  46104. g_aVehicleSpawned[playerid] = 0;
  46105. return true;
  46106. }
  46107. stock ShowPlayerPlateSet(playerid, plate[])
  46108. {
  46109. for(new i = 0; i < 2; i++)
  46110. {
  46111. PlayerTextDrawShow(playerid, CarBought_PTD[playerid][i]);
  46112. }
  46113. PlayerTextDrawSetString(playerid, CarBought_PTD[playerid][1], plate);
  46114. SetTimerEx("TIMER_StopPlateShow", 4000, false, "i", playerid);
  46115. return true;
  46116. }
  46117. stock GetFreeBuildSlot(playerid)
  46118. {
  46119. for(new i = 0; i < MAX_GRANT_BUILD; i++)
  46120. {
  46121. if(!BuildData[playerid][i][GrantedSQLID])
  46122. return i;
  46123. }
  46124. return -1;
  46125. }
  46126. stock ShowClothingList(playerid, page)
  46127. {
  46128. new str[1250];
  46129. PlayerClothingPage[playerid] = page;
  46130. if(page == 1)
  46131. str = "{FFFF00}List 1\n";
  46132. else
  46133. format(str, sizeof(str), "%s{FFFF00}<< List %d\n", str, page-1);
  46134. page--;
  46135. new counter = 0;
  46136. for(new i = 0; i < sizeof(g_aClothingData); i++)
  46137. {
  46138. counter++;
  46139. }
  46140. new bool:toSecondPage = false, countItems = 0;
  46141. for(new i = page*MAX_CLOTHING_SHOW; i < counter; i++)
  46142. {
  46143. countItems++;
  46144. if(countItems == MAX_CLOTHING_SHOW+1){
  46145. toSecondPage = true;
  46146. break;
  46147. }
  46148. else {
  46149. format(str, sizeof(str), "%s{FFFFFF}%s\t-\t{33AA33}$%d\n", str, g_aClothingData[i][clothingName], g_aClothingData[i][clothingPrice]);
  46150. ClothingItemSelector[playerid][countItems-1] = i;
  46151. }
  46152. }
  46153. if(toSecondPage){
  46154. format(str, sizeof(str), "%s{FFFF00}List %d >>\n", str, (page+1)+1);
  46155. }
  46156. ShowPlayerDialog(playerid, DIALOG_BUY_CLOTHING, DIALOG_STYLE_LIST, "Clothing Available:", str, "Buy", "<<<");
  46157. return true;
  46158. }
  46159. stock ShowPlayerFurniture(playerid, page)
  46160. {
  46161. new str[1250], query[90], prop_id = IsPlayerInProperty(playerid);
  46162. PlayerFurniturePage[playerid] = page;
  46163. if(page == 1)
  46164. str = "{FFFF00}Page 1\n";
  46165. else
  46166. format(str, sizeof(str), "%s{FFFF00}<< Page %d\n", str, page-1);
  46167. page--;
  46168. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM furniture WHERE propertyid = %i", prop_id);
  46169. new Cache:cache = mysql_query(m_Handle, query);
  46170. new objectName[90], object_id;
  46171. new rows = cache_num_rows();
  46172. new bool:toSecondPage = false, furnCount = 0, title[90];
  46173. if(!rows)
  46174. {
  46175. str = "{FFFF00}You don't have any furniture.";
  46176. cache_delete(cache);
  46177. }
  46178. else
  46179. {
  46180. for(new i = page*MAX_SHOWING_FURNITURE; i < rows; i++)
  46181. {
  46182. furnCount++;
  46183. if(furnCount == MAX_SHOWING_FURNITURE+1)
  46184. {
  46185. toSecondPage = true;
  46186. break;
  46187. }
  46188. else
  46189. {
  46190. cache_get_value_name(i, "name", objectName);
  46191. cache_get_value_name_int(i, "id", object_id);
  46192. format(str, sizeof(str), "%sSlot %d: %s\n", str, i, objectName);
  46193. FurnitureSelectHolder[playerid][furnCount-1] = object_id;
  46194. }
  46195. }
  46196. }
  46197. if(toSecondPage)
  46198. {
  46199. format(str, sizeof(str), "%s{FFFF00}Page %d >>\n", str, (page+1)+1);
  46200. }
  46201. cache_delete(cache);
  46202. format(title, sizeof(title), "Current Furniture({33AA33}%d{FFFFFF})", CountPropertyFurniture(prop_id));
  46203. ShowPlayerDialog(playerid, DIALOG_EDIT_FURNITURE, DIALOG_STYLE_LIST, title, str, "Select", "<<<");
  46204. return true;
  46205. }
  46206. stock CountAdminNotes(playerid)
  46207. {
  46208. new count = 0;
  46209. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  46210. {
  46211. if(aNotesData[playerid][i][anote_SQLID] != 0)
  46212. {
  46213. count++;
  46214. }
  46215. }
  46216. return count;
  46217. }
  46218. stock ReturnANoteSlot(playerid)
  46219. {
  46220. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  46221. {
  46222. if(!aNotesData[playerid][i][anote_SQLID])
  46223. return i;
  46224. }
  46225. return -1;
  46226. }
  46227. stock AddAdminNote(playerid, addingid, reason[])
  46228. {
  46229. if(addingid != INVALID_PLAYER_ID)
  46230. {
  46231. new query[400], id;
  46232. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  46233. {
  46234. if(!aNotesData[addingid][i][anote_SQLID])
  46235. {
  46236. id = i;
  46237. break;
  46238. }
  46239. }
  46240. for(new i = 1; i < MAX_ADMIN_NOTES; i++)
  46241. {
  46242. if(aNotesData[addingid][i][anote_SQLID] != 0)
  46243. {
  46244. aNotesData[addingid][i][anote_active] = false;
  46245. }
  46246. }
  46247. anote_idsave[addingid] = id;
  46248. format(aNotesData[addingid][id][anote_reason], 128, "%s", reason);
  46249. format(aNotesData[addingid][id][anote_date], 90, "%s", ReturnDate());
  46250. format(aNotesData[addingid][id][anote_issuer], 60, "%s", ReturnName(playerid, 1));
  46251. aNotesData[addingid][id][anote_playerDBID] = PlayerData[addingid][pSQLID];
  46252. aNotesData[addingid][id][anote_active] = true;
  46253. mysql_format(m_Handle, query, sizeof(query), "UPDATE player_anotes SET anote_active = 0 WHERE player_dbid = %i", PlayerData[addingid][pSQLID]);
  46254. mysql_tquery(m_Handle, query);
  46255. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO player_anotes (`player_dbid`, `anote_reason`, `anote_issuer`, `anote_date`, `anote_active`) VALUES(%i, '%e', '%e', '%e', 1)", PlayerData[addingid][pSQLID],
  46256. reason, ReturnName(playerid, 1), ReturnDate());
  46257. mysql_pquery(m_Handle, query, "SQL_AddPlayerAdminNote", "i", addingid);
  46258. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO log_anotes (`Name`, `Reason`, `Date`, `IP`, `AddedBy`) VALUES('%e', '%e', '%e', '%e', '%e')", ReturnName(addingid, 1), reason, ReturnDateLog(), ReturnIP(addingid), ReturnName(playerid, 1));
  46259. mysql_pquery(m_Handle, query);
  46260. }
  46261. return true;
  46262. }
  46263. Server:SQL_AddPlayerAdminNote(playerid)
  46264. {
  46265. aNotesData[playerid][anote_idsave[playerid]][anote_SQLID] = cache_insert_id();
  46266. return true;
  46267. }
  46268. stock FreeAttachmentSlot(playerid)
  46269. {
  46270. for(new i = 1; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
  46271. {
  46272. if(!IsPlayerAttachedObjectSlotUsed(playerid, i))
  46273. return i;
  46274. }
  46275. return -1;
  46276. }
  46277. stock FreeClothingSlot(playerid)
  46278. {
  46279. for(new i = 1; i < MAX_CLOTHING_ITEMS; i++)
  46280. {
  46281. if(!ClothingData[playerid][i][attachment_SQLID])
  46282. return i;
  46283. }
  46284. return -1;
  46285. }
  46286. stock PlayAnimation(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync = 0)
  46287. {
  46288. ApplyAnimation(playerid, animlib, animname, fDelta, loop, lockx, locky, freeze, time, forcesync);
  46289. PlayerData[playerid][pPlayingAnimation] = true;
  46290. if (time != 0) {
  46291. SetTimerEx("TIMER_EndAnimationVar", time, false, "i", playerid);
  46292. }
  46293. return true;
  46294. }
  46295. Server:TIMER_EndAnimationVar(playerid)
  46296. {
  46297. PlayerData[playerid][pPlayingAnimation] = false;
  46298. }
  46299. stock DisplayVehiclePackages(playerid, vehicleid, header = 1)
  46300. {
  46301. new string[256], string2[256], string3[256], string4[256], string5[256], string6[256], string7[256];
  46302. if(header == 1)SendClientMessage(playerid, COLOR_DARKGREEN, "_________Vehicle Weapon Packages:_________");
  46303. for (new i = 1; i <= 3; i++){
  46304. if (CarData[vehicleid][carPackages][i])
  46305. format(string, sizeof(string), "%s[ %d. %s (%d/500) ]", string, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46306. else
  46307. format(string, sizeof(string), "%s[ %d. Empty ]", string, i);
  46308. }
  46309. SendClientMessage(playerid, COLOR_WHITE, string);
  46310. for (new i = 4; i <= 6; i++){
  46311. if (CarData[vehicleid][carPackages][i])
  46312. format(string2, sizeof(string2), "%s[ %d. %s (%d/500) ]", string2, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46313. else
  46314. format(string2, sizeof(string2), "%s[ %d. Empty ]", string2, i);
  46315. }
  46316. SendClientMessage(playerid, COLOR_WHITE, string2);
  46317. for (new i = 7; i <= 9; i++){
  46318. if (CarData[vehicleid][carPackages][i])
  46319. format(string3, sizeof(string3), "%s[ %d. %s (%d/500) ]", string3, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46320. else
  46321. format(string3, sizeof(string3), "%s[ %d. Empty ]", string3, i);
  46322. }
  46323. SendClientMessage(playerid, COLOR_WHITE, string3);
  46324. for (new i = 10; i <= 12; i++){
  46325. if (CarData[vehicleid][carPackages][i])
  46326. format(string4, sizeof(string4), "%s[ %d. %s (%d/500) ]", string4, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46327. else
  46328. format(string4, sizeof(string4), "%s[ %d. Empty ]", string4, i);
  46329. }
  46330. SendClientMessage(playerid, COLOR_WHITE, string4);
  46331. for (new i = 13; i <= 15; i++){
  46332. if (CarData[vehicleid][carPackages][i])
  46333. format(string5, sizeof(string5), "%s[ %d. %s (%d/500) ]", string5, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46334. else
  46335. format(string5, sizeof(string5), "%s[ %d. Empty ]", string5, i);
  46336. }
  46337. SendClientMessage(playerid, COLOR_WHITE, string5);
  46338. for (new i = 16; i <= 18; i++){
  46339. if (CarData[vehicleid][carPackages][i])
  46340. format(string6, sizeof(string6), "%s[ %d. %s (%d/500) ]", string6, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46341. else
  46342. format(string6, sizeof(string6), "%s[ %d. Empty ]", string6, i);
  46343. }
  46344. SendClientMessage(playerid, COLOR_WHITE, string6);
  46345. for (new i = 19; i <= 20; i++){
  46346. if (CarData[vehicleid][carPackages][i])
  46347. format(string7, sizeof(string7), "%s[ %d. %s (%d/500) ]", string7, i, ReturnWeaponName(CarData[vehicleid][carPackages][i]), CarData[vehicleid][carPackagesAmmo][i]);
  46348. else
  46349. format(string7, sizeof(string7), "%s[ %d. Empty ]", string7, i);
  46350. }
  46351. SendClientMessage(playerid, COLOR_WHITE, string7);
  46352. return true;
  46353. }
  46354. stock DisplayWeaponPackages(playerid, playerb)
  46355. {
  46356. new
  46357. str[128],
  46358. string[128]
  46359. ;
  46360. format(str, sizeof(str), "___________%s's Weapon Packages___________", ReturnName(playerid, 0));
  46361. SendClientMessage(playerb, COLOR_DARKGREEN, str);
  46362. for(new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  46363. {
  46364. if(PackageData[playerid][packageWeapon][i])
  46365. format(string, sizeof(string), "%s[ %d. %s (%d/500) ]", string, i, ReturnWeaponName(PackageData[playerid][packageWeapon][i]), PackageData[playerid][packageAmmo][i]);
  46366. else format(string, sizeof(string), "%s[ %d. Empty ]", string, i);
  46367. if(i % 3 == 0 && i != 0 || i == 21-1)
  46368. {
  46369. SendClientMessage(playerb, COLOR_WHITE, string);
  46370. string[0] = 0;
  46371. }
  46372. }
  46373. return 1;
  46374. }
  46375. stock ReturnJobName(jobid)
  46376. {
  46377. new string[60];
  46378. switch (jobid)
  46379. {
  46380. case 1: string = "Mechanic";
  46381. case 2: string = "Fisherman";
  46382. case 3: string = "Taxi Driver";
  46383. case 4: string = "Trucker";
  46384. default: string = "Unemployed";
  46385. }
  46386. return string;
  46387. }
  46388. stock JobGetMessage(playerid)
  46389. {
  46390. for(new i = 0; i < 4; i++) {
  46391. PlayerTextDrawShow(playerid, Getjob_PTD[playerid][i]);
  46392. }
  46393. new string[128];
  46394. format(string, sizeof(string), "%s.", ReturnJobName(PlayerData[playerid][pJob]));
  46395. PlayerTextDrawSetString(playerid, Getjob_PTD[playerid][1], string);
  46396. SetTimerEx("TIMER_StopJobTextdraw", 4000, false, "i", playerid);
  46397. return true;
  46398. }
  46399. Server:TIMER_StopJobTextdraw(playerid)
  46400. {
  46401. for(new i = 0; i < 4; i++) {
  46402. PlayerTextDrawHide(playerid, Getjob_PTD[playerid][i]);
  46403. }
  46404. return true;
  46405. }
  46406. stock ReturnFreePackage(playerid)
  46407. {
  46408. for (new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  46409. {
  46410. if (!PackageData[playerid][packageWeapon][i])
  46411. return i;
  46412. }
  46413. return -1;
  46414. }
  46415. stock ReturnCarFreePackage(vehicleid)
  46416. {
  46417. for (new i = 1; i < 21; i++)
  46418. {
  46419. if (!CarData[vehicleid][carPackages][i])
  46420. return i;
  46421. }
  46422. return -1;
  46423. }
  46424. stock CountPlayerPackages(playerid)
  46425. {
  46426. new count = 0;
  46427. for (new i = 1; i < MAX_WEAPON_PACKAGES; i++) {
  46428. if (PackageData[playerid][packageWeapon][i]) {
  46429. count++;
  46430. }
  46431. }
  46432. return count;
  46433. }
  46434. ReturnDrugsName(type)
  46435. {
  46436. new string[60];
  46437. switch (type)
  46438. {
  46439. case 0: string = "Marijuana";
  46440. case 1: string = "Crack";
  46441. case 2: string = "Cocaine";
  46442. case 3: string = "Ecstasy";
  46443. case 4: string = "LSD";
  46444. case 5: string = "Methamphetamine";
  46445. case 6: string = "PCP";
  46446. case 7: string = "Heroin";
  46447. case 8: string = "Aspirin";
  46448. case 9: string = "Haloperidol";
  46449. case 10: string = "Morphine";
  46450. case 11: string = "Xanax";
  46451. case 12: string = "MDMA";
  46452. case 13: string = "Fentanyl";
  46453. case 14: string = "Anabolic Steroid";
  46454. }
  46455. return string;
  46456. }
  46457. stock ReturnDonatorType(type)
  46458. {
  46459. new string[90];
  46460. switch (type)
  46461. {
  46462. case 0: string = "None";
  46463. case 1: string = "Bronze User";
  46464. case 2: string = "Silver User";
  46465. case 3: string = "Gold User";
  46466. case 4: string = "Platinum User";
  46467. }
  46468. return string;
  46469. }
  46470. stock ReturnGPCI(playerid)
  46471. {
  46472. new szSerial[41]; // 40 + \0
  46473. gpci(playerid, szSerial, sizeof(szSerial));
  46474. return szSerial;
  46475. }
  46476. stock CountPlayerCars(playerid)
  46477. {
  46478. new count = 0;
  46479. for (new i = 0; i < (MAX_OWNED_CARS - 1); i++)
  46480. {
  46481. if (PlayerData[playerid][pOwnedCar][i])
  46482. {
  46483. count++;
  46484. }
  46485. }
  46486. return count;
  46487. }
  46488. stock ReturnVehicleSpeed(vehicleid)
  46489. {
  46490. new Float:xPos[3];
  46491. GetVehicleVelocity(vehicleid, xPos[0], xPos[1], xPos[2]);
  46492. return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
  46493. }
  46494. stock LogPlayerChat(playerid, chat[])
  46495. {
  46496. new
  46497. id = -1;
  46498. for(new i = 0; i < 30; i++)
  46499. {
  46500. if(isnull(PlayerChatLogs[playerid][i]))
  46501. {
  46502. id = i;
  46503. break;
  46504. }
  46505. }
  46506. if (id == -1)
  46507. {
  46508. id = 0;
  46509. for(new i = 0; i < 30; i++)
  46510. {
  46511. PlayerChatLogs[playerid][i] = "";
  46512. }
  46513. }
  46514. new date[30];
  46515. gettime(date[3], date[4], date[5]);
  46516. format (PlayerChatLogs[playerid][id], 128, "%02d:%02d:%02d %s", date[3], date[4], date[5], chat);
  46517. return 1;
  46518. }
  46519. stock LogPlayerCommand(playerid, command[])
  46520. {
  46521. new
  46522. id = -1;
  46523. for(new i = 0; i < 30; i++)
  46524. {
  46525. if(isnull(PlayerCommandLogs[playerid][i]))
  46526. {
  46527. id = i;
  46528. break;
  46529. }
  46530. }
  46531. if (id == -1)
  46532. {
  46533. id = 0;
  46534. for(new i = 0; i < 30; i++)
  46535. {
  46536. PlayerCommandLogs[playerid][i] = "";
  46537. }
  46538. }
  46539. new date[30];
  46540. gettime(date[3], date[4], date[5]);
  46541. format (PlayerCommandLogs[playerid][id], 128, "%02d:%02d:%02d %s", date[3], date[4], date[5], command);
  46542. return 1;
  46543. }
  46544. stock ReturnWeaponsSlot(weaponid)
  46545. {
  46546. new slot;
  46547. switch (weaponid)
  46548. {
  46549. case 3, 4, 5, 6, 8: slot = 0;
  46550. case 15: slot = 6;
  46551. case 22 .. 24: slot = 7;
  46552. case 25 .. 34: slot = 8;
  46553. }
  46554. return slot;
  46555. }
  46556. stock IsWeaponShowable(weaponid)
  46557. {
  46558. switch (weaponid)
  46559. {
  46560. case 3, 4, 5, 6, 8, 15, 22 .. 24, 25, 27, 28, 29, 30, 31, 32, 33, 34: return true;
  46561. }
  46562. return false;
  46563. }
  46564. stock ResetDisplayPositions(playerid)
  46565. {
  46566. for (new i = 3; i < 35; i++)
  46567. {
  46568. WeaponDisplay[playerid][i][weaponPos][0] = -0.115999;
  46569. WeaponDisplay[playerid][i][weaponPos][1] = 0.189000;
  46570. WeaponDisplay[playerid][i][weaponPos][2] = 0.087999;
  46571. WeaponDisplay[playerid][i][weaponRot][0] = 0.000000;
  46572. WeaponDisplay[playerid][i][weaponRot][1] = 44.500007;
  46573. WeaponDisplay[playerid][i][weaponRot][2] = 0.000000;
  46574. WeaponDisplay[playerid][i][weaponBone] = 1;
  46575. WeaponDisplay[playerid][i][weaponHidden] = false;
  46576. }
  46577. EditingDisplay[playerid] = false;
  46578. return true;
  46579. }
  46580. stock IsValidDisplayWeapon(weaponid)
  46581. {
  46582. switch (weaponid)
  46583. {
  46584. case 3 .. 6, 8, 15, 22 .. 24, 25 .. 34: return true;
  46585. }
  46586. return false;
  46587. }
  46588. stock NotHideableWeapon(weaponid)
  46589. {
  46590. switch (weaponid)
  46591. {
  46592. case 5, 25, 27, 29, 30, 31, 33, 34: return true;
  46593. }
  46594. return false;
  46595. }
  46596. stock ReturnWeaponsModel(weaponid)
  46597. {
  46598. new WeaponModels[] =
  46599. {
  46600. 0, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324,
  46601. 325, 326, 342, 343, 344, 0, 0, 0, 346, 347, 348, 349, 350, 351, 352,
  46602. 353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
  46603. 367, 368, 368, 371
  46604. };
  46605. return WeaponModels[weaponid];
  46606. }
  46607. stock WeaponDataSlot(weaponid)
  46608. {
  46609. new slot;
  46610. switch (weaponid)
  46611. {
  46612. case 1: slot = 0;
  46613. case 2 .. 9: slot = 1;
  46614. case 10 .. 15: slot = 10;
  46615. case 16 .. 18: slot = 8;
  46616. case 41, 43: slot = 9;
  46617. case 24: slot = 2;
  46618. case 25: slot = 3;
  46619. case 28, 29, 32: slot = 4;
  46620. case 30, 31: slot = 5;
  46621. case 33, 34: slot = 6;
  46622. }
  46623. return slot;
  46624. }
  46625. stock FreeBoomboxID()
  46626. {
  46627. for (new i = 1; i < MAX_BOOMBOXS; i++)
  46628. {
  46629. if (!BoomboxData[i][boomboxExists])
  46630. return i;
  46631. }
  46632. return -1;
  46633. }
  46634. stock RemoveBoombox(id)
  46635. {
  46636. if (id == 0)
  46637. return false;
  46638. BoomboxData[id][boomboxExists] = false;
  46639. BoomboxData[id][boomboxPlayerID] = 0;
  46640. BoomboxData[id][boomboxOn] = false;
  46641. if(IsValidDynamicArea(BoomboxData[id][boomboxArea]))
  46642. DestroyDynamicArea(BoomboxData[id][boomboxArea]);
  46643. return true;
  46644. }
  46645. stock IsNearBoombox(playerid)
  46646. {
  46647. for (new i = 1; i < MAX_BOOMBOXS; i++)
  46648. {
  46649. if (BoomboxData[i][boomboxExists])
  46650. {
  46651. if (IsPlayerInRangeOfPoint(playerid, 4.0, BoomboxData[i][boomboxPos][0], BoomboxData[i][boomboxPos][1], BoomboxData[i][boomboxPos][2]))
  46652. return i;
  46653. }
  46654. }
  46655. return false;
  46656. }
  46657. stock ShowXMRDialog(playerid)
  46658. {
  46659. new string[500];
  46660. for(new i = 1; i < MAX_XMR_CATEGORIES; i++)
  46661. {
  46662. if (XMRCategoryData[i][XMRCategory])
  46663. {
  46664. format(string, sizeof(string), "%s%s\n", string, XMRCategoryData[i][XMRCategoryName]);
  46665. ShowPlayerDialog(playerid, DIALOG_XMR, DIALOG_STYLE_LIST, "Genres:", string, "Select", "Cancel");
  46666. }
  46667. }
  46668. return true;
  46669. }
  46670. stock ReturnNameLetter(playerid)
  46671. {
  46672. new playersName[MAX_PLAYER_NAME];
  46673. GetPlayerName(playerid, playersName, sizeof(playersName));
  46674. format(playersName, sizeof(playersName), "%c. %s", playersName[0], playersName[strfind(playersName, "_") + 1]);
  46675. return playersName;
  46676. }
  46677. stock strreplace2(string[], const search[], const replacement[], bool:ignorecase = false, pos = 0, limit = -1, maxlength = sizeof(string)) {
  46678. // No need to do anything if the limit is 0.
  46679. if (limit == 0)
  46680. return 0;
  46681. new
  46682. sublen = strlen(search),
  46683. replen = strlen(replacement),
  46684. bool:packed = ispacked(string),
  46685. maxlen = maxlength,
  46686. len = strlen(string),
  46687. count = 0;
  46688. // "maxlen" holds the max string length (not to be confused with "maxlength", which holds the max. array size).
  46689. // Since packed strings hold 4 characters per array slot, we multiply "maxlen" by 4.
  46690. if (packed) maxlen *= 4;
  46691. // If the length of the substring is 0, we have nothing to look for..
  46692. if (!sublen)
  46693. return 0;
  46694. // In this line we both assign the return value from "strfind" to "pos" then check if it's -1.
  46695. while (-1 != (pos = strfind(string, search, ignorecase, pos))) {
  46696. // Delete the string we found
  46697. strdel(string, pos, pos + sublen);
  46698. len -= sublen;
  46699. // If there's anything to put as replacement, insert it. Make sure there's enough room first.
  46700. if (replen && len + replen < maxlen) {
  46701. strins(string, replacement, pos, maxlength);
  46702. pos += replen;
  46703. len += replen;
  46704. }
  46705. // Is there a limit of number of replacements, if so, did we break it?
  46706. if (limit != -1 && ++count >= limit)
  46707. break;
  46708. }
  46709. return count;
  46710. }
  46711. stock ShowMealMenu(playerid, bool:displayed = true)
  46712. {
  46713. new string[90] ;
  46714. if (displayed == true)
  46715. {
  46716. SelectTextDraw(playerid, 0xA3B4C5FF);
  46717. format (string, sizeof(string), "%s", BusinessData[IsPlayerInBusiness(playerid)][businessName]);
  46718. TextDrawSetString(TD_mealMenu[1], string);
  46719. for (new i = 0; i < 17; i++)
  46720. {
  46721. TextDrawShowForPlayer(playerid, TD_mealMenu[i]);
  46722. }
  46723. }
  46724. else
  46725. {
  46726. for (new i = 0; i < 17; i++)
  46727. {
  46728. TextDrawHideForPlayer(playerid, TD_mealMenu[i]);
  46729. }
  46730. }
  46731. return true;
  46732. }
  46733. IsIllegalFaction(playerid)
  46734. {
  46735. if(!PlayerData[playerid][pFaction])
  46736. return 0;
  46737. new factionid = PlayerData[playerid][pFaction];
  46738. if(!FactionData[factionid][factionCopPerms] && !FactionData[factionid][factionMedPerms] && !FactionData[factionid][factionNewsPerms])
  46739. return 1;
  46740. return 0;
  46741. }
  46742. IsPoliceFaction(playerid)
  46743. {
  46744. if (!PlayerData[playerid][pFaction])
  46745. return false;
  46746. new factionid = PlayerData[playerid][pFaction];
  46747. if (FactionData[factionid][factionCopPerms])
  46748. return true;
  46749. return false;
  46750. }
  46751. IsMedicFaction(playerid)
  46752. {
  46753. if (!PlayerData[playerid][pFaction])
  46754. return false;
  46755. new factionid = PlayerData[playerid][pFaction];
  46756. if (FactionData[factionid][factionMedPerms])
  46757. return true;
  46758. return false;
  46759. }
  46760. IsNewsFaction(playerid) {
  46761. if (playerid == INVALID_PLAYER_ID)
  46762. return false;
  46763. if (!PlayerData[playerid][pFaction])
  46764. return false;
  46765. new factionid = PlayerData[playerid][pFaction];
  46766. if (FactionData[factionid][factionNewsPerms])
  46767. return true;
  46768. return false;
  46769. }
  46770. IsLAWFaction(playerid)
  46771. {
  46772. if (playerid == INVALID_PLAYER_ID)
  46773. return false;
  46774. if (!PlayerData[playerid][pFaction])
  46775. return false;
  46776. new factionid = PlayerData[playerid][pFaction];
  46777. if (FactionData[factionid][factionMedPerms] || FactionData[factionid][factionCopPerms])
  46778. return true;
  46779. return false;
  46780. }
  46781. stock GetNearestVehicle(playerid)
  46782. {
  46783. new
  46784. Float:fX,
  46785. Float:fY,
  46786. Float:fZ,
  46787. Float:fSX,
  46788. Float:fSY,
  46789. Float:fSZ,
  46790. Float:fRadius;
  46791. for (new i = 1, j = GetVehiclePoolSize(); i <= j; i ++)
  46792. {
  46793. if (!IsVehicleStreamedIn(i, playerid))
  46794. {
  46795. continue;
  46796. }
  46797. else
  46798. {
  46799. GetVehiclePos(i, fX, fY, fZ);
  46800. GetVehicleModelInfo(GetVehicleModel(i), VEHICLE_MODEL_INFO_SIZE, fSX, fSY, fSZ);
  46801. fRadius = floatsqroot((fSX + fSX) + (fSY + fSY));
  46802. if (IsPlayerInRangeOfPoint(playerid, fRadius, fX, fY, fZ) && GetPlayerVirtualWorld(playerid) == GetVehicleVirtualWorld(i))
  46803. {
  46804. return i;
  46805. }
  46806. }
  46807. }
  46808. return INVALID_VEHICLE_ID;
  46809. }
  46810. stock GetVehicleBoot(vehicleid, &Float:x, &Float:y, &Float:z)
  46811. {
  46812. if (!GetVehicleModel(vehicleid) || vehicleid == INVALID_VEHICLE_ID)
  46813. return (x = 0.0, y = 0.0, z = 0.0), 0;
  46814. static
  46815. Float:pos[7];
  46816. GetVehicleModelInfo(GetVehicleModel(vehicleid), VEHICLE_MODEL_INFO_SIZE, pos[0], pos[1], pos[2]);
  46817. GetVehiclePos(vehicleid, pos[3], pos[4], pos[5]);
  46818. GetVehicleZAngle(vehicleid, pos[6]);
  46819. x = pos[3] - (floatsqroot(pos[1] + pos[1]) * floatsin(-pos[6], degrees));
  46820. y = pos[4] - (floatsqroot(pos[1] + pos[1]) * floatcos(-pos[6], degrees));
  46821. z = pos[5];
  46822. return 1;
  46823. }
  46824. stock GetVehicleHood(vehicleid, &Float:x, &Float:y, &Float:z)
  46825. {
  46826. if (!GetVehicleModel(vehicleid) || vehicleid == INVALID_VEHICLE_ID)
  46827. return (x = 0.0, y = 0.0, z = 0.0), 0;
  46828. static
  46829. Float:pos[7];
  46830. GetVehicleModelInfo(GetVehicleModel(vehicleid), VEHICLE_MODEL_INFO_SIZE, pos[0], pos[1], pos[2]);
  46831. GetVehiclePos(vehicleid, pos[3], pos[4], pos[5]);
  46832. GetVehicleZAngle(vehicleid, pos[6]);
  46833. x = pos[3] + (floatsqroot(pos[1] + pos[1]) * floatsin(-pos[6], degrees));
  46834. y = pos[4] + (floatsqroot(pos[1] + pos[1]) * floatcos(-pos[6], degrees));
  46835. z = pos[5];
  46836. return 1;
  46837. }
  46838. stock Send911Message(playerid, type)
  46839. {
  46840. new string[128];
  46841. switch(type)
  46842. {
  46843. case 1:
  46844. {
  46845. SendLawMessage(COLOR_NINER, "|____________Emergency Call____________|");
  46846. format(string, sizeof(string), "Caller: %s, Phone: %d, Trace: %s", ReturnName(playerid, 0), ReturnPhoneNumber(playerid), ReturnLocation(playerid));
  46847. SendLawMessage(COLOR_NINER, string);
  46848. SendLawMessage(COLOR_NINER, "Services Required: Police");
  46849. format(string, sizeof(string), "Situation: %s", PlayerData[playerid][p911Text]);
  46850. SendLawMessage(COLOR_NINER, string);
  46851. format(string, sizeof(string), "Location: %s", PlayerData[playerid][p911Location]);
  46852. SendLawMessage(COLOR_NINER, string);
  46853. }
  46854. case 2:
  46855. {
  46856. SendFDMessage(COLOR_EMT, "|____________ Emergency Call ____________|");
  46857. format(string, sizeof(string), "Caller: %s, Phone: %d, Trace: %s", ReturnName(playerid, 0), ReturnPhoneNumber(playerid), ReturnLocation(playerid));
  46858. SendFDMessage(COLOR_EMT, string);
  46859. SendFDMessage(COLOR_EMT, "Services Required: Fire");
  46860. format(string, sizeof(string), "Situation: %s", PlayerData[playerid][p911Text]);
  46861. SendFDMessage(COLOR_EMT, string);
  46862. format(string, sizeof(string), "Location: %s", PlayerData[playerid][p911Location]);
  46863. SendFDMessage(COLOR_EMT, string);
  46864. }
  46865. }
  46866. PlayerData[playerid][p911Steps] = 0;
  46867. cmd_hangup(playerid, "");
  46868. return 1;
  46869. }
  46870. stock VehicleHasDrugs(vehicleid)
  46871. {
  46872. new
  46873. count = 0;
  46874. for(new i = 0; i < 10; i++)
  46875. {
  46876. if(!CarDrugData[vehicleid][i][drugQuantity])
  46877. continue;
  46878. count++;
  46879. }
  46880. return count;
  46881. }
  46882. stock DisplayClothingMenu(playerid, bool:hide = false, bool:reset = true)
  46883. {
  46884. if(!hide)
  46885. {
  46886. if(reset)
  46887. {
  46888. PlayerData[playerid][pSkinMenuOn] = true;
  46889. PlayerData[playerid][pSkinMenu] = 1;
  46890. PlayerTextDrawSetPreviewModel(playerid, Skinmenu_PTD[playerid][2], 1);
  46891. SendClientMessage(playerid, COLOR_ACTION, "You're now seeing the skin selection menu.");
  46892. SendClientMessage(playerid, COLOR_ACTION, "Use the arrows to navigate through the skins. You can press the model to purchase.");
  46893. }
  46894. SelectTextDraw(playerid, 0x078A07FF);
  46895. for(new i = 0; i < 3; i++)
  46896. PlayerTextDrawShow(playerid, Skinmenu_PTD[playerid][i]);
  46897. }
  46898. else
  46899. {
  46900. PlayerData[playerid][pSkinMenuOn] = false;
  46901. PlayerData[playerid][pSkinMenu] = 1;
  46902. for(new i = 0; i < 3; i++)
  46903. PlayerTextDrawHide(playerid, Skinmenu_PTD[playerid][i]);
  46904. }
  46905. return 1;
  46906. }
  46907. /*
  46908. stock ShowPlayerMDC(playerid)
  46909. {
  46910. new list_str[128];
  46911. strcat(list_str, "Name Search\n");
  46912. strcat(list_str, "Plate Search\n");
  46913. ShowPlayerDialog(playerid, DIALOG_MDC, DIALOG_STYLE_LIST, "Mobile Database Computer", list_str, "Select", "Exit");
  46914. return 1;
  46915. }
  46916. */
  46917. stock ShowPlayerMDC(playerid)
  46918. {
  46919. new
  46920. mdc_str[128]
  46921. ;
  46922. PlayNearbySound(playerid, MDC_OPEN);
  46923. strcat(mdc_str, "Name Search\n"); //case 0;
  46924. strcat(mdc_str, " \n");
  46925. strcat(mdc_str, "Plate Search\n"); //case 2;
  46926. strcat(mdc_str, "Partial Plate Search\n"); //case 3;
  46927. strcat(mdc_str, " \n");
  46928. strcat(mdc_str, "Prisoners List\n"); //case 5;
  46929. strcat(mdc_str, "Stolen Vehicles\n"); //case 6;
  46930. strcat(mdc_str, " \n");
  46931. strcat(mdc_str, "Search Phone\n"); //case 8;
  46932. strcat(mdc_str, "Duty Roster\n"); //case 9;
  46933. ShowPlayerDialog(playerid, DIALOG_MDC, DIALOG_STYLE_LIST, "Mobile Database Computer", mdc_str, "Select", "Exit");
  46934. return 1;
  46935. }
  46936. stock ShowVehicleList(playerid)
  46937. {
  46938. new string[128];
  46939. format(string, sizeof(string), "_________________Your vehicles(%i)_________________", CountPlayerCars(playerid));
  46940. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  46941. for(new i = 0; i < (MAX_OWNED_CARS - 1); i++)
  46942. {
  46943. if(PlayerData[playerid][pOwnedCar][i])
  46944. {
  46945. mysql_format(m_Handle, string, sizeof(string), "SELECT * FROM ownedcars WHERE id = %i", PlayerData[playerid][pOwnedCar][i]);
  46946. mysql_tquery(m_Handle, string, "OnShowVehicleList", "ii", playerid, (i + 1));
  46947. }
  46948. }
  46949. return 1;
  46950. }
  46951. stock VehicleHasPackages(vehicleid)
  46952. {
  46953. for(new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  46954. {
  46955. if(CarData[vehicleid][carPackages][i])
  46956. return 1;
  46957. }
  46958. return 0;
  46959. }
  46960. stock IsPlayerNearProperty(playerid)
  46961. {
  46962. for(new i = 1; i < MAX_PROPERTY; i++)
  46963. {
  46964. if(!PropertyData[i][propertyid])
  46965. continue;
  46966. if(IsPlayerInRangeOfPoint(playerid, 4.0, PropertyData[i][propertyExterior][0], PropertyData[i][propertyExterior][1], PropertyData[i][propertyExterior][2]) && GetPlayerVirtualWorld(playerid) == PropertyData[i][propertyExteriorWorld])
  46967. return i;
  46968. }
  46969. return 0;
  46970. }
  46971. stock IsPlayerNearBusiness(playerid)
  46972. {
  46973. for(new i = 1; i < MAX_BUSINESS; i++)
  46974. {
  46975. if(!BusinessData[i][businessID])
  46976. continue;
  46977. if(IsPlayerInRangeOfPoint(playerid, 4.0, BusinessData[i][businessExt][0], BusinessData[i][businessExt][1], BusinessData[i][businessExt][2]) && GetPlayerVirtualWorld(playerid) == 0)
  46978. return i;
  46979. }
  46980. return 0;
  46981. }
  46982. stock IsPlayerNearFuelStation(playerid)
  46983. {
  46984. for(new i = 0; i < sizeof g_FuelStations; i++)
  46985. {
  46986. if(IsPlayerInRangeOfPoint(playerid, 7.0, g_FuelStations[i][PosX], g_FuelStations[i][PosY], g_FuelStations[i][PosZ]))
  46987. return i;
  46988. }
  46989. return -1;
  46990. }
  46991. stock ReturnPlayerMask(playerid)
  46992. {
  46993. new
  46994. string[128];
  46995. format(string, sizeof(string), "[Mask %d_%d]", PlayerData[playerid][pMaskID], PlayerData[playerid][pMaskIDEx]);
  46996. return string;
  46997. }
  46998. stock ShowUnscrambleTextdraw(playerid, bool:showTextdraw = true)
  46999. {
  47000. if(showTextdraw)
  47001. {
  47002. for(new i = 0; i < 7; i++)
  47003. {
  47004. PlayerTextDrawShow(playerid, Unscrambler_PTD[playerid][i]);
  47005. }
  47006. }
  47007. else
  47008. {
  47009. for(new i = 0; i < 7; i++)
  47010. {
  47011. PlayerTextDrawHide(playerid, Unscrambler_PTD[playerid][i]);
  47012. }
  47013. }
  47014. return 1;
  47015. }
  47016. stock NotifyVehicleOwner(vehicleid)
  47017. {
  47018. new playerid = INVALID_PLAYER_ID;
  47019. foreach(new i : Player)
  47020. {
  47021. if(PlayerData[i][pSQLID] == CarData[vehicleid][carOwnerID])
  47022. {
  47023. playerid = i;
  47024. }
  47025. }
  47026. if(playerid != INVALID_PLAYER_ID)
  47027. {
  47028. SendClientMessage(playerid, COLOR_YELLOW, "SMS: Your vehicle alarm has been set off, Sender: Vehicle Alarm (Unknown)");
  47029. }
  47030. else return 1;
  47031. return 1;
  47032. }
  47033. stock Message(playerid, color, const str[], {Float,_}:...)
  47034. {
  47035. static
  47036. args,
  47037. start,
  47038. end,
  47039. string[144];
  47040. #emit LOAD.S.pri 8
  47041. #emit STOR.pri args
  47042. if (args > 8)
  47043. {
  47044. #emit ADDR.pri str
  47045. #emit STOR.pri start
  47046. for (end = start + (args - 8); end > start; end -= 4)
  47047. {
  47048. #emit LREF.pri end
  47049. #emit PUSH.pri
  47050. }
  47051. #emit PUSH.S str
  47052. #emit PUSH.C 144
  47053. #emit PUSH.C string
  47054. #emit LOAD.S.pri 8
  47055. #emit ADD.C 4
  47056. #emit PUSH.pri
  47057. #emit SYSREQ.C format
  47058. #emit LCTRL 5
  47059. #emit SCTRL 4
  47060. SendClientMessage(playerid, color, string);
  47061. return 1;
  47062. }
  47063. SendClientMessage(playerid, color, str);
  47064. return 1;
  47065. }
  47066. // Weapon:
  47067. GetWeaponIndex(weapon_id, playerid = INVALID_PLAYER_ID)
  47068. {
  47069. switch(weapon_id)
  47070. {
  47071. case 1 .. 10, 45: return 0;
  47072. case 11 .. 18, 41, 43: return 1;
  47073. case 22 .. 24: return 2;
  47074. case 25, 27 .. 34: return 3;
  47075. default: {
  47076. if (playerid == INVALID_PLAYER_ID) {
  47077. adminWarn(4, "[DEBUG] An error occurred with GetWeaponIndex.");
  47078. } else {
  47079. adminWarn(1, sprintf("%s(ID: %i) may be WEAPON HACKING. (Weapon: %s)", ReturnName(playerid), playerid, ReturnWeaponName(weapon_id)));
  47080. }
  47081. }
  47082. }
  47083. return -1;
  47084. }
  47085. Server:ReturnSlotNames(playerid, weaponid)
  47086. {
  47087. new string[128];
  47088. switch(weaponid){
  47089. case 1 .. 18:
  47090. {
  47091. format(string, sizeof(string), "[Melee] You will now spawn with %s", ReturnWeaponName(weaponid));
  47092. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  47093. }
  47094. case 22 .. 24:
  47095. {
  47096. format(string, sizeof(string), "[Secondary weapon] You will now spawn with %s", ReturnWeaponName(weaponid));
  47097. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  47098. }
  47099. case 25, 27 .. 34:
  47100. {
  47101. format(string, sizeof(string), "[Primary weapon] You will now spawn with %s", ReturnWeaponName(weaponid));
  47102. SendClientMessage(playerid, COLOR_DARKGREEN, string);
  47103. }
  47104. }
  47105. return 1;
  47106. }
  47107. stock GivePlayerGun(playerid, weapon_id, ammo, given_by = WEAPON_SERVER_GIVEN)
  47108. {
  47109. new index;
  47110. index = GetWeaponIndex(weapon_id);
  47111. if(index == -1)
  47112. return 0;
  47113. if(Weapon[playerid][index][eWeaponID] > 0)
  47114. RemovePlayerWeapon(playerid, Weapon[playerid][index][eWeaponID]);
  47115. GivePlayerWeapon(playerid, weapon_id, ammo);
  47116. PauseAntiCheat(playerid);
  47117. PlayerData[playerid][pPauseWepAC] = gettime();
  47118. Weapon[playerid][index][eWeaponID] = weapon_id;
  47119. Weapon[playerid][index][eWeaponAmmo] = ammo;
  47120. Weapon[playerid][index][eWeaponGivenBy] = given_by;
  47121. if (given_by == WEAPON_AMMUNATION_GIVEN) Weapon[playerid][index][eWeaponCCW] = true;
  47122. else Weapon[playerid][index][eWeaponCCW] = false;
  47123. if(given_by == WEAPON_SERVER_GIVEN)
  47124. Weapon[playerid][index][eWeaponSaveable] = false;
  47125. else Weapon[playerid][index][eWeaponSaveable] = true;
  47126. if(given_by != WEAPON_SERVER_GIVEN)
  47127. ReturnSlotNames(playerid, weapon_id);
  47128. SavePlayerWeapons(playerid);
  47129. WriteLog("admin_logs/function_log.txt", "[%s] %s received a %s and %d Ammo (Givenby: %d)", ReturnDate(), ReturnName(playerid), ReturnWeaponName(weapon_id), ammo, given_by);
  47130. return 1;
  47131. }
  47132. Server:SavePlayerWeapons(playerid)
  47133. {
  47134. new
  47135. saveQuery[230];
  47136. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++)
  47137. {
  47138. if(!Weapon[playerid][i][eWeaponSaveable])
  47139. continue;
  47140. if(Weapon[playerid][i][eWeaponID] && Weapon[playerid][i][eWeaponAmmo] < 1)
  47141. {
  47142. mysql_format(m_Handle, saveQuery, sizeof(saveQuery), "DELETE FROM player_weapons WHERE weapon_id = %i AND player_dbid = %i", Weapon[playerid][i][eWeaponID], PlayerData[playerid][pSQLID]);
  47143. mysql_pquery(m_Handle, saveQuery);
  47144. }
  47145. mysql_format(m_Handle, saveQuery, sizeof(saveQuery), "INSERT INTO player_weapons (player_dbid, weapon_id, ammo, given_by, ccw) VALUES (%i, %i, %i, %i, %i) ON DUPLICATE KEY UPDATE ammo = %i",
  47146. PlayerData[playerid][pSQLID], Weapon[playerid][i][eWeaponID], Weapon[playerid][i][eWeaponAmmo], Weapon[playerid][i][eWeaponGivenBy], Weapon[playerid][i][eWeaponCCW], Weapon[playerid][i][eWeaponAmmo]);
  47147. mysql_pquery(m_Handle, saveQuery);
  47148. }
  47149. return 1;
  47150. }
  47151. Server:OnLoadPlayerWeapons(playerid)
  47152. {
  47153. if(!cache_num_rows())
  47154. {
  47155. printf("[DEBUG][OnLoadPlayerWeapons] Player has no weapons. (%s)", ReturnName(playerid));
  47156. return 1;
  47157. }
  47158. new
  47159. rows, fields, weapon_id, ammo, given_by, bool:ccw;
  47160. cache_get_row_count(rows), cache_get_field_count(fields);
  47161. for(new i = 0; i < rows; i++)
  47162. {
  47163. cache_get_value_name_int(i, "weapon_id", weapon_id);
  47164. cache_get_value_name_int(i, "ammo", ammo);
  47165. cache_get_value_name_int(i, "given_by", given_by);
  47166. cache_get_value_name_bool(i, "ccw", ccw);
  47167. if(!weapon_id)
  47168. continue;
  47169. GivePlayerWeapon(playerid, weapon_id, ammo);
  47170. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponID] = weapon_id;
  47171. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponAmmo] = ammo;
  47172. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponGivenBy] = given_by;
  47173. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponSaveable] = true;
  47174. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponCCW] = ccw;
  47175. if (ccw)
  47176. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponSerial] = PlayerData[playerid][pSQLID];
  47177. else
  47178. Weapon[playerid][GetWeaponIndex(weapon_id)][eWeaponSerial] = -1;
  47179. printf("[DEBUG][OnLoadPlayerWeapons] %s was given %s and %d Ammo.", ReturnName(playerid), ReturnWeaponName(weapon_id), ammo);
  47180. }
  47181. return 1;
  47182. }
  47183. stock ReturnPlayerWeapons(playerid)
  47184. {
  47185. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[playerid][i][eWeaponAmmo] > 0)
  47186. GivePlayerWeapon(playerid, Weapon[playerid][i][eWeaponID], Weapon[playerid][i][eWeaponAmmo]);
  47187. PlayerData[playerid][pPauseWepAC] = gettime();
  47188. return 1;
  47189. }
  47190. stock ClearPlayerWeapons(playerid, type = 0)
  47191. {
  47192. //type 0 = all weapons;
  47193. //type 1 = unsaveable weapons only;
  47194. PauseAntiCheat(playerid);
  47195. switch(type)
  47196. {
  47197. case 0:
  47198. {
  47199. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[playerid][i][eWeaponAmmo] > 0)
  47200. {
  47201. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID])))
  47202. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID]));
  47203. new str[128];
  47204. format(str, sizeof(str), "Lost %s and %d Ammo", ReturnWeaponName(Weapon[playerid][i][eWeaponID]), Weapon[playerid][i][eWeaponAmmo]);
  47205. LogPlayerAction(playerid, str);
  47206. TakePlayerWeapon(playerid, Weapon[playerid][i][eWeaponID]);
  47207. }
  47208. SavePlayerWeapons(playerid);
  47209. }
  47210. case 1:
  47211. {
  47212. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++)
  47213. {
  47214. if(Weapon[playerid][i][eWeaponAmmo] > 0 && !Weapon[playerid][i][eWeaponSaveable])
  47215. {
  47216. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID])))
  47217. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID]));
  47218. RemovePlayerWeapon(playerid, Weapon[playerid][i][eWeaponID]);
  47219. Weapon[playerid][i][eWeaponAmmo] = 0;
  47220. Weapon[playerid][i][eWeaponID] = 0;
  47221. Weapon[playerid][i][eWeaponSaveable] = false;
  47222. Weapon[playerid][i][eWeaponGivenBy] = 0;
  47223. }
  47224. }
  47225. SavePlayerWeapons(playerid);
  47226. }
  47227. case 2:
  47228. {
  47229. for(new i = 0; i < MAX_POSSIBLE_WEAPONS; i++) if(Weapon[playerid][i][eWeaponAmmo] > 0)
  47230. {
  47231. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID])))
  47232. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(Weapon[playerid][i][eWeaponID]));
  47233. new str[128];
  47234. format(str, sizeof(str), "Lost %s and %d Ammo", ReturnWeaponName(Weapon[playerid][i][eWeaponID]), Weapon[playerid][i][eWeaponAmmo]);
  47235. LogPlayerAction(playerid, str);
  47236. TakePlayerWeapon(playerid, Weapon[playerid][i][eWeaponID]);
  47237. }
  47238. ResetPlayerWeapons(playerid);
  47239. SavePlayerWeapons(playerid);
  47240. }
  47241. }
  47242. return 1;
  47243. }
  47244. stock PlayerHasWeapon(playerid, weapon_id)
  47245. {
  47246. new
  47247. index;
  47248. index = GetWeaponIndex(weapon_id);
  47249. if(Weapon[playerid][index][eWeaponID] != weapon_id)
  47250. return 0;
  47251. return 1;
  47252. }
  47253. stock TakePlayerWeapon(playerid, weapon_id)
  47254. {
  47255. new
  47256. index,
  47257. remove_query[128];
  47258. PauseAntiCheat(playerid);
  47259. index = GetWeaponIndex(weapon_id);
  47260. if(!PlayerHasWeapon(playerid, weapon_id))
  47261. return 0 && printf("[DEBUG][TakePlayerWeapon] An error occurred. Player doesn't have weapon.");
  47262. if(Weapon[playerid][index][eWeaponSaveable])
  47263. {
  47264. mysql_format(m_Handle, remove_query, sizeof(remove_query), "DELETE FROM player_weapons WHERE player_dbid = %i AND weapon_id = %i", PlayerData[playerid][pSQLID], weapon_id);
  47265. mysql_tquery(m_Handle, remove_query);
  47266. }
  47267. if(IsPlayerAttachedObjectSlotUsed(playerid, ReturnWeaponsSlot(Weapon[playerid][index][eWeaponID])))
  47268. RemovePlayerAttachedObject(playerid, ReturnWeaponsSlot(Weapon[playerid][index][eWeaponID]));
  47269. RemovePlayerWeapon(playerid, weapon_id);
  47270. Weapon[playerid][index][eWeaponID] = 0;
  47271. Weapon[playerid][index][eWeaponAmmo] = 0;
  47272. Weapon[playerid][index][eWeaponGivenBy] = 0;
  47273. Weapon[playerid][index][eWeaponSaveable] = false;
  47274. return 1;
  47275. }
  47276. stock ReturnWeaponAmmo(playerid, weapon_id)
  47277. {
  47278. new
  47279. index;
  47280. index = GetWeaponIndex(weapon_id);
  47281. if(!PlayerHasWeapon(playerid, weapon_id))
  47282. return 0;
  47283. return Weapon[playerid][index][eWeaponAmmo];
  47284. }
  47285. stock IsSaveableWeapon(playerid, weapon_id)
  47286. {
  47287. new
  47288. index;
  47289. index = GetWeaponIndex(weapon_id);
  47290. if(!PlayerHasWeapon(playerid, weapon_id))
  47291. return 0;
  47292. if(Weapon[playerid][index][eWeaponSaveable])
  47293. return 1;
  47294. return 0;
  47295. }
  47296. stock ReturnWeaponReceiveType(playerid, weapon_id)
  47297. {
  47298. new
  47299. index;
  47300. index = GetWeaponIndex(weapon_id);
  47301. if(!PlayerHasWeapon(playerid, weapon_id))
  47302. return -1;
  47303. return Weapon[playerid][index][eWeaponGivenBy];
  47304. }
  47305. stock ReturnWeaponReceiveString(playerid, weapon_id)
  47306. {
  47307. new
  47308. index,
  47309. showStr[128]
  47310. ;
  47311. index = GetWeaponIndex(weapon_id);
  47312. switch(Weapon[playerid][index][eWeaponGivenBy])
  47313. {
  47314. case WEAPON_SERVER_GIVEN: showStr = "SYSTEM";
  47315. case WEAPON_AMMUNATION_GIVEN: showStr = "AMMUNATION";
  47316. case WEAPON_UNKNOWN_GIVEN: showStr = "24/7 or Property/Vehicle Placed";
  47317. case -1: showStr = "INVALID / NONEXISTENT";
  47318. default: format(showStr, 128, "Player DBID %d", Weapon[playerid][index][eWeaponGivenBy]);
  47319. }
  47320. return showStr;
  47321. }
  47322. stock ReturnWeaponIndex(playerid, index)
  47323. {
  47324. new
  47325. showStr[60];
  47326. switch(index)
  47327. {
  47328. case 0:
  47329. {
  47330. if(!Weapon[playerid][index][eWeaponID])
  47331. showStr = "None";
  47332. else format(showStr, 60, "%s", ReturnWeaponName(Weapon[playerid][index][eWeaponID]));
  47333. }
  47334. case 1:
  47335. {
  47336. if(!Weapon[playerid][index][eWeaponID])
  47337. showStr = "None";
  47338. else format(showStr, 60, "%s", ReturnWeaponName(Weapon[playerid][index][eWeaponID]));
  47339. }
  47340. case 2:
  47341. {
  47342. if(!Weapon[playerid][index][eWeaponID])
  47343. showStr = "None";
  47344. else format(showStr, 60, "%s", ReturnWeaponName(Weapon[playerid][index][eWeaponID]));
  47345. }
  47346. case 3:
  47347. {
  47348. if(!Weapon[playerid][index][eWeaponID])
  47349. showStr = "None";
  47350. else format(showStr, 60, "%s", ReturnWeaponName(Weapon[playerid][index][eWeaponID]));
  47351. }
  47352. }
  47353. return showStr;
  47354. }
  47355. Server:UpdatePlayerWeapon(playerid, weapon_id)
  47356. {
  47357. new
  47358. index,
  47359. str[128]
  47360. ;
  47361. index = GetWeaponIndex(weapon_id);
  47362. if(-- Weapon[playerid][index][eWeaponAmmo] < 1)
  47363. {
  47364. TakePlayerWeapon(playerid, weapon_id);
  47365. SetPlayerArmedWeapon(playerid, 0);
  47366. format(str, sizeof(str), "%s runs out of ammo and clicks.", ReturnWeaponName(weapon_id));
  47367. cmd_amy(playerid, str);
  47368. }
  47369. return 1;
  47370. }
  47371. Server:UpdatePlayerAmmo(playerid, weapon_id, ammo)
  47372. {
  47373. new
  47374. index;
  47375. PauseAntiCheat(playerid);
  47376. index = GetWeaponIndex(weapon_id);
  47377. Weapon[playerid][index][eWeaponAmmo] = ammo;
  47378. return 1;
  47379. }
  47380. //
  47381. stock IsPlayerNearDroppedWeapon(playerid)
  47382. {
  47383. for(new i = 0; i < sizeof DropData; i++)
  47384. {
  47385. if(IsPlayerInRangeOfPoint(playerid, 3.0, DropData[i][eWeaponPos][0], DropData[i][eWeaponPos][1], DropData[i][eWeaponPos][2]) && GetPlayerVirtualWorld(playerid) == DropData[i][eWeaponWorld])
  47386. return i;
  47387. }
  47388. return -1;
  47389. }
  47390. stock ClearDroppedWeapon(index)
  47391. {
  47392. if(IsValidDynamicObject(DropData[index][eWeaponObject]))
  47393. DestroyDynamicObject(DropData[index][eWeaponObject]);
  47394. KillTimer(DropData[index][eWeaponTimer]);
  47395. DropData[index][eDropWeaponAmmo] = 0;
  47396. DropData[index][eDropWeaponID] = 0;
  47397. DropData[index][eWeaponDropped] = false;
  47398. for(new i = 0; i < 3; i++)
  47399. DropData[index][eWeaponPos][i] = 0.0;
  47400. DropData[index][eWeaponInterior] = 0;
  47401. DropData[index][eWeaponWorld] = 0;
  47402. printf("[DEBUG] Dropped weapon index %i has been cleared. (Previously dropped by: %s)", index, ReturnSQLName(DropData[index][eWeaponDroppedBy]));
  47403. DropData[index][eWeaponDroppedBy] = 0;
  47404. return 1;
  47405. }
  47406. stock ReturnDonatorLevel(playerid)
  47407. {
  47408. new
  47409. levelStr[30];
  47410. if(!PlayerData[playerid][pDonator])
  47411. levelStr = "None";
  47412. else format(levelStr, 30, "Level %d", PlayerData[playerid][pDonator]);
  47413. return levelStr;
  47414. }
  47415. stock ReturnPlayerState(playerid)
  47416. {
  47417. new
  47418. statestr[90];
  47419. switch(GetPlayerState(playerid))
  47420. {
  47421. case 0: statestr = "Empty (Initializing)";
  47422. case 1: statestr = "On foot";
  47423. case 2: statestr = "Driver";
  47424. case 3: statestr = "Passenger";
  47425. case 7: statestr = "Wasted/Dead";
  47426. case 8: statestr = "Spawned";
  47427. case 9: statestr = "Spectating";
  47428. default: statestr = "///";
  47429. }
  47430. return statestr;
  47431. }
  47432. stock ReturnAliveState(playerid)
  47433. {
  47434. new
  47435. statestr[90];
  47436. switch(GetPlayerTeam(playerid))
  47437. {
  47438. case STATE_ALIVE: statestr = "Alive";
  47439. case STATE_WOUNDED:
  47440. {
  47441. if(!PlayerData[playerid][pInsideAmbulance])
  47442. statestr = "Brutally wounded";
  47443. else statestr = "Brutally wounded (Ambulance)";
  47444. }
  47445. case STATE_DEAD: statestr = "Death screen";
  47446. }
  47447. return statestr;
  47448. }
  47449. //Tutorial
  47450. stock ClearLines(playerid, lines)
  47451. {
  47452. if(lines > 20)
  47453. lines = 20;
  47454. for(new i = 0; i < lines; i++)
  47455. SendClientMessage(playerid, -1, " ");
  47456. return 1;
  47457. }
  47458. Server:StartPlayerTutorial(playerid)
  47459. {
  47460. return SetTutorial(playerid);
  47461. }
  47462. Server:SetTutorial(playerid)
  47463. {
  47464. switch( PlayerTutorialStep[playerid] )
  47465. {
  47466. case 0:
  47467. {
  47468. ClearLines(playerid, 20);
  47469. InterpolateCameraPos(playerid, 1642.006591, -2323.820068, 19.565198, 1517.335327, -2249.605712, 90.603210, 4000);
  47470. InterpolateCameraLookAt(playerid, 1642.132080, -2328.817871, 19.492977, 1521.054931, -2252.214843, 88.515640, 4000);
  47471. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 6000, false, "ii", playerid, 0);
  47472. }
  47473. case 1:
  47474. {
  47475. ClearLines(playerid, 20);
  47476. InterpolateCameraPos(playerid, 1517.336914, -2249.606689, 90.602317, 2236.985595, -1640.724365, 24.984189, 4000);
  47477. InterpolateCameraLookAt(playerid, 1521.322387, -2251.805175, 88.532974, 2238.107666, -1645.189086, 23.032962, 4000);
  47478. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 3000, false, "ii", playerid, 1);
  47479. }
  47480. case 2:
  47481. {
  47482. ClearLines(playerid, 20);
  47483. InterpolateCameraPos(playerid, 2236.984619, -1640.725219, 24.984283, 502.248626, -1273.707641, 33.276378, 4000);
  47484. InterpolateCameraLookAt(playerid, 2238.046875, -1645.079101, 22.767311, 506.480499, -1275.640380, 31.444562, 4000);
  47485. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 2);
  47486. }
  47487. case 3:
  47488. {
  47489. ClearLines(playerid, 20);
  47490. InterpolateCameraPos(playerid, 502.248657, -1273.707641, 33.276378, 1512.892822, -1699.998901, 32.607910, 4000);
  47491. InterpolateCameraLookAt(playerid, 506.149597, -1276.139404, 31.309322, 1516.825317, -1697.567504, 30.704294, 4000);
  47492. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 3);
  47493. }
  47494. case 4:
  47495. {
  47496. ClearLines(playerid, 20);
  47497. InterpolateCameraPos(playerid, 1512.890380, -1699.997802, 32.607910, 1158.465087, -1367.698974, 47.198616, 4000);
  47498. InterpolateCameraLookAt(playerid, 1516.822143, -1697.642700, 30.609272, 1156.440673, -1371.921997, 45.447090, 4000);
  47499. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 4);
  47500. }
  47501. case 5:
  47502. {
  47503. InterpolateCameraPos(playerid, 1158.469482, -1367.703125, 47.198432, 1114.197021, -1453.435546, 20.567090, 4000);
  47504. InterpolateCameraLookAt(playerid, 1156.358154, -1371.845214, 45.358615, 1111.008544, -1449.909057, 19.018510, 4000);
  47505. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 3000, false, "ii", playerid, 5);
  47506. }
  47507. case 6:
  47508. {
  47509. ClearLines(playerid, 20);
  47510. InterpolateCameraPos(playerid, 1114.197753, -1453.434204, 20.567502, 2076.908203, -1834.856689, 25.048641, 4000);
  47511. InterpolateCameraLookAt(playerid, 1110.964843, -1449.909790, 19.109148, 2080.290283, -1831.587402, 23.353630, 4000);
  47512. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 5000, false, "ii", playerid, 6);
  47513. }
  47514. case 7:
  47515. {
  47516. ClearLines(playerid, 20);
  47517. InterpolateCameraPos(playerid, 2076.896240, -1834.851928, 25.048583, 1331.917846, -1269.041992, 27.682603, 4000);
  47518. InterpolateCameraLookAt(playerid, 2080.365234, -1831.601074, 23.500003, 1336.289550, -1270.704345, 25.914978, 4000);
  47519. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 7);
  47520. }
  47521. case 8:
  47522. {
  47523. ClearLines(playerid, 20);
  47524. InterpolateCameraPos(playerid, 1331.920654, -1269.044189, 27.682594, 2138.295166, -1211.320068, 37.867397, 4000);
  47525. InterpolateCameraLookAt(playerid, 1336.011474, -1271.103027, 25.676076, 2140.643554, -1207.649902, 35.414718, 4000);
  47526. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 8);
  47527. }
  47528. case 9:
  47529. {
  47530. ClearLines(playerid, 20);
  47531. InterpolateCameraPos(playerid, 2138.291992, -1211.320312, 37.867359, 2414.203857, -2020.619262, 165.761154, 4000);
  47532. InterpolateCameraLookAt(playerid, 2140.738769, -1207.815185, 35.273612, 2411.617187, -2016.997314, 163.482727, 4000);
  47533. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 9);
  47534. }
  47535. case 10:
  47536. {
  47537. ClearLines(playerid, 20);
  47538. InterpolateCameraPos(playerid, 2414.203857, -2020.619140, 165.761138, 1516.443847, -2267.449951, 89.827415, 4000);
  47539. InterpolateCameraLookAt(playerid, 2411.346191, -2017.090209, 163.668334, 1520.704956, -2269.008789, 87.726799, 4000);
  47540. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 4000, false, "ii", playerid, 10);
  47541. }
  47542. case 11:
  47543. {
  47544. ClearLines(playerid, 15);
  47545. InterpolateCameraPos(playerid, 1516.455078, -2267.446777, 89.828369, 1685.555786, -2325.102783, -1.520478, 4000);
  47546. InterpolateCameraLookAt(playerid, 1520.600830, -2269.254638, 87.696586, 1685.531127, -2330.092529, -1.839066, 4000);
  47547. SendClientMessage(playerid, COLOR_GOLD, "* The San Andreas '92 staff team thanks you for your time on our server.");
  47548. SendClientMessage(playerid, COLOR_GOLD, "* Please wait while we create and load your new account data.");
  47549. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorialText", 5000, false, "ii", playerid, 11);
  47550. }
  47551. }
  47552. return 1;
  47553. }
  47554. Server:SetTutorialText(playerid, partid)
  47555. {
  47556. switch( partid )
  47557. {
  47558. case 0: // Introduction;
  47559. {
  47560. SendClientMessage(playerid, -1, "* Please take a moment to read through the entirety of this part."); ClearLines(playerid, 1);
  47561. SendClientMessage(playerid, COLOR_GRAD2, " San Andreas '92 was created to provide quality roleplay and to enjoy the 90s");
  47562. SendClientMessage(playerid, COLOR_GRAD2, " Our server is based on the story mode of GTA SA"); ClearLines(playerid, 1);
  47563. SendClientMessage(playerid, COLOR_GRAD2, " We hope you all have fun and enjoy yourselves as we roleplay the SP mode of GTA and live them 90s vibes.");
  47564. SendClientMessage(playerid, COLOR_GRAD2, " This is an heavy rp server, we are strict on our rules.");
  47565. SendClientMessage(playerid, COLOR_GRAD2, " Following rules is what ensures all players have a fair and fun time.");
  47566. SendClientMessage(playerid, COLOR_GRAD2, " The next introduction sequences should last at least 6 seconds. Enjoy.");
  47567. PlayerTutorialStep[playerid] = 1;
  47568. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 8000, false, "i", playerid);
  47569. }
  47570. case 1: // Binco-Clothing;
  47571. {
  47572. SendClientMessage(playerid, COLOR_GRAD2, " When you spawn, you might want to change your skin. ");
  47573. SendClientMessage(playerid, COLOR_GRAD2, " There are multiple clothing businesses that provide you with the option of a new skin.");
  47574. SendClientMessage(playerid, COLOR_GRAD2, " When going to one, you simply use the \"/buy\" command to bring up the skin GUI.");
  47575. PlayerTutorialStep[playerid] = 2;
  47576. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 4000, false, "i", playerid);
  47577. }
  47578. case 2: //Dealership;
  47579. {
  47580. SendClientMessage(playerid, COLOR_GRAD2, "* Vehicles!");
  47581. SendClientMessage(playerid, COLOR_GRAD2, " There are currently two (2) vehicle dealerships available to players.");
  47582. ClearLines(playerid, 1);
  47583. SendClientMessage(playerid, COLOR_GRAD2, " There's one in Commerce which you're looking at now and Rodeo!");
  47584. SendClientMessage(playerid, COLOR_GRAD2, " The entire vehicle system is bundled up into one simple command: \"/vehicle\" for your convenience.");
  47585. ClearLines(playerid, 1);
  47586. SendClientMessage(playerid, COLOR_GRAD2, " Vehicles cost almost nothing and are affordable to any new player!");
  47587. PlayerTutorialStep[playerid] = 3;
  47588. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 5000, false, "i", playerid);
  47589. }
  47590. case 3: //Factions;
  47591. {
  47592. SendClientMessage(playerid, COLOR_GRAD2, "* Factions!");
  47593. SendClientMessage(playerid, COLOR_GRAD2, " A faction could either be illegal or legal. There are multiple possibilities.");
  47594. SendClientMessage(playerid, COLOR_GRAD2, " There are unofficial and official factions.");
  47595. ClearLines(playerid, 1);
  47596. SendClientMessage(playerid, COLOR_GRAD2, " Official factions are listed in the /factions menu.");
  47597. SendClientMessage(playerid, COLOR_GRAD2, " If you're willing to start a faction, visit our factions forum at: sols-lsb.com!");
  47598. PlayerTutorialStep[playerid] = 4;
  47599. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 6000, false, "i", playerid);
  47600. }
  47601. case 4: //Mall;
  47602. {
  47603. SendClientMessage(playerid, COLOR_GRAD2, "* Mall!");
  47604. SendClientMessage(playerid, COLOR_GRAD2, " The Market mall is a prime location for players to purchase items.");
  47605. SendClientMessage(playerid, COLOR_GRAD2, " At the mall, you could buy player clothing items and place an advertisement.");
  47606. ClearLines(playerid, 1);
  47607. SendClientMessage(playerid, COLOR_GRAD2, " There are pages of clothing items players could choose from and buy!");
  47608. SendClientMessage(playerid, COLOR_GRAD2, " These clothing items are kept and could be wore at any time!");
  47609. ClearLines(playerid, 1);
  47610. SendClientMessage(playerid, COLOR_GRAD2, " Advertisements are broadcasted to all players! You could look to sell, buy and more!");
  47611. PlayerTutorialStep[playerid] = 5;
  47612. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 4000, false, "i", playerid);
  47613. }
  47614. case 5: //Mall 2;
  47615. {
  47616. ClearLines(playerid, 1);
  47617. SendClientMessage(playerid, COLOR_GRAD2, " This is where you could use \"/buy\" to buy new clothing items!");
  47618. PlayerTutorialStep[playerid] = 6;
  47619. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 5000, false, "i", playerid);
  47620. }
  47621. case 6: //Bizzness;
  47622. {
  47623. SendClientMessage(playerid, COLOR_GRAD2, "* Businesses!");
  47624. SendClientMessage(playerid, COLOR_GRAD2, " There are a variaty of businesses that are available to players.");
  47625. SendClientMessage(playerid, COLOR_GRAD2, " Not only can you buy from them but you could also purchase and own them!");
  47626. ClearLines(playerid, 1);
  47627. SendClientMessage(playerid, COLOR_GRAD2, " There are variaty of business types. You could own a: ammunation, general store, restaurant...");
  47628. SendClientMessage(playerid, COLOR_GRAD2, " ...and a whole lot more! Business owners make revenue from players who enter their business. ");
  47629. ClearLines(playerid, 1);
  47630. SendClientMessage(playerid, COLOR_GRAD2, " Available commands inside a business differ from their type. The most used however stands to be \"/buy\". ");
  47631. SendClientMessage(playerid, COLOR_GRAD2, " Inside a general store, you could purchase mask's, boombox's and more.");
  47632. PlayerTutorialStep[playerid] = 7;
  47633. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 7000, false, "i", playerid);
  47634. }
  47635. case 7: //Ammunation;
  47636. {
  47637. SendClientMessage(playerid, COLOR_GRAD2, "* Ammunation!");
  47638. SendClientMessage(playerid, COLOR_GRAD2, " As mentioned, the ammunation is one of the business types available for players to own.");
  47639. SendClientMessage(playerid, COLOR_GRAD2, " Players could legally purchase weapons inside ammunations.");
  47640. ClearLines(playerid, 1);
  47641. SendClientMessage(playerid, COLOR_GRAD2, " In order to purchase a weapon, you must possess a weapon's license.");
  47642. SendClientMessage(playerid, COLOR_GRAD2, " The {8D8DFF}Los Santos Police Department{E2FFFF} distributes weapon's license to players who apply.");
  47643. ClearLines(playerid, 1);
  47644. SendClientMessage(playerid, COLOR_GRAD2, " It's fast, easy and legal!");
  47645. PlayerTutorialStep[playerid] = 8;
  47646. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 7000, false, "i", playerid);
  47647. }
  47648. case 8: //Rentals;
  47649. {
  47650. SendClientMessage(playerid, COLOR_GRAD2, "* Rentals!");
  47651. SendClientMessage(playerid, COLOR_GRAD2, " When you spawn, you'll also need transportation.");
  47652. SendClientMessage(playerid, COLOR_GRAD2, " Rental vehicles are all around the city, including the airport."); ClearLines(playerid, 1);
  47653. SendClientMessage(playerid, COLOR_GRAD2, " Don't forget to return them or /unrentvehicle when you're finished with them!");
  47654. PlayerTutorialStep[playerid] = 9;
  47655. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 7000, false, "i", playerid);
  47656. }
  47657. case 9: //Property;
  47658. {
  47659. SendClientMessage(playerid, COLOR_GRAD2, "* Properties!");
  47660. SendClientMessage(playerid, COLOR_GRAD2, " Our server has over 500 properties available for purchase by players!");
  47661. SendClientMessage(playerid, COLOR_GRAD2, " They are all over the city and also affordable by newer players."); ClearLines(playerid, 1);
  47662. SendClientMessage(playerid, COLOR_GRAD2, " Our property system has a variaty of features available to players.");
  47663. SendClientMessage(playerid, COLOR_GRAD2, " You can check them out by viewing the Feature Documentation thread on it on our forums.");
  47664. PlayerTutorialStep[playerid] = 10;
  47665. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 4000, false, "i", playerid);
  47666. return 1;
  47667. }
  47668. case 10: //Conclusion;
  47669. {
  47670. SendClientMessage(playerid, COLOR_GRAD2, "* Conclusion!");
  47671. SendClientMessage(playerid, COLOR_GRAD2, " That concludes our short introduction to San Andreas '92 Singleplayer Roleplay.");
  47672. ClearLines(playerid, 1);
  47673. SendClientMessage(playerid, COLOR_GRAD2, " If you had or have any questions and concerns, you could use /helpme for a Helper to contact you.");
  47674. SendClientMessage(playerid, COLOR_GRAD2, " The staff teams priority is to ensure you receive all the help you need and have a fun time.");
  47675. ClearLines(playerid, 1);
  47676. SendClientMessage(playerid, COLOR_GRAD2, " At the beginning, you could roam around our server and check out whats available.");
  47677. SendClientMessage(playerid, COLOR_GRAD2, " If you get bored, lost, or just need anything in general, you're free to ask a staff member for direction!");
  47678. ClearLines(playerid, 1);
  47679. SendClientMessage(playerid, COLOR_GRAD2, " We truly hope you enjoy your time here.");
  47680. PlayerTutorialStep[playerid] = 11;
  47681. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 7000, false, "i", playerid);
  47682. }
  47683. case 11: //Create;
  47684. {
  47685. /*generateRandomRegQuestions(playerid);
  47686. SendClientMessage(playerid, COLOR_YELLOW, "You will now be required to go through a short in-game quiz. If you quit, you will have to re-do the quiz.");
  47687. ShowPlayerDialog(playerid, DIALOG_REG1, DIALOG_STYLE_INPUT, "Question 1", PlayerRegQuestion[playerid][playerRegQuestion][0], "Submit", "Exit");*/
  47688. new
  47689. query[240];
  47690. ClearLines(playerid, 20);
  47691. if(pLoggedIn[playerid] == true)
  47692. {
  47693. new
  47694. str[128];
  47695. format(str, sizeof(str), "%s was kicked for possibly exploiting account data.", ReturnName(playerid));
  47696. adminWarn(1, str);
  47697. printf("[DEBUG] %s was kicked with login error in registration.", ReturnName(playerid));
  47698. SendClientMessage(playerid, COLOR_ADM, "-> An error occurred with your account. Contact a developer with this message.");
  47699. KickEx(playerid);
  47700. return 1;
  47701. }
  47702. mysql_format(m_Handle, query, sizeof(query), "INSERT INTO players (Name, Password, RegisterIP) VALUES('%e', sha1('%e'), '%e')", ReturnName(playerid, 1), PlayerPassword[playerid], ReturnIP(playerid));
  47703. mysql_tquery(m_Handle, query, "SQL_OnAccountRegister", "i", playerid);
  47704. }
  47705. }
  47706. return 1;
  47707. }
  47708. /*Server:StartTutorialFlash(playerid)
  47709. {
  47710. PlayerTutorialTimer[playerid] = SetTimerEx("TutorialFlash", 1000, true, "i", playerid);
  47711. return 1;
  47712. }*/
  47713. /*Server:TutorialFlash(playerid)
  47714. {
  47715. switch(PlayerTutorialFlash[playerid])
  47716. {
  47717. case 0:
  47718. {
  47719. for(new i = 0; i < 3; i++)
  47720. PlayerTextDrawShow(playerid, Skinmenu_PTD[playerid][i]);
  47721. }
  47722. case 1:
  47723. {
  47724. for(new i = 0; i < 3; i++)
  47725. PlayerTextDrawHide(playerid, Skinmenu_PTD[playerid][i]);
  47726. }
  47727. case 2:
  47728. {
  47729. for(new i = 0; i < 3; i++)
  47730. PlayerTextDrawShow(playerid, Skinmenu_PTD[playerid][i]);
  47731. }
  47732. case 3:
  47733. {
  47734. for(new i = 0; i < 3; i++)
  47735. PlayerTextDrawHide(playerid, Skinmenu_PTD[playerid][i]);
  47736. KillTimer(PlayerTutorialTimer[playerid]);
  47737. PlayerTutorialStep[playerid] = 2;
  47738. PlayerTutorialTimer[playerid] = SetTimerEx("SetTutorial", 4000, false, "i", playerid);
  47739. }
  47740. }
  47741. PlayerTutorialFlash[playerid]++;
  47742. return 1;
  47743. }*/
  47744. //Support
  47745. stock OnSupportRequest(playerid, text[])
  47746. {
  47747. new
  47748. id = -1;
  47749. for(new i = 1; i < sizeof SupportData; i++) if(!SupportData[i][SupportExists])
  47750. {
  47751. id = i;
  47752. break;
  47753. }
  47754. if(id == -1)
  47755. return SendClientMessage(playerid, COLOR_ADM, "** An error occurred. Please /PM a Helper for support instead.");
  47756. SupportData[id][SupportExists] = true;
  47757. SupportData[id][SupportRequester] = PlayerData[playerid][pSQLID];
  47758. format(SupportData[id][SupportReason], 128, "%s", text);
  47759. SupportData[id][SupportTime] = gettime();
  47760. foreach(new i : Player) if(PlayerData[i][pHelperDuty])
  47761. {
  47762. if(strlen(text) > 85)
  47763. {
  47764. Message(i, COLOR_ADM, "[SUPPORT: %i] {FFFFFF}%s said: %.85s", id, ReturnName(playerid), text);
  47765. Message(i, COLOR_ADM, "[SUPPORT: %i] {FFFFFF}%s said: ...%s", id, ReturnName(playerid), text[85]);
  47766. }
  47767. else Message(i, COLOR_ADM, "[SUPPORT: %i] {FFFFFF}%s said: %s", id, ReturnName(playerid), text);
  47768. }
  47769. Message(playerid, COLOR_GOLD, "** Your Support Request was sent to online Helpers. You are the %s in queue.", ConvertNumber(id));
  47770. Message(playerid, COLOR_GOLD, "** You said: %s", text);
  47771. return 1;
  47772. }
  47773. stock ClearSupportRequest(id)
  47774. {
  47775. SupportData[id][SupportExists] = false;
  47776. SupportData[id][SupportRequester] = 0;
  47777. format(SupportData[id][SupportReason], 128, " ");
  47778. SupportData[id][SupportTime] = 0;
  47779. return 1;
  47780. }
  47781. stock ClearReport(id)
  47782. {
  47783. ReportData[id][reportExists] = false;
  47784. ReportData[id][reportBy] = 0;
  47785. ReportData[id][reportTime] = 0;
  47786. format(ReportData[id][reportReason], 128, " ");
  47787. return 1;
  47788. }
  47789. stock ClearPlayerOrder(playerid)
  47790. {
  47791. OrderedWeapon[playerid] = false;
  47792. //OrderWeaponTime[playerid] = 0;
  47793. WeaponOrderPrompt[playerid] = 0;
  47794. WeaponOrderDoneTime[playerid] = 0;
  47795. WeaponOrderPrice[playerid] = 0;
  47796. WeaponOrderSpot[playerid] = 0;
  47797. for(new i = 0; i < 2; i++)
  47798. {
  47799. WeaponOrdered[i][playerid] = 0;
  47800. WeaponOrderedName[i][playerid] = " ";
  47801. }
  47802. WeaponOrderArea[playerid] = 0;
  47803. KillTimer(WeaponOrderTimer[playerid]);
  47804. if(IsValidDynamicObject(WeaponOrderObject[playerid]))
  47805. DestroyDynamicObject(WeaponOrderObject[playerid]);
  47806. if(IsValidDynamicArea(WeaponOrderArea[playerid]))
  47807. DestroyDynamicArea(WeaponOrderObject[playerid]);
  47808. return 1;
  47809. }
  47810. //
  47811. stock SecondsToMinute(seconds)
  47812. {
  47813. new
  47814. minutes = 0;
  47815. if(seconds >= 60)
  47816. {
  47817. minutes++;
  47818. seconds-= 60;
  47819. }
  47820. return minutes;
  47821. }
  47822. stock ConvertNumber(number)
  47823. {
  47824. new
  47825. thstndrd[10],
  47826. str[60]
  47827. ;
  47828. switch(number)
  47829. {
  47830. case 1,21,31: format(thstndrd, sizeof(thstndrd), "st");
  47831. case 2,22: format(thstndrd, sizeof(thstndrd), "nd");
  47832. case 3,23: format(thstndrd, sizeof(thstndrd), "rd");
  47833. default: format(thstndrd, sizeof(thstndrd), "th");
  47834. }
  47835. format(str, 60, "%d%s", number, thstndrd);
  47836. return str;
  47837. }
  47838. stock GetOffsetFromVehicle(Float:posX, Float:posY, Float:posZ, vehicleid, &Float:X, &Float:Y, &Float:Z)
  47839. {
  47840. new
  47841. Float:pos[3], Float:rotZ, Float:off[2];
  47842. GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);
  47843. GetVehicleZAngle(vehicleid, rotZ);
  47844. off[0] = posX - pos[0];
  47845. off[1] = posY - pos[1];
  47846. X = off[0]*floatcos(rotZ, degrees)+off[1]*floatsin(rotZ, degrees);
  47847. Y = -off[0]*floatsin(rotZ, degrees)+off[1]*floatcos(rotZ, degrees);
  47848. Z = posZ - pos[2];
  47849. return 1;
  47850. }
  47851. /*stock GetOffsetFromVehicle(vehicle, &Float: x, &Float: y, &Float: z, &Float: rotz)
  47852. {
  47853. new Float:ofx, Float:ofy, Float:ofz, Float:ofaz, Float:finalx, Float:finaly, Float:px, Float:py, Float:pz, Float:roz;
  47854. GetVehiclePos(vehicle, px, py, pz);
  47855. GetVehicleZAngle(vehicle, roz);
  47856. ofx = x-px;
  47857. ofy = y-py;
  47858. ofz = z-pz;
  47859. ofaz = rz-roz;
  47860. finalx = ofxfloatcos(roz, degrees)+ofyfloatsin(roz, degrees);
  47861. finaly = -ofxfloatsin(roz, degrees)+ofyfloatcos(roz, degrees);
  47862. offsetX = finalx;
  47863. offsetY = finaly;
  47864. offsetZ = ofz;
  47865. offRotX = rx;
  47866. offRotY = ry;
  47867. offRotZ = ofaz;
  47868. return 1;
  47869. }*/
  47870. //Trucker
  47871. Server:UpdateTruckerEarnings(playerid)
  47872. {
  47873. new
  47874. str[30];
  47875. if(TruckerJobEarnings[playerid] < 1)
  47876. {
  47877. PlayerTextDrawColor(playerid, TruckerEarning_PTD[playerid][1], -1523963137);
  47878. for(new i = 0; i < 2; i++)
  47879. PlayerTextDrawShow(playerid, TruckerEarning_PTD[playerid][i]);
  47880. }
  47881. else
  47882. {
  47883. PlayerTextDrawColor(playerid, TruckerEarning_PTD[playerid][1], 8388863);
  47884. format(str, sizeof(str), "$%s", MoneyFormat(TruckerJobEarnings[playerid]));
  47885. PlayerTextDrawSetString(playerid, TruckerEarning_PTD[playerid][1], str);
  47886. for(new i = 0; i < 2; i++)
  47887. PlayerTextDrawShow(playerid, TruckerEarning_PTD[playerid][i]);
  47888. }
  47889. return 1;
  47890. }
  47891. CMD:truckerjob(playerid, params[])
  47892. {
  47893. if(PlayerData[playerid][pJob])
  47894. return SendClientMessage(playerid, COLOR_ADM, "[ ! ] You need to quit your job first.");
  47895. if(!IsPlayerInRangeOfPoint(playerid, 5.0, -516.1585, -539.9711, 25.5234))
  47896. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near the trucker job.");
  47897. PlayerData[playerid][pJob] = TRUCKER_JOB;
  47898. JobGetMessage(playerid);
  47899. return 1;
  47900. }
  47901. CMD:renttruck(playerid, params[])
  47902. {
  47903. if(PlayerData[playerid][pJob] != TRUCKER_JOB && PlayerData[playerid][pSidejob] != TRUCKER_JOB)
  47904. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't a Trucker. /truckerjob");
  47905. if(StartedTruckerMission[playerid])
  47906. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You're already doing the Trucker mission.");
  47907. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  47908. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  47909. new
  47910. vehicleid = GetPlayerVehicleID(playerid);
  47911. if(!IsTruckerVehicle(vehicleid))
  47912. return SendClientMessage(playerid, COLOR_ADM, "** You aren't in a trucker mission vehicle.");
  47913. if (!PlayerData[playerid][pDriversLicense])
  47914. return SendClientMessage(playerid, COLOR_ADM, "** You do not have a drivers license.");
  47915. if (TruckerVehicleRentedBy[vehicleid] == PlayerData[playerid][pSQLID])
  47916. return SendClientMessage(playerid, COLOR_ADM, "** You're already renting a trucker vehicle.");
  47917. if(TruckerVehicleRentedBy[playerid] != 0)
  47918. return SendClientMessage(playerid, COLOR_ADM, "** Sorry, this has already been rented.");
  47919. if(PlayerData[playerid][pMoney] < 2000)
  47920. return SendClientMessage(playerid, COLOR_ADM, "SERVER: Insufficient Funds.");
  47921. TruckerVehicleRentedBy[vehicleid] = PlayerData[playerid][pSQLID];
  47922. SendClientMessage(playerid, COLOR_ADM, "** You're now renting this truck!");
  47923. GiveMoney(playerid, -2000);
  47924. return 1;
  47925. }
  47926. CMD:endmission(playerid, params[])
  47927. {
  47928. if(!StartedTruckerMission[playerid])
  47929. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You haven't started the truckers mission to end.");
  47930. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  47931. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  47932. new
  47933. vehicleid = GetPlayerVehicleID(playerid),
  47934. str[128]
  47935. ;
  47936. if(vehicleid != TruckerMissionVehicle[playerid])
  47937. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You need to be in the vehicle you started with.");
  47938. if(isnull(params))
  47939. {
  47940. format(str, sizeof(str), "** Are you sure you want to end? You'll make a total earning of $%s. Type \"/endmission yes\".", MoneyFormat(TruckerJobEarnings[playerid]));
  47941. SendClientMessage(playerid, COLOR_ADM, str);
  47942. if(IsTruckerVehicle(vehicleid))
  47943. {
  47944. SendClientMessage(playerid, COLOR_ADM, "** Since you're in a trucker vehicle, it'll respawn when you end.");
  47945. }
  47946. return 1;
  47947. }
  47948. if(!strcmp(params, "yes"))
  47949. {
  47950. if(IsTruckerVehicle(vehicleid))
  47951. {
  47952. if(SpawnedTrailer[playerid])
  47953. {
  47954. DestroyVehicle(TrailerID[playerid]);
  47955. KillTimer(TrailerTimer[playerid]);
  47956. SpawnedTrailer[playerid] = false;
  47957. }
  47958. CarEngine[vehicleid] = false;
  47959. ToggleVehicleEngine(vehicleid, false);
  47960. SetVehicleToRespawn(vehicleid);
  47961. TruckerVehicleRentedBy[vehicleid] = 0;
  47962. TruckerMissionVehicle[playerid] = 0;
  47963. }
  47964. GiveMoney(playerid, TruckerJobEarnings[playerid]);
  47965. format(str, sizeof(str), "** You ended and received $%s from earnings.", MoneyFormat(TruckerJobEarnings[playerid]));
  47966. SendClientMessage(playerid, COLOR_ADM, str);
  47967. StartedTruckerMission[playerid] = false;
  47968. KillTimer(TruckerJobTimer[playerid]);
  47969. if(TruckerMissionStep[playerid] == 2)
  47970. {
  47971. TogglePlayerControllable(playerid, 1);
  47972. KillTimer(TruckerJobDeliverTimer[playerid]);
  47973. }
  47974. for(new i = 0; i < 2; i++)
  47975. PlayerTextDrawHide(playerid, TruckerEarning_PTD[playerid][i]);
  47976. DisablePlayerCheckpoint(playerid);
  47977. }
  47978. return 1;
  47979. }
  47980. CMD:usetrailer(playerid, params[])
  47981. {
  47982. if(PlayerData[playerid][pJob] != TRUCKER_JOB && PlayerData[playerid][pSidejob] != TRUCKER_JOB)
  47983. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't a Trucker. /truckerjob");
  47984. if(!IsPlayerInRangeOfPoint(playerid, 8.0, 96.6237, -290.1677, 1.5781))
  47985. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't near the trailer pickup site.");
  47986. if(StartedTruckerMission[playerid])
  47987. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You're already doing the Trucker mission. End it first.");
  47988. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  47989. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  47990. if(!IsRoadTrain(GetPlayerVehicleID(playerid)))
  47991. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You don't have a Roadtrain.");
  47992. if(SpawnedTrailer[playerid])
  47993. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You already spawned a trailer.");
  47994. TrailerAttachTime[playerid] = 0;
  47995. SpawnedTrailer[playerid] = true;
  47996. TruckerMissionVehicle[playerid] = GetPlayerVehicleID(playerid);
  47997. TrailerID[playerid] = CreateVehicle(435, 59.7877, -246.2915, 1.5781, 358, 0, 0, -1);
  47998. TrailerTimer[playerid] = SetTimerEx("UpdateTrailerStatus", 1000, true, "ii", playerid, TrailerID[playerid]);
  47999. SendClientMessage(playerid, COLOR_ADM, "** Your trailer has spawned. You have (60) seconds to attach it to your vehicle.");
  48000. DisablePlayerCheckpoint(playerid);
  48001. return 1;
  48002. }
  48003. CMD:truckermission(playerid, params[])
  48004. {
  48005. if(PlayerData[playerid][pJob] != TRUCKER_JOB && PlayerData[playerid][pSidejob] != TRUCKER_JOB)
  48006. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't a Trucker. /truckerjob");
  48007. if(StartedTruckerMission[playerid])
  48008. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You're already doing the Trucker mission.");
  48009. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  48010. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't driving a vehicle.");
  48011. new
  48012. vehicleid = GetPlayerVehicleID(playerid);
  48013. if(!IsTruckerVehicle(vehicleid) && !IsRoadTrain(vehicleid) && !IsSadler(vehicleid))
  48014. return SendClientMessage(playerid, COLOR_ADM, "** You need to be in a Roadtrain or Sadler to start.");
  48015. if(IsTruckerVehicle(vehicleid) && TruckerVehicleRentedBy[vehicleid] != PlayerData[playerid][pSQLID])
  48016. {
  48017. SendClientMessage(playerid, COLOR_ADM, "** You haven't rented this yet. Use /renttruck!");
  48018. return 1;
  48019. }
  48020. if(IsRoadTrain(vehicleid))
  48021. {
  48022. if(!IsTrailerAttachedToVehicle(vehicleid))
  48023. {
  48024. SetPlayerCheckpoint(playerid, 96.6237, -290.1677, 1.5781, 1.0);
  48025. SendClientMessage(playerid, COLOR_ADM, "** It looks like you don't have a trailer for your Roadtrain.");
  48026. SendClientMessage(playerid, COLOR_ADM, "** Head to the Blueberry factories and grab a trailer.");
  48027. if(CarEngine[vehicleid] != 1)
  48028. {
  48029. CarEngine[vehicleid] = true;
  48030. ToggleVehicleEngine(vehicleid, true);
  48031. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s started the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  48032. GameTextForPlayer(playerid, "~g~ENGINE ON", 2000, 4);
  48033. }
  48034. return 1;
  48035. }
  48036. else
  48037. {
  48038. new
  48039. vehicle;
  48040. vehicle = GetVehicleTrailer(vehicleid);
  48041. if(GetVehicleModel(vehicle) != 435)
  48042. {
  48043. SetPlayerCheckpoint(playerid, 96.6237, -290.1677, 1.5781, 1.0);
  48044. SendClientMessage(playerid, COLOR_ADM, "** You have the wrong trailer on your Roadtrain.");
  48045. SendClientMessage(playerid, COLOR_ADM, "** Head to the Blueberry factories and grab a trailer.");
  48046. if(CarEngine[vehicleid] != 1)
  48047. {
  48048. CarEngine[vehicleid] = true;
  48049. ToggleVehicleEngine(vehicleid, true);
  48050. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s started the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  48051. GameTextForPlayer(playerid, "~g~ENGINE ON", 2000, 4);
  48052. }
  48053. }
  48054. else
  48055. {
  48056. TrailerTimer[playerid] = SetTimerEx("UpdateTrailerDetails", 1000, true, "ii", playerid, TrailerID[playerid]);
  48057. }
  48058. }
  48059. }
  48060. if(IsTruckerVehicle(vehicleid))
  48061. {
  48062. if(!CarEngine[vehicleid])
  48063. {
  48064. CarEngine[vehicleid] = true;
  48065. ToggleVehicleEngine(vehicleid, true);
  48066. SendNearbyMessage(playerid, 20.0, COLOR_EMOTE, "* %s started the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleName(vehicleid));
  48067. GameTextForPlayer(playerid, "~g~ENGINE ON", 2000, 4);
  48068. }
  48069. }
  48070. StartedTruckerMission[playerid] = true;
  48071. TruckerMissionVehicle[playerid] = vehicleid;
  48072. TruckerMissionStep[playerid] = 1;
  48073. // 1 - delivering;
  48074. // 2 - on scene, go out
  48075. TruckerMissionPoint[playerid] = GetRandomBusiness();
  48076. PlayerTextDrawSetString(playerid, TruckerEarning_PTD[playerid][1], "$0");
  48077. TruckerJobEarnings[playerid] = 0;
  48078. SetPlayerCheckpoint(playerid, BusinessData[TruckerMissionPoint[playerid]][businessExt][0], BusinessData[TruckerMissionPoint[playerid]][businessExt][1], BusinessData[TruckerMissionPoint[playerid]][businessExt][2], 1.0);
  48079. TruckerJobTimer[playerid] = SetTimerEx("TruckerJobMessage", 3000, false, "i", playerid);
  48080. for(new i = 0; i < 2; i++)
  48081. PlayerTextDrawShow(playerid, TruckerJob_PTD[playerid][i]);
  48082. SendClientMessage(playerid, COLOR_ADM, "** You started a Trucker mission.");
  48083. SendClientMessage(playerid, COLOR_WHITE, "Objective: Follow your GPS to the business coordinates provided.");
  48084. SendClientMessage(playerid, COLOR_WHITE, "Objective: Once your there, you need to get out and deliver the products.");
  48085. return 1;
  48086. }
  48087. /*CMD:gps(playerid, params[]) {
  48088. if (!pLoggedIn[playerid])
  48089. return true;
  48090. return ShowPlayerDialog(playerid, DIALOG_GPS1, DIALOG_STYLE_LIST, "GPS", "24/7\nDealerships\nBanks\nJobs", "Select", "Exit");
  48091. }*/
  48092. Server:TruckerJobMessage(playerid)
  48093. {
  48094. for(new i = 0; i < 2; i++)
  48095. PlayerTextDrawHide(playerid, TruckerJob_PTD[playerid][i]);
  48096. for(new i = 0; i < 2; i++)
  48097. PlayerTextDrawShow(playerid, TruckerEarning_PTD[playerid][i]);
  48098. TruckerJobTimer[playerid] = SetTimerEx("UpdateTruckerEarnings", 1000, true, "i", playerid);
  48099. return 1;
  48100. }
  48101. Server:OnTruckerDelivery(playerid)
  48102. {
  48103. new
  48104. str[90];
  48105. TruckerJobDeliveryCount[playerid]++;
  48106. format(str, sizeof(str), "(%d/30)", TruckerJobDeliveryCount[playerid]);
  48107. GameTextForPlayer(playerid, str, 3000, 6);
  48108. format(str, sizeof(str), "* %s is delivering.", ReturnName(playerid, 0));
  48109. SetPlayerChatBubble(playerid, str, COLOR_EMOTE, 10.0, 2000);
  48110. if(TruckerJobDeliveryCount[playerid] >= 30)
  48111. {
  48112. KillTimer(TruckerJobDeliverTimer[playerid]);
  48113. TogglePlayerControllable(playerid, 1);
  48114. for(new i = 0; i < 2; i++)
  48115. PlayerTextDrawShow(playerid, TruckerWarning_PTD[playerid][i]);
  48116. TruckerJobExitTimer[playerid] = SetTimerEx("OnExitTrucker", 1000, true, "i", playerid);
  48117. TruckerJobExitCount[playerid] = 60;
  48118. format(str, sizeof(str), "* %s finishes their delivery.", ReturnName(playerid, 0));
  48119. SetPlayerChatBubble(playerid, str, COLOR_EMOTE, 10.0, 2000);
  48120. TruckerMissionStep[playerid] = 3;
  48121. SendClientMessage(playerid, COLOR_ADM, "** You finished your delivery. Return back to your truck.");
  48122. }
  48123. return 1;
  48124. }
  48125. Server:UpdateTrailerStatus(playerid, trailerid)
  48126. {
  48127. new
  48128. str[128];
  48129. TrailerAttachTime[playerid]++;
  48130. format(str, sizeof(str), "~r~(%d/60)", TrailerAttachTime[playerid]);
  48131. GameTextForPlayer(playerid, str, 3000, 6);
  48132. if(TrailerAttachTime[playerid] >= 60)
  48133. {
  48134. KillTimer(TrailerTimer[playerid]);
  48135. TrailerAttachTime[playerid] = 0;
  48136. SpawnedTrailer[playerid] = false;
  48137. TruckerMissionVehicle[playerid] = 0;
  48138. DestroyVehicle(TrailerID[playerid]);
  48139. return 1;
  48140. }
  48141. if(IsTrailerAttachedToVehicle(TruckerMissionVehicle[playerid]))
  48142. {
  48143. new
  48144. trailer_id;
  48145. trailer_id = GetVehicleTrailer(TruckerMissionVehicle[playerid]);
  48146. if(trailer_id == trailerid)
  48147. {
  48148. GameTextForPlayer(playerid, "You can now~n~~r~/truckermission!", 3000, 4);
  48149. TrailerAttachTime[playerid] = 0;
  48150. KillTimer(TrailerTimer[playerid]);
  48151. }
  48152. }
  48153. return 1;
  48154. }
  48155. Server:UpdateTrailerDetails(playerid, trailerid)
  48156. {
  48157. new
  48158. vehicleid = GetPlayerVehicleID(playerid),
  48159. othervehicle = GetVehicleTrailer(TruckerMissionVehicle[playerid]);
  48160. if(!IsTrailerAttachedToVehicle(TruckerMissionVehicle[playerid]) || othervehicle != trailerid)
  48161. {
  48162. new
  48163. str[128];
  48164. TrailerAttachTime[playerid]++;
  48165. format(str, sizeof(str), "Return your trailer!~n~~b~(%d/60)", TrailerAttachTime[playerid]);
  48166. GameTextForPlayer(playerid, str, 3000, 3);
  48167. if(TrailerAttachTime[playerid] >= 60)
  48168. {
  48169. if(IsTruckerVehicle(vehicleid))
  48170. {
  48171. if(IsRoadTrain(vehicleid))
  48172. {
  48173. DestroyVehicle(TrailerID[playerid]);
  48174. KillTimer(TrailerTimer[playerid]);
  48175. SpawnedTrailer[playerid] = false;
  48176. }
  48177. CarEngine[vehicleid] = false;
  48178. ToggleVehicleEngine(vehicleid, false);
  48179. SetVehicleToRespawn(vehicleid);
  48180. TruckerVehicleRentedBy[vehicleid] = 0;
  48181. TruckerMissionVehicle[playerid] = 0;
  48182. }
  48183. GiveMoney(playerid, TruckerJobEarnings[playerid]);
  48184. format(str, sizeof(str), "** We ended your mission with your $%s earnings.", MoneyFormat(TruckerJobEarnings[playerid]));
  48185. SendClientMessage(playerid, COLOR_ADM, str);
  48186. StartedTruckerMission[playerid] = false;
  48187. KillTimer(TruckerJobTimer[playerid]);
  48188. KillTimer(TrailerTimer[playerid]);
  48189. if(TruckerMissionStep[playerid] == 2)
  48190. {
  48191. TogglePlayerControllable(playerid, 1);
  48192. KillTimer(TruckerJobDeliverTimer[playerid]);
  48193. }
  48194. for(new i = 0; i < 2; i++)
  48195. PlayerTextDrawHide(playerid, TruckerEarning_PTD[playerid][i]);
  48196. DisablePlayerCheckpoint(playerid);
  48197. return 1;
  48198. }
  48199. }
  48200. else TrailerAttachTime[playerid] = 0;
  48201. return 1;
  48202. }
  48203. stock RewardTruckerMission(playerid)
  48204. {
  48205. new
  48206. str[128],
  48207. tip_amount;
  48208. TruckerMissionStep[playerid] = 1;
  48209. if(IsSadler(GetPlayerVehicleID(playerid)))
  48210. TruckerJobEarnings[playerid] += random(200)+500;
  48211. else if(IsRoadTrain(GetPlayerVehicleID(playerid)))
  48212. TruckerJobEarnings[playerid] += random(1000)+500;
  48213. tip_amount = random(100)+100;
  48214. switch(random(20))
  48215. {
  48216. case 2, 4, 6, 8, 10, 12:
  48217. {
  48218. format(str, sizeof(str), "* %s's generous owner gave you a $%s tip for the distribution.", BusinessData[TruckerMissionPoint[playerid]][businessName], MoneyFormat(tip_amount));
  48219. SendClientMessage(playerid, COLOR_EMOTE, str);
  48220. TruckerJobEarnings[playerid]+= tip_amount;
  48221. }
  48222. }
  48223. TruckerMissionPoint[playerid] = GetRandomBusiness();
  48224. SetPlayerCheckpoint(playerid, BusinessData[TruckerMissionPoint[playerid]][businessExt][0], BusinessData[TruckerMissionPoint[playerid]][businessExt][1], BusinessData[TruckerMissionPoint[playerid]][businessExt][2], 1.0);
  48225. SendClientMessage(playerid, COLOR_ADM, "** Your objective has been updated. Follow to the new coordinates.");
  48226. return 1;
  48227. }
  48228. stock EndTruckerMission(playerid)
  48229. {
  48230. StartedTruckerMission[playerid] = false;
  48231. TruckerJobEarnings[playerid] = 0;
  48232. TruckerJobDeliveryCount[playerid] = 0;
  48233. if(SpawnedTrailer[playerid])
  48234. {
  48235. SpawnedTrailer[playerid] = false;
  48236. DestroyVehicle(TrailerID[playerid]);
  48237. }
  48238. if(IsTruckerVehicle(TruckerMissionVehicle[playerid]))
  48239. {
  48240. SetVehicleToRespawn(TruckerMissionVehicle[playerid]);
  48241. TruckerMissionVehicle[playerid] = 0;
  48242. }
  48243. if(TruckerMissionStep[playerid] == 2)
  48244. {
  48245. TogglePlayerControllable(playerid, 1);
  48246. KillTimer(TruckerJobDeliverTimer[playerid]);
  48247. }
  48248. for(new i = 0; i < 2; i++)
  48249. PlayerTextDrawHide(playerid, TruckerEarning_PTD[playerid][i]);
  48250. for(new i = 0; i < 2; i++)
  48251. PlayerTextDrawHide(playerid, TruckerWarning_PTD[playerid][i]);
  48252. DisablePlayerCheckpoint(playerid);
  48253. TruckerMissionPoint[playerid] = 0;
  48254. TruckerMissionStep[playerid] = 0;
  48255. KillTimer(TrailerTimer[playerid]);
  48256. KillTimer(TruckerJobTimer[playerid]);
  48257. return 1;
  48258. }
  48259. Server:OnExitTrucker(playerid)
  48260. {
  48261. new
  48262. count_str[90];
  48263. TruckerJobExitCount[playerid]--;
  48264. format(count_str, 90, "TIME LEFT: %i Seconds", TruckerJobExitCount[playerid]);
  48265. PlayerTextDrawSetString(playerid, TruckerWarning_PTD[playerid][1], count_str);
  48266. for(new i = 0; i < 2; i++)
  48267. PlayerTextDrawShow(playerid, TruckerWarning_PTD[playerid][i]);
  48268. if(TruckerJobExitCount[playerid] <= 1)
  48269. {
  48270. for(new i = 0; i < 2; i++)
  48271. PlayerTextDrawHide(playerid, TruckerWarning_PTD[playerid][i]);
  48272. TruckerJobExitCount[playerid] = 0;
  48273. KillTimer(TruckerJobExitTimer[playerid]);
  48274. if(TruckerJobEarnings[playerid] != 0)
  48275. {
  48276. format(count_str, sizeof(count_str), "You got your $%s earnings and stopped.", MoneyFormat(TruckerJobEarnings[playerid]));
  48277. SendClientMessage(playerid, COLOR_ADM, count_str);
  48278. GiveMoney(playerid, TruckerJobEarnings[playerid]);
  48279. }
  48280. EndTruckerMission(playerid);
  48281. }
  48282. return 1;
  48283. }
  48284. stock GetRandomBusiness()
  48285. {
  48286. new
  48287. value;
  48288. for(new i = 1; i < sizeof(BusinessData); i++)
  48289. {
  48290. if(!BusinessData[i][businessID])
  48291. continue;
  48292. value = random(i);
  48293. }
  48294. if(value == 0 || value > MAX_BUSINESS) return GetRandomBusiness();
  48295. return value;
  48296. }
  48297. //
  48298. stock ShowPlayerFines(receiver, viewing)
  48299. {
  48300. new
  48301. caption[90], primary_str[800], sub_str[128], hasFines = 0;
  48302. CheckingPlayerFine[receiver] = viewing;
  48303. for (new i = 0; i < 30; i++)
  48304. {
  48305. if(!Fines[viewing][i][Fine_ID])
  48306. continue;
  48307. hasFines++;
  48308. format(sub_str, sizeof(sub_str), "{FFFFFF}Fine {ADC3E7}[%i]{FFFFFF} $%s by '%s'\n", Fines[viewing][i][Fine_ID], MoneyFormat(Fines[viewing][i][Fine_Amount]), Fines[viewing][i][Fine_Issuer]);
  48309. strcat(primary_str, sub_str);
  48310. }
  48311. format(caption, sizeof(caption), "{ADC3E7}%s' fines:", ReturnName(viewing, 1), hasFines);
  48312. if(!hasFines)
  48313. {
  48314. strcat(primary_str, "There are no fines to list.\n");
  48315. if(IsPoliceFaction(receiver) && PlayerData[receiver][pLAWduty]) strcat(primary_str, "{FFFF00}**Click here to clear a fine.\n");
  48316. return ShowPlayerDialog(receiver, DIALOG_FINES, DIALOG_STYLE_LIST, caption, primary_str, ">>", "<<");
  48317. }
  48318. if(IsPoliceFaction(receiver) && PlayerData[receiver][pLAWduty]) strcat(primary_str, "{FFFF00}**Click here to clear a fine.\n");
  48319. ShowPlayerDialog(receiver, DIALOG_FINES, DIALOG_STYLE_LIST, caption, primary_str, "Select", "<<");
  48320. return 1;
  48321. }
  48322. Server:OnDeletePlayerFine(playerid, id)
  48323. {
  48324. new
  48325. str[128];
  48326. format(str, sizeof(str), "** HQ: %s %s removed Fine #%s!", ReturnRank(playerid), ReturnName(playerid, 0), MoneyFormat(id));
  48327. SendLawMessage(COLOR_COP, str);
  48328. foreach(new i : Player)
  48329. {
  48330. for(new f = 0; f < sizeof(Fines); f++)
  48331. {
  48332. if(Fines[i][f][Fine_ID] == id)
  48333. {
  48334. format(str, sizeof(str), "[ ! ] Your fine (Fine #%s) was removed by %s %s!", MoneyFormat(id), ReturnRank(playerid), ReturnName(playerid, 0));
  48335. SendClientMessage(i, 0x105289FF, str);
  48336. Fines[i][f][Fine_ID] = 0;
  48337. Fines[i][f][Fine_Amount] = 0;
  48338. }
  48339. }
  48340. }
  48341. ShowPlayerDialog(playerid, DIALOG_USE, DIALOG_STYLE_MSGBOX, "Fines:", "{105289}You successfully removed a fine.", ">>", "<<");
  48342. return 1;
  48343. }
  48344. stock CountVehicleFines(vehicleid)
  48345. {
  48346. new
  48347. fineCount = 0;
  48348. for(new i = 0; i < 30; i++) if(VehicleFines[vehicleid][i][Fine_ID])
  48349. fineCount++;
  48350. return fineCount;
  48351. }
  48352. stock CountVehicleFinesTotal(vehicleid)
  48353. {
  48354. new
  48355. totalCount;
  48356. for(new i = 0; i < 30; i++) if(VehicleFines[vehicleid][i][Fine_ID])
  48357. totalCount+= VehicleFines[vehicleid][i][Fine_Amount];
  48358. return totalCount;
  48359. }
  48360. stock ClearVehicleFines(vehicleid)
  48361. {
  48362. new
  48363. clearQuery[128];
  48364. mysql_format(m_Handle, clearQuery, sizeof(clearQuery), "DELETE FROM vehicle_fines WHERE vehicle_dbid = %i", CarData[vehicleid][carID]);
  48365. mysql_tquery(m_Handle, clearQuery, "OnVehicleFinesCleared", "i", vehicleid);
  48366. return 1;
  48367. }
  48368. Server:OnVehicleFinesCleared(vehicleid)
  48369. {
  48370. for(new i = 0; i < 30; i++)
  48371. {
  48372. if(VehicleFines[vehicleid][i][Fine_ID])
  48373. {
  48374. VehicleFines[vehicleid][i][Fine_ID] = 0;
  48375. VehicleFines[vehicleid][i][Fine_Amount] = 0;
  48376. }
  48377. }
  48378. return printf("[DEBUG] Vehicle DBID (%d) fines were cleared.", vehicleid);
  48379. }
  48380. //Taxi:
  48381. CMD:taxijob(playerid, params[])
  48382. {
  48383. if(PlayerData[playerid][pJob])
  48384. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You already have a job.");
  48385. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  48386. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a vehicle.");
  48387. if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 420 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 438)
  48388. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a Taxi.");
  48389. PlayerData[playerid][pJob] = TAXI_JOB;
  48390. JobGetMessage(playerid);
  48391. return 1;
  48392. }
  48393. CMD:taxi(playerid, params[])
  48394. {
  48395. if(PlayerData[playerid][pJob] != TAXI_JOB && PlayerData[playerid][pSidejob] != TAXI_JOB)
  48396. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't a taxi driver. Use /taxijob inside a taxi. ");
  48397. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  48398. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You aren't in a vehicle.");
  48399. new
  48400. str_a[30], str_b[30], str[128], vehicleid = GetPlayerVehicleID(playerid);
  48401. if(sscanf(params, "s[30]S()[30]", str_a, str_b))
  48402. {
  48403. SendClientMessage(playerid, COLOR_ADM, "USAGE: /taxi [params]");
  48404. SendClientMessage(playerid, COLOR_ADM, "-> \"start\" - starts the taxi fare if someones in your taxi.");
  48405. SendClientMessage(playerid, COLOR_ADM, "-> \"stop\" - stop the taxi fare.");
  48406. SendClientMessage(playerid, COLOR_ADM, "-> \"fare\" - sets the price of your fare also displays current fare.");
  48407. SendClientMessage(playerid, COLOR_ADM, "-> \"duty\" - go on taxi duty with a yellow name.");
  48408. return 1;
  48409. }
  48410. if(!strcmp(str_a, "start"))
  48411. {
  48412. new anyPlayers = 0;
  48413. if(!StartedTaxiJob[playerid])
  48414. return SendClientMessage(playerid, COLOR_YELLOW, "-> You need to go on taxi duty first.");
  48415. if(TaxiFairStarted[playerid])
  48416. return SendClientMessage(playerid, COLOR_YELLOW, "-> Your fare is active. Stop it first.");
  48417. foreach (new i : Player)
  48418. {
  48419. if(i == playerid)
  48420. continue;
  48421. if(IsPlayerInVehicle(i, vehicleid))
  48422. {
  48423. anyPlayers++;
  48424. InTaxiRide[i] = 1;
  48425. TaxiDriver[i] = PlayerData[playerid][pSQLID];
  48426. TaxiDuration[i] = gettime();
  48427. TaxiPrice[i] = 0;
  48428. for(new c = 0; c < 5; c++)
  48429. PlayerTextDrawShow(i, TaxiFair_PTD[playerid][c]);
  48430. TaxiDurationTimer[i] = SetTimerEx("UpdateTaxiDuration", 1000, true, "i", i);
  48431. TaxiFairTimer[i] = SetTimerEx("UpdateTaxiFair", 3000, true, "i",i);
  48432. format(str, sizeof(str), "-> Taxi Driver %s started your ride. (Fare: $%d)", ReturnName(playerid, 0), TaxiFair[playerid]);
  48433. SendClientMessage(i, COLOR_YELLOW, str);
  48434. }
  48435. }
  48436. if(!anyPlayers)
  48437. return SendClientMessage(playerid, COLOR_YELLOW, "-> There's nobody in your taxi. You can't start a fare.");
  48438. TaxiDriverTimer[playerid] = SetTimerEx("OnTaxiFair", 1000, true, "i", playerid);
  48439. TaxiFairStarted[playerid] = 1;
  48440. TaxiDuration[playerid] = gettime();
  48441. TaxiTotalFair[playerid] = 0;
  48442. for(new f = 0; f < 5; f++)
  48443. PlayerTextDrawShow(playerid, TaxiFair_PTD[playerid][f]);
  48444. }
  48445. else if(!strcmp(str_a, "stop"))
  48446. {
  48447. if(!TaxiFairStarted[playerid])
  48448. return SendClientMessage(playerid, COLOR_YELLOW, "-> You haven't started a fare yet.");
  48449. foreach(new i : Player)
  48450. {
  48451. if(InTaxiRide[i] && TaxiDriver[i] == PlayerData[playerid][pSQLID])
  48452. {
  48453. EndTaxiFair(i);
  48454. SendClientMessage(i, COLOR_YELLOW, "-> Your taxi driver ended the fare.");
  48455. }
  48456. }
  48457. EndTaxiFairDriver(playerid);
  48458. SendClientMessage(playerid, COLOR_YELLOW, "-> You ended the fare.");
  48459. }
  48460. else if(!strcmp(str_a, "fare"))
  48461. {
  48462. new
  48463. price;
  48464. if(sscanf(str_b, "i", price))
  48465. {
  48466. SendClientMessage(playerid, COLOR_ADM, "USAGE: /taxi fare [price $10-$25]");
  48467. format(str, sizeof(str), "[ ! ] Current fare: $%d", TaxiFair[playerid]);
  48468. SendClientMessage(playerid, COLOR_ADM, str);
  48469. return 1;
  48470. }
  48471. if(price < 10 || price > 25)
  48472. return SendClientMessage(playerid, COLOR_ADM, "SERVER: The price has to be between $10 - $25.");
  48473. if(TaxiFairStarted[playerid])
  48474. return SendClientMessage(playerid, COLOR_ADM, "SERVER: You end your active fare first.");
  48475. TaxiFair[playerid] = price;
  48476. format(str, sizeof(str), "-> You set your taxi's fair to: $%d", price);
  48477. SendClientMessage(playerid, COLOR_YELLOW, str);
  48478. }
  48479. else if(!strcmp(str_a, "duty"))
  48480. {
  48481. if(StartedTaxiJob[playerid])
  48482. {
  48483. if(!PlayerData[playerid][pHelperDuty] && !PlayerData[playerid][pAdminDuty])
  48484. SetPlayerColor(playerid, COLOR_WHITE);
  48485. StartedTaxiJob[playerid] = false;
  48486. SendClientMessage(playerid, COLOR_YELLOW, "-> You went off taxi duty.");
  48487. }
  48488. else
  48489. {
  48490. if(!PlayerData[playerid][pHelperDuty] && !PlayerData[playerid][pAdminDuty])
  48491. SetPlayerColor(playerid, COLOR_YELLOW);
  48492. StartedTaxiJob[playerid] = true;
  48493. format(str, sizeof(str), "-> You went on taxi duty. (Fare: $%d)", TaxiFair[playerid]);
  48494. SendClientMessage(playerid, COLOR_YELLOW, str);
  48495. }
  48496. }
  48497. else return SendClientMessage(playerid, COLOR_YELLOW, "SERVER: Invalid Parameter.");
  48498. return 1;
  48499. }
  48500. Server:UpdateTaxiDuration(playerid)
  48501. {
  48502. if(!IsPlayerInAnyVehicle(playerid))
  48503. EndTaxiFair(playerid);
  48504. else
  48505. {
  48506. new
  48507. updateStr[90];
  48508. format(updateStr, 90, "%i Seconds", gettime() - TaxiDuration[playerid]);
  48509. PlayerTextDrawSetString(playerid, TaxiFair_PTD[playerid][2], updateStr);
  48510. format(updateStr, 90, "$%s", MoneyFormat(TaxiPrice[playerid]));
  48511. PlayerTextDrawSetString(playerid, TaxiFair_PTD[playerid][4], updateStr);
  48512. for(new i = 0; i < 5; i++)
  48513. PlayerTextDrawShow(playerid, TaxiFair_PTD[playerid][i]);
  48514. }
  48515. return 1;
  48516. }
  48517. Server:UpdateTaxiFair(playerid)
  48518. {
  48519. new
  48520. driver;
  48521. foreach(new i : Player) if(PlayerData[i][pSQLID] == TaxiDriver[playerid])
  48522. driver = i;
  48523. TaxiPrice[playerid]+= TaxiFair[driver];
  48524. TaxiTotalFair[driver]+= TaxiFair[driver];
  48525. return 1;
  48526. }
  48527. Server:OnTaxiFair(playerid)
  48528. {
  48529. new
  48530. updateStr[90],
  48531. hasRiders;
  48532. foreach(new i : Player)
  48533. {
  48534. if(i == playerid)
  48535. continue;
  48536. if(IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)) && TaxiDriver[i] == PlayerData[playerid][pSQLID])
  48537. {
  48538. hasRiders = true;
  48539. }
  48540. }
  48541. if(!hasRiders)
  48542. {
  48543. EndTaxiFairDriver(playerid);
  48544. return 1;
  48545. }
  48546. if(!IsPlayerInAnyVehicle(playerid))
  48547. {
  48548. foreach(new i : Player) if(TaxiDriver[i] == PlayerData[playerid][pSQLID])
  48549. {
  48550. SendClientMessage(i, COLOR_YELLOW, "-> Your taxi driver left their vehicle. The fare ended.");
  48551. EndTaxiFair(i);
  48552. }
  48553. SendClientMessage(playerid, COLOR_YELLOW, "-> You ended your fares by exiting.");
  48554. EndTaxiFairDriver(playerid);
  48555. return 1;
  48556. }
  48557. format(updateStr, 90, "%i Seconds", gettime() - TaxiDuration[playerid]);
  48558. PlayerTextDrawSetString(playerid, TaxiFair_PTD[playerid][2], updateStr);
  48559. format(updateStr, 90, "$%s", MoneyFormat(TaxiTotalFair[playerid]));
  48560. PlayerTextDrawSetString(playerid, TaxiFair_PTD[playerid][4], updateStr);
  48561. for(new i = 0; i < 5; i++)
  48562. PlayerTextDrawShow(playerid, TaxiFair_PTD[playerid][i]);
  48563. return 1;
  48564. }
  48565. stock EndTaxiFairDriver(playerid)
  48566. {
  48567. for(new i = 0; i < 5; i++)
  48568. PlayerTextDrawHide(playerid, TaxiFair_PTD[playerid][i]);
  48569. KillTimer(TaxiDriverTimer[playerid]);
  48570. TaxiFairStarted[playerid] = 0;
  48571. TaxiDuration[playerid] = 0;
  48572. TaxiTotalFair[playerid] = 0;
  48573. return 1;
  48574. }
  48575. stock EndTaxiFair(playerid)
  48576. {
  48577. for(new i = 0; i < 5; i++)
  48578. PlayerTextDrawHide(playerid, TaxiFair_PTD[playerid][i]);
  48579. InTaxiRide[playerid] = 0;
  48580. TaxiDuration[playerid] = 0;
  48581. new foundDriver;
  48582. foreach(new i : Player)
  48583. {
  48584. if(PlayerData[i][pSQLID] == TaxiDriver[playerid])
  48585. {
  48586. foundDriver = 1;
  48587. GiveMoney(i, TaxiPrice[playerid]);
  48588. GiveMoney(playerid, -TaxiPrice[playerid]);
  48589. }
  48590. }
  48591. if(!foundDriver)
  48592. GiveMoney(playerid, -TaxiPrice[playerid]);
  48593. KillTimer(TaxiDurationTimer[playerid]);
  48594. KillTimer(TaxiFairTimer[playerid]);
  48595. TaxiDriver[playerid] = 0;
  48596. TaxiPrice[playerid] = 0;
  48597. return 1;
  48598. }
  48599. //
  48600. stock GetRoadblockNameFromModel(model_id)
  48601. {
  48602. new
  48603. modelname[30] = "None";
  48604. for(new i = 0; i < sizeof(g_aRoadblocks); i++)
  48605. {
  48606. if(model_id == g_aRoadblocks[i][RoadblockModel])
  48607. {
  48608. format(modelname, 30, "%s", g_aRoadblocks[i][RoadblockName]);
  48609. }
  48610. }
  48611. return modelname;
  48612. }
  48613. stock IsPlayerNearRoadblock(playerid)
  48614. {
  48615. for(new i = 0; i < sizeof(Roadblocks); i++)
  48616. {
  48617. if(!Roadblocks[i][RoadblockExists])
  48618. continue;
  48619. if(IsPlayerInRangeOfPoint(playerid, 5.0, Roadblocks[i][RoadblockPos][0], Roadblocks[i][RoadblockPos][1], Roadblocks[i][RoadblockPos][2]) && GetPlayerVirtualWorld(playerid) == Roadblocks[i][RoadblockWorld])
  48620. return i;
  48621. }
  48622. return -1;
  48623. }
  48624. //
  48625. stock GetVehicleMass(vehicleid, &Float:mass)
  48626. {
  48627. new model = GetVehicleModel(vehicleid);
  48628. mass = GetVehicleModelInfoAsFloat(model, "fMass");
  48629. return 1;
  48630. }
  48631. stock GetVehicleSpeed(vehicleid)
  48632. {
  48633. new
  48634. Float:x,
  48635. Float:y,
  48636. Float:z,
  48637. Float:Speed;
  48638. GetVehicleVelocity(vehicleid, x, y, z);
  48639. Speed = floatmul(floatsqroot(floatadd(floatadd(floatpower(x, 2), floatpower(y, 2)), floatpower(z, 2))), 200.0);
  48640. return floatround(floatdiv(Speed, 1.609344), floatround_floor);
  48641. }
  48642. stock VehicleToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z)
  48643. {
  48644. new Float:oldposx, Float:oldposy, Float:oldposz;
  48645. new Float:tempposx, Float:tempposy, Float:tempposz;
  48646. GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
  48647. tempposx = (oldposx -x);
  48648. tempposy = (oldposy -y);
  48649. tempposz = (oldposz -z);
  48650. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  48651. {
  48652. return 1;
  48653. }
  48654. return 0;
  48655. }
  48656. stock PauseAntiCheat(playerid)
  48657. {
  48658. ACPausedForPlayer[playerid] = 5;
  48659. return 1;
  48660. }
  48661. stock GetFuelTypeAsString(type)
  48662. {
  48663. new typestring[60];
  48664. switch(type)
  48665. {
  48666. case FUEL_TYPE_PETROL: typestring = "Petrol";
  48667. case FUEL_TYPE_DIESEL: typestring = "Diesel";
  48668. case FUEL_TYPE_ELECTRIC: typestring = "Electric";
  48669. default: typestring = "NONE";
  48670. }
  48671. return typestring;
  48672. }
  48673. stock GetVehicleTypeString(vehicleid)
  48674. {
  48675. new
  48676. typestring[32];
  48677. if(IsValidPlayerCar(vehicleid))
  48678. typestring = "Player";
  48679. else if(IsValidFactionCar(vehicleid))
  48680. typestring = "Faction";
  48681. else if(IsValidRentalCar(vehicleid))
  48682. typestring = "Rental";
  48683. else typestring = "Static";
  48684. return typestring;
  48685. }
  48686. //Spectator TDs
  48687. stock ShowSpectatorTextdraw(playerid, bool:disable = false)
  48688. {
  48689. if(disable)
  48690. {
  48691. for(new i = 0; i < 6; i++)
  48692. {
  48693. PlayerTextDrawHide(playerid, SpectatorTD[playerid][i]);
  48694. }
  48695. }
  48696. else
  48697. {
  48698. for(new i = 0; i < 6; i++)
  48699. {
  48700. PlayerTextDrawShow(playerid, SpectatorTD[playerid][i]);
  48701. }
  48702. }
  48703. return 1;
  48704. }
  48705. stock UpdateSpectatorTextdraw(playerid)
  48706. {
  48707. new
  48708. updater[90],
  48709. targetid = PlayerData[playerid][pSpectator];
  48710. format(updater, 90, "%s (%d)", ReturnName(targetid), targetid);
  48711. PlayerTextDrawSetString(playerid, SpectatorTD[playerid][1], updater);
  48712. format(updater, 90, "%d", GetPlayerPing(targetid));
  48713. PlayerTextDrawSetString(playerid, SpectatorTD[playerid][3], updater);
  48714. format(updater, 90, "%f", NetStats_PacketLossPercent(targetid));
  48715. PlayerTextDrawSetString(playerid, SpectatorTD[playerid][5], updater);
  48716. for(new i = 0; i < 6; i++)
  48717. {
  48718. PlayerTextDrawShow(playerid, SpectatorTD[playerid][i]);
  48719. }
  48720. return 1;
  48721. }
  48722. //Faction memeber list
  48723. stock ShowFactionMembers(playerid, page = 1)
  48724. {
  48725. new lookupQuery[200];
  48726. mysql_format(m_Handle, lookupQuery, sizeof lookupQuery, "SELECT Name, LastConnection, FactionRank FROM players WHERE Faction = %i ORDER BY FactionRank ASC", PlayerData[playerid][pFaction]);
  48727. mysql_tquery(m_Handle, lookupQuery, "OnFactionLookup", "ii", playerid, page);
  48728. return 1;
  48729. }
  48730. //Player Logs
  48731. stock LogPlayerAction(playerid, action[])
  48732. {
  48733. if(!pLoggedIn[playerid])
  48734. {
  48735. printf("[DEBUG] Error occurred with LogPlayerAction - Player not logged in - Name: %s - Action: %s", ReturnName(playerid), action);
  48736. return 0;
  48737. }
  48738. new
  48739. insertQuery[340],
  48740. addDate[200];
  48741. format(addDate, 200, "%s %s", ReturnDateLog(), action);
  48742. mysql_format(m_Handle, insertQuery, sizeof(insertQuery), "INSERT INTO player_logs (player_dbid, log_detail) VALUES(%i, '%e')", PlayerData[playerid][pSQLID], addDate);
  48743. mysql_tquery(m_Handle, insertQuery, "OnPlayerActionLog", "is", playerid, addDate);
  48744. return 1;
  48745. }
  48746. Server:OnPlayerActionLog(playerid, action[])
  48747. {
  48748. printf("[LogPlayerAction] Logged '%s' for Player DBID %i", action, PlayerData[playerid][pSQLID]);
  48749. return 1;
  48750. }
  48751. stock ShowPlayerLogs(playerid, targetid, page)
  48752. {
  48753. new searchQuery[128];
  48754. mysql_format(m_Handle, searchQuery, sizeof(searchQuery), "SELECT * FROM player_logs WHERE player_dbid = %i ORDER BY log_id DESC", PlayerData[targetid][pSQLID]);
  48755. mysql_tquery(m_Handle, searchQuery, "OnShowPlayerLogs", "iii", playerid, targetid, page);
  48756. return 1;
  48757. }
  48758. Server:OnFactionLookup(playerid, page)
  48759. {
  48760. if(!cache_num_rows())
  48761. return SendClientMessage(playerid, COLOR_ADM, "-> An error occurred.");
  48762. new rows, fields;
  48763. cache_get_row_count(rows), cache_get_field_count(fields);
  48764. new primary_str[1400], sub_str[400];
  48765. new bool:secondPage, count;
  48766. new faction_rank, Name[MAX_PLAYER_NAME + 2], lastConnection[90];
  48767. new bool:isOnline = true;
  48768. new secPage = page;
  48769. SetPVarInt(playerid, "MemberPage", page);
  48770. page--;
  48771. strcat(primary_str, "Name\tRank\tLast Online\tStatus\n");
  48772. for(new i = page*MAX_PLAYER_PER_PAGE; i < rows; i++)
  48773. {
  48774. count++;
  48775. if(count == MAX_PLAYER_PER_PAGE + 1)
  48776. {
  48777. secondPage = true;
  48778. break;
  48779. }
  48780. else
  48781. {
  48782. cache_get_value_name(i, "Name", Name, MAX_PLAYER_NAME + 2);
  48783. cache_get_value_name(i, "LastConnection", lastConnection, 90);
  48784. cache_get_value_name_int(i, "FactionRank", faction_rank);
  48785. foreach(new g : Player)
  48786. {
  48787. if(strcmp(ReturnName(g), Name, true))
  48788. {
  48789. isOnline = false;
  48790. }
  48791. }
  48792. format(sub_str, sizeof(sub_str), "{FFFFFF}%s\t%s\t%s\t%s\n{FFFFFF}", Name, FactionRanks[PlayerData[playerid][pFaction]][faction_rank], lastConnection, (isOnline != true) ? ("{F81414}Offline") : ("{33AA33}Online"));
  48793. strcat(primary_str, sub_str);
  48794. }
  48795. }
  48796. if(secPage != 1)
  48797. format(primary_str, 1110, "%s{FFFF00}Previous Page <<\n", primary_str);
  48798. if(secondPage)
  48799. format(primary_str, 1110, "%s{FFFF00}Next Page >>\n", primary_str);
  48800. ShowPlayerDialog(playerid, DIALOG_FACTIONMEMBERS, DIALOG_STYLE_TABLIST_HEADERS, "Faction members:", primary_str, "Cool", "<<");
  48801. return 1;
  48802. }
  48803. Server:OnShowPlayerLogs(playerid, targetid, page)
  48804. {
  48805. new
  48806. rows, fields;
  48807. cache_get_row_count(rows), cache_get_field_count(fields);
  48808. if(!rows)
  48809. return SendClientMessage(playerid, COLOR_ADM, "This player hasn't been logged yet.");
  48810. new fulllist[1450],
  48811. logStr[256],
  48812. caption[60],
  48813. bool:secondPage,
  48814. count;
  48815. PlayerLogPage[playerid] = page;
  48816. format(caption, 60, "%s (playerid: %i, DBID: %i)", ReturnName(targetid), targetid, PlayerData[targetid][pSQLID]);
  48817. if(page == 1)
  48818. fulllist = "{FFFF00}Page 1\n";
  48819. else format(fulllist, sizeof(fulllist), "%s{FFFF00}<< Page %d\n", fulllist, page-1);
  48820. page--;
  48821. for(new i = page*MAX_PLOG_PER_PAGE; i < rows; i++)
  48822. {
  48823. count++;
  48824. if(count == MAX_PLOG_PER_PAGE + 1)
  48825. {
  48826. secondPage = true;
  48827. break;
  48828. }
  48829. else
  48830. {
  48831. cache_get_value_name(i, "log_detail", logStr, 256);
  48832. format(fulllist, sizeof(fulllist), "%s%s\n", fulllist, logStr);
  48833. }
  48834. }
  48835. if(secondPage)
  48836. format(fulllist, sizeof(fulllist), "%s{FFFF00}Page %d >>\n", fulllist, (page+1)+1);
  48837. ShowPlayerDialog(playerid, DIALOG_PLOG_LIST, DIALOG_STYLE_LIST, caption, fulllist, ">>", "<<");
  48838. return 1;
  48839. }
  48840. //Vehicle Logs
  48841. stock LogVehicleAction(vehicleid, action[])
  48842. {
  48843. if(!IsValidPlayerCar(vehicleid))
  48844. {
  48845. printf("[DEBUG] Error occured with LogVehicleAction - VehicleID: %i Action: %s", vehicleid, action);
  48846. return 0;
  48847. }
  48848. new
  48849. insertQuery[340],
  48850. addDate[200];
  48851. format(addDate, 200, "%s %s", ReturnDateLog(), action);
  48852. mysql_format(m_Handle, insertQuery, sizeof(insertQuery), "INSERT INTO vehicle_logs (vehicle_dbid, log_detail) VALUES(%i, '%e')", CarData[vehicleid][carID], addDate);
  48853. mysql_tquery(m_Handle, insertQuery, "OnVehicleActionLog", "is", vehicleid, addDate);
  48854. return 1;
  48855. }
  48856. Server:OnVehicleActionLog(vehicleid, action[])
  48857. {
  48858. printf("[LogVehicleAction] Logged '%s' for Vehicle DBID %i (IG: %i)", action, CarData[vehicleid][carID], vehicleid);
  48859. return 1;
  48860. }
  48861. stock ShowVehicleLogs(playerid, vehicleid, page)
  48862. {
  48863. new searchQuery[128];
  48864. mysql_format(m_Handle, searchQuery, sizeof(searchQuery), "SELECT * FROM vehicle_logs WHERE vehicle_dbid = %i ORDER BY log_id DESC", CarData[vehicleid][carID]);
  48865. mysql_tquery(m_Handle, searchQuery, "OnShowVehicleLogs", "iii", playerid, vehicleid, page);
  48866. return 1;
  48867. }
  48868. Server:OnShowVehicleLogs(playerid, vehicleid, page)
  48869. {
  48870. new rows, fields;
  48871. cache_get_row_count(rows);
  48872. cache_get_field_count(fields);
  48873. if(!rows)
  48874. return SendClientMessage(playerid, COLOR_ADM, "This vehicle hasn't been logged yet.");
  48875. new fulllist[1200],
  48876. logStr[256],
  48877. caption[60],
  48878. bool:secondPage,
  48879. count;
  48880. PlayerVlogPage[playerid] = page;
  48881. format(caption, 60, "%s (vehicleid: %i, dbid: %i)", ReturnVehicleName(vehicleid), vehicleid, CarData[vehicleid][carID]);
  48882. if(page == 1)
  48883. fulllist = "{FFFF00}Page 1\n";
  48884. else format(fulllist, sizeof(fulllist), "%s{FFFF00}<< Page %d\n", fulllist, page-1);
  48885. page--;
  48886. for(new i = page*MAX_VLOG_PER_PAGE; i < rows; i++)
  48887. {
  48888. count++;
  48889. if(count == MAX_VLOG_PER_PAGE + 1)
  48890. {
  48891. secondPage = true;
  48892. break;
  48893. }
  48894. else
  48895. {
  48896. cache_get_value_name(i, "log_detail", logStr, 256);
  48897. format(fulllist, sizeof(fulllist), "%s%s\n", fulllist, logStr);
  48898. }
  48899. }
  48900. if(secondPage)
  48901. format(fulllist, sizeof(fulllist), "%s{FFFF00}Page %d >>\n", fulllist, (page+1)+1);
  48902. ShowPlayerDialog(playerid, DIALOG_VLOG_LIST, DIALOG_STYLE_LIST, caption, fulllist, ">>", "<<");
  48903. return 1;
  48904. }
  48905. //
  48906. stock IsUserBanned(user[])
  48907. {
  48908. new qz[250];
  48909. mysql_format(m_Handle, qz, sizeof(qz), "SELECT id FROM bans WHERE Name = '%e'", user);
  48910. new Cache:cache = mysql_query(m_Handle, qz);
  48911. if(!cache_num_rows())
  48912. {
  48913. cache_delete(cache);
  48914. return 0;
  48915. }
  48916. cache_delete(cache);
  48917. return 1;
  48918. }
  48919. // Admin Panel
  48920. stock ShowAdminPanel(playerid)
  48921. {
  48922. new list[350];
  48923. strcat(list, "1.\tBan offline player\n");
  48924. strcat(list, "2.\tAjail offline player\n");
  48925. strcat(list, "3.\tUnban player\n");
  48926. strcat(list, "4.\tLookup users adminjails\n");
  48927. strcat(list, "5.\tLookup users kicks\n");
  48928. strcat(list, "6.\tLookup users bans\n");
  48929. strcat(list, "7.\tDecrypt mask\n");
  48930. strcat(list, "8.\tFind mask\n");
  48931. strcat(list, "9.\tSkin search\n");
  48932. strcat(list, "10.\tAdmin Notes Lookup\n");
  48933. strcat(list, "11.\tAdmin Notes Edit\n");
  48934. strcat(list, "12.\tAdmin Notes Add\n");
  48935. strcat(list, "13.\tAdmin Notes Delete\n");
  48936. ShowPlayerDialog(playerid, DIALOG_ADMINSYS, DIALOG_STYLE_LIST, "Administration system", list, "Select", "<<");
  48937. return 1;
  48938. }
  48939. stock ShowAdminSys(playerid, panel, error[] = "")
  48940. {
  48941. new string[330];
  48942. switch(panel)
  48943. {
  48944. case 0: //offline ban
  48945. {
  48946. if(isnull(error))
  48947. string = "Input the name of the player you want to ban:";
  48948. else format(string, sizeof(string), "%s\n\nInput the name of the player you want to ban:", error);
  48949. ShowPlayerDialog(playerid, DIALOG_ASYS_OFFLINEBAN, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48950. return 1;
  48951. }
  48952. case 1: //offline ajail
  48953. {
  48954. if(isnull(error))
  48955. string = "Input the name of the player you want to admin jail:";
  48956. else format(string, sizeof(string), "%s\n\nInput the name of the player you want to admin jail:", error);
  48957. ShowPlayerDialog(playerid, DIALOG_ASYS_OFFLINEAJAIL, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48958. return 1;
  48959. }
  48960. case 2: //unban
  48961. {
  48962. if(isnull(error))
  48963. string = "Input the name of the player you want to unban:";
  48964. else format(string, sizeof(string), "%s\n\nInput the name of the player you want to unban:", error);
  48965. ShowPlayerDialog(playerid, DIALOG_ASYS_UNBAN, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48966. return 1;
  48967. }
  48968. case 3: //ajail lookup
  48969. {
  48970. if(isnull(error))
  48971. string = "Input the name of the player to look up their admin jails:";
  48972. else format(string, sizeof(string), "%s\n\nInput the name of the player to look up their admin jails:", error);
  48973. ShowPlayerDialog(playerid, DIALOG_LOOKUP_JAILS, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48974. return 1;
  48975. }
  48976. case 4: //kick lookup
  48977. {
  48978. if(isnull(error))
  48979. string = "Input the name of the player to look up their kicks:";
  48980. else format(string, sizeof(string), "%s\n\nInput the name of the player to look up their kicks:", error);
  48981. ShowPlayerDialog(playerid, DIALOG_LOOKUP_KICKS, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48982. return 1;
  48983. }
  48984. case 5: //kick lookup
  48985. {
  48986. if(isnull(error))
  48987. string = "Input the name of the player to look up their bans:";
  48988. else format(string, sizeof(string), "%s\n\nInput the name of the player to look up their bans:", error);
  48989. ShowPlayerDialog(playerid, DIALOG_LOOKUP_BANS, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48990. return 1;
  48991. }
  48992. case 6: //mask decrypt
  48993. {
  48994. if(isnull(error))
  48995. string = "Input the Mask ID you want to look up as (100000_00):";
  48996. else format(string, sizeof(string), "%s\n\nInput the Mask ID you want to look up as (100000_00):", error);
  48997. ShowPlayerDialog(playerid, DIALOG_DECRYPTMASK, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  48998. return 1;
  48999. }
  49000. case 7: //find mask
  49001. {
  49002. new
  49003. ListString[800],
  49004. count;
  49005. strcat(ListString, "Online masked players:\n\n");
  49006. foreach(new i : Player) if(PlayerData[i][pMasked])
  49007. {
  49008. format(string, sizeof(string), "\t%s (ID: %i) - %s\n", ReturnName(i), i, ReturnPlayerMask(i));
  49009. strcat(ListString, string);
  49010. count++;
  49011. }
  49012. if(!count)
  49013. return ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", "There are no Masked players in the server.", "Okay!", "");
  49014. ShowPlayerDialog(playerid, DIALOG_APANEL, DIALOG_STYLE_MSGBOX, "Administration panel", ListString, "Okay!", "");
  49015. return 1;
  49016. }
  49017. case 8: //skin search
  49018. {
  49019. if(isnull(error))
  49020. string = "Input the Skin ID you want to search for:";
  49021. else format(string, sizeof(string), "%s\n\nInput the Skin ID you want to search for:", error);
  49022. ShowPlayerDialog(playerid, DIALOG_SKINSEARCH, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  49023. return 1;
  49024. }
  49025. case 9: // admin note lookup
  49026. {
  49027. if(isnull(error))
  49028. string = "Input the players name to lookup their admin notes:";
  49029. else format(string, sizeof(string), "%s\n\nInput the players name to lookup their admin notes:", error);
  49030. ShowPlayerDialog(playerid, DIALOG_ANOTE_LOOKUP, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  49031. return 1;
  49032. }
  49033. case 10: // admin note edit
  49034. {
  49035. if(isnull(error))
  49036. string = "Input the players name to edit their admin notes:";
  49037. else format(string, sizeof(string), "%s\n\nInput the players name to edit their admin notes:", error);
  49038. ShowPlayerDialog(playerid, DIALOG_ANOTE_EDIT, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  49039. return 1;
  49040. }
  49041. case 11: // admin note add
  49042. {
  49043. if(isnull(error))
  49044. string = "Input the players name to add a new admin note:";
  49045. else format(string, sizeof(string), "%s\n\nInput the players name to add a new admin note:", error);
  49046. ShowPlayerDialog(playerid, DIALOG_ANOTE_ADD, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  49047. return 1;
  49048. }
  49049. case 12: // admin note delete
  49050. {
  49051. if(isnull(error))
  49052. string = "Input the players name to delete an admin note:";
  49053. else format(string, sizeof(string), "%s\n\nInput the players name to delete an admin note:", error);
  49054. ShowPlayerDialog(playerid, DIALOG_ANOTE_DELETE, DIALOG_STYLE_INPUT, "Administrator panel", string, "Select", "<<");
  49055. return 1;
  49056. }
  49057. }
  49058. return 1;
  49059. }
  49060. stock GetVehicleRelativePos(vehicleid, &Float:x, &Float:y, &Float:z, Float:xoff=0.0, Float:yoff=0.0, Float:zoff=0.0)
  49061. {
  49062. new Float:rot;
  49063. GetVehicleZAngle(vehicleid, rot);
  49064. rot = 360 - rot; // Making the vehicle rotation compatible with pawns sin/cos
  49065. GetVehiclePos(vehicleid, x, y, z);
  49066. x = floatsin(rot,degrees) * yoff + floatcos(rot,degrees) * xoff + x;
  49067. y = floatcos(rot,degrees) * yoff - floatsin(rot,degrees) * xoff + y;
  49068. z = zoff + z;
  49069. /*
  49070. where xoff/yoff/zoff are the offsets relative to the vehicle
  49071. x/y/z then are the coordinates of the point with the given offset to the vehicle
  49072. xoff = 1.0 would e.g. point to the right side of the vehicle, -1.0 to the left, etc.
  49073. */
  49074. }
  49075. stock encode_doors(bonnet, boot, driver_door, passenger_door, behind_driver_door, behind_passenger_door)
  49076. {
  49077. #pragma unused behind_driver_door
  49078. #pragma unused behind_passenger_door
  49079. return bonnet | (boot << 8) | (driver_door << 16) | (passenger_door << 24);
  49080. }
  49081. //General Interiors System
  49082. stock IsPlayerNearEntrance(playerid)
  49083. {
  49084. for(new i = 1; i < 30; i++)
  49085. {
  49086. if(IsPlayerInRangeOfPoint(playerid, 3.0, Entrances[i][Entrance][0], Entrances[i][Entrance][1], Entrances[i][Entrance][2]) && GetPlayerVirtualWorld(playerid) == Entrances[i][EntranceWorld])
  49087. return i;
  49088. }
  49089. return -1;
  49090. }
  49091. stock IsPlayerInsideEntrance(playerid)
  49092. {
  49093. for(new i = 1; i < 30; i++)
  49094. {
  49095. if(IsPlayerInRangeOfPoint(playerid, 3.0, Entrances[i][Exit][0], Entrances[i][Exit][1], Entrances[i][Exit][2]) && GetPlayerVirtualWorld(playerid) == Entrances[i][ExitWorld])
  49096. return i;
  49097. }
  49098. return -1;
  49099. }
  49100. stock EnterEntrance(playerid, entrance)
  49101. {
  49102. ResetHouseVar(playerid);
  49103. gPlayerInsideEntrance[playerid] = entrance;
  49104. SetPlayerInterior(playerid, Entrances[entrance][ExitInteriorID]);
  49105. SetPlayerVirtualWorld(playerid, Entrances[entrance][ExitWorld]);
  49106. SetPlayerPos(playerid, Entrances[entrance][Exit][0], Entrances[entrance][Exit][1], Entrances[entrance][Exit][2]);
  49107. if(Entrances[entrance][IsWarehouse]) SendClientMessage(playerid, COLOR_WHITE, "Welcome to the warehouse.");
  49108. if(Entrances[entrance][IsBlackMarket]) SendClientMessage(playerid, COLOR_WHITE, "Welcome to the black market.");
  49109. return 1;
  49110. }
  49111. stock ExitEntrance(playerid, entrance)
  49112. {
  49113. SetPlayerInterior(playerid, Entrances[entrance][EntranceInteriorID]);
  49114. SetPlayerVirtualWorld(playerid, Entrances[entrance][EntranceWorld]);
  49115. SetPlayerPos(playerid, Entrances[entrance][Entrance][0], Entrances[entrance][Entrance][1], Entrances[entrance][Entrance][2]);
  49116. gPlayerInsideEntrance[playerid] = -1;
  49117. return 1;
  49118. }
  49119. stock LockEntrance(playerid, entrance)
  49120. {
  49121. if(!Entrances[entrance][Locked])
  49122. {
  49123. GameTextForPlayer(playerid, "~w~DOOR ~r~LOCKED", 3000, 6);
  49124. Entrances[entrance][Locked] = true;
  49125. }
  49126. else
  49127. {
  49128. GameTextForPlayer(playerid, "~w~DOOR ~g~UNLOCKED", 3000, 6);
  49129. Entrances[entrance][Locked] = false;
  49130. }
  49131. return 1;
  49132. }
  49133. stock IsEntranceLocked(entrance)
  49134. {
  49135. if(Entrances[entrance][Locked])
  49136. return 1;
  49137. return 0;
  49138. }
  49139. stock CountEntrances()
  49140. {
  49141. new
  49142. count;
  49143. for(new i = 1; i < 30; i++) if(Entrances[i][InteriorDBID])
  49144. count++;
  49145. return count;
  49146. }
  49147. Server:OnEntranceCreated(playerid, factionid, warehouse, blackmarket)
  49148. {
  49149. new
  49150. idx,
  49151. string[128];
  49152. for(new i = 1; i < 30; i++) if(!Entrances[i][InteriorDBID])
  49153. {
  49154. idx = i;
  49155. break;
  49156. }
  49157. Entrances[idx][InteriorDBID] = cache_insert_id();
  49158. Entrances[idx][FactionOwner] = factionid;
  49159. Entrances[idx][IsWarehouse] = warehouse; Entrances[idx][IsBlackMarket] = blackmarket;
  49160. Entrances[idx][Locked] = true;
  49161. for(new i = 0; i < 3; i++)
  49162. {
  49163. Entrances[idx][Entrance][i] = 0.0;
  49164. Entrances[idx][Exit][i] = 0.0;
  49165. }
  49166. Message(playerid, COLOR_YELLOW, "SERVER: Created entrance ID %i. Configure it through: /editentrance.", idx);
  49167. format(string, sizeof(string), "%s created Entrance ID %i", ReturnName(playerid), idx);
  49168. adminWarn(4, string);
  49169. return 1;
  49170. }
  49171. Server:OnEntranceFactionChange(playerid, entranceid, factionid)
  49172. {
  49173. Message(playerid, COLOR_YELLOW, "SERVER: Successfully changed entrance %i's faction to: %s (%i)", entranceid, ReturnFactionName(factionid), factionid);
  49174. Entrances[entranceid][FactionOwner] = factionid;
  49175. return 1;
  49176. }
  49177. Server:OnEntranceWarehouseChange(playerid, entranceid, warehouse)
  49178. {
  49179. Message(playerid, COLOR_YELLOW, "SERVER: Entrance %i %s", entranceid, (warehouse != 1) ? ("is longer has a warehouse.") : ("is now a warehouse."));
  49180. Entrances[entranceid][IsWarehouse] = warehouse;
  49181. return 1;
  49182. }
  49183. Server:OnEntranceBlackmarketChange(playerid, entranceid, blackmarket)
  49184. {
  49185. Message(playerid, COLOR_YELLOW, "SERVER: Entrance %i %s", entranceid, (blackmarket != 1) ? ("is longer has a black market.") : ("is now a black market."));
  49186. Entrances[entranceid][IsBlackMarket] = blackmarket;
  49187. return 1;
  49188. }
  49189. Server:OnEntrancesEntranceChange(playerid, response, entranceid)
  49190. {
  49191. if(response)
  49192. {
  49193. new
  49194. query[340];
  49195. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  49196. mysql_format(m_Handle, query, sizeof(query), "UPDATE entrances SET EntranceX = %f, EntranceY = %f, EntranceZ = %f, EntranceInteriorID = %i, EntranceWorld = %i WHERE InteriorDBID = %i ",
  49197. PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), Entrances[entranceid][InteriorDBID]);
  49198. mysql_tquery(m_Handle, query, "OnEntrancesEntranceChanged", "ii", playerid, entranceid);
  49199. }
  49200. return 1;
  49201. }
  49202. Server:OnEntrancesEntranceChanged(playerid, entranceid)
  49203. {
  49204. GetPlayerPos(playerid, Entrances[entranceid][Entrance][0], Entrances[entranceid][Entrance][1], Entrances[entranceid][Entrance][2]);
  49205. Entrances[entranceid][EntranceWorld] = GetPlayerVirtualWorld(playerid);
  49206. Entrances[entranceid][EntranceInteriorID] = GetPlayerInterior(playerid);
  49207. Message(playerid, COLOR_YELLOW, "SERVER: Successfully changed entrance %i's entrance position.", entranceid);
  49208. return 1;
  49209. }
  49210. Server:OnEntrancesInteriorChange(playerid, response, entranceid)
  49211. {
  49212. if(response)
  49213. {
  49214. new query[340];
  49215. GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
  49216. mysql_format(m_Handle, query, sizeof(query), "UPDATE entrances SET ExitX = %f, ExitY = %f, ExitZ = %f, ExitInteriorID = %i, ExitWorld = %i WHERE InteriorDBID = %i",
  49217. PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), Entrances[entranceid][InteriorDBID]);
  49218. mysql_tquery(m_Handle, query, "OnEntrancesInteriorChanged", "ii", playerid, entranceid);
  49219. }
  49220. return 1;
  49221. }
  49222. Server:OnEntrancesInteriorChanged(playerid, entranceid)
  49223. {
  49224. GetPlayerPos(playerid, Entrances[entranceid][Exit][0], Entrances[entranceid][Exit][1], Entrances[entranceid][Exit][2]);
  49225. Entrances[entranceid][ExitWorld] = GetPlayerVirtualWorld(playerid);
  49226. Entrances[entranceid][ExitInteriorID] = GetPlayerInterior(playerid);
  49227. Message(playerid, COLOR_YELLOW, "SERVER: Successfully changed entrance %i's interior position.", entranceid);
  49228. return 1;
  49229. }
  49230. //Illegal factions
  49231. stock IsPlayerInTheirBlackMarket(playerid)
  49232. {
  49233. new idx;
  49234. for(new i = 1; i < 30; i++) if(Entrances[i][FactionOwner] == PlayerData[playerid][pFaction] && Entrances[i][IsBlackMarket])
  49235. {
  49236. idx = i;
  49237. }
  49238. if(IsPlayerInRangeOfPoint(playerid, 20.0, Entrances[idx][Exit][0], Entrances[idx][Exit][1], Entrances[idx][Exit][2]) && GetPlayerVirtualWorld(playerid) == Entrances[idx][ExitWorld])
  49239. return 1;
  49240. return 0;
  49241. }
  49242. stock ReturnFactionProducts(factionid)
  49243. {
  49244. return FactionData[factionid][factionProducts];
  49245. }
  49246. stock ShowWarehouseMenu(playerid)
  49247. {
  49248. new infoString[200];
  49249. format(infoString, sizeof infoString, "%s", ReturnFactionName(PlayerData[playerid][pFaction]));
  49250. PlayerTextDrawSetString(playerid, WarehouseMenu_P[playerid][0], infoString);
  49251. format(infoString, sizeof infoString, "Welcome to your warehouse menu,~n~%s.", ReturnName(playerid, 0));
  49252. PlayerTextDrawSetString(playerid, WarehouseMenu_P[playerid][1], infoString);
  49253. //Cart:
  49254. PlayerTextDrawSetString(playerid, WarehouseMenu_P[playerid][2], "~r~Empty");
  49255. for(new i; i < 36; i++)
  49256. TextDrawShowForPlayer(playerid, WarehouseMenu[i]);
  49257. for(new i; i < 3; i++)
  49258. PlayerTextDrawShow(playerid, WarehouseMenu_P[playerid][i]);
  49259. SetPVarInt(playerid, "ViewingWarehouseMenu", 1);
  49260. SetPVarInt(playerid, "WarehouseCart", 0);
  49261. for(new i; i < 21; i++)
  49262. {
  49263. WarehouseWeapons[playerid][i] = 0;
  49264. }
  49265. SelectTextDraw(playerid, COLOR_GREY);
  49266. printf("[Debug menu] %s is viewing warehouse menu.", ReturnName(playerid));
  49267. return 1;
  49268. }
  49269. stock HideWarehouseMenu(playerid, trashvars = 1)
  49270. {
  49271. for(new i; i < 36; i++)
  49272. TextDrawHideForPlayer(playerid, WarehouseMenu[i]);
  49273. for(new i; i < 3; i++)
  49274. PlayerTextDrawHide(playerid, WarehouseMenu_P[playerid][i]);
  49275. if(trashvars == 1)
  49276. {
  49277. DeletePVar(playerid, "WarehouseCart");
  49278. for(new i; i < 21; i++)
  49279. {
  49280. WarehouseWeapons[playerid][i] = 0;
  49281. }
  49282. printf("[Debug menu] %s's warehouse menu vars were trashed when hidden.", ReturnName(playerid));
  49283. }
  49284. DeletePVar(playerid, "ViewingWarehouseMenu");
  49285. printf("[Debug menu] %s is no longer viewing the warehouse menu.", ReturnName(playerid));
  49286. return 1;
  49287. }
  49288. stock GetWeaponProductCost(weaponid, &amount)
  49289. {
  49290. switch(weaponid)
  49291. {
  49292. case 24: amount = 300;
  49293. case 22: amount = 150;
  49294. case 4: amount = 90;
  49295. case 25: amount = 450;
  49296. case 30: amount = 600;
  49297. case 31: amount = 666;
  49298. case 34: amount = 4000;
  49299. default: amount = 0;
  49300. }
  49301. return 1;
  49302. }
  49303. stock UpdateWarehouseMenu(playerid, index)
  49304. {
  49305. new weapon_id, productCost, cart;
  49306. new updater[60], available;
  49307. switch( index )
  49308. {
  49309. case 1: weapon_id = 24;
  49310. case 4: weapon_id = 22;
  49311. case 10: weapon_id = 4;
  49312. case 13: weapon_id = 25;
  49313. case 16: weapon_id = 30;
  49314. case 20: weapon_id = 31;
  49315. case 24: weapon_id = 34;
  49316. case 19: return OrderWarehouseItems(playerid);
  49317. case 23: return EmptyWarehouseItems(playerid);
  49318. }
  49319. UpdateWeaponsForPlayer(playerid, weapon_id, available);
  49320. if(available == -1) return 1;
  49321. GetWeaponProductCost(weapon_id, productCost);
  49322. cart = GetPVarInt(playerid, "WarehouseCart");
  49323. if(cart < 1) format(updater, sizeof updater, "~g~%d", (cart + productCost));
  49324. else format(updater, sizeof updater, "%d", (cart + productCost));
  49325. PlayerTextDrawSetString(playerid, WarehouseMenu_P[playerid][2], updater);
  49326. SetPVarInt(playerid, "WarehouseCart", (cart + productCost));
  49327. return 1;
  49328. }
  49329. stock UpdateWeaponsForPlayer(playerid, weaponid, &available)
  49330. {
  49331. new
  49332. slot = -1;
  49333. for(new i = 1; i < 21; i++)
  49334. {
  49335. if(!WarehouseWeapons[playerid][i])
  49336. {
  49337. slot = i;
  49338. break;
  49339. }
  49340. }
  49341. available = slot;
  49342. if(slot == -1)
  49343. return SendClientMessage(playerid, COLOR_ADM, "ORDER:{FFFFFF} You've exceeded the amount of weapons possible.");
  49344. WarehouseWeapons[playerid][slot] = weaponid;
  49345. printf("[Debug menu] %s had a %s added to their Warehouse weapons slot", ReturnName(playerid), ReturnWeaponName(weaponid));
  49346. return 1;
  49347. }
  49348. stock OrderWarehouseItems(playerid)
  49349. {
  49350. if(GetPVarInt(playerid, "WarehouseCart") == 0)
  49351. return ShowTextdrawInfo(playerid, "~y~Your cart is empty right now.");
  49352. if(PlayerData[playerid][pPhoneOff])
  49353. return ShowTextdrawInfo(playerid, "~y~Your phone needs to be on to order.");
  49354. if(PlayerData[playerid][pPhoneline] != INVALID_PLAYER_ID)
  49355. return ShowTextdrawInfo(playerid, "~y~Your phone line is busy right now.");
  49356. if(GetPVarInt(playerid, "WarehouseCart") > ReturnFactionProducts(PlayerData[playerid][pFaction]))
  49357. return ShowTextdrawInfo(playerid, "~y~You don't have enough products for this order.");
  49358. PlayerData[playerid][pPhoneline] = GUN_SHOP_NUMBER;
  49359. PlayerData[playerid][pCalling] = 2;
  49360. CancelSelectTextDraw(playerid);
  49361. new string[128];
  49362. format(string, sizeof(string), "* %s dials a number on their phone.", ReturnName(playerid, 0));
  49363. SendClientMessage(playerid, COLOR_EMOTE, string);
  49364. SetPlayerChatBubble(playerid, string, COLOR_EMOTE, 20.0, 3000);
  49365. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  49366. PlayerPlaySound(playerid, 3600, 0.0, 0.0, 0.0);
  49367. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse", 2000, false, "i", playerid);
  49368. WarehouseCallStep[playerid] = 1;
  49369. return 1;
  49370. }
  49371. //Calling Warehouse
  49372. Server:CallingWarehouse(playerid)
  49373. {
  49374. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Greetings from the factory.");
  49375. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_2", 2000, false, "i", playerid);
  49376. return 1;
  49377. }
  49378. Server:CallingWarehouse_2(playerid)
  49379. {
  49380. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Where would you like your items delivered?");
  49381. WarehouseCallStep[playerid] = 2;
  49382. PlayerData[playerid][pCalling] = 0;
  49383. return 1;
  49384. }
  49385. Server:CallingWarehouse_3(playerid)
  49386. {
  49387. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): We offer two type of deliveries. You can pay for our standard delivery time or our deluxe...");
  49388. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_3_2", 2000, false, "i", playerid);
  49389. return 1;
  49390. }
  49391. Server:CallingWarehouse_3_2(playerid)
  49392. {
  49393. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): ...delivery time which is expensive. Please specify the delivery.");
  49394. WarehouseCallStep[playerid] = 3;
  49395. return 1;
  49396. }
  49397. Server:CallingWarehouse_4(playerid)
  49398. {
  49399. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): Thanks for holding.");
  49400. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_4_2", 2000, false, "i", playerid);
  49401. return 1;
  49402. }
  49403. Server:CallingWarehouse_4_2(playerid)
  49404. {
  49405. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): We've processed your delivery and sent the order time to your phone.");
  49406. WarehouseCallTimer[playerid] = SetTimerEx("CallingWarehouse_4_3", 2000, false, "i", playerid);
  49407. return 1;
  49408. }
  49409. Server:CallingWarehouse_4_3(playerid)
  49410. {
  49411. Message(playerid, COLOR_YELLOW, "A person says (phone): Your items will arrive at your %s.", (GetPVarInt(playerid, "DestinationSelected") != WAREHOUSE_SELECTED) ? ("black market.") : ("warehouse."));
  49412. SendClientMessage(playerid, COLOR_YELLOW, "A person says (phone): We hope you're satisified by our services.");
  49413. WarehouseCallStep[playerid] = 0;
  49414. cmd_hangup(playerid, "");
  49415. new factionid, countItems = 0;
  49416. factionid = PlayerData[playerid][pFaction];
  49417. new deliveryType;
  49418. deliveryType = GetPVarInt(playerid, "DestinationSelected");
  49419. FactionData[factionid][factionHasWeaponOrder] = true;
  49420. FactionData[factionid][factionOrderBy] = PlayerData[playerid][pSQLID];
  49421. FactionData[factionid][factionOrder_Delivery] = deliveryType;
  49422. for(new i; i < 21; i++)
  49423. FactionData[factionid][factionOrderItems][i] = WarehouseWeapons[playerid][i];
  49424. for(new i; i < 21; i++)
  49425. {
  49426. if(FactionData[factionid][factionOrderItems][i])
  49427. {
  49428. countItems++;
  49429. }
  49430. }
  49431. FactionData[factionid][factionProducts]-= GetPVarInt(playerid, "WarehouseCart");
  49432. printf("[Debug] Faction ID %i lost %i products from a order shipment.", factionid, GetPVarInt(playerid, "WarehouseCart"));
  49433. if(deliveryType == 2) FactionData[factionid][factionOrderTime] = (60 * countItems);
  49434. else FactionData[factionid][factionOrderTime] = (120 * countItems);
  49435. new orderCount[60];
  49436. format(orderCount, sizeof orderCount, "%s", TimeConvert(FactionData[factionid][factionOrderTime]));
  49437. foreach(new i : Player) if(PlayerData[i][pFaction] == factionid)
  49438. {
  49439. if(i != playerid)
  49440. {
  49441. SendClientMessage(playerid, COLOR_WHITE, "A order time appeared. Your faction has a shipment inbound.");
  49442. }
  49443. PlayerTextDrawSetString(i, OrderCount[i][1], orderCount);
  49444. PlayerTextDrawShow(i, OrderCount[i][0]);
  49445. PlayerTextDrawShow(i, OrderCount[i][1]);
  49446. }
  49447. FactionData[factionid][factionOrder_Timer] = SetTimerEx("FactionOrderClock", 1000, true, "i", factionid);
  49448. return 1;
  49449. }
  49450. Server:FactionOrderClock(factionid)
  49451. {
  49452. FactionData[factionid][factionOrderTime]--;
  49453. new orderCount[60];
  49454. if(FactionData[factionid][factionOrderTime] > 0)
  49455. format(orderCount, sizeof orderCount, "%s", TimeConvert(FactionData[factionid][factionOrderTime]));
  49456. else orderCount = "~g~PLEASE WAIT...";
  49457. foreach(new i : Player) if(PlayerData[i][pFaction] == factionid && gHidingFactionTimer[i] == 0)
  49458. {
  49459. PlayerTextDrawSetString(i, OrderCount[i][1], orderCount);
  49460. PlayerTextDrawShow(i, OrderCount[i][0]);
  49461. PlayerTextDrawShow(i, OrderCount[i][1]);
  49462. }
  49463. if(FactionData[factionid][factionOrderTime] <= 0)
  49464. {
  49465. foreach(new i : Player) if(PlayerData[i][pFaction] == factionid)
  49466. {
  49467. Message(i, FactionData[factionid][factionChatColor], "(( A crate has arrived at your factions %s. ))", (FactionData[factionid][factionOrder_Delivery] != 1) ? ("warehouse") : ("blackmarket"));
  49468. PlayerTextDrawHide(i, OrderCount[i][0]); PlayerTextDrawHide(i, OrderCount[i][1]);
  49469. }
  49470. new crate_id = -1, destination_id = -1;
  49471. for(new i; i < MAX_WEAPON_CRATES; i++)
  49472. {
  49473. if(!WeaponCrates[i][CrateExists])
  49474. {
  49475. crate_id = i;
  49476. break;
  49477. }
  49478. }
  49479. new string[128];
  49480. if(crate_id == -1)
  49481. {
  49482. SendMessageToFaction(factionid, FactionData[factionid][factionChatColor], "(( An error occurred with your crate. Please contact a developer. ))");
  49483. format(string, sizeof string, "(( This occurred on: %s (Error -1) ", ReturnDateLog());
  49484. SendMessageToFaction(factionid, FactionData[factionid][factionChatColor], string);
  49485. FactionData[factionid][factionHasWeaponOrder] = false;
  49486. KillTimer(FactionData[factionid][factionOrder_Timer]);
  49487. return 1;
  49488. }
  49489. if(FactionData[factionid][factionOrder_Delivery] == BLACK_MARKET_SELECTED)
  49490. {
  49491. for(new i; i < 30; i++)
  49492. {
  49493. if(Entrances[i][FactionOwner] == factionid && Entrances[i][IsBlackMarket])
  49494. {
  49495. destination_id = i;
  49496. break;
  49497. }
  49498. }
  49499. }
  49500. else
  49501. {
  49502. for(new i; i < 30; i++)
  49503. {
  49504. if(Entrances[i][FactionOwner] == factionid && Entrances[i][IsWarehouse])
  49505. {
  49506. destination_id = i;
  49507. break;
  49508. }
  49509. }
  49510. }
  49511. if(destination_id == -1)
  49512. {
  49513. SendMessageToFaction(factionid, FactionData[factionid][factionChatColor], "(( Your faction specified a delivery point that doesn't exist. It was cancelled. ))");
  49514. FactionData[factionid][factionHasWeaponOrder] = false;
  49515. KillTimer(FactionData[factionid][factionOrder_Timer]);
  49516. return 1;
  49517. }
  49518. new orderedPlayer = INVALID_PLAYER_ID;
  49519. foreach(new i : Player)
  49520. {
  49521. if(PlayerData[i][pSQLID] == FactionData[factionid][factionOrderBy])
  49522. {
  49523. orderedPlayer = i;
  49524. }
  49525. }
  49526. if(orderedPlayer != INVALID_PLAYER_ID)
  49527. {
  49528. if(GetPVarInt(orderedPlayer, "WarehouseDeliveryType") == 2)
  49529. {
  49530. GiveMoney(orderedPlayer, -1000);
  49531. SendClientMessage(orderedPlayer, COLOR_YELLOW, "You were charged for the deluxe delivery.");
  49532. }
  49533. }
  49534. else
  49535. {
  49536. new query[200];
  49537. mysql_format(m_Handle, query, sizeof query, "SELECT Money FROM players WHERE id = %i", FactionData[factionid][factionOrderBy]);
  49538. mysql_tquery(m_Handle, query, "ChargeFactionOrderer", "i", FactionData[factionid][factionOrderBy]);
  49539. }
  49540. WeaponCrates[crate_id][CrateExists] = true;
  49541. WeaponCrates[crate_id][CrateBy] = FactionData[factionid][factionOrderBy];
  49542. WeaponCrates[crate_id][CrateFaction] = factionid;
  49543. for(new i; i < 21; i++)
  49544. {
  49545. WeaponCrates[crate_id][CrateItems][i] = FactionData[factionid][factionOrderItems][i];
  49546. }
  49547. WeaponCrates[crate_id][CrateObject] = CreateDynamicObject(2912, Entrances[destination_id][Entrance][0] + 2, Entrances[destination_id][Entrance][1], Entrances[destination_id][Entrance][2] -1, 0.0, 0.0, 0.0);
  49548. format(string, sizeof(string), "%s", ReturnFactionName(factionid));
  49549. WeaponCrates[crate_id][CrateLabel] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, Entrances[destination_id][Entrance][0] + 2, Entrances[destination_id][Entrance][1], Entrances[destination_id][Entrance][2] -1, 20.0);
  49550. foreach(new i : Player)
  49551. {
  49552. if(IsPlayerInRangeOfPoint(i, 20.0, Entrances[destination_id][Entrance][0] + 2, Entrances[destination_id][Entrance][1], Entrances[destination_id][Entrance][2]))
  49553. {
  49554. Streamer_Update(i);
  49555. }
  49556. }
  49557. KillTimer(FactionData[factionid][factionOrder_Timer]);
  49558. FactionData[factionid][factionHasWeaponOrder] = false;
  49559. }
  49560. return 1;
  49561. }
  49562. Server:ChargeFactionOrderer(dbid)
  49563. {
  49564. new rows, fields;
  49565. cache_get_row_count(rows), cache_get_field_count(fields);
  49566. if(rows)
  49567. {
  49568. new money;
  49569. cache_get_value_name_int(0, "Money", money);
  49570. new updateQuery[200];
  49571. mysql_format(m_Handle, updateQuery, sizeof updateQuery, "UPDATE players SET Money = %i WHERE id = %i", (money - 1000), dbid);
  49572. mysql_tquery(m_Handle, updateQuery, "ConfirmPlayerCharged", "i", dbid);
  49573. }
  49574. }
  49575. Server:ConfirmPlayerCharged(dbid)
  49576. {
  49577. printf("[Debug] Player DBID %i (%s) was charged -$1,000 while being offline during weapon delivery.", dbid, ReturnSQLName(dbid));
  49578. return 1;
  49579. }
  49580. //
  49581. IsVehicleCargoCompatiable(vehicleid)
  49582. {
  49583. switch( GetVehicleModel(vehicleid) )
  49584. {
  49585. case 414, 456, 482, 440, 459: return 1;
  49586. }
  49587. return 0;
  49588. }
  49589. //
  49590. CMD:togtimer(playerid, params[])
  49591. {
  49592. if( !FactionData[ PlayerData[playerid][pFaction] ][factionHasWeaponOrder] )
  49593. return SendClientMessage(playerid, COLOR_YELLOW, "Your faction doesn't have a weapon order.");
  49594. gHidingFactionTimer[playerid] = !gHidingFactionTimer[playerid];
  49595. if(gHidingFactionTimer[playerid] == 1)
  49596. {
  49597. PlayerTextDrawHide(playerid, OrderCount[playerid][0]); PlayerTextDrawHide(playerid, OrderCount[playerid][1]);
  49598. }
  49599. Message(playerid, COLOR_WHITE, "You {FFFF00}%s{FFFFFF} your factions order timer.", (gHidingFactionTimer[playerid] != 1) ? ("enabled") : ("disabled"));
  49600. return 1;
  49601. }
  49602. CMD:crate(playerid, params[])
  49603. {
  49604. if( isnull(params) )
  49605. {
  49606. SendClientMessage(playerid, COLOR_WHITE, "/crate {FFFF00}load");
  49607. SendClientMessage(playerid, COLOR_WHITE, "/crate {FFFF00}unload");
  49608. SendClientMessage(playerid, COLOR_WHITE, "/crate {FFFF00}open");
  49609. SendClientMessage(playerid, COLOR_WHITE, "/crate {FFFF00}drop");
  49610. SendClientMessage(playerid, COLOR_WHITE, "/crate {FFFF00}pickup");
  49611. SendClientMessage(playerid, COLOR_WHITE, "/crate {FFFF00}content");
  49612. return 1;
  49613. }
  49614. if(!strcmp(params, "pickup", true))
  49615. {
  49616. new crate_id = -1;
  49617. new Float:Pos[3];
  49618. if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
  49619. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't on foot.");
  49620. if(IsPlayerHoldingCrate(playerid) != -1)
  49621. return SendClientMessage(playerid, COLOR_YELLOW, "You're already holding a crate.");
  49622. for(new i; i < MAX_WEAPON_CRATES; i++)
  49623. {
  49624. if(!WeaponCrates[i][CrateExists])
  49625. continue;
  49626. if(IsValidDynamicObject( WeaponCrates[i][CrateObject] ) && WeaponCrates[i][CrateAttachedTo] == -1)
  49627. {
  49628. GetDynamicObjectPos(WeaponCrates[i][CrateObject], Pos[0], Pos[1], Pos[2]);
  49629. if(IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2]))
  49630. {
  49631. crate_id = i;
  49632. break;
  49633. }
  49634. }
  49635. }
  49636. if(crate_id == -1)
  49637. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near a crate.");
  49638. new attach;
  49639. attach = FreeAttachmentSlot(playerid);
  49640. if(attach == -1)
  49641. return SendClientMessage(playerid, COLOR_YELLOW, "You can't carry this. You have one too many things on you.");
  49642. cmd_me(playerid, "picks up the crate.");
  49643. DestroyDynamic3DTextLabel(WeaponCrates[crate_id][CrateLabel]);
  49644. DestroyDynamicObject(WeaponCrates[crate_id][CrateObject]);
  49645. PlayAnimation(playerid, "MISC", "pickup_box", 4.1, 0, 0, 0, 0, 0, 1);
  49646. SetTimerEx("PickupBox", 1000, false, "ii", playerid, attach);
  49647. WeaponCrates[crate_id][CrateAttachedTo] = playerid;
  49648. //SetPlayerAttachedObject(playerid, attach, 2912, 1, 0.312999, 0.565000, -0.360999, -0.399999, 0.000000, 0.000000);
  49649. //SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  49650. }
  49651. else if(!strcmp(params, "drop", true))
  49652. {
  49653. if(IsPlayerHoldingCrate(playerid) == -1)
  49654. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't holding a crate.");
  49655. new Float:Pos[3];
  49656. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  49657. new crate;
  49658. crate = IsPlayerHoldingCrate(playerid);
  49659. PlayAnimation(playerid, "MISC", "pickup_box", 4.1, 0, 0, 0, 0, 0, 1);
  49660. WeaponCrates[crate][CrateObject] = CreateDynamicObject(2912, Pos[0], Pos[1], Pos[2]-1, 0.0, 0.0, 0.0);
  49661. WeaponCrates[crate][CrateAttachedTo] = -1;
  49662. new label[60];
  49663. format(label, sizeof label, "%s", ReturnFactionName(WeaponCrates[crate][CrateFaction]));
  49664. WeaponCrates[crate][CrateLabel] = CreateDynamic3DTextLabel(label, COLOR_YELLOW, Pos[0], Pos[1], Pos[2]-1, 20.0);
  49665. RemovePlayerAttachedObject(playerid, GetPVarInt(playerid, "CrateAttachSlot"));
  49666. DeletePVar(playerid, "CrateAttachSlot");
  49667. cmd_me(playerid, "puts down a crate.");
  49668. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  49669. }
  49670. else if(!strcmp(params, "load", true))
  49671. {
  49672. if(IsPlayerHoldingCrate(playerid) == -1)
  49673. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't holding a crate.");
  49674. new vehicleid;
  49675. vehicleid = GetNearestVehicle(playerid);
  49676. new crate;
  49677. crate = IsPlayerHoldingCrate(playerid);
  49678. if(vehicleid == INVALID_VEHICLE_ID)
  49679. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near a vehicle.");
  49680. if(!IsVehicleCargoCompatiable(vehicleid))
  49681. return SendClientMessage(playerid, COLOR_YELLOW, "This vehicle can't hold these type of crates.");
  49682. new Float:x, Float:y, Float:z;
  49683. GetVehicleBoot(vehicleid, x, y, z);
  49684. if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z))
  49685. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near this vehicles trunk.");
  49686. SendClientMessage(playerid, COLOR_YELLOW, "Place the object in the back of the vehicle.");
  49687. SendClientMessage(playerid, COLOR_YELLOW, "Placing your object offset from the vehicle will have the entire operation cancelled.");
  49688. new Float:Pos[3];
  49689. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  49690. WeaponCrates[crate][CrateObject] = CreateDynamicObject(2912, Pos[0]+1, Pos[1], Pos[2]-1, 0.0, 0.0, 0.0);
  49691. EditDynamicObject(playerid, WeaponCrates[crate][CrateObject]);
  49692. RemovePlayerAttachedObject(playerid, GetPVarInt(playerid, "CrateAttachSlot"));
  49693. DeletePVar(playerid, "CrateAttachSlot");
  49694. SetPVarInt(playerid, "EditingCrateToVehicle", 1);
  49695. SetPVarInt(playerid, "EditingCrateVehicleID", vehicleid);
  49696. SetPVarInt(playerid, "EditingCrateID", crate);
  49697. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  49698. }
  49699. else if(!strcmp(params, "unload", true))
  49700. {
  49701. new vehicleid, crateid;
  49702. IsPlayerNearVehicledCrate(playerid, vehicleid, crateid);
  49703. if(vehicleid == INVALID_VEHICLE_ID)
  49704. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near a vehicle that has a crate.");
  49705. new attach;
  49706. attach = FreeAttachmentSlot(playerid);
  49707. if(attach == -1)
  49708. return SendClientMessage(playerid, COLOR_YELLOW, "You can't carry this. You have one too many things on you.");
  49709. new Float:x, Float:y, Float:z;
  49710. GetVehicleBoot(vehicleid, x, y, z);
  49711. if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z))
  49712. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near this vehicles trunk.");
  49713. cmd_me(playerid, "unloads the crate from the vehicle.");
  49714. WeaponCrates[crateid][CrateAttachedTo] = playerid;
  49715. WeaponCrates[crateid][CrateVehicle] = -1;
  49716. DestroyDynamicObject(WeaponCrates[crateid][CrateObject]);
  49717. PlayAnimation(playerid, "MISC", "pickup_box", 4.1, 0, 0, 0, 0, 0, 1);
  49718. SetTimerEx("PickupBox", 1000, false, "ii", playerid, attach);
  49719. }
  49720. else if(!strcmp(params, "content", true))
  49721. {
  49722. new crate_id = -1;
  49723. new Float:Pos[3];
  49724. if(GetPVarInt(playerid, "ViewingCrateContent") > 0)
  49725. return SendClientMessage(playerid, COLOR_YELLOW, "You're already looking at it.");
  49726. for(new i; i < MAX_WEAPON_CRATES; i++)
  49727. {
  49728. if(!WeaponCrates[i][CrateExists])
  49729. continue;
  49730. if(IsValidDynamicObject( WeaponCrates[i][CrateObject] ) && WeaponCrates[i][CrateAttachedTo] == -1)
  49731. {
  49732. GetDynamicObjectPos(WeaponCrates[i][CrateObject], Pos[0], Pos[1], Pos[2]);
  49733. if(IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2]))
  49734. {
  49735. crate_id = i;
  49736. break;
  49737. }
  49738. else crate_id = IsPlayerHoldingCrate(playerid);
  49739. }
  49740. }
  49741. if(crate_id == -1)
  49742. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near a crate.");
  49743. ShowCrateInventory(playerid, crate_id);
  49744. cmd_me(playerid, "looks at the crates contents.");
  49745. }
  49746. else if(!strcmp(params, "open", true))
  49747. {
  49748. new crate_id = -1;
  49749. new Float:Pos[3];
  49750. for(new i; i < MAX_WEAPON_CRATES; i++)
  49751. {
  49752. if(!WeaponCrates[i][CrateExists])
  49753. continue;
  49754. if(IsValidDynamicObject( WeaponCrates[i][CrateObject] ) && WeaponCrates[i][CrateAttachedTo] == -1)
  49755. {
  49756. GetDynamicObjectPos(WeaponCrates[i][CrateObject], Pos[0], Pos[1], Pos[2]);
  49757. if(IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2]))
  49758. {
  49759. crate_id = i;
  49760. break;
  49761. }
  49762. else crate_id = IsPlayerHoldingCrate(playerid);
  49763. }
  49764. }
  49765. if(crate_id == -1)
  49766. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't near a crate.");
  49767. if(!IsPlayerInWarehouse(playerid))
  49768. return SendClientMessage(playerid, COLOR_YELLOW, "You aren't inside a warehouse.");
  49769. if(WeaponCrates[crate_id][CrateBeingOpened])
  49770. return SendClientMessage(playerid, COLOR_YELLOW, "This crates being opened already.");
  49771. if(gOpeningCrate[playerid] != -1)
  49772. return SendClientMessage(playerid, COLOR_YELLOW, "You're already opening a crate.");
  49773. new crateQuantity, openTime;
  49774. CountCrateItems(crate_id, crateQuantity);
  49775. switch( crateQuantity )
  49776. {
  49777. case 1 .. 5: openTime = 6;
  49778. case 6 .. 10: openTime = 11;
  49779. case 11 .. 15: openTime = 21;
  49780. case 16 .. 20: openTime = 31;
  49781. }
  49782. GetPlayerPos(playerid, gOpeningCratePos[playerid][0], gOpeningCratePos[playerid][1], gOpeningCratePos[playerid][2]);
  49783. WeaponCrates[crate_id][CrateBeingOpened] = 1;
  49784. gOpeningCrateTimer[playerid] = SetTimerEx("OnOpeningCrate", 1000, true, "iii", playerid, openTime, crate_id);
  49785. gOpeningCrate[playerid] = crate_id;
  49786. ShowTextdrawInfo(playerid, "~y~Opening the crate...", 5000);
  49787. }
  49788. else return SendClientMessage(playerid, COLOR_YELLOW, "That isn't an option.");
  49789. return 1;
  49790. }
  49791. Server:OnOpeningCrate(playerid, opentime) //opentime = seconds
  49792. {
  49793. if(!IsPlayerInRangeOfPoint(playerid, 3.0, gOpeningCratePos[playerid][0], gOpeningCratePos[playerid][1], gOpeningCratePos[playerid][2]))
  49794. {
  49795. ShowTextdrawInfo(playerid, "~r~Operation Interrupted");
  49796. KillTimer(gOpeningCrateTimer[playerid]);
  49797. WeaponCrates[ gOpeningCrate[playerid] ][CrateBeingOpened] = 0;
  49798. for(new i; i < 3; i++) gOpeningCratePos[playerid][i] = 0.0;
  49799. gOpeningCrate[playerid] = -1;
  49800. return 1;
  49801. }
  49802. gCrateOpenIntervals[playerid] ++;
  49803. switch( gCrateOpenIntervals[playerid] )
  49804. {
  49805. case 1 .. 2: ShowTextdrawInfo(playerid, "~y~Opening the crate", 5000);
  49806. case 3 .. 4: ShowTextdrawInfo(playerid, "~y~Opening the crate.", 5000);
  49807. case 5 .. 6: ShowTextdrawInfo(playerid, "~y~Opening the crate..", 5000);
  49808. case 7 .. 9: ShowTextdrawInfo(playerid, "~y~Opening the crate...", 5000);
  49809. case 10 .. 14: ShowTextdrawInfo(playerid, "~y~Opening the crate....", 5000);
  49810. case 15 .. 17: ShowTextdrawInfo(playerid, "~y~Opening the crate.....", 5000);
  49811. case 18 .. 24: ShowTextdrawInfo(playerid, "~g~Opening the crate......", 5000);
  49812. case 25 .. 31: ShowTextdrawInfo(playerid, "~g~Opening the crate...", 5000);
  49813. }
  49814. if(gCrateOpenIntervals[playerid] >= opentime)
  49815. {
  49816. new freePackages;
  49817. new crateQuantity;
  49818. CountCrateItems(gOpeningCrate[playerid], crateQuantity);
  49819. for (new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  49820. {
  49821. if (!PackageData[playerid][packageWeapon][i])
  49822. freePackages++;
  49823. }
  49824. if(freePackages < crateQuantity)
  49825. {
  49826. KillTimer(gOpeningCrateTimer[playerid]);
  49827. ShowTextdrawInfo(playerid, "~r~You don't have space for all the packages in this crate.");
  49828. WeaponCrates[ gOpeningCrate[playerid] ][CrateBeingOpened] = 0;
  49829. for(new i; i < 3; i++) gOpeningCratePos[playerid][i] = 0.0;
  49830. gOpeningCrate[playerid] = -1;
  49831. printf("[Debug] %s didn't have enough package space.", ReturnName(playerid));
  49832. return 1;
  49833. }
  49834. for(new i = 1, j = 1; i < MAX_WEAPON_PACKAGES, j < MAX_WEAPON_PACKAGES; i++, j++)
  49835. {
  49836. if(!PackageData[playerid][packageWeapon][i])
  49837. {
  49838. if(!WeaponCrates[ gOpeningCrate[playerid] ][CrateItems][j])
  49839. continue;
  49840. PackageData[playerid][packageWeapon][i] = WeaponCrates[ gOpeningCrate[playerid] ][CrateItems][j];
  49841. PackageData[playerid][packageAmmo][i] = ReturnOrderWepAmmo(WeaponCrates[ gOpeningCrate[playerid] ][CrateItems][j]);
  49842. printf("[Debug] %s got %s from a weapon crate.", ReturnName(playerid), ReturnWeaponName(WeaponCrates[ gOpeningCrate[playerid] ][CrateItems][j]));
  49843. }
  49844. }
  49845. ShowTextdrawInfo(playerid, "~g~Crate has been opened!~n~~y~The packages are now in your inventory.~n~(/mypackages)");
  49846. ClearActiveCrate( gOpeningCrate[playerid] );
  49847. for(new i; i < 3; i++) gOpeningCratePos[playerid][i] = 0.0;
  49848. gOpeningCrate[playerid] = -1;
  49849. WriteLog("faction_logs/warehouse_logs/openedcrate.txt", "[%s] %s received weapons (%i) from a crate.", ReturnDateLog(), ReturnName(playerid), crateQuantity);
  49850. KillTimer(gOpeningCrateTimer[playerid]);
  49851. }
  49852. return 1;
  49853. }
  49854. ReturnOrderWepAmmo(weaponid) {
  49855. new ammo;
  49856. switch(weaponid) {
  49857. case 24: ammo = 75;
  49858. case 22: ammo = 80;
  49859. case 25: ammo = 60;
  49860. case 30: ammo = 100;
  49861. case 31: ammo = 130;
  49862. case 34: ammo = 15;
  49863. case 4: ammo = 1;
  49864. }
  49865. return ammo;
  49866. }
  49867. Server:PickupBox(playerid, attachid)
  49868. {
  49869. if(!IsPlayerConnected(playerid))
  49870. return 1;
  49871. SetPlayerAttachedObject(playerid, attachid, 2912, 1, 0.312999, 0.565000, -0.360999, -0.399999, 0.000000, 0.000000);
  49872. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  49873. SetPVarInt(playerid, "CrateAttachSlot", attachid);
  49874. return 1;
  49875. }
  49876. DoesVehicleHaveCrate(vehicleid)
  49877. {
  49878. new fact = 0;
  49879. for(new i; i < MAX_WEAPON_CRATES; i++)
  49880. {
  49881. if(!WeaponCrates[i][CrateExists])
  49882. continue;
  49883. if(WeaponCrates[i][CrateVehicle] == vehicleid)
  49884. {
  49885. fact++;
  49886. }
  49887. }
  49888. return fact;
  49889. }
  49890. IsPlayerNearVehicledCrate(playerid, &vehicleid = INVALID_VEHICLE_ID, &crateid = -1)
  49891. {
  49892. vehicleid = GetNearestVehicle(playerid);
  49893. for(new i; i < MAX_WEAPON_CRATES; i++)
  49894. {
  49895. if(!WeaponCrates[i][CrateExists])
  49896. continue;
  49897. if(WeaponCrates[i][CrateVehicle] == vehicleid)
  49898. {
  49899. crateid = i;
  49900. break;
  49901. }
  49902. }
  49903. return 1;
  49904. }
  49905. stock IsPlayerHoldingCrate(playerid)
  49906. {
  49907. new is = -1;
  49908. for(new i; i < MAX_WEAPON_CRATES; i++)
  49909. {
  49910. if(!WeaponCrates[i][CrateExists])
  49911. continue;
  49912. if(WeaponCrates[i][CrateAttachedTo] == playerid)
  49913. {
  49914. is = i;
  49915. break;
  49916. }
  49917. }
  49918. return is;
  49919. }
  49920. //Time Convert
  49921. TimeConvert(seconds)
  49922. {
  49923. new M, S;
  49924. new string[128];
  49925. M = seconds / 60 ;
  49926. S = seconds % 60 ;
  49927. M = M % 60 ;
  49928. format(string, sizeof string, "%02d:%02d", M, S);
  49929. return string;
  49930. }
  49931. //
  49932. EmptyWarehouseItems(playerid)
  49933. {
  49934. PlayerTextDrawSetString(playerid, WarehouseMenu_P[playerid][2], "~r~Empty");
  49935. PlayerTextDrawShow(playerid, WarehouseMenu_P[playerid][2]);
  49936. SetPVarInt(playerid, "WarehouseCart", 0);
  49937. for(new i; i < 21; i++)
  49938. WarehouseWeapons[playerid][i] = 0;
  49939. printf("[Debug menu] %s emptied their warehouse order items.", ReturnName(playerid));
  49940. return 1;
  49941. }
  49942. CMD:checkprods(playerid, params[])
  49943. {
  49944. if(!IsIllegalFaction(playerid))
  49945. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  49946. if(!IsPlayerInTheirBlackMarket(playerid))
  49947. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your factions black market.");
  49948. Message(playerid, COLOR_ACTION, "%s's Products: %i", ReturnFaction(playerid), ReturnFactionProducts(PlayerData[playerid][pFaction]));
  49949. return 1;
  49950. }
  49951. CMD:order(playerid, params[])
  49952. {
  49953. if(!IsIllegalFaction(playerid))
  49954. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  49955. if(!IsPlayerInTheirBlackMarket(playerid))
  49956. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your factions black market.");
  49957. if(GetPVarInt(playerid, "ViewingWarehouseMenu") > 0)
  49958. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You're already viewing it.");
  49959. if(FactionData[ PlayerData[playerid][pFaction] ][factionHasWeaponOrder])
  49960. return SendClientMessage(playerid, COLOR_ADM, "Your faction can only have 1 active weapon order.");
  49961. if( WarehouseCallStep[playerid] > 0 )
  49962. return SendClientMessage(playerid, COLOR_ADM, "You're already in the call process.");
  49963. SendClientMessage(playerid, COLOR_ADM, "VIEWING:{FFFFFF} You're viewing your factions weapon warehouse order interface.");
  49964. SendClientMessage(playerid, COLOR_ADM, "VIEWING:{FFFFFF} Click a weapon to add it to the cart. You require products to make any purchase.");
  49965. ShowWarehouseMenu(playerid);
  49966. return 1;
  49967. }
  49968. CMD:orderproducts(playerid, params[])
  49969. {
  49970. if(!IsIllegalFaction(playerid))
  49971. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  49972. if(!IsPlayerInTheirBlackMarket(playerid))
  49973. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in your factions black market.");
  49974. if(PlayerData[playerid][pFactionRank] != 1)
  49975. return SendClientMessage(playerid, COLOR_GREY, "You can't do that.");
  49976. new quantity;
  49977. new confirmString[128];
  49978. if(sscanf(params, "i", quantity))
  49979. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /orderproducts [quantity]") ;
  49980. if(quantity < 1)
  49981. return SendClientMessage(playerid, COLOR_GREY, "ERROR: You specified an invalid amount.");
  49982. format(confirmString, sizeof confirmString, "Are you sure you want to buy $%s worth of products? (%s)", MoneyFormat(2 * quantity), MoneyFormat(quantity));
  49983. ConfirmDialog(playerid, "Confirmation", confirmString, "OnProductPurchase", quantity, 2 * quantity);
  49984. return 1;
  49985. }
  49986. Server:OnProductPurchase(playerid, response, quantity, price)
  49987. {
  49988. if(response)
  49989. {
  49990. if(price > PlayerData[playerid][pMoney])
  49991. return ShowTextdrawInfo(playerid, "~r~You can't afford this.");
  49992. GiveMoney(playerid, -price);
  49993. new string[128];
  49994. format(string, sizeof string, "~g~You spent $%s on %s products!", MoneyFormat(price), MoneyFormat(quantity));
  49995. ShowTextdrawInfo(playerid, string);
  49996. FactionData[ PlayerData[playerid][pFaction] ][factionProducts]+= quantity;
  49997. WriteLog("faction_logs/productbuy.txt", "[%s] %s bought %s products for $%s.", ReturnDateLog(), ReturnName(playerid), MoneyFormat(quantity), MoneyFormat(price));
  49998. }
  49999. return 1;
  50000. }
  50001. stock UpdateHUDForPlayer(playerid)
  50002. {
  50003. new
  50004. string[128],
  50005. fuel,
  50006. vehicleid = GetPlayerVehicleID(playerid);
  50007. if(!IsValidPlayerCar(vehicleid))
  50008. fuel = 100;
  50009. else fuel = floatround(CarData[vehicleid][carFuel]);
  50010. switch(PlayerData[playerid][pHUD])
  50011. {
  50012. case 0:
  50013. {
  50014. format(string, sizeof(string), "~g~%d~n~%d", GetVehicleSpeedMPH(vehicleid), fuel);
  50015. PlayerTextDrawSetString(playerid, VehicleHUD[playerid][1], string);
  50016. }
  50017. case 1:
  50018. {
  50019. format(string, sizeof(string), "~g~%d__~r~%d", GetVehicleSpeedMPH(vehicleid), fuel);
  50020. PlayerTextDrawSetString(playerid, VehicleHUD[playerid][2], string);
  50021. PlayerTextDrawShow(playerid, VehicleHUD[playerid][2]);
  50022. }
  50023. case 2:
  50024. {
  50025. format(string, sizeof(string), "%s_~r~%d_%d~y~KMH/~r~%d~y~MPH~n~~w~Radio_Info:~y~%d~n~~w~Slot:~y~%d",
  50026. ReturnVehicleName(vehicleid), fuel, GetVehicleSpeedMPH(vehicleid), GetVehicleSpeedMPH(vehicleid) * 0.6214,
  50027. PlayerData[playerid][pRadio][PlayerData[playerid][pMainSlot]], PlayerData[playerid][pMainSlot]);
  50028. PlayerTextDrawSetString(playerid, VehicleHUD[playerid][3], string);
  50029. }
  50030. case 3:
  50031. {
  50032. new Float: carhp;
  50033. GetVehicleHealth(vehicleid, carhp);
  50034. format(string, sizeof(string), "%s", ReturnVehicleName(vehicleid));
  50035. PlayerTextDrawSetString(playerid, VehicleHUD[playerid][4], string);
  50036. format(string, sizeof(string), "~w~%d ~l~%d ~w~%d ~l~%d", floatround(CarData[vehicleid][carEngine]), fuel, floatround(carhp), GetVehicleSpeedMPH(vehicleid));
  50037. PlayerTextDrawSetString(playerid, VehicleHUD[playerid][5], string);
  50038. }
  50039. }
  50040. return 1;
  50041. }
  50042. stock GetVehicleSpeedMPH(vehicleid)
  50043. {
  50044. // Function: GetVehicleSpeed( vehicleid )
  50045. new
  50046. Float:x,
  50047. Float:y,
  50048. Float:z,
  50049. vel;
  50050. GetVehicleVelocity( vehicleid, x, y, z );
  50051. // vel = floatround( floatsqroot( x*x + y*y + z*z ) * 180 ); // KM/H
  50052. vel = floatround( floatsqroot( x*x + y*y + z*z ) * 180 / 1.609344 ); // MPH
  50053. return vel;
  50054. }
  50055. //
  50056. stock GetFightstyleName(style_id)
  50057. {
  50058. new name[32];
  50059. switch(style_id)
  50060. {
  50061. case 0: name = "Default";
  50062. case 4: name = "Normal";
  50063. case 5: name = "Boxing";
  50064. case 6: name = "Kungfu";
  50065. case 7: name = "Kneehead";
  50066. case 15: name = "Grabkick";
  50067. case 16: name = "Elbow";
  50068. }
  50069. return name;
  50070. }
  50071. /*CMD:test(playerid, params[])
  50072. {
  50073. SetPlayerAttachedObject(playerid, 9, 18868, 6, 0.064999, 0.043999, 0.004999, -112.0, 0.0, -178.9);
  50074. return 1;
  50075. }*/
  50076. /*CMD:show(playerid, params[])
  50077. {
  50078. for(new i = 0; i < 20; i++)
  50079. {
  50080. PlayerTextDrawShow(playerid, GUI_PHONE[playerid][i]);
  50081. }
  50082. PlayerTextDrawShow(playerid, GUI_PHONE_DATE[playerid]);
  50083. return 1;
  50084. }*/
  50085. stock CreateVehicleMenu(playerid)
  50086. {
  50087. Player_Vehicles[playerid][0] = CreatePlayerTextDraw(playerid, 79.934127, 96.666671, "");
  50088. PlayerTextDrawLetterSize(playerid, Player_Vehicles[playerid][0], 0.000000, 0.000000);
  50089. PlayerTextDrawTextSize(playerid, Player_Vehicles[playerid][0], 121.000000, 120.000000);
  50090. PlayerTextDrawAlignment(playerid, Player_Vehicles[playerid][0], 1);
  50091. PlayerTextDrawColor(playerid, Player_Vehicles[playerid][0], -1);
  50092. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][0], 0);
  50093. PlayerTextDrawSetOutline(playerid, Player_Vehicles[playerid][0], 0);
  50094. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles[playerid][0], 8873060);
  50095. PlayerTextDrawFont(playerid, Player_Vehicles[playerid][0], 5);
  50096. PlayerTextDrawSetProportional(playerid, Player_Vehicles[playerid][0], 0);
  50097. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][0], 0);
  50098. PlayerTextDrawSetSelectable(playerid, Player_Vehicles[playerid][0], true);
  50099. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][0], 562);
  50100. PlayerTextDrawSetPreviewRot(playerid, Player_Vehicles[playerid][0], -15.000000, 0.000000, -45.000000, 0.899999);
  50101. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][0], 1, 1);
  50102. Player_Vehicles[playerid][1] = CreatePlayerTextDraw(playerid, 200.812606, 96.666694, "");
  50103. PlayerTextDrawLetterSize(playerid, Player_Vehicles[playerid][1], 0.000000, 0.000000);
  50104. PlayerTextDrawTextSize(playerid, Player_Vehicles[playerid][1], 121.000000, 120.000000);
  50105. PlayerTextDrawAlignment(playerid, Player_Vehicles[playerid][1], 1);
  50106. PlayerTextDrawColor(playerid, Player_Vehicles[playerid][1], -1);
  50107. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][1], 0);
  50108. PlayerTextDrawSetOutline(playerid, Player_Vehicles[playerid][1], 0);
  50109. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles[playerid][1], 8873060);
  50110. PlayerTextDrawFont(playerid, Player_Vehicles[playerid][1], 5);
  50111. PlayerTextDrawSetProportional(playerid, Player_Vehicles[playerid][1], 0);
  50112. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][1], 0);
  50113. PlayerTextDrawSetSelectable(playerid, Player_Vehicles[playerid][1], true);
  50114. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][1], 562);
  50115. PlayerTextDrawSetPreviewRot(playerid, Player_Vehicles[playerid][1], -15.000000, 0.000000, -45.000000, 0.899999);
  50116. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][1], 1, 1);
  50117. Player_Vehicles[playerid][2] = CreatePlayerTextDraw(playerid, 321.691406, 96.666664, "");
  50118. PlayerTextDrawLetterSize(playerid, Player_Vehicles[playerid][2], 0.000000, 0.000000);
  50119. PlayerTextDrawTextSize(playerid, Player_Vehicles[playerid][2], 121.000000, 120.000000);
  50120. PlayerTextDrawAlignment(playerid, Player_Vehicles[playerid][2], 1);
  50121. PlayerTextDrawColor(playerid, Player_Vehicles[playerid][2], -1);
  50122. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][2], 0);
  50123. PlayerTextDrawSetOutline(playerid, Player_Vehicles[playerid][2], 0);
  50124. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles[playerid][2], 8873060);
  50125. PlayerTextDrawFont(playerid, Player_Vehicles[playerid][2], 5);
  50126. PlayerTextDrawSetProportional(playerid, Player_Vehicles[playerid][2], 0);
  50127. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][2], 0);
  50128. PlayerTextDrawSetSelectable(playerid, Player_Vehicles[playerid][2], true);
  50129. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][2], 562);
  50130. PlayerTextDrawSetPreviewRot(playerid, Player_Vehicles[playerid][2], -15.000000, 0.000000, -45.000000, 0.899999);
  50131. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][2], 1, 1);
  50132. Player_Vehicles[playerid][3] = CreatePlayerTextDraw(playerid, 79.934127, 216.833267, "");
  50133. PlayerTextDrawLetterSize(playerid, Player_Vehicles[playerid][3], 0.000000, 0.000000);
  50134. PlayerTextDrawTextSize(playerid, Player_Vehicles[playerid][3], 121.000000, 120.000000);
  50135. PlayerTextDrawAlignment(playerid, Player_Vehicles[playerid][3], 1);
  50136. PlayerTextDrawColor(playerid, Player_Vehicles[playerid][3], -1);
  50137. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][3], 0);
  50138. PlayerTextDrawSetOutline(playerid, Player_Vehicles[playerid][3], 0);
  50139. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles[playerid][3], 8873060);
  50140. PlayerTextDrawFont(playerid, Player_Vehicles[playerid][3], 5);
  50141. PlayerTextDrawSetProportional(playerid, Player_Vehicles[playerid][3], 0);
  50142. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][3], 0);
  50143. PlayerTextDrawSetSelectable(playerid, Player_Vehicles[playerid][3], true);
  50144. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][3], 562);
  50145. PlayerTextDrawSetPreviewRot(playerid, Player_Vehicles[playerid][3], -15.000000, 0.000000, -45.000000, 0.899999);
  50146. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][3], 1, 1);
  50147. Player_Vehicles[playerid][4] = CreatePlayerTextDraw(playerid, 200.812576, 216.833282, "");
  50148. PlayerTextDrawLetterSize(playerid, Player_Vehicles[playerid][4], 0.000000, 0.000000);
  50149. PlayerTextDrawTextSize(playerid, Player_Vehicles[playerid][4], 121.000000, 120.000000);
  50150. PlayerTextDrawAlignment(playerid, Player_Vehicles[playerid][4], 1);
  50151. PlayerTextDrawColor(playerid, Player_Vehicles[playerid][4], -1);
  50152. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][4], 0);
  50153. PlayerTextDrawSetOutline(playerid, Player_Vehicles[playerid][4], 0);
  50154. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles[playerid][4], 8873060);
  50155. PlayerTextDrawFont(playerid, Player_Vehicles[playerid][4], 5);
  50156. PlayerTextDrawSetProportional(playerid, Player_Vehicles[playerid][4], 0);
  50157. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][4], 0);
  50158. PlayerTextDrawSetSelectable(playerid, Player_Vehicles[playerid][4], true);
  50159. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][4], 562);
  50160. PlayerTextDrawSetPreviewRot(playerid, Player_Vehicles[playerid][4], -15.000000, 0.000000, -45.000000, 0.899999);
  50161. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][4], 1, 1);
  50162. Player_Vehicles[playerid][5] = CreatePlayerTextDraw(playerid, 321.690917, 216.833297, "");
  50163. PlayerTextDrawLetterSize(playerid, Player_Vehicles[playerid][5], 0.000000, 0.000000);
  50164. PlayerTextDrawTextSize(playerid, Player_Vehicles[playerid][5], 121.000000, 120.000000);
  50165. PlayerTextDrawAlignment(playerid, Player_Vehicles[playerid][5], 1);
  50166. PlayerTextDrawColor(playerid, Player_Vehicles[playerid][5], -1);
  50167. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][5], 0);
  50168. PlayerTextDrawSetOutline(playerid, Player_Vehicles[playerid][5], 0);
  50169. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles[playerid][5], 8873060);
  50170. PlayerTextDrawFont(playerid, Player_Vehicles[playerid][5], 5);
  50171. PlayerTextDrawSetProportional(playerid, Player_Vehicles[playerid][5], 0);
  50172. PlayerTextDrawSetShadow(playerid, Player_Vehicles[playerid][5], 0);
  50173. PlayerTextDrawSetSelectable(playerid, Player_Vehicles[playerid][5], true);
  50174. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][5], 562);
  50175. PlayerTextDrawSetPreviewRot(playerid, Player_Vehicles[playerid][5], -15.000000, 0.000000, -45.000000, 0.899999);
  50176. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][5], 1, 1);
  50177. Player_Vehicles_Name[playerid][0] = CreatePlayerTextDraw(playerid, 140.541748, 195.833267, "TDEditor");
  50178. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Name[playerid][0], 0.459502, 2.078332);
  50179. PlayerTextDrawTextSize(playerid, Player_Vehicles_Name[playerid][0], 0.000000, 117.000000);
  50180. PlayerTextDrawAlignment(playerid, Player_Vehicles_Name[playerid][0], 2);
  50181. PlayerTextDrawColor(playerid, Player_Vehicles_Name[playerid][0], -1);
  50182. PlayerTextDrawUseBox(playerid, Player_Vehicles_Name[playerid][0], 1);
  50183. PlayerTextDrawBoxColor(playerid, Player_Vehicles_Name[playerid][0], 255);
  50184. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][0], 0);
  50185. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Name[playerid][0], 0);
  50186. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Name[playerid][0], 255);
  50187. PlayerTextDrawFont(playerid, Player_Vehicles_Name[playerid][0], 3);
  50188. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Name[playerid][0], 1);
  50189. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][0], 0);
  50190. Player_Vehicles_Name[playerid][1] = CreatePlayerTextDraw(playerid, 260.951782, 195.833251, "TDEditor");
  50191. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Name[playerid][1], 0.459502, 2.078332);
  50192. PlayerTextDrawTextSize(playerid, Player_Vehicles_Name[playerid][1], 0.000000, 117.000000);
  50193. PlayerTextDrawAlignment(playerid, Player_Vehicles_Name[playerid][1], 2);
  50194. PlayerTextDrawColor(playerid, Player_Vehicles_Name[playerid][1], -1);
  50195. PlayerTextDrawUseBox(playerid, Player_Vehicles_Name[playerid][1], 1);
  50196. PlayerTextDrawBoxColor(playerid, Player_Vehicles_Name[playerid][1], 255);
  50197. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][1], 0);
  50198. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Name[playerid][1], 0);
  50199. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Name[playerid][1], 255);
  50200. PlayerTextDrawFont(playerid, Player_Vehicles_Name[playerid][1], 3);
  50201. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Name[playerid][1], 1);
  50202. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][1], 0);
  50203. Player_Vehicles_Name[playerid][2] = CreatePlayerTextDraw(playerid, 381.830444, 195.833282, "TDEditor");
  50204. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Name[playerid][2], 0.459502, 2.078332);
  50205. PlayerTextDrawTextSize(playerid, Player_Vehicles_Name[playerid][2], 0.000000, 118.000000);
  50206. PlayerTextDrawAlignment(playerid, Player_Vehicles_Name[playerid][2], 2);
  50207. PlayerTextDrawColor(playerid, Player_Vehicles_Name[playerid][2], -1);
  50208. PlayerTextDrawUseBox(playerid, Player_Vehicles_Name[playerid][2], 1);
  50209. PlayerTextDrawBoxColor(playerid, Player_Vehicles_Name[playerid][2], 255);
  50210. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][2], 0);
  50211. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Name[playerid][2], 0);
  50212. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Name[playerid][2], 255);
  50213. PlayerTextDrawFont(playerid, Player_Vehicles_Name[playerid][2], 3);
  50214. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Name[playerid][2], 1);
  50215. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][2], 0);
  50216. Player_Vehicles_Name[playerid][3] = CreatePlayerTextDraw(playerid, 140.073226, 316.583343, "TDEditor");
  50217. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Name[playerid][3], 0.459502, 2.078332);
  50218. PlayerTextDrawTextSize(playerid, Player_Vehicles_Name[playerid][3], 0.000000, 118.000000);
  50219. PlayerTextDrawAlignment(playerid, Player_Vehicles_Name[playerid][3], 2);
  50220. PlayerTextDrawColor(playerid, Player_Vehicles_Name[playerid][3], -1);
  50221. PlayerTextDrawUseBox(playerid, Player_Vehicles_Name[playerid][3], 1);
  50222. PlayerTextDrawBoxColor(playerid, Player_Vehicles_Name[playerid][3], 255);
  50223. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][3], 0);
  50224. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Name[playerid][3], 0);
  50225. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Name[playerid][3], 255);
  50226. PlayerTextDrawFont(playerid, Player_Vehicles_Name[playerid][3], 3);
  50227. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Name[playerid][3], 1);
  50228. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][3], 0);
  50229. Player_Vehicles_Name[playerid][4] = CreatePlayerTextDraw(playerid, 260.951507, 316.583251, "TDEditor");
  50230. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Name[playerid][4], 0.459502, 2.078332);
  50231. PlayerTextDrawTextSize(playerid, Player_Vehicles_Name[playerid][4], 0.000000, 118.000000);
  50232. PlayerTextDrawAlignment(playerid, Player_Vehicles_Name[playerid][4], 2);
  50233. PlayerTextDrawColor(playerid, Player_Vehicles_Name[playerid][4], -1);
  50234. PlayerTextDrawUseBox(playerid, Player_Vehicles_Name[playerid][4], 1);
  50235. PlayerTextDrawBoxColor(playerid, Player_Vehicles_Name[playerid][4], 255);
  50236. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][4], 0);
  50237. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Name[playerid][4], 0);
  50238. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Name[playerid][4], 255);
  50239. PlayerTextDrawFont(playerid, Player_Vehicles_Name[playerid][4], 3);
  50240. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Name[playerid][4], 1);
  50241. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][4], 0);
  50242. Player_Vehicles_Name[playerid][5] = CreatePlayerTextDraw(playerid, 382.298797, 316.583282, "TDEditor");
  50243. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Name[playerid][5], 0.459502, 2.078332);
  50244. PlayerTextDrawTextSize(playerid, Player_Vehicles_Name[playerid][5], 0.000000, 118.000000);
  50245. PlayerTextDrawAlignment(playerid, Player_Vehicles_Name[playerid][5], 2);
  50246. PlayerTextDrawColor(playerid, Player_Vehicles_Name[playerid][5], -1);
  50247. PlayerTextDrawUseBox(playerid, Player_Vehicles_Name[playerid][5], 1);
  50248. PlayerTextDrawBoxColor(playerid, Player_Vehicles_Name[playerid][5], 255);
  50249. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][5], 0);
  50250. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Name[playerid][5], 0);
  50251. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Name[playerid][5], 255);
  50252. PlayerTextDrawFont(playerid, Player_Vehicles_Name[playerid][5], 3);
  50253. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Name[playerid][5], 1);
  50254. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Name[playerid][5], 0);
  50255. Player_Vehicles_Arrow[playerid][0] = CreatePlayerTextDraw(playerid, 192.401168, 188.833297/*188.249984*/, "LD_BEAT:RIGHT");
  50256. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Arrow[playerid][0], 0.000000, 0.000000);
  50257. PlayerTextDrawTextSize(playerid, Player_Vehicles_Arrow[playerid][0], 44.000000, 45.000000);
  50258. PlayerTextDrawAlignment(playerid, Player_Vehicles_Arrow[playerid][0], 1);
  50259. PlayerTextDrawColor(playerid, Player_Vehicles_Arrow[playerid][0], -1);
  50260. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Arrow[playerid][0], 0);
  50261. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Arrow[playerid][0], 0);
  50262. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Arrow[playerid][0], 255);
  50263. PlayerTextDrawFont(playerid, Player_Vehicles_Arrow[playerid][0], 4);
  50264. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Arrow[playerid][0], 0);
  50265. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Arrow[playerid][0], 0);
  50266. Player_Vehicles_Arrow[playerid][1] = CreatePlayerTextDraw(playerid, 310.000244, 188.833297/*188.249984*/, "LD_BEAT:RIGHT");
  50267. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Arrow[playerid][1], 0.000000, 0.000000);
  50268. PlayerTextDrawTextSize(playerid, Player_Vehicles_Arrow[playerid][1], 44.000000, 45.000000);
  50269. PlayerTextDrawAlignment(playerid, Player_Vehicles_Arrow[playerid][1], 1);
  50270. PlayerTextDrawColor(playerid, Player_Vehicles_Arrow[playerid][1], -1);
  50271. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Arrow[playerid][1], 0);
  50272. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Arrow[playerid][1], 0);
  50273. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Arrow[playerid][1], 255);
  50274. PlayerTextDrawFont(playerid, Player_Vehicles_Arrow[playerid][1], 4);
  50275. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Arrow[playerid][1], 0);
  50276. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Arrow[playerid][1], 0);
  50277. Player_Vehicles_Arrow[playerid][2] = CreatePlayerTextDraw(playerid, 432.752929, 188.833297/*188.249984*/, "LD_BEAT:RIGHT");
  50278. PlayerTextDrawLetterSize(playerid, Player_Vehicles_Arrow[playerid][2], 0.000000, 0.000000);
  50279. PlayerTextDrawTextSize(playerid, Player_Vehicles_Arrow[playerid][2], 44.000000, 45.000000);
  50280. PlayerTextDrawAlignment(playerid, Player_Vehicles_Arrow[playerid][2], 1);
  50281. PlayerTextDrawColor(playerid, Player_Vehicles_Arrow[playerid][2], -1);
  50282. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Arrow[playerid][2], 0);
  50283. PlayerTextDrawSetOutline(playerid, Player_Vehicles_Arrow[playerid][2], 0);
  50284. PlayerTextDrawBackgroundColor(playerid, Player_Vehicles_Arrow[playerid][2], 255);
  50285. PlayerTextDrawFont(playerid, Player_Vehicles_Arrow[playerid][2], 4);
  50286. PlayerTextDrawSetProportional(playerid, Player_Vehicles_Arrow[playerid][2], 0);
  50287. PlayerTextDrawSetShadow(playerid, Player_Vehicles_Arrow[playerid][2], 0);
  50288. Player_Static_Arrow[playerid] = CreatePlayerTextDraw(playerid, 47.606147, 188.833297, "LD_BEAT:LEFT");
  50289. PlayerTextDrawLetterSize(playerid, Player_Static_Arrow[playerid], 0.000000, 0.000000);
  50290. PlayerTextDrawTextSize(playerid, Player_Static_Arrow[playerid], 44.000000, 45.000000);
  50291. PlayerTextDrawAlignment(playerid, Player_Static_Arrow[playerid], 1);
  50292. PlayerTextDrawColor(playerid, Player_Static_Arrow[playerid], -1);
  50293. PlayerTextDrawSetShadow(playerid, Player_Static_Arrow[playerid], 0);
  50294. PlayerTextDrawSetOutline(playerid, Player_Static_Arrow[playerid], 0);
  50295. PlayerTextDrawBackgroundColor(playerid, Player_Static_Arrow[playerid], 255);
  50296. PlayerTextDrawFont(playerid, Player_Static_Arrow[playerid], 4);
  50297. PlayerTextDrawSetProportional(playerid, Player_Static_Arrow[playerid], 0);
  50298. PlayerTextDrawSetShadow(playerid, Player_Static_Arrow[playerid], 0);
  50299. /*
  50300. PlayerTextDrawSetSelectable(playerid, Player_Static_Arrow[playerid], true);
  50301. PlayerTextDrawSetSelectable(playerid, Player_Vehicles_Arrow[playerid][0], true);
  50302. PlayerTextDrawSetSelectable(playerid, Player_Vehicles_Arrow[playerid][1], true);
  50303. PlayerTextDrawSetSelectable(playerid, Player_Vehicles_Arrow[playerid][2], true);
  50304. */
  50305. }
  50306. //
  50307. stock ShowPlayerVehicleList(playerid)
  50308. {
  50309. new string[132];
  50310. for(new i = 0; i < 7; i++) // 1-6 first list
  50311. {
  50312. if(PlayerData[playerid][pOwnedCar][i])
  50313. {
  50314. printf("player %d owns vehicle id %i", playerid, i);
  50315. mysql_format(m_Handle, string, sizeof(string), "SELECT * FROM ownedcars WHERE id = %i", PlayerData[playerid][pOwnedCar][i]);
  50316. mysql_tquery(m_Handle, string, "OnShowVehicleListUI", "ii", playerid, (i+1));
  50317. }
  50318. }
  50319. return 1;
  50320. }
  50321. stock ShowPlayerVehicleList2(playerid)
  50322. {
  50323. new string[132];
  50324. for(new i = 0; i < 6; i++)
  50325. {
  50326. PlayerTextDrawHide(playerid, Player_Vehicles[playerid][i]);
  50327. PlayerTextDrawHide(playerid, Player_Vehicles_Name[playerid][i]);
  50328. }
  50329. for(new i = 7; i < (MAX_OWNED_CARS - 1); i++) // 7-MAX second list
  50330. {
  50331. if(PlayerData[playerid][pOwnedCar][i])
  50332. {
  50333. mysql_format(m_Handle, string, sizeof(string), "SELECT * FROM ownedcars WHERE id = %i", PlayerData[playerid][pOwnedCar][i]);
  50334. mysql_tquery(m_Handle, string, "OnShowVehicleListUI", "ii", playerid, i);
  50335. }
  50336. }
  50337. return 1;
  50338. }
  50339. Server:OnShowVehicleListUI(playerid, idx)
  50340. {
  50341. new rows, fields;
  50342. cache_get_row_count(rows);
  50343. cache_get_field_count(fields);
  50344. new
  50345. vehicleModel,
  50346. vehicleColor1,
  50347. vehicleColor2;
  50348. cache_get_value_name_int(0, "ModelID", vehicleModel);
  50349. cache_get_value_name_int(0, "Color1", vehicleColor1);
  50350. cache_get_value_name_int(0, "Color2", vehicleColor2);
  50351. if(GetPVarInt(playerid, "Viewing_OwnedCarList") == 2)
  50352. {
  50353. PlayerTextDrawHide(playerid, Player_Static_Arrow[playerid]);
  50354. PlayerTextDrawSetSelectable(playerid, Player_Vehicles_Arrow[playerid][2], false);
  50355. PlayerTextDrawSetSelectable(playerid, Player_Static_Arrow[playerid], true);
  50356. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][0]);
  50357. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][1]);
  50358. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][2]);
  50359. switch(idx)
  50360. {
  50361. case 6: idx = 1;
  50362. case 7: idx = 2;
  50363. case 8: idx = 3;
  50364. case 9: idx = 4;
  50365. }
  50366. }
  50367. if(GetPVarInt(playerid, "Viewing_OwnedCarList") != 2)
  50368. PlayerTextDrawSetSelectable(playerid, Player_Static_Arrow[playerid], false);
  50369. /*switch(idx)
  50370. {
  50371. case 7: idx = 1;
  50372. case 8: idx = 2;
  50373. case 9: idx = 3;
  50374. case 10: idx = 4;
  50375. }*/
  50376. PlayerTextDrawShow(playerid, Player_Static_Arrow[playerid]);
  50377. if(idx == 1)
  50378. {
  50379. PlayerTextDrawShow(playerid, Player_Vehicles_Arrow[playerid][0]);
  50380. }
  50381. if(idx == 2)
  50382. {
  50383. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][0]);
  50384. PlayerTextDrawShow(playerid, Player_Vehicles_Arrow[playerid][1]);
  50385. }
  50386. if(idx == 3)
  50387. {
  50388. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][0]);
  50389. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][1]);
  50390. PlayerTextDrawShow(playerid, Player_Vehicles_Arrow[playerid][2]);
  50391. }
  50392. if(CountPlayerCars(playerid) > 6 && GetPVarInt(playerid, "Viewing_OwnedCarList") != 2)
  50393. {
  50394. PlayerTextDrawSetSelectable(playerid, Player_Vehicles_Arrow[playerid][2], true);
  50395. }
  50396. new str[64];
  50397. format(str, sizeof(str), "%s", ReturnVehicleModelName(vehicleModel));
  50398. PlayerTextDrawSetString(playerid, Player_Vehicles_Name[playerid][idx-1], str);
  50399. PlayerTextDrawSetPreviewModel(playerid, Player_Vehicles[playerid][idx-1], vehicleModel);
  50400. PlayerTextDrawSetPreviewVehCol(playerid, Player_Vehicles[playerid][idx-1], vehicleColor1, vehicleColor2);
  50401. PlayerTextDrawShow(playerid, Player_Vehicles[playerid][idx-1]);
  50402. PlayerTextDrawShow(playerid, Player_Vehicles_Name[playerid][idx-1]);
  50403. SelectTextDraw(playerid, COLOR_DARKGREEN);
  50404. if(GetPVarInt(playerid, "Viewing_OwnedCarList") != 2)
  50405. SetPVarInt(playerid, "Viewing_OwnedCarList", 1);
  50406. return 1;
  50407. }
  50408. stock HideVehicleUI(playerid, cancel = 0)
  50409. {
  50410. if(GetPVarInt(playerid, "Viewing_OwnedCarList") > 0)
  50411. {
  50412. PlayerTextDrawSetSelectable(playerid, Player_Vehicles_Arrow[playerid][2], false);
  50413. PlayerTextDrawSetSelectable(playerid, Player_Static_Arrow[playerid], false);
  50414. }
  50415. PlayerTextDrawHide(playerid, Player_Static_Arrow[playerid]);
  50416. for(new i = 0; i < 6; i++)
  50417. {
  50418. PlayerTextDrawHide(playerid, Player_Vehicles[playerid][i]);
  50419. PlayerTextDrawHide(playerid, Player_Vehicles_Name[playerid][i]);
  50420. }
  50421. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][0]);
  50422. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][1]);
  50423. PlayerTextDrawHide(playerid, Player_Vehicles_Arrow[playerid][2]);
  50424. if(cancel == 1) CancelSelectTextDraw(playerid);
  50425. return 1;
  50426. }
  50427. stock RefreshPlayerCarSlots(playerid)
  50428. {
  50429. new slots[MAX_OWNED_CARS];
  50430. for(new i = 0, j = 0; i < (MAX_OWNED_CARS - 1); i++)
  50431. {
  50432. if(PlayerData[playerid][pOwnedCar][i])
  50433. {
  50434. slots[j] = PlayerData[playerid][pOwnedCar][i];
  50435. PlayerData[playerid][pOwnedCar][i] = 0;
  50436. j++;
  50437. if(j >= MAX_OWNED_CARS)
  50438. break;
  50439. }
  50440. }
  50441. for(new i = 0; i < (MAX_OWNED_CARS - 1); i++)
  50442. {
  50443. PlayerData[playerid][pOwnedCar][i] = slots[i];
  50444. }
  50445. SendClientMessage(playerid, COLOR_ACTION, "PROCESSED: Your vehicle slots were refreshed.");
  50446. SavePlayer(playerid);
  50447. return 1;
  50448. }
  50449. //Prop Drugs
  50450. Server:OnHouseDrugInsert(playerid, property_id, drug_quantity, drug_type)
  50451. {
  50452. WriteLog("property_logs/putdrug.txt", "[%s] %s placed %s (%d Grams) into Property DBID %i.", ReturnDate(), ReturnName(playerid), ReturnDrugsName(drug_type), drug_quantity, PropertyData[property_id][propertyid]);
  50453. new logstring[128];
  50454. format(logstring, 128, "Placed %s(%d) in Property %i", ReturnDrugsName(drug_type), drug_quantity, property_id);
  50455. LogPlayerAction(playerid, logstring);
  50456. return 1;
  50457. }
  50458. Server:OnHouseDrugRemove(playerid, property_id, drug_quantity, drug_type)
  50459. {
  50460. WriteLog("property_logs/takedrug.txt", "[%s] %s took %s (%d Grams) from Property DBID %i.", ReturnDate(), ReturnName(playerid), ReturnDrugsName(drug_type), drug_quantity, PropertyData[property_id][propertyid]);
  50461. new logstring[128];
  50462. format(logstring, 128, "Took %s(%d) from Property %i", ReturnDrugsName(drug_type), drug_quantity, property_id);
  50463. LogPlayerAction(playerid, logstring);
  50464. return 1;
  50465. }
  50466. //NC
  50467. Server:OnNamechangeRequest(playerid, response)
  50468. {
  50469. if(response)
  50470. {
  50471. SetPVarInt(playerid, "RequestedNC", 2);
  50472. new adm[200], newname[MAX_PLAYER_NAME+1];
  50473. GetPVarString(playerid, "RequestedNCName", newname, MAX_PLAYER_NAME+1);
  50474. format(adm, sizeof(adm), "%s requested a namechange to: %s", ReturnName(playerid), newname);
  50475. adminWarn(1, adm);
  50476. }
  50477. else
  50478. {
  50479. DeletePVar(playerid, "RequestedNC");
  50480. DeletePVar(playerid, "RequestedNCName");
  50481. }
  50482. return 1;
  50483. }
  50484. CMD:setweaponskill(playerid, params[])
  50485. {
  50486. new targetid, weaponskill, amount;
  50487. if(PlayerData[playerid][pAdmin] != 6) return 0;
  50488. if(sscanf(params, "uii", targetid, weaponskill, amount)) {
  50489. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setweaponskill [playerid] [weapon skill id] [amount]");
  50490. SendClientMessage(playerid, COLOR_WHITE, "WEAPONS: 0 - Pistol | 1 - Silenced | 2 - Desert Eagle | 3 - Shotgun | 4 - Sawnoff Shotgun | 5 - SPAS12");
  50491. SendClientMessage(playerid, COLOR_WHITE, "6 - Micro Uzi | 7 - MP5 | 8 - AK47 | 9 - M4 | 10 - SNIPER RIFLE");
  50492. }
  50493. else {
  50494. if(weaponskill > 10 || weaponskill < 0) return SendClientMessage(playerid, COLOR_WHITE, "Weapon skill ID invalid.");
  50495. if(amount < 0 || amount > 1000) return SendClientMessage(playerid, COLOR_WHITE, "Amounts must be between 0 and 1000.");
  50496. SetPlayerSkillLevel(targetid, weaponskill, amount);
  50497. SendClientMessage(playerid, -1, sprintf("You have set %s weapon skill id %d to the amount of %d/1000.", ReturnName(targetid, 1), weaponskill, amount));
  50498. }
  50499. return 1;
  50500. }
  50501. //Kane CMD
  50502. CMD:kanye(playerid, params[])
  50503. {
  50504. if(PlayerData[playerid][pAdmin] != 6)
  50505. return 0;
  50506. new playerb, task[128], specifier[30];
  50507. if(sscanf(params, "us[30]S()[128]", playerb, specifier, task))
  50508. {
  50509. SendClientMessage(playerid, COLOR_GREY, "USAGE:{FFFFFF} /kanye [playerid/PartofName] [task ID]");
  50510. SendClientMessage(playerid, COLOR_GREY, "1 - Fake Chat");
  50511. SendClientMessage(playerid, COLOR_GREY, "2 - Fake Shout");
  50512. SendClientMessage(playerid, COLOR_GREY, "3 - Fake /me");
  50513. SendClientMessage(playerid, COLOR_GREY, "4 - Earthquake effect");
  50514. SendClientMessage(playerid, COLOR_GREY, "5 - Player velocity");
  50515. return 1;
  50516. }
  50517. if(!strcmp(specifier, "1", true))
  50518. {
  50519. new chat[128];
  50520. if(sscanf(task, "s[128]", chat))
  50521. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /kanye [playerid/PartofName] 1 [fake IC chat text]");
  50522. if(strlen(chat) < 1 || strlen(chat) >= 128)
  50523. return SendClientMessage(playerid, -1, "Get creative bro. Text is low or too high.");
  50524. Message(playerid, COLOR_GREY, "Fake chat sent target '%s' saying: \"%s\"", ReturnName(playerb), chat);
  50525. CallLocalFunction("OnPlayerText", "is", playerb, chat);
  50526. return 1;
  50527. }
  50528. else if(!strcmp(specifier, "2", true))
  50529. {
  50530. new shout[128];
  50531. if(sscanf(task, "s[128]", shout))
  50532. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /kanye [playerid/PartofName] 2 [fake Shout text]");
  50533. if(strlen(shout) < 1 || strlen(shout) >= 128)
  50534. return SendClientMessage(playerid, -1, "Get creative bro. Text is low or too high.");
  50535. Message(playerid, COLOR_GREY, "Fake shout sent target '%s' saying: \"%s\"", ReturnName(playerb), shout);
  50536. cmd_shout(playerb, shout);
  50537. }
  50538. else if(!strcmp(specifier, "3", true))
  50539. {
  50540. new emote[128];
  50541. if(sscanf(task, "s[128]", emote))
  50542. return SendClientMessage(playerid, COLOR_ADM, "USAGE:{FFFFFF} /kanye [playerid/PartofName] 3 [fake Emote]");
  50543. if(strlen(emote) < 1 || strlen(emote) >= 128)
  50544. return SendClientMessage(playerid, -1, "Get creative bro. Text is low or too high.");
  50545. Message(playerid, COLOR_GREY, "Fake emote sent target '%s' saying: \"%s\"", ReturnName(playerb), emote);
  50546. cmd_me(playerb, emote);
  50547. }
  50548. else if(!strcmp(specifier, "4", true))
  50549. {
  50550. new vehicleid = GetPlayerVehicleID(playerb);
  50551. new effect;
  50552. if(vehicleid == 0) return SendClientMessage(playerid, COLOR_GREY, "They're not in a car.");
  50553. if(sscanf(task, "i", effect))
  50554. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /kanye [playerid/PartofName] [4] type 1-3");
  50555. switch(effect)
  50556. {
  50557. case 1: SetVehicleAngularVelocity( vehicleid, 0.09, 0.033, 0.05 );
  50558. case 2: SetVehicleAngularVelocity( vehicleid, 0.03, 0.03, 0.03 );
  50559. case 3: SetVehicleAngularVelocity( vehicleid, 0.015, 0.015, 0.015 );
  50560. default: return SendClientMessage(playerid, COLOR_ADM, "Not an option.");
  50561. }
  50562. SendClientMessage(playerid, COLOR_GREY, "Earthquake effect sent to their vehicle.");
  50563. }
  50564. else if(!strcmp(specifier, "5", true))
  50565. {
  50566. SendClientMessage(playerid, COLOR_GREY, "Velocity effect sent.");
  50567. new Float:vx,Float:vy,Float:vz;
  50568. GetPlayerVelocity(playerb, vx, vy, vz);
  50569. SetPlayerVelocity(playerb,vx + 0.5,vy - 0.7 ,vz + 0.5);
  50570. }
  50571. return 1;
  50572. }
  50573. //
  50574. stock IsSeatAvailable(vehicleid, seat_id)
  50575. {
  50576. foreach(new i : Player)
  50577. {
  50578. if(GetPlayerVehicleID(i) == vehicleid && GetPlayerVehicleSeat(i) == seat_id)
  50579. return 0;
  50580. }
  50581. return 1;
  50582. }
  50583. //Faction configure
  50584. CMD:configfaction(playerid, params[])
  50585. {
  50586. if(!PlayerData[playerid][pFaction])
  50587. return SendClientMessage(playerid, COLOR_ADM, "ERROR: You aren't in a faction.");
  50588. if(PlayerData[playerid][pFactionRank] > FactionData[PlayerData[playerid][pFaction]][factionEditrank])
  50589. return SendClientMessage(playerid, COLOR_ADM, "ACCESS DENIED:{FFFFFF} Your rank doesn't have permission to do this.");
  50590. ShowYourFactionMenu(playerid);
  50591. return 1;
  50592. }
  50593. stock ShowYourFactionMenu(playerid)
  50594. {
  50595. new primary_str[600], sub_str[200];
  50596. format(sub_str, sizeof(sub_str), "Faction Name:[{AFAFAF}%s{FFFFFF}]\n", ReturnFactionName(PlayerData[playerid][pFaction]));
  50597. strcat(primary_str, sub_str);
  50598. format(sub_str, sizeof(sub_str), "Faction Abbrev:[{AFAFAF}%s{FFFFFF}]\n", FactionData[PlayerData[playerid][pFaction]][factionAbbrev]);
  50599. strcat(primary_str, sub_str);
  50600. format(sub_str, sizeof(sub_str), "Alter Rank:[{AFAFAF}%s{FFFFFF}]\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionEditrank]]);
  50601. strcat(primary_str, sub_str);
  50602. format(sub_str, sizeof(sub_str), "Tow Rank:[{AFAFAF}%s{FFFFFF}]\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionTowrank]]);
  50603. strcat(primary_str, sub_str);
  50604. format(sub_str, sizeof(sub_str), "Chat Rank:[{AFAFAF}%s{FFFFFF}]\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionChatrank]]);
  50605. strcat(primary_str, sub_str);
  50606. format(sub_str, sizeof(sub_str), "Join Rank:[{AFAFAF}%s{FFFFFF}]\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionMaxRanks]]);
  50607. strcat(primary_str, sub_str);
  50608. strcat(primary_str, "{ADC3E7}Edit Faction Ranks");
  50609. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU, DIALOG_STYLE_LIST, "Faction Management", primary_str, "Select", "Cancel");
  50610. return 1;
  50611. }
  50612. stock ShowYourFactionMenuAlt(playerid, listitem)
  50613. {
  50614. new primary_str[1100], sub_str[200];
  50615. switch(listitem)
  50616. {
  50617. case 0: // Name
  50618. {
  50619. if(PlayerData[playerid][pFactionRank] != 1)
  50620. {
  50621. SendClientMessage(playerid, COLOR_YELLOW, "Only faction rank 1's can edit the factions name.");
  50622. return ShowYourFactionMenu(playerid);
  50623. }
  50624. format(sub_str, sizeof sub_str, "{AFAFAF}You're editing your factions name from %s.\n\n", ReturnFactionName(PlayerData[playerid][pFaction]));
  50625. strcat(primary_str, sub_str);
  50626. strcat(primary_str, "Your factions name should only be changed after consulting faction management.\n");
  50627. strcat(primary_str, "Faction leaders who abuse their permissions may be removed or even have their faction disbanded.\n\n");
  50628. strcat(primary_str, "Please enter a faction name between 3 and 60 characters:\n");
  50629. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_NAME, DIALOG_STYLE_INPUT, "Faction Management -> Faction Name", primary_str, "Select", "<<");
  50630. }
  50631. case 1: // Abbreviation
  50632. {
  50633. format(sub_str, sizeof sub_str, "{AFAFAF}You're editing your factions abbreviation from %s.\n\n", FactionData[PlayerData[playerid][pFaction]][factionAbbrev]);
  50634. strcat(primary_str, sub_str);
  50635. strcat(primary_str, "Abbreviations are obsolete to factions that aren't a government type. If your factions a,\n");
  50636. strcat(primary_str, "law enforcement faction then your abbreviation appears in the /department chat.\n\n");
  50637. strcat(primary_str, "Please keep your factions abbreviation below 7 characters. A good example is: \"POLICE\" or \"SAN\". ");
  50638. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_ABBREV, DIALOG_STYLE_INPUT, "Faction Management -> Faction Abbrev", primary_str, "Select", "<<");
  50639. }
  50640. case 2: //Alter Rank
  50641. {
  50642. if(PlayerData[playerid][pFactionRank] != 1)
  50643. {
  50644. SendClientMessage(playerid, COLOR_YELLOW, "Only faction rank 1's can edit the factions name.");
  50645. return ShowYourFactionMenu(playerid);
  50646. }
  50647. format(sub_str, sizeof sub_str, "{AFAFAF}You're editing your factions alter rank which is %s [%i].\n\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionEditrank]], FactionData[PlayerData[playerid][pFaction]][factionEditrank]);
  50648. strcat(primary_str, sub_str);
  50649. strcat(primary_str, "The alter rank allows player to use the commands:\n\n");
  50650. strcat(primary_str, "\t\t/rank, /invite, /uninvite, /ouninvite, /configfaction, /nofam and /gov.\n\n");
  50651. strcat(primary_str, "Assign it wisely. Please input the rank number you want to have these permissions.");
  50652. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_ALTER, DIALOG_STYLE_INPUT, "Faction Management -> Alter Rank", primary_str, "Select", "<<");
  50653. }
  50654. case 3: //Tow Rank
  50655. {
  50656. format(sub_str, sizeof sub_str, "{AFAFAF}You're editing your factions alter rank which is %s [%i].\n\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionTowrank]], FactionData[PlayerData[playerid][pFaction]][factionTowrank]);
  50657. strcat(primary_str, sub_str);
  50658. strcat(primary_str, "Persons with this rank have access to the /towcars command.\nPlease input the rank number you want to have these permissions.");
  50659. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_TOW, DIALOG_STYLE_INPUT, "Faction Management -> Tow Rank", primary_str, "Select", "<<");
  50660. }
  50661. case 4: //Chat Rank
  50662. {
  50663. format(sub_str, sizeof sub_str, "{AFAFAF}You're editing your factions chat rank which is %s [%i].\n\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionChatrank]], FactionData[PlayerData[playerid][pFaction]][factionChatrank]);
  50664. strcat(primary_str, sub_str);
  50665. strcat(primary_str, "Persons with this rank have access to the /faction chat.\nPlease input the rank number you want to have these permissions.");
  50666. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_CHAT, DIALOG_STYLE_INPUT, "Faction Management -> Chat Rank", primary_str, "Select", "<<");
  50667. }
  50668. case 5: //Join Rank
  50669. {
  50670. format(sub_str, sizeof sub_str, "{AFAFAF}You're editing your factions join rank which is %s [%i].\n\n", FactionRanks[PlayerData[playerid][pFaction]][FactionData[PlayerData[playerid][pFaction]][factionMaxRanks]], FactionData[PlayerData[playerid][pFaction]][factionMaxRanks]);
  50671. strcat(primary_str, sub_str);
  50672. strcat(primary_str, "This is the rank a person receives when they accept their /invite.\nPlease input the rank number you want to have these permissions.");
  50673. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_JOIN, DIALOG_STYLE_INPUT, "Faction Management -> Join Rank", primary_str, "Select", "<<");
  50674. }
  50675. case 6: //Edit ranks
  50676. {
  50677. for(new i = 1; i < MAX_FACTION_RANKS; i++)
  50678. {
  50679. format(sub_str, sizeof sub_str, "%s [%i]\n", FactionRanks[PlayerData[playerid][pFaction]][i], i);
  50680. strcat(primary_str, sub_str);
  50681. }
  50682. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_EDIT, DIALOG_STYLE_LIST, "Faction Management -> Edit ranks", primary_str, "Select", "<<");
  50683. }
  50684. case 7: // Edit ranks alt
  50685. {
  50686. new rank_id;
  50687. rank_id = GetPVarInt(playerid, "SelectedRank");
  50688. if(rank_id == 1 && PlayerData[playerid][pFactionRank] != 1)
  50689. {
  50690. SendClientMessage(playerid, COLOR_GREY, "Only the factions rank 1 may edit the rank 1 name.");
  50691. return ShowYourFactionMenuAlt(playerid, 6);
  50692. }
  50693. format(sub_str, sizeof sub_str, "You're editing rank: %s [%i].\n", FactionRanks[PlayerData[playerid][pFaction]][rank_id], rank_id);
  50694. strcat(primary_str, sub_str);
  50695. strcat(primary_str, "Input the new name you want for this rank.");
  50696. ShowPlayerDialog(playerid, DIALOG_FACTIONMENU_EDITALT, DIALOG_STYLE_INPUT, "Faction Management -> Edit ranks", primary_str, "Select", "<<");
  50697. }
  50698. }
  50699. return 1;
  50700. }
  50701. //
  50702. Server:OnOfflineUninvite(playerid, response, dbid)
  50703. {
  50704. if(response)
  50705. {
  50706. new removeQuery[200];
  50707. mysql_format(m_Handle, removeQuery, sizeof removeQuery, "UPDATE players SET Faction = 0, FactionRank = 0 WHERE id = %i", dbid);
  50708. mysql_tquery(m_Handle, removeQuery, "OnOfflineRemove", "ii", playerid, dbid);
  50709. }
  50710. return 1;
  50711. }
  50712. Server:OnOfflineRemove(playerid, dbid)
  50713. {
  50714. Message(playerid, COLOR_ADM, "-> You successfully uninvited %s from the faction.", ReturnSQLName(dbid));
  50715. return 1;
  50716. }
  50717. //Warehouse Menu
  50718. stock LoadWarehouseMenu_1()
  50719. {
  50720. WarehouseMenu[0] = TextDrawCreate(169.066635, 138.492538, "box");
  50721. TextDrawLetterSize(WarehouseMenu[0], 0.000000, 23.069936);
  50722. TextDrawTextSize(WarehouseMenu[0], 461.000000, 0.000000);
  50723. TextDrawAlignment(WarehouseMenu[0], 1);
  50724. TextDrawColor(WarehouseMenu[0], -1);
  50725. TextDrawUseBox(WarehouseMenu[0], 1);
  50726. TextDrawBoxColor(WarehouseMenu[0], 122);
  50727. TextDrawSetShadow(WarehouseMenu[0], 0);
  50728. TextDrawSetOutline(WarehouseMenu[0], 0);
  50729. TextDrawBackgroundColor(WarehouseMenu[0], 255);
  50730. TextDrawFont(WarehouseMenu[0], 1);
  50731. TextDrawSetProportional(WarehouseMenu[0], 1);
  50732. TextDrawSetShadow(WarehouseMenu[0], 0);
  50733. WarehouseMenu[1] = TextDrawCreate(169.666870, 146.540420, "");
  50734. TextDrawLetterSize(WarehouseMenu[1], 0.000000, 0.000000);
  50735. TextDrawTextSize(WarehouseMenu[1], 68.000000, 63.000000);
  50736. TextDrawAlignment(WarehouseMenu[1], 1);
  50737. TextDrawColor(WarehouseMenu[1], -1);
  50738. TextDrawSetShadow(WarehouseMenu[1], 0);
  50739. TextDrawSetOutline(WarehouseMenu[1], 0);
  50740. TextDrawBackgroundColor(WarehouseMenu[1], -572662307);
  50741. TextDrawFont(WarehouseMenu[1], 5);
  50742. TextDrawSetProportional(WarehouseMenu[1], 0);
  50743. TextDrawSetShadow(WarehouseMenu[1], 0);
  50744. TextDrawSetSelectable(WarehouseMenu[1], true);
  50745. TextDrawSetPreviewModel(WarehouseMenu[1], 348);
  50746. TextDrawSetPreviewRot(WarehouseMenu[1], 0.000000, 0.000000, 70.000000, 1.000000);
  50747. WarehouseMenu[2] = TextDrawCreate(200.699920, 146.077590, "Desert_Eagle");
  50748. TextDrawLetterSize(WarehouseMenu[2], 0.169000, 0.940445);
  50749. TextDrawAlignment(WarehouseMenu[2], 1);
  50750. TextDrawColor(WarehouseMenu[2], -1);
  50751. TextDrawSetShadow(WarehouseMenu[2], 0);
  50752. TextDrawSetOutline(WarehouseMenu[2], 1);
  50753. TextDrawBackgroundColor(WarehouseMenu[2], 255);
  50754. TextDrawFont(WarehouseMenu[2], 1);
  50755. TextDrawSetProportional(WarehouseMenu[2], 1);
  50756. TextDrawSetShadow(WarehouseMenu[2], 0);
  50757. WarehouseMenu[3] = TextDrawCreate(219.101043, 201.080947, "300-P");
  50758. TextDrawLetterSize(WarehouseMenu[3], 0.169000, 0.940445);
  50759. TextDrawAlignment(WarehouseMenu[3], 1);
  50760. TextDrawColor(WarehouseMenu[3], 699676415);
  50761. TextDrawSetShadow(WarehouseMenu[3], 0);
  50762. TextDrawSetOutline(WarehouseMenu[3], 1);
  50763. TextDrawBackgroundColor(WarehouseMenu[3], 255);
  50764. TextDrawFont(WarehouseMenu[3], 1);
  50765. TextDrawSetProportional(WarehouseMenu[3], 1);
  50766. TextDrawSetShadow(WarehouseMenu[3], 0);
  50767. WarehouseMenu[4] = TextDrawCreate(244.171752, 146.570037, "");
  50768. TextDrawLetterSize(WarehouseMenu[4], 0.000000, 0.000000);
  50769. TextDrawTextSize(WarehouseMenu[4], 68.000000, 63.000000);
  50770. TextDrawAlignment(WarehouseMenu[4], 1);
  50771. TextDrawColor(WarehouseMenu[4], -1);
  50772. TextDrawSetShadow(WarehouseMenu[4], 0);
  50773. TextDrawSetOutline(WarehouseMenu[4], 0);
  50774. TextDrawBackgroundColor(WarehouseMenu[4], -572662307);
  50775. TextDrawFont(WarehouseMenu[4], 5);
  50776. TextDrawSetProportional(WarehouseMenu[4], 0);
  50777. TextDrawSetShadow(WarehouseMenu[4], 0);
  50778. TextDrawSetSelectable(WarehouseMenu[4], true);
  50779. TextDrawSetPreviewModel(WarehouseMenu[4], 346);
  50780. TextDrawSetPreviewRot(WarehouseMenu[4], 0.000000, 0.000000, 40.000000, 1.000000);
  50781. WarehouseMenu[5] = TextDrawCreate(289.305328, 146.277603, "Colt-45");
  50782. TextDrawLetterSize(WarehouseMenu[5], 0.169000, 0.940445);
  50783. TextDrawAlignment(WarehouseMenu[5], 1);
  50784. TextDrawColor(WarehouseMenu[5], -1);
  50785. TextDrawSetShadow(WarehouseMenu[5], 0);
  50786. TextDrawSetOutline(WarehouseMenu[5], 1);
  50787. TextDrawBackgroundColor(WarehouseMenu[5], 255);
  50788. TextDrawFont(WarehouseMenu[5], 1);
  50789. TextDrawSetProportional(WarehouseMenu[5], 1);
  50790. TextDrawSetShadow(WarehouseMenu[5], 0);
  50791. WarehouseMenu[6] = TextDrawCreate(294.905670, 201.080947, "150-P");
  50792. TextDrawLetterSize(WarehouseMenu[6], 0.169000, 0.940445);
  50793. TextDrawAlignment(WarehouseMenu[6], 1);
  50794. TextDrawColor(WarehouseMenu[6], 699676415);
  50795. TextDrawSetShadow(WarehouseMenu[6], 0);
  50796. TextDrawSetOutline(WarehouseMenu[6], 1);
  50797. TextDrawBackgroundColor(WarehouseMenu[6], 255);
  50798. TextDrawFont(WarehouseMenu[6], 1);
  50799. TextDrawSetProportional(WarehouseMenu[6], 1);
  50800. TextDrawSetShadow(WarehouseMenu[6], 0);
  50801. WarehouseMenu[7] = TextDrawCreate(317.333404, 142.296295, "Welcome!");
  50802. TextDrawLetterSize(WarehouseMenu[7], 0.400000, 1.600000);
  50803. TextDrawAlignment(WarehouseMenu[7], 1);
  50804. TextDrawColor(WarehouseMenu[7], -1);
  50805. TextDrawSetShadow(WarehouseMenu[7], 0);
  50806. TextDrawSetOutline(WarehouseMenu[7], 1);
  50807. TextDrawBackgroundColor(WarehouseMenu[7], 255);
  50808. TextDrawFont(WarehouseMenu[7], 1);
  50809. TextDrawSetProportional(WarehouseMenu[7], 1);
  50810. TextDrawSetShadow(WarehouseMenu[7], 0);
  50811. WarehouseMenu[8] = TextDrawCreate(317.900115, 176.198364, "Each_item_in_the_menu_uses_products~n~as_their_payment_option.");
  50812. TextDrawLetterSize(WarehouseMenu[8], 0.189000, 0.828444);
  50813. TextDrawAlignment(WarehouseMenu[8], 1);
  50814. TextDrawColor(WarehouseMenu[8], -1);
  50815. TextDrawSetShadow(WarehouseMenu[8], 0);
  50816. TextDrawSetOutline(WarehouseMenu[8], 1);
  50817. TextDrawBackgroundColor(WarehouseMenu[8], 255);
  50818. TextDrawFont(WarehouseMenu[8], 1);
  50819. TextDrawSetProportional(WarehouseMenu[8], 1);
  50820. TextDrawSetShadow(WarehouseMenu[8], 0);
  50821. WarehouseMenu[9] = TextDrawCreate(317.633087, 203.259292, "Cart:");
  50822. TextDrawLetterSize(WarehouseMenu[9], 0.201000, 0.849186);
  50823. TextDrawAlignment(WarehouseMenu[9], 1);
  50824. TextDrawColor(WarehouseMenu[9], -1);
  50825. TextDrawSetShadow(WarehouseMenu[9], 0);
  50826. TextDrawSetOutline(WarehouseMenu[9], 1);
  50827. TextDrawBackgroundColor(WarehouseMenu[9], 255);
  50828. TextDrawFont(WarehouseMenu[9], 1);
  50829. TextDrawSetProportional(WarehouseMenu[9], 1);
  50830. TextDrawSetShadow(WarehouseMenu[9], 0);
  50831. WarehouseMenu[10] = TextDrawCreate(169.666870, 212.844467, "");
  50832. TextDrawLetterSize(WarehouseMenu[10], 0.000000, 0.000000);
  50833. TextDrawTextSize(WarehouseMenu[10], 68.000000, 63.000000);
  50834. TextDrawAlignment(WarehouseMenu[10], 1);
  50835. TextDrawColor(WarehouseMenu[10], -1);
  50836. TextDrawSetShadow(WarehouseMenu[10], 0);
  50837. TextDrawSetOutline(WarehouseMenu[10], 0);
  50838. TextDrawBackgroundColor(WarehouseMenu[10], -572662307);
  50839. TextDrawFont(WarehouseMenu[10], 5);
  50840. TextDrawSetProportional(WarehouseMenu[10], 0);
  50841. TextDrawSetShadow(WarehouseMenu[10], 0);
  50842. TextDrawSetSelectable(WarehouseMenu[10], true);
  50843. TextDrawSetPreviewModel(WarehouseMenu[10], 335);
  50844. TextDrawSetPreviewRot(WarehouseMenu[10], 0.000000, 0.000000, 70.000000, 1.000000);
  50845. WarehouseMenu[11] = TextDrawCreate(221.801208, 212.081619, "Knife");
  50846. TextDrawLetterSize(WarehouseMenu[11], 0.169000, 0.940445);
  50847. TextDrawAlignment(WarehouseMenu[11], 1);
  50848. TextDrawColor(WarehouseMenu[11], -1);
  50849. TextDrawSetShadow(WarehouseMenu[11], 0);
  50850. TextDrawSetOutline(WarehouseMenu[11], 1);
  50851. TextDrawBackgroundColor(WarehouseMenu[11], 255);
  50852. TextDrawFont(WarehouseMenu[11], 1);
  50853. TextDrawSetProportional(WarehouseMenu[11], 1);
  50854. TextDrawSetShadow(WarehouseMenu[11], 0);
  50855. WarehouseMenu[12] = TextDrawCreate(222.901275, 267.184967, "90-P");
  50856. TextDrawLetterSize(WarehouseMenu[12], 0.169000, 0.940445);
  50857. TextDrawAlignment(WarehouseMenu[12], 1);
  50858. TextDrawColor(WarehouseMenu[12], 699676415);
  50859. TextDrawSetShadow(WarehouseMenu[12], 0);
  50860. TextDrawSetOutline(WarehouseMenu[12], 1);
  50861. TextDrawBackgroundColor(WarehouseMenu[12], 255);
  50862. TextDrawFont(WarehouseMenu[12], 1);
  50863. TextDrawSetProportional(WarehouseMenu[12], 1);
  50864. TextDrawSetShadow(WarehouseMenu[12], 0);
  50865. WarehouseMenu[13] = TextDrawCreate(244.271423, 212.844467, "");
  50866. TextDrawLetterSize(WarehouseMenu[13], 0.000000, 0.000000);
  50867. TextDrawTextSize(WarehouseMenu[13], 68.000000, 63.000000);
  50868. TextDrawAlignment(WarehouseMenu[13], 1);
  50869. TextDrawColor(WarehouseMenu[13], -1);
  50870. TextDrawSetShadow(WarehouseMenu[13], 0);
  50871. TextDrawSetOutline(WarehouseMenu[13], 0);
  50872. TextDrawBackgroundColor(WarehouseMenu[13], -572662307);
  50873. TextDrawFont(WarehouseMenu[13], 5);
  50874. TextDrawSetProportional(WarehouseMenu[13], 0);
  50875. TextDrawSetShadow(WarehouseMenu[13], 0);
  50876. TextDrawSetSelectable(WarehouseMenu[13], true);
  50877. TextDrawSetPreviewModel(WarehouseMenu[13], 349);
  50878. TextDrawSetPreviewRot(WarehouseMenu[13], 0.000000, 0.000000, 72.000000, 1.899999);
  50879. WarehouseMenu[14] = TextDrawCreate(287.905242, 212.381637, "Shotgun");
  50880. TextDrawLetterSize(WarehouseMenu[14], 0.169000, 0.940445);
  50881. TextDrawAlignment(WarehouseMenu[14], 1);
  50882. TextDrawColor(WarehouseMenu[14], -1);
  50883. TextDrawSetShadow(WarehouseMenu[14], 0);
  50884. TextDrawSetOutline(WarehouseMenu[14], 1);
  50885. TextDrawBackgroundColor(WarehouseMenu[14], 255);
  50886. TextDrawFont(WarehouseMenu[14], 1);
  50887. TextDrawSetProportional(WarehouseMenu[14], 1);
  50888. TextDrawSetShadow(WarehouseMenu[14], 0);
  50889. WarehouseMenu[15] = TextDrawCreate(293.972137, 267.499786, "450-P");
  50890. TextDrawLetterSize(WarehouseMenu[15], 0.169000, 0.940445);
  50891. TextDrawAlignment(WarehouseMenu[15], 1);
  50892. TextDrawColor(WarehouseMenu[15], 699676415);
  50893. TextDrawSetShadow(WarehouseMenu[15], 0);
  50894. TextDrawSetOutline(WarehouseMenu[15], 1);
  50895. TextDrawBackgroundColor(WarehouseMenu[15], 255);
  50896. TextDrawFont(WarehouseMenu[15], 1);
  50897. TextDrawSetProportional(WarehouseMenu[15], 1);
  50898. TextDrawSetShadow(WarehouseMenu[15], 0);
  50899. WarehouseMenu[16] = TextDrawCreate(317.375885, 212.844467, "");
  50900. TextDrawLetterSize(WarehouseMenu[16], 0.000000, 0.000000);
  50901. TextDrawTextSize(WarehouseMenu[16], 68.000000, 63.000000);
  50902. TextDrawAlignment(WarehouseMenu[16], 1);
  50903. TextDrawColor(WarehouseMenu[16], -1);
  50904. TextDrawSetShadow(WarehouseMenu[16], 0);
  50905. TextDrawSetOutline(WarehouseMenu[16], 0);
  50906. TextDrawBackgroundColor(WarehouseMenu[16], -572662307);
  50907. TextDrawFont(WarehouseMenu[16], 5);
  50908. TextDrawSetProportional(WarehouseMenu[16], 0);
  50909. TextDrawSetShadow(WarehouseMenu[16], 0);
  50910. TextDrawSetSelectable(WarehouseMenu[16], true);
  50911. TextDrawSetPreviewModel(WarehouseMenu[16], 355);
  50912. TextDrawSetPreviewRot(WarehouseMenu[16], 0.000000, 0.000000, 77.000000, 1.899999);
  50913. WarehouseMenu[17] = TextDrawCreate(365.809997, 212.381637, "AK-47");
  50914. TextDrawLetterSize(WarehouseMenu[17], 0.169000, 0.940445);
  50915. TextDrawAlignment(WarehouseMenu[17], 1);
  50916. TextDrawColor(WarehouseMenu[17], -1);
  50917. TextDrawSetShadow(WarehouseMenu[17], 0);
  50918. TextDrawSetOutline(WarehouseMenu[17], 1);
  50919. TextDrawBackgroundColor(WarehouseMenu[17], 255);
  50920. TextDrawFont(WarehouseMenu[17], 1);
  50921. TextDrawSetProportional(WarehouseMenu[17], 1);
  50922. TextDrawSetShadow(WarehouseMenu[17], 0);
  50923. WarehouseMenu[18] = TextDrawCreate(366.776580, 267.499786, "600-P");
  50924. TextDrawLetterSize(WarehouseMenu[18], 0.169000, 0.940445);
  50925. TextDrawAlignment(WarehouseMenu[18], 1);
  50926. TextDrawColor(WarehouseMenu[18], 699676415);
  50927. TextDrawSetShadow(WarehouseMenu[18], 0);
  50928. TextDrawSetOutline(WarehouseMenu[18], 1);
  50929. TextDrawBackgroundColor(WarehouseMenu[18], 255);
  50930. TextDrawFont(WarehouseMenu[18], 1);
  50931. TextDrawSetProportional(WarehouseMenu[18], 1);
  50932. TextDrawSetShadow(WarehouseMenu[18], 0);
  50933. WarehouseMenu[19] = TextDrawCreate(391.770935, 203.259292, "PURCHASE");
  50934. TextDrawLetterSize(WarehouseMenu[19], 0.201000, 0.849186);
  50935. TextDrawAlignment(WarehouseMenu[19], 1);
  50936. TextDrawColor(WarehouseMenu[19], 16711935);
  50937. TextDrawSetShadow(WarehouseMenu[19], 0);
  50938. TextDrawSetOutline(WarehouseMenu[19], 1);
  50939. TextDrawBackgroundColor(WarehouseMenu[19], 255);
  50940. TextDrawFont(WarehouseMenu[19], 1);
  50941. TextDrawSetProportional(WarehouseMenu[19], 1);
  50942. TextDrawSetShadow(WarehouseMenu[19], 0);
  50943. TextDrawSetSelectable(WarehouseMenu[19], true);
  50944. WarehouseMenu[20] = TextDrawCreate(391.680419, 212.844467, "");
  50945. TextDrawLetterSize(WarehouseMenu[20], 0.000000, 0.000000);
  50946. TextDrawTextSize(WarehouseMenu[20], 68.000000, 63.000000);
  50947. TextDrawAlignment(WarehouseMenu[20], 1);
  50948. TextDrawColor(WarehouseMenu[20], -1);
  50949. TextDrawSetShadow(WarehouseMenu[20], 0);
  50950. TextDrawSetOutline(WarehouseMenu[20], 0);
  50951. TextDrawBackgroundColor(WarehouseMenu[20], -572662307);
  50952. TextDrawFont(WarehouseMenu[20], 5);
  50953. TextDrawSetProportional(WarehouseMenu[20], 0);
  50954. TextDrawSetShadow(WarehouseMenu[20], 0);
  50955. TextDrawSetSelectable(WarehouseMenu[20], true);
  50956. TextDrawSetPreviewModel(WarehouseMenu[20], 356);
  50957. TextDrawSetPreviewRot(WarehouseMenu[20], 0.000000, 0.000000, 77.000000, 1.899999);
  50958. WarehouseMenu[21] = TextDrawCreate(449.815124, 212.381637, "M4");
  50959. TextDrawLetterSize(WarehouseMenu[21], 0.169000, 0.940445);
  50960. TextDrawAlignment(WarehouseMenu[21], 1);
  50961. TextDrawColor(WarehouseMenu[21], -1);
  50962. TextDrawSetShadow(WarehouseMenu[21], 0);
  50963. TextDrawSetOutline(WarehouseMenu[21], 1);
  50964. TextDrawBackgroundColor(WarehouseMenu[21], 255);
  50965. TextDrawFont(WarehouseMenu[21], 1);
  50966. TextDrawSetProportional(WarehouseMenu[21], 1);
  50967. TextDrawSetShadow(WarehouseMenu[21], 0);
  50968. WarehouseMenu[22] = TextDrawCreate(441.381134, 267.499786, "666-P");
  50969. TextDrawLetterSize(WarehouseMenu[22], 0.169000, 0.940445);
  50970. TextDrawAlignment(WarehouseMenu[22], 1);
  50971. TextDrawColor(WarehouseMenu[22], 699676415);
  50972. TextDrawSetShadow(WarehouseMenu[22], 0);
  50973. TextDrawSetOutline(WarehouseMenu[22], 1);
  50974. TextDrawBackgroundColor(WarehouseMenu[22], 255);
  50975. TextDrawFont(WarehouseMenu[22], 1);
  50976. TextDrawSetProportional(WarehouseMenu[22], 1);
  50977. TextDrawSetShadow(WarehouseMenu[22], 0);
  50978. WarehouseMenu[23] = TextDrawCreate(432.673431, 203.259292, "EMPTY");
  50979. TextDrawLetterSize(WarehouseMenu[23], 0.201000, 0.849186);
  50980. TextDrawAlignment(WarehouseMenu[23], 1);
  50981. TextDrawColor(WarehouseMenu[23], -16776961);
  50982. TextDrawSetShadow(WarehouseMenu[23], 0);
  50983. TextDrawSetOutline(WarehouseMenu[23], 1);
  50984. TextDrawBackgroundColor(WarehouseMenu[23], 255);
  50985. TextDrawFont(WarehouseMenu[23], 1);
  50986. TextDrawSetProportional(WarehouseMenu[23], 1);
  50987. TextDrawSetShadow(WarehouseMenu[23], 0);
  50988. TextDrawSetSelectable(WarehouseMenu[23], true);
  50989. WarehouseMenu[24] = TextDrawCreate(169.666870, 280.178131, "");
  50990. TextDrawLetterSize(WarehouseMenu[24], 0.000000, 0.000000);
  50991. TextDrawTextSize(WarehouseMenu[24], 68.000000, 63.000000);
  50992. TextDrawAlignment(WarehouseMenu[24], 1);
  50993. TextDrawColor(WarehouseMenu[24], -1);
  50994. TextDrawSetShadow(WarehouseMenu[24], 0);
  50995. TextDrawSetOutline(WarehouseMenu[24], 0);
  50996. TextDrawBackgroundColor(WarehouseMenu[24], -572662307);
  50997. TextDrawFont(WarehouseMenu[24], 5);
  50998. TextDrawSetProportional(WarehouseMenu[24], 0);
  50999. TextDrawSetShadow(WarehouseMenu[24], 0);
  51000. TextDrawSetSelectable(WarehouseMenu[24], true);
  51001. TextDrawSetPreviewModel(WarehouseMenu[24], 358);
  51002. TextDrawSetPreviewRot(WarehouseMenu[24], -15.000000, -20.100000, -10.100000, 1.000000);
  51003. WarehouseMenu[25] = TextDrawCreate(203.600158, 279.685729, "Sniper_Rifle");
  51004. TextDrawLetterSize(WarehouseMenu[25], 0.169000, 0.940445);
  51005. TextDrawAlignment(WarehouseMenu[25], 1);
  51006. TextDrawColor(WarehouseMenu[25], -1);
  51007. TextDrawSetShadow(WarehouseMenu[25], 0);
  51008. TextDrawSetOutline(WarehouseMenu[25], 1);
  51009. TextDrawBackgroundColor(WarehouseMenu[25], 255);
  51010. TextDrawFont(WarehouseMenu[25], 1);
  51011. TextDrawSetProportional(WarehouseMenu[25], 1);
  51012. TextDrawSetShadow(WarehouseMenu[25], 0);
  51013. WarehouseMenu[26] = TextDrawCreate(218.967651, 334.489074, "4000-P");
  51014. TextDrawLetterSize(WarehouseMenu[26], 0.169000, 0.940445);
  51015. TextDrawAlignment(WarehouseMenu[26], 1);
  51016. TextDrawColor(WarehouseMenu[26], 699676415);
  51017. TextDrawSetShadow(WarehouseMenu[26], 0);
  51018. TextDrawSetOutline(WarehouseMenu[26], 1);
  51019. TextDrawBackgroundColor(WarehouseMenu[26], 255);
  51020. TextDrawFont(WarehouseMenu[26], 1);
  51021. TextDrawSetProportional(WarehouseMenu[26], 1);
  51022. TextDrawSetShadow(WarehouseMenu[26], 0);
  51023. WarehouseMenu[27] = TextDrawCreate(244.171417, 281.007751, "");
  51024. TextDrawLetterSize(WarehouseMenu[27], 0.000000, 0.000000);
  51025. TextDrawTextSize(WarehouseMenu[27], 68.000000, 63.000000);
  51026. TextDrawAlignment(WarehouseMenu[27], 1);
  51027. TextDrawColor(WarehouseMenu[27], -1);
  51028. TextDrawSetShadow(WarehouseMenu[27], 0);
  51029. TextDrawSetOutline(WarehouseMenu[27], 0);
  51030. TextDrawBackgroundColor(WarehouseMenu[27], -572662307);
  51031. TextDrawFont(WarehouseMenu[27], 5);
  51032. TextDrawSetProportional(WarehouseMenu[27], 0);
  51033. TextDrawSetShadow(WarehouseMenu[27], 0);
  51034. TextDrawSetPreviewModel(WarehouseMenu[27], 342);
  51035. TextDrawSetPreviewRot(WarehouseMenu[27], -15.000000, -20.100000, -10.100000, 1.000000);
  51036. WarehouseMenu[28] = TextDrawCreate(286.805236, 279.685729, "Grenade");
  51037. TextDrawLetterSize(WarehouseMenu[28], 0.169000, 0.940445);
  51038. TextDrawAlignment(WarehouseMenu[28], 1);
  51039. TextDrawColor(WarehouseMenu[28], -1);
  51040. TextDrawSetShadow(WarehouseMenu[28], 0);
  51041. TextDrawSetOutline(WarehouseMenu[28], 1);
  51042. TextDrawBackgroundColor(WarehouseMenu[28], 255);
  51043. TextDrawFont(WarehouseMenu[28], 1);
  51044. TextDrawSetProportional(WarehouseMenu[28], 1);
  51045. TextDrawSetShadow(WarehouseMenu[28], 0);
  51046. WarehouseMenu[29] = TextDrawCreate(273.270965, 335.289123, "UNAVAILABLE");
  51047. TextDrawLetterSize(WarehouseMenu[29], 0.169000, 0.940445);
  51048. TextDrawAlignment(WarehouseMenu[29], 1);
  51049. TextDrawColor(WarehouseMenu[29], -16776961);
  51050. TextDrawSetShadow(WarehouseMenu[29], 0);
  51051. TextDrawSetOutline(WarehouseMenu[29], 1);
  51052. TextDrawBackgroundColor(WarehouseMenu[29], 255);
  51053. TextDrawFont(WarehouseMenu[29], 1);
  51054. TextDrawSetProportional(WarehouseMenu[29], 1);
  51055. TextDrawSetShadow(WarehouseMenu[29], 0);
  51056. WarehouseMenu[30] = TextDrawCreate(317.475891, 281.007751, "");
  51057. TextDrawLetterSize(WarehouseMenu[30], 0.000000, 0.000000);
  51058. TextDrawTextSize(WarehouseMenu[30], 68.000000, 63.000000);
  51059. TextDrawAlignment(WarehouseMenu[30], 1);
  51060. TextDrawColor(WarehouseMenu[30], -1);
  51061. TextDrawSetShadow(WarehouseMenu[30], 0);
  51062. TextDrawSetOutline(WarehouseMenu[30], 0);
  51063. TextDrawBackgroundColor(WarehouseMenu[30], -572662307);
  51064. TextDrawFont(WarehouseMenu[30], 5);
  51065. TextDrawSetProportional(WarehouseMenu[30], 0);
  51066. TextDrawSetShadow(WarehouseMenu[30], 0);
  51067. TextDrawSetPreviewModel(WarehouseMenu[30], 344);
  51068. TextDrawSetPreviewRot(WarehouseMenu[30], -15.000000, -20.100000, -10.100000, 1.000000);
  51069. WarehouseMenu[31] = TextDrawCreate(360.209716, 279.685729, "Molotov");
  51070. TextDrawLetterSize(WarehouseMenu[31], 0.169000, 0.940445);
  51071. TextDrawAlignment(WarehouseMenu[31], 1);
  51072. TextDrawColor(WarehouseMenu[31], -1);
  51073. TextDrawSetShadow(WarehouseMenu[31], 0);
  51074. TextDrawSetOutline(WarehouseMenu[31], 1);
  51075. TextDrawBackgroundColor(WarehouseMenu[31], 255);
  51076. TextDrawFont(WarehouseMenu[31], 1);
  51077. TextDrawSetProportional(WarehouseMenu[31], 1);
  51078. TextDrawSetShadow(WarehouseMenu[31], 0);
  51079. WarehouseMenu[32] = TextDrawCreate(346.375427, 335.289123, "UNAVAILABLE");
  51080. TextDrawLetterSize(WarehouseMenu[32], 0.169000, 0.940445);
  51081. TextDrawAlignment(WarehouseMenu[32], 1);
  51082. TextDrawColor(WarehouseMenu[32], -16776961);
  51083. TextDrawSetShadow(WarehouseMenu[32], 0);
  51084. TextDrawSetOutline(WarehouseMenu[32], 1);
  51085. TextDrawBackgroundColor(WarehouseMenu[32], 255);
  51086. TextDrawFont(WarehouseMenu[32], 1);
  51087. TextDrawSetProportional(WarehouseMenu[32], 1);
  51088. TextDrawSetShadow(WarehouseMenu[32], 0);
  51089. WarehouseMenu[33] = TextDrawCreate(391.580413, 281.007751, "");
  51090. TextDrawLetterSize(WarehouseMenu[33], 0.000000, 0.000000);
  51091. TextDrawTextSize(WarehouseMenu[33], 68.000000, 63.000000);
  51092. TextDrawAlignment(WarehouseMenu[33], 1);
  51093. TextDrawColor(WarehouseMenu[33], -1);
  51094. TextDrawSetShadow(WarehouseMenu[33], 0);
  51095. TextDrawSetOutline(WarehouseMenu[33], 0);
  51096. TextDrawBackgroundColor(WarehouseMenu[33], -572662307);
  51097. TextDrawFont(WarehouseMenu[33], 5);
  51098. TextDrawSetProportional(WarehouseMenu[33], 0);
  51099. TextDrawSetShadow(WarehouseMenu[33], 0);
  51100. TextDrawSetPreviewModel(WarehouseMenu[33], 363);
  51101. TextDrawSetPreviewRot(WarehouseMenu[33], -100.000000, -83.000000, 83.000000, 1.000000);
  51102. WarehouseMenu[34] = TextDrawCreate(419.913360, 279.685729, "Vehicle_Bomb");
  51103. TextDrawLetterSize(WarehouseMenu[34], 0.169000, 0.940445);
  51104. TextDrawAlignment(WarehouseMenu[34], 1);
  51105. TextDrawColor(WarehouseMenu[34], -1);
  51106. TextDrawSetShadow(WarehouseMenu[34], 0);
  51107. TextDrawSetOutline(WarehouseMenu[34], 1);
  51108. TextDrawBackgroundColor(WarehouseMenu[34], 255);
  51109. TextDrawFont(WarehouseMenu[34], 1);
  51110. TextDrawSetProportional(WarehouseMenu[34], 1);
  51111. TextDrawSetShadow(WarehouseMenu[34], 0);
  51112. WarehouseMenu[35] = TextDrawCreate(420.479949, 335.289123, "UNAVAILABLE");
  51113. TextDrawLetterSize(WarehouseMenu[35], 0.169000, 0.940445);
  51114. TextDrawAlignment(WarehouseMenu[35], 1);
  51115. TextDrawColor(WarehouseMenu[35], -16776961);
  51116. TextDrawSetShadow(WarehouseMenu[35], 0);
  51117. TextDrawSetOutline(WarehouseMenu[35], 1);
  51118. TextDrawBackgroundColor(WarehouseMenu[35], 255);
  51119. TextDrawFont(WarehouseMenu[35], 1);
  51120. TextDrawSetProportional(WarehouseMenu[35], 1);
  51121. TextDrawSetShadow(WarehouseMenu[35], 0);
  51122. return 1;
  51123. }
  51124. stock LoadWarehouseMenu_2(playerid)
  51125. {
  51126. WarehouseMenu_P[playerid][0] = CreatePlayerTextDraw(playerid, 167.000030, 131.925888, "Your_Factions_Name");
  51127. PlayerTextDrawLetterSize(playerid, WarehouseMenu_P[playerid][0], 0.302666, 1.322074);
  51128. PlayerTextDrawAlignment(playerid, WarehouseMenu_P[playerid][0], 1);
  51129. PlayerTextDrawColor(playerid, WarehouseMenu_P[playerid][0], -1);
  51130. PlayerTextDrawSetShadow(playerid, WarehouseMenu_P[playerid][0], 0);
  51131. PlayerTextDrawSetOutline(playerid, WarehouseMenu_P[playerid][0], 1);
  51132. PlayerTextDrawBackgroundColor(playerid, WarehouseMenu_P[playerid][0], 255);
  51133. PlayerTextDrawFont(playerid, WarehouseMenu_P[playerid][0], 1);
  51134. PlayerTextDrawSetProportional(playerid, WarehouseMenu_P[playerid][0], 1);
  51135. PlayerTextDrawSetShadow(playerid, WarehouseMenu_P[playerid][0], 0);
  51136. WarehouseMenu_P[playerid][1] = CreatePlayerTextDraw(playerid, 317.900115, 158.497283, "Welcome_to_your_warehouse_menu,~n~Firstname_Lastname.");
  51137. PlayerTextDrawLetterSize(playerid, WarehouseMenu_P[playerid][1], 0.189000, 0.828444);
  51138. PlayerTextDrawAlignment(playerid, WarehouseMenu_P[playerid][1], 1);
  51139. PlayerTextDrawColor(playerid, WarehouseMenu_P[playerid][1], -1);
  51140. PlayerTextDrawSetShadow(playerid, WarehouseMenu_P[playerid][1], 0);
  51141. PlayerTextDrawSetOutline(playerid, WarehouseMenu_P[playerid][1], 1);
  51142. PlayerTextDrawBackgroundColor(playerid, WarehouseMenu_P[playerid][1], 255);
  51143. PlayerTextDrawFont(playerid, WarehouseMenu_P[playerid][1], 1);
  51144. PlayerTextDrawSetProportional(playerid, WarehouseMenu_P[playerid][1], 1);
  51145. PlayerTextDrawSetShadow(playerid, WarehouseMenu_P[playerid][1], 0);
  51146. WarehouseMenu_P[playerid][2] = CreatePlayerTextDraw(playerid, 336.667572, 203.259292, "$PRICE");
  51147. PlayerTextDrawLetterSize(playerid, WarehouseMenu_P[playerid][2], 0.205333, 0.820149);
  51148. PlayerTextDrawAlignment(playerid, WarehouseMenu_P[playerid][2], 1);
  51149. PlayerTextDrawColor(playerid, WarehouseMenu_P[playerid][2], 699676415);
  51150. PlayerTextDrawSetShadow(playerid, WarehouseMenu_P[playerid][2], 0);
  51151. PlayerTextDrawSetOutline(playerid, WarehouseMenu_P[playerid][2], 1);
  51152. PlayerTextDrawBackgroundColor(playerid, WarehouseMenu_P[playerid][2], 255);
  51153. PlayerTextDrawFont(playerid, WarehouseMenu_P[playerid][2], 1);
  51154. PlayerTextDrawSetProportional(playerid, WarehouseMenu_P[playerid][2], 1);
  51155. PlayerTextDrawSetShadow(playerid, WarehouseMenu_P[playerid][2], 0);
  51156. return 1;
  51157. }
  51158. //Default TextDraw
  51159. stock ShowTextdrawInfo(playerid, info[], time = 2000)
  51160. {
  51161. PlayerTextDrawSetString(playerid, DefaultTextdraw[playerid], info);
  51162. PlayerTextDrawShow(playerid, DefaultTextdraw[playerid]);
  51163. if(gShowingTextDrawInfo[playerid]) KillTimer(gShowingTextDrawTimer[playerid]);
  51164. gShowingTextDrawTimer[playerid] = SetTimerEx("DisableDefaultTD", time, false, "i", playerid);
  51165. gShowingTextDrawInfo[playerid] = 1;
  51166. return 1;
  51167. }
  51168. Server:DisableDefaultTD(playerid)
  51169. {
  51170. PlayerTextDrawHide(playerid, DefaultTextdraw[playerid]);
  51171. gShowingTextDrawInfo[playerid] = 0;
  51172. return 1;
  51173. }
  51174. stock ClearWeaponCrateVars()
  51175. {
  51176. for(new i; i < MAX_WEAPON_CRATES; i++)
  51177. {
  51178. WeaponCrates[i][CrateExists] = false;
  51179. WeaponCrates[i][CrateBy] = INVALID_PLAYER_ID;
  51180. WeaponCrates[i][CrateAttachedTo] = -1;
  51181. WeaponCrates[i][CrateVehicle] = -1;
  51182. for(new v = 1; v < MAX_WEAPON_PACKAGES; v++)
  51183. WeaponCrates[i][CrateItems][v] = 0;
  51184. WeaponCrates[i][CrateBeingOpened] = 0;
  51185. }
  51186. return 1;
  51187. }
  51188. stock ClearActiveCrate(crateid)
  51189. {
  51190. WeaponCrates[crateid][CrateExists] = false;
  51191. WeaponCrates[crateid][CrateBy] = INVALID_PLAYER_ID;
  51192. WeaponCrates[crateid][CrateAttachedTo] = -1;
  51193. WeaponCrates[crateid][CrateVehicle] = -1;
  51194. for(new v = 1; v < MAX_WEAPON_PACKAGES; v++)
  51195. WeaponCrates[crateid][CrateItems][v] = 0;
  51196. DestroyDynamicObject(WeaponCrates[crateid][CrateObject]);
  51197. if(IsValidDynamic3DTextLabel(WeaponCrates[crateid][CrateLabel]))
  51198. DestroyDynamic3DTextLabel(WeaponCrates[crateid][CrateLabel]);
  51199. WeaponCrates[crateid][CrateBeingOpened] = 0;
  51200. printf("[Debug] Active crate ID %i was killed.", crateid);
  51201. return 1;
  51202. }
  51203. stock ShowCrateInventory(playerid, crateid)
  51204. {
  51205. new info[600];
  51206. for(new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  51207. {
  51208. if(!WeaponCrates[crateid][CrateItems][i])
  51209. continue;
  51210. format(info, sizeof info, "%s%s~n~", info, ReturnWeaponName(WeaponCrates[crateid][CrateItems][i]));
  51211. PlayerTextDrawSetString(playerid, CrateInventory_P[playerid][0], info);
  51212. }
  51213. for(new i; i < 2; i++) TextDrawShowForPlayer(playerid, CrateInventory[i]);
  51214. PlayerTextDrawShow(playerid, CrateInventory_P[playerid][0]);
  51215. printf("[Debug] Showing crate inventory for %s", ReturnName(playerid));
  51216. SetTimerEx("HideCrateInventory", 4000, false, "i", playerid);
  51217. SetPVarInt(playerid, "ViewingCrateContent", 1);
  51218. return 1;
  51219. }
  51220. Server:HideCrateInventory(playerid)
  51221. {
  51222. if(!IsPlayerConnected(playerid))
  51223. return 1;
  51224. for(new i; i < 2; i++) TextDrawHideForPlayer(playerid, CrateInventory[i]);
  51225. PlayerTextDrawHide(playerid, CrateInventory_P[playerid][0]);
  51226. PlayerTextDrawSetString(playerid, CrateInventory_P[playerid][0], "M4A1~n~AKblank");
  51227. DeletePVar(playerid, "ViewingCrateContent");
  51228. printf("[Debug] Hiding crate inventory for %s", ReturnName(playerid));
  51229. return 1;
  51230. }
  51231. stock IsPlayerInWarehouse(playerid)
  51232. {
  51233. if( gPlayerInsideEntrance[playerid] == -1 )
  51234. return 0;
  51235. if( Entrances[gPlayerInsideEntrance[playerid]][IsWarehouse] )
  51236. return 1;
  51237. return 0;
  51238. }
  51239. stock CountCrateItems(crateid, &amount)
  51240. {
  51241. new count;
  51242. for(new i = 1; i < MAX_WEAPON_PACKAGES; i++)
  51243. {
  51244. if(!WeaponCrates[crateid][CrateItems][i])
  51245. continue;
  51246. count++;
  51247. }
  51248. amount = count;
  51249. return 1;
  51250. }
  51251. /*
  51252. New HUDs
  51253. */
  51254. stock UpdatePlayerHud(playerid, vehicleid)
  51255. {
  51256. new speed[128];
  51257. switch(PlayerData[playerid][pHUD])
  51258. {
  51259. case 0:
  51260. {
  51261. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  51262. {
  51263. PlayerTextDrawShow(playerid, Player_Hud[playerid][5]);
  51264. PlayerTextDrawShow(playerid, Player_Hud[playerid][6]);
  51265. format(speed, sizeof(speed), "~g~%d~n~%d", floatround(GetVehicleSpeed(vehicleid)), floatround(CarData[vehicleid][carFuel]));
  51266. PlayerTextDrawSetString(playerid, Player_Hud[playerid][6], speed);
  51267. }
  51268. else
  51269. {
  51270. PlayerTextDrawHide(playerid, Player_Hud[playerid][5]);
  51271. PlayerTextDrawHide(playerid, Player_Hud[playerid][6]);
  51272. }
  51273. format(speed, sizeof(speed), "~g~%d~n~%d", PlayerData[playerid][pRadio][ PlayerData[playerid][pMainSlot] ], PlayerData[playerid][pMainSlot]);
  51274. PlayerTextDrawSetString(playerid, Player_Hud[playerid][4], speed);
  51275. }
  51276. case 1:
  51277. {
  51278. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  51279. {
  51280. format(speed, sizeof(speed), "~g~%d__~r~%d__~w~%d", floatround(GetVehicleSpeed(vehicleid)), floatround(CarData[vehicleid][carFuel]));
  51281. PlayerTextDrawSetString(playerid, Player_Hud[playerid][7], speed);
  51282. }
  51283. else
  51284. {
  51285. PlayerTextDrawHide(playerid, Player_Hud[playerid][7]);
  51286. }
  51287. }
  51288. case 2:
  51289. {
  51290. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  51291. {
  51292. format(speed, sizeof(speed), "%s_~r~%d_%d~y~KMH/~r~%d~y~MPH~n~~w~Radio_Info:~y~%d~n~~w~Slot:~y~%d",
  51293. ReturnVehicleName(vehicleid),
  51294. floatround(CarData[vehicleid][carFuel]),
  51295. floatround(GetVehicleSpeed(vehicleid)),
  51296. floatround(GetVehicleSpeed(vehicleid)) * 0.6214,
  51297. PlayerData[playerid][pRadio][PlayerData[playerid][pMainSlot]],
  51298. PlayerData[playerid][pMainSlot]);
  51299. PlayerTextDrawSetString(playerid, Player_Hud[playerid][8], speed);
  51300. }
  51301. else
  51302. {
  51303. format(speed, sizeof(speed), "Radio_Info:~y~%d~n~~w~Slot:~y~%d",
  51304. PlayerData[playerid][pRadio][ PlayerData[playerid][pMainSlot] ],
  51305. PlayerData[playerid][pMainSlot]);
  51306. PlayerTextDrawSetString(playerid, Player_Hud[playerid][8], speed);
  51307. }
  51308. }
  51309. case 3:
  51310. {
  51311. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  51312. {
  51313. new Float: carhp;
  51314. GetVehicleHealth(vehicleid, carhp);
  51315. format(speed, sizeof(speed), "%s", ReturnVehicleName(vehicleid));
  51316. PlayerTextDrawSetString(playerid,Player_Hud[playerid][0], speed);
  51317. format(speed, sizeof(speed), "~w~%d ~l~%d ~w~%d ~l~%d", floatround(CarData[vehicleid][carEngine]), floatround(CarData[vehicleid][carFuel]), floatround(carhp), floatround(GetVehicleSpeed(vehicleid)));
  51318. PlayerTextDrawSetString(playerid,Player_Hud[playerid][1], speed);
  51319. }
  51320. else
  51321. {
  51322. PlayerTextDrawHide(playerid, Player_Hud[playerid][0]);
  51323. PlayerTextDrawHide(playerid, Player_Hud[playerid][1]);
  51324. }
  51325. }
  51326. }
  51327. return 1;
  51328. }
  51329. stock OnPlayerChangeHud(playerid)
  51330. {
  51331. if(PlayerData[playerid][pHUDToggled])
  51332. {
  51333. switch(PlayerData[playerid][pHUD])
  51334. {
  51335. case 1:
  51336. {
  51337. for(new i = 2; i < 5; i ++)
  51338. {
  51339. PlayerTextDrawShow(playerid, Player_Hud[playerid][i]);
  51340. }
  51341. }
  51342. case 2:
  51343. {
  51344. PlayerTextDrawShow(playerid, Player_Hud[playerid][7]);
  51345. }
  51346. case 3:
  51347. {
  51348. PlayerTextDrawShow(playerid, Player_Hud[playerid][8]);
  51349. }
  51350. case 4:
  51351. {
  51352. PlayerTextDrawShow(playerid, Player_Hud[playerid][0]);
  51353. PlayerTextDrawShow(playerid, Player_Hud[playerid][1]);
  51354. }
  51355. }
  51356. }
  51357. return 1;
  51358. }
  51359. stock HideHUDForPlayer2( playerid )
  51360. {
  51361. for( new i = 0; i < 9; i++ )
  51362. {
  51363. PlayerTextDrawHide( playerid, Player_Hud[ playerid ][ i ] );
  51364. }
  51365. return 1;
  51366. }
  51367. stock Init_SpeedText(playerid)
  51368. {
  51369. Player_Hud[playerid][0] = CreatePlayerTextDraw(playerid, 524.729553, 383.083496, "Landstalker");
  51370. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][0], 0.495577, 3.367500);
  51371. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][0], 2);
  51372. PlayerTextDrawColor(playerid, Player_Hud[playerid][0], 255);
  51373. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][0], 0);
  51374. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][0], 1);
  51375. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][0], -2139062017);
  51376. PlayerTextDrawFont(playerid, Player_Hud[playerid][0], 2);
  51377. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][0], 1);
  51378. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][0], 0);
  51379. Player_Hud[playerid][1] = CreatePlayerTextDraw(playerid, 590.322448, 413.416870, "~w~0 ~l~0 ~w~1000 ~l~100");
  51380. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][1], 0.406558, 2.649996);
  51381. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][1], 3);
  51382. PlayerTextDrawColor(playerid, Player_Hud[playerid][1], 255);
  51383. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][1], 0);
  51384. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][1], 1);
  51385. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][1], -2139062017);
  51386. PlayerTextDrawFont(playerid, Player_Hud[playerid][1], 2);
  51387. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][1], 1);
  51388. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][1], 0);
  51389. Player_Hud[playerid][2] = CreatePlayerTextDraw(playerid, 494.275604, 162.583328, "~bl~Radio_Info");
  51390. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][2], 0.446852, 1.454165);
  51391. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][2], 1);
  51392. PlayerTextDrawColor(playerid, Player_Hud[playerid][2], -1);
  51393. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][2], 2);
  51394. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][2], 0);
  51395. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][2], 255);
  51396. PlayerTextDrawFont(playerid, Player_Hud[playerid][2], 3);
  51397. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][2], 1);
  51398. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][2], 2);
  51399. Player_Hud[playerid][3] = CreatePlayerTextDraw(playerid, 497.086761, 180.083251, "~bl~chan:~n~slot:");
  51400. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][3], 0.459502, 1.302499);
  51401. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][3], 1);
  51402. PlayerTextDrawColor(playerid, Player_Hud[playerid][3], -1);
  51403. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][3], 2);
  51404. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][3], 0);
  51405. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][3], 255);
  51406. PlayerTextDrawFont(playerid, Player_Hud[playerid][3], 3);
  51407. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][3], 1);
  51408. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][3], 2);
  51409. Player_Hud[playerid][4] = CreatePlayerTextDraw(playerid, 551.435241, 180.666610, "~g~0~n~0");
  51410. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][4], 0.459970, 1.273333);
  51411. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][4], 1);
  51412. PlayerTextDrawColor(playerid, Player_Hud[playerid][4], -1);
  51413. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][4], 2);
  51414. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][4], 0);
  51415. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][4], 255);
  51416. PlayerTextDrawFont(playerid, Player_Hud[playerid][4], 3);
  51417. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][4], 1);
  51418. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][4], 2);
  51419. Player_Hud[playerid][5] = CreatePlayerTextDraw(playerid, 497.086730, 127.583274, "~bl~mph:~n~fuel:");
  51420. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][5], 0.459502, 1.302499);
  51421. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][5], 1);
  51422. PlayerTextDrawColor(playerid, Player_Hud[playerid][5], -1);
  51423. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][5], 2);
  51424. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][5], 0);
  51425. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][5], 255);
  51426. PlayerTextDrawFont(playerid, Player_Hud[playerid][5], 3);
  51427. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][5], 1);
  51428. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][5], 2);
  51429. Player_Hud[playerid][6] = CreatePlayerTextDraw(playerid, 552.372192, 128.166625, "~g~0~n~0");
  51430. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][6], 0.459970, 1.273333);
  51431. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][6], 1);
  51432. PlayerTextDrawColor(playerid, Player_Hud[playerid][6], -1);
  51433. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][6], 2);
  51434. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][6], 0);
  51435. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][6], 255);
  51436. PlayerTextDrawFont(playerid, Player_Hud[playerid][6], 3);
  51437. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][6], 1);
  51438. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][6], 2);
  51439. Player_Hud[playerid][7] = CreatePlayerTextDraw(playerid, 597.349853, 97.250038, "~g~100__~r~9__~w~15");
  51440. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][7], 0.532122, 2.031666);
  51441. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][7], 3);
  51442. PlayerTextDrawColor(playerid, Player_Hud[playerid][7], -1);
  51443. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][7], 0);
  51444. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][7], 1);
  51445. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][7], 255);
  51446. PlayerTextDrawFont(playerid, Player_Hud[playerid][7], 3);
  51447. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][7], 1);
  51448. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][7], 0);
  51449. Player_Hud[playerid][8] = CreatePlayerTextDraw(playerid, 20.131790, 152.666564, "Tahoma_~r~100_90~y~KMH/~r~92~y~MPH~n~~w~Radio_Info:~y~123~n~~w~Slot:~y~11");
  51450. PlayerTextDrawLetterSize(playerid, Player_Hud[playerid][8], 0.245387, 1.745832);
  51451. PlayerTextDrawAlignment(playerid, Player_Hud[playerid][8], 1);
  51452. PlayerTextDrawColor(playerid, Player_Hud[playerid][8], -1);
  51453. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][8], 0);
  51454. PlayerTextDrawSetOutline(playerid, Player_Hud[playerid][8], 1);
  51455. PlayerTextDrawBackgroundColor(playerid, Player_Hud[playerid][8], 255);
  51456. PlayerTextDrawFont(playerid, Player_Hud[playerid][8], 1);
  51457. PlayerTextDrawSetProportional(playerid, Player_Hud[playerid][8], 1);
  51458. PlayerTextDrawSetShadow(playerid, Player_Hud[playerid][8], 0);
  51459. }
  51460. // TODO: change to new categories & add vehicles: then finished.
  51461. ds_ShowDealership(playerid) {
  51462. PlayerTextDrawSetString(playerid, ds_PlayerTextDrawCategory[playerid], "Categories");
  51463. PlayerTextDrawShow(playerid, ds_PlayerTextDrawCategory[playerid]);
  51464. SendClientMessage(playerid, -1, "[ ! ] Type (/v close) remove the textdraws if they are not removed automatically.");
  51465. ds_SetUpMenu(playerid, dealershipCategories_Models, dealershipCategories_Names, dealershipCategories_MinPrices, "OnCategorySelect");
  51466. ds_ShowMenu(playerid);
  51467. return 1;
  51468. }
  51469. ds_ShowMenu(playerid) {
  51470. ds_CreateDefaultTextdraws(playerid);
  51471. new count = 0;
  51472. for(new index = (ds_PlayerMenuPage[playerid] * 6); index < (ds_PlayerMenuPage[playerid] * 6)+6; index++) {
  51473. if(index >= ds_PlayerMenuAmount[playerid]) break;
  51474. if(ds_PlayerMenuModels[playerid][index] == 0) continue;
  51475. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][count], ds_PlayerMenuModels[playerid][index]);
  51476. PlayerTextDrawSetString(playerid, ds_PlayerTextDrawVehiclesNames[playerid][count], ds_PlayerMenuNames[playerid][index]);
  51477. if(PlayerData[playerid][pMoney] < ds_PlayerMenuPrices[playerid][count]) {
  51478. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][count], 0xCC000077);
  51479. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehicles[playerid][count], 0xCC000077);
  51480. }
  51481. PlayerTextDrawShow(playerid, ds_PlayerTextDrawVehicles[playerid][count]);
  51482. PlayerTextDrawShow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][count]);
  51483. if(strcmp(ds_PlayerMenuCallback[playerid], "ds_OnCategorySelect")) {
  51484. new price[32] = "$";
  51485. format(price, sizeof price, "$%i", ds_PlayerMenuPrices[playerid][index]);
  51486. PlayerTextDrawSetString(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][count], price);
  51487. PlayerTextDrawShow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][count]);
  51488. }
  51489. count++;
  51490. }
  51491. new catego[128];
  51492. if(strcmp(ds_PlayerMenuCallback[playerid], "ds_OnCategorySelect"))
  51493. format(catego, sizeof catego, "Category > %s", ds_PlayerMenuCategoryName[playerid]);
  51494. else
  51495. format(catego, sizeof catego, "Categories");
  51496. PlayerTextDrawSetString(playerid, ds_PlayerTextDrawCategory[playerid], catego);
  51497. PlayerTextDrawShow(playerid, ds_PlayerTextDrawCategory[playerid]);
  51498. PlayerTextDrawShow(playerid, ds_PlayerTextDrawArrows[playerid][0]);
  51499. PlayerTextDrawShow(playerid, ds_PlayerTextDrawArrows[playerid][1]);
  51500. SelectTextDraw(playerid, 0x167D29AA);
  51501. }
  51502. ds_OnPlayerClickPlayerTD(playerid, PlayerText:textdraw) {
  51503. if(textdraw == ds_PlayerTextDrawArrows[playerid][1]) {
  51504. if(ds_PlayerMenuPage[playerid] < (ds_PlayerMenuAmount[playerid] / 6)) {
  51505. ds_PlayerMenuPage[playerid]++;
  51506. ds_ShowMenu(playerid);
  51507. }
  51508. }
  51509. else if(textdraw == ds_PlayerTextDrawArrows[playerid][0]) {
  51510. if(ds_PlayerMenuPage[playerid] > 0) {
  51511. ds_PlayerMenuPage[playerid]--;
  51512. ds_ShowMenu(playerid);
  51513. }
  51514. }
  51515. else if(textdraw == PlayerText:INVALID_TEXT_DRAW) {
  51516. if(strcmp(ds_PlayerMenuCallback[playerid], "ds_OnCategorySelect")) {
  51517. ds_DestroyDefaultTextdraws(playerid);
  51518. CancelSelectTextDraw(playerid);
  51519. }
  51520. else {
  51521. PlayerTextDrawSetString(playerid, ds_PlayerTextDrawCategory[playerid], "Categories");
  51522. PlayerTextDrawShow(playerid, ds_PlayerTextDrawCategory[playerid]);
  51523. ds_SetUpMenu(playerid, dealershipCategories_Models, dealershipCategories_Names, dealershipCategories_MinPrices, "OnCategorySelect");
  51524. ds_ShowMenu(playerid);
  51525. }
  51526. }
  51527. else if(textdraw == ds_PlayerTextDrawCategory[playerid]) {
  51528. if(!strcmp(ds_PlayerMenuCallback[playerid], "ds_OnCategorySelect")) {
  51529. ds_DestroyDefaultTextdraws(playerid);
  51530. CancelSelectTextDraw(playerid);
  51531. }
  51532. else {
  51533. PlayerTextDrawSetString(playerid, ds_PlayerTextDrawCategory[playerid], "Categories");
  51534. PlayerTextDrawShow(playerid, ds_PlayerTextDrawCategory[playerid]);
  51535. ds_SetUpMenu(playerid, dealershipCategories_Models, dealershipCategories_Names, dealershipCategories_MinPrices, "OnCategorySelect");
  51536. ds_ShowMenu(playerid);
  51537. }
  51538. }
  51539. else {
  51540. for(new index = 0; index < 6; index++) {
  51541. if(textdraw == ds_PlayerTextDrawVehicles[playerid][index]) {
  51542. CallLocalFunction(ds_PlayerMenuCallback[playerid], "ii", playerid, (ds_PlayerMenuPage[playerid] * 6) + index);
  51543. break;
  51544. }
  51545. }
  51546. }
  51547. }
  51548. forward public ds_OnCategorySelect(playerid, buttonid);
  51549. public ds_OnCategorySelect(playerid, buttonid) {
  51550. ds_PlayerMenuCategory[playerid] = buttonid;
  51551. format(ds_PlayerMenuCategoryName[playerid], 32, ds_PlayerMenuNames[playerid][buttonid]);
  51552. new models[64], names[64][32], prices[64], count = 0;
  51553. for(new index = 0; index < sizeof(dealershipVehicles); index++) {
  51554. if(dealershipVehicles[index][0] != buttonid) continue;
  51555. if(dealershipVehicles[index][1] < 400) continue;
  51556. if(isnull(dealershipVehiclesNames[index]) || strlen(dealershipVehiclesNames[index]) < 3) continue;
  51557. models[count] = dealershipVehicles[index][1];
  51558. prices[count] = dealershipVehicles[index][2];
  51559. format(names[count], 64, "%s", dealershipVehiclesNames[index]);
  51560. count++;
  51561. }
  51562. ds_SetUpMenu(playerid, models, names, prices, "OnVehicleSelect");
  51563. ds_ShowMenu(playerid);
  51564. }
  51565. forward public ds_OnVehicleSelect(playerid, buttonid);
  51566. public ds_OnVehicleSelect(playerid, buttonid) {
  51567. new string[128], title[128];
  51568. ds_DestroyDefaultTextdraws(playerid);
  51569. CancelSelectTextDraw(playerid);
  51570. SubDealershipHolder[playerid] = buttonid;
  51571. g_aTotalAmount[playerid] = ds_PlayerMenuPrices[playerid][SubDealershipHolder[playerid]];
  51572. format(title, sizeof(title), "%s - {33AA33}$%s", ds_PlayerMenuNames[playerid][SubDealershipHolder[playerid]], MoneyFormat(g_aTotalAmount[playerid]));
  51573. format(string, sizeof string, "");
  51574. strcat(string, "Alarm\n");
  51575. strcat(string, "Lock\n");
  51576. strcat(string, "Immobiliser\n");
  51577. strcat(string, "Colors\n");
  51578. strcat(string, "No XM Installed\n");
  51579. ShowPlayerDialog(playerid, DIALOG_DEALERSHIP_APPEND, DIALOG_STYLE_LIST, title, string, "Append", "Purchase");
  51580. TogglePlayerControllable(playerid, false);
  51581. new biz = PlayerData[playerid][pAtDealership];
  51582. g_aVehicleSpawned[playerid] = CreateVehicle(ds_PlayerMenuModels[playerid][SubDealershipHolder[playerid]], BusinessData[biz][businessInt][0], BusinessData[biz][businessInt][1], BusinessData[biz][businessInt][2], 90, 0, 0, 0, 0);
  51583. PutPlayerInVehicle(playerid, g_aVehicleSpawned[playerid], 0);
  51584. printf("[DEBUG] Vehicle ID %d spawned for %s's dealership car.", g_aVehicleSpawned[playerid], ReturnName(playerid, 1));
  51585. }
  51586. ds_SetUpMenu(playerid, models[], names[][], prices[], callback[], amount = sizeof(models)) {
  51587. ds_PlayerMenuModels[playerid] = ds_PlayerMenuModels[MAX_PLAYERS];
  51588. ds_PlayerMenuNames[playerid] = ds_PlayerMenuNames[MAX_PLAYERS];
  51589. for(new index = 0; index < 64; index++) {
  51590. ds_PlayerMenuModels[playerid][index] = models[index];
  51591. ds_PlayerMenuPrices[playerid][index] = prices[index];
  51592. format(ds_PlayerMenuNames[playerid][index], 64, names[index]);
  51593. }
  51594. ds_PlayerMenuAmount[playerid] = amount;
  51595. ds_PlayerMenuPage[playerid] = 0;
  51596. format(ds_PlayerMenuCallback[playerid], 31, "ds_%s", callback);
  51597. }
  51598. ds_DestroyDefaultTextdraws(playerid) {
  51599. for(new index = 0; index < 6; index++) {
  51600. if(ds_PlayerTextDrawVehicles[playerid][index] != PlayerText:-1) {
  51601. PlayerTextDrawDestroy(playerid, ds_PlayerTextDrawVehicles[playerid][index]);
  51602. ds_PlayerTextDrawVehicles[playerid][index] = PlayerText:-1;
  51603. }
  51604. }
  51605. for(new index = 0; index < 6; index++) {
  51606. if(ds_PlayerTextDrawVehiclesNames[playerid][index] != PlayerText:-1) {
  51607. PlayerTextDrawDestroy(playerid, ds_PlayerTextDrawVehiclesNames[playerid][index]);
  51608. ds_PlayerTextDrawVehiclesNames[playerid][index] = PlayerText:-1;
  51609. }
  51610. }
  51611. for(new index = 0; index < 6; index++) {
  51612. if(ds_PlayerTextDrawVehiclesPrices[playerid][index] != PlayerText:-1) {
  51613. PlayerTextDrawDestroy(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][index]);
  51614. ds_PlayerTextDrawVehiclesPrices[playerid][index] = PlayerText:-1;
  51615. }
  51616. }
  51617. for(new index = 0; index < 2; index++) {
  51618. if(ds_PlayerTextDrawArrows[playerid][index] != PlayerText:-1) {
  51619. PlayerTextDrawDestroy(playerid, ds_PlayerTextDrawArrows[playerid][index]);
  51620. ds_PlayerTextDrawArrows[playerid][index] = PlayerText:-1;
  51621. }
  51622. }
  51623. if(ds_PlayerTextDrawCategory[playerid] != PlayerText:-1) {
  51624. PlayerTextDrawDestroy(playerid, ds_PlayerTextDrawCategory[playerid]);
  51625. ds_PlayerTextDrawCategory[playerid] = PlayerText:-1;
  51626. }
  51627. }
  51628. ds_CreateDefaultTextdraws(playerid) {
  51629. ds_DestroyDefaultTextdraws(playerid);
  51630. ds_PlayerTextDrawCategory[playerid] = CreatePlayerTextDraw(playerid, 82.934127, 70.666671, "Dealership");
  51631. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawCategory[playerid], 1.459502, 3.578332);
  51632. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawCategory[playerid], 521.000000, 30.000000);
  51633. PlayerTextDrawColor(playerid, ds_PlayerTextDrawCategory[playerid], -1);
  51634. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawCategory[playerid], 255);
  51635. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawCategory[playerid], 1);
  51636. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawCategory[playerid], 1);
  51637. PlayerTextDrawFont(playerid, ds_PlayerTextDrawCategory[playerid], 0);
  51638. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawCategory[playerid], 1);
  51639. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawCategory[playerid], 0);
  51640. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawCategory[playerid], 1);
  51641. ds_PlayerTextDrawVehicles[playerid][0] = CreatePlayerTextDraw(playerid, 79.934127, 96.666671, "");
  51642. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehicles[playerid][0], 0.000000, 0.000000);
  51643. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehicles[playerid][0], 121.000000, 120.000000);
  51644. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehicles[playerid][0], 1);
  51645. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehicles[playerid][0], -1);
  51646. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][0], 0);
  51647. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehicles[playerid][0], 0);
  51648. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][0], 8873060);
  51649. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehicles[playerid][0], 5);
  51650. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehicles[playerid][0], 0);
  51651. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][0], 0);
  51652. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawVehicles[playerid][0], true);
  51653. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][0], 562);
  51654. PlayerTextDrawSetPreviewRot(playerid, ds_PlayerTextDrawVehicles[playerid][0], -15.000000, 0.000000, -45.000000, 0.899999);
  51655. ds_PlayerTextDrawVehicles[playerid][1] = CreatePlayerTextDraw(playerid, 200.812606, 96.666694, "");
  51656. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehicles[playerid][1], 0.000000, 0.000000);
  51657. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehicles[playerid][1], 121.000000, 120.000000);
  51658. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehicles[playerid][1], 1);
  51659. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehicles[playerid][1], -1);
  51660. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][1], 0);
  51661. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehicles[playerid][1], 0);
  51662. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][1], 8873060);
  51663. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehicles[playerid][1], 5);
  51664. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehicles[playerid][1], 0);
  51665. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][1], 0);
  51666. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawVehicles[playerid][1], true);
  51667. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][1], 562);
  51668. PlayerTextDrawSetPreviewRot(playerid, ds_PlayerTextDrawVehicles[playerid][1], -15.000000, 0.000000, -45.000000, 0.899999);
  51669. ds_PlayerTextDrawVehicles[playerid][2] = CreatePlayerTextDraw(playerid, 321.691406, 96.666664, "");
  51670. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehicles[playerid][2], 0.000000, 0.000000);
  51671. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehicles[playerid][2], 121.000000, 120.000000);
  51672. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehicles[playerid][2], 1);
  51673. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehicles[playerid][2], -1);
  51674. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][2], 0);
  51675. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehicles[playerid][2], 0);
  51676. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][2], 8873060);
  51677. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehicles[playerid][2], 5);
  51678. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehicles[playerid][2], 0);
  51679. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][2], 0);
  51680. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawVehicles[playerid][2], true);
  51681. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][2], 562);
  51682. PlayerTextDrawSetPreviewRot(playerid, ds_PlayerTextDrawVehicles[playerid][2], -15.000000, 0.000000, -45.000000, 0.899999);
  51683. ds_PlayerTextDrawVehicles[playerid][3] = CreatePlayerTextDraw(playerid, 79.934127, 216.833267, "");
  51684. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehicles[playerid][3], 0.000000, 0.000000);
  51685. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehicles[playerid][3], 121.000000, 120.000000);
  51686. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehicles[playerid][3], 1);
  51687. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehicles[playerid][3], -1);
  51688. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][3], 0);
  51689. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehicles[playerid][3], 0);
  51690. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][3], 8873060);
  51691. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehicles[playerid][3], 5);
  51692. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehicles[playerid][3], 0);
  51693. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][3], 0);
  51694. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawVehicles[playerid][3], true);
  51695. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][3], 562);
  51696. PlayerTextDrawSetPreviewRot(playerid, ds_PlayerTextDrawVehicles[playerid][3], -15.000000, 0.000000, -45.000000, 0.899999);
  51697. ds_PlayerTextDrawVehicles[playerid][4] = CreatePlayerTextDraw(playerid, 200.812576, 216.833282, "");
  51698. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehicles[playerid][4], 0.000000, 0.000000);
  51699. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehicles[playerid][4], 121.000000, 120.000000);
  51700. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehicles[playerid][4], 1);
  51701. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehicles[playerid][4], -1);
  51702. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][4], 0);
  51703. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehicles[playerid][4], 0);
  51704. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][4], 8873060);
  51705. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehicles[playerid][4], 5);
  51706. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehicles[playerid][4], 0);
  51707. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][4], 0);
  51708. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawVehicles[playerid][4], true);
  51709. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][4], 562);
  51710. PlayerTextDrawSetPreviewRot(playerid, ds_PlayerTextDrawVehicles[playerid][4], -15.000000, 0.000000, -45.000000, 0.899999);
  51711. ds_PlayerTextDrawVehicles[playerid][5] = CreatePlayerTextDraw(playerid, 321.690917, 216.833297, "");
  51712. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehicles[playerid][5], 0.000000, 0.000000);
  51713. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehicles[playerid][5], 121.000000, 120.000000);
  51714. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehicles[playerid][5], 1);
  51715. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehicles[playerid][5], -1);
  51716. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][5], 0);
  51717. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehicles[playerid][5], 0);
  51718. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehicles[playerid][5], 8873060);
  51719. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehicles[playerid][5], 5);
  51720. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehicles[playerid][5], 0);
  51721. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehicles[playerid][5], 0);
  51722. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawVehicles[playerid][5], true);
  51723. PlayerTextDrawSetPreviewModel(playerid, ds_PlayerTextDrawVehicles[playerid][5], 562);
  51724. PlayerTextDrawSetPreviewRot(playerid, ds_PlayerTextDrawVehicles[playerid][5], -15.000000, 0.000000, -45.000000, 0.899999);
  51725. ds_PlayerTextDrawVehiclesNames[playerid][0] = CreatePlayerTextDraw(playerid, 140.541748, 195.833267, "TDEditor");
  51726. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 0.459502, 2.078332);
  51727. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 0.000000, 117.000000);
  51728. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 2);
  51729. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], -1);
  51730. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 1);
  51731. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 255);
  51732. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 0);
  51733. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 0);
  51734. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 255);
  51735. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 3);
  51736. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 1);
  51737. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][0], 0);
  51738. ds_PlayerTextDrawVehiclesNames[playerid][1] = CreatePlayerTextDraw(playerid, 260.951782, 195.833251, "TDEditor");
  51739. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 0.459502, 2.078332);
  51740. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 0.000000, 117.000000);
  51741. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 2);
  51742. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], -1);
  51743. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 1);
  51744. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 255);
  51745. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 0);
  51746. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 0);
  51747. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 255);
  51748. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 3);
  51749. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 1);
  51750. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][1], 0);
  51751. ds_PlayerTextDrawVehiclesNames[playerid][2] = CreatePlayerTextDraw(playerid, 381.830444, 195.833282, "TDEditor");
  51752. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 0.459502, 2.078332);
  51753. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 0.000000, 118.000000);
  51754. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 2);
  51755. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], -1);
  51756. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 1);
  51757. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 255);
  51758. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 0);
  51759. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 0);
  51760. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 255);
  51761. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 3);
  51762. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 1);
  51763. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][2], 0);
  51764. ds_PlayerTextDrawVehiclesNames[playerid][3] = CreatePlayerTextDraw(playerid, 140.073226, 316.583343, "TDEditor");
  51765. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 0.459502, 2.078332);
  51766. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 0.000000, 118.000000);
  51767. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 2);
  51768. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], -1);
  51769. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 1);
  51770. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 255);
  51771. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 0);
  51772. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 0);
  51773. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 255);
  51774. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 3);
  51775. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 1);
  51776. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][3], 0);
  51777. ds_PlayerTextDrawVehiclesNames[playerid][4] = CreatePlayerTextDraw(playerid, 260.951507, 316.583251, "TDEditor");
  51778. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 0.459502, 2.078332);
  51779. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 0.000000, 118.000000);
  51780. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 2);
  51781. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], -1);
  51782. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 1);
  51783. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 255);
  51784. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 0);
  51785. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 0);
  51786. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 255);
  51787. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 3);
  51788. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 1);
  51789. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][4], 0);
  51790. ds_PlayerTextDrawVehiclesNames[playerid][5] = CreatePlayerTextDraw(playerid, 382.298797, 316.583282, "TDEditor");
  51791. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 0.459502, 2.078332);
  51792. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 0.000000, 118.000000);
  51793. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 2);
  51794. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], -1);
  51795. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 1);
  51796. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 255);
  51797. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 0);
  51798. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 0);
  51799. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 255);
  51800. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 3);
  51801. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 1);
  51802. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesNames[playerid][5], 0);
  51803. ds_PlayerTextDrawVehiclesPrices[playerid][0] = CreatePlayerTextDraw(playerid, 140.541748, 101.833267, "TDEditor");
  51804. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 0.459502, 2.078332);
  51805. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 0.000000, 117.000000);
  51806. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 2);
  51807. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], -1);
  51808. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 0);
  51809. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 255);
  51810. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 0);
  51811. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 0);
  51812. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 255);
  51813. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 2);
  51814. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 1);
  51815. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][0], 0);
  51816. ds_PlayerTextDrawVehiclesPrices[playerid][1] = CreatePlayerTextDraw(playerid, 260.951782, 101.833251, "TDEditor");
  51817. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 0.459502, 2.078332);
  51818. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 0.000000, 117.000000);
  51819. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 2);
  51820. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], -1);
  51821. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 0);
  51822. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 255);
  51823. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 0);
  51824. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 0);
  51825. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 255);
  51826. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 2);
  51827. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 1);
  51828. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][1], 0);
  51829. ds_PlayerTextDrawVehiclesPrices[playerid][2] = CreatePlayerTextDraw(playerid, 381.830444, 101.833282, "TDEditor");
  51830. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 0.459502, 2.078332);
  51831. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 0.000000, 118.000000);
  51832. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 2);
  51833. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], -1);
  51834. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 0);
  51835. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 255);
  51836. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 0);
  51837. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 0);
  51838. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 255);
  51839. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 2 );
  51840. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 1);
  51841. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][2], 0);
  51842. ds_PlayerTextDrawVehiclesPrices[playerid][3] = CreatePlayerTextDraw(playerid, 140.073226, 221.583343, "TDEditor");
  51843. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 0.459502, 2.078332);
  51844. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 0.000000, 118.000000);
  51845. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 2);
  51846. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], -1);
  51847. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 0);
  51848. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 255);
  51849. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 0);
  51850. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 0);
  51851. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 255);
  51852. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 2);
  51853. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 1);
  51854. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][3], 0);
  51855. ds_PlayerTextDrawVehiclesPrices[playerid][4] = CreatePlayerTextDraw(playerid, 260.951507, 221.583251, "TDEditor");
  51856. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 0.459502, 2.078332);
  51857. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 0.000000, 118.000000);
  51858. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 2);
  51859. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], -1);
  51860. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 0);
  51861. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 255);
  51862. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 0);
  51863. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 0);
  51864. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 255);
  51865. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 2);
  51866. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 1);
  51867. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][4], 0);
  51868. ds_PlayerTextDrawVehiclesPrices[playerid][5] = CreatePlayerTextDraw(playerid, 382.298797, 221.583282, "TDEditor");
  51869. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 0.459502, 2.078332);
  51870. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 0.000000, 118.000000);
  51871. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 2);
  51872. PlayerTextDrawColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], -1);
  51873. PlayerTextDrawUseBox(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 0);
  51874. PlayerTextDrawBoxColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 255);
  51875. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 0);
  51876. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 0);
  51877. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 255);
  51878. PlayerTextDrawFont(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 2);
  51879. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 1);
  51880. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawVehiclesPrices[playerid][5], 0);
  51881. ds_PlayerTextDrawArrows[playerid][0] = CreatePlayerTextDraw(playerid, 47.606147, 188.833297, "LD_BEAT:LEFT");
  51882. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawArrows[playerid][0], 0.000000, 0.000000);
  51883. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawArrows[playerid][0], 44.000000, 45.000000);
  51884. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawArrows[playerid][0], 1);
  51885. PlayerTextDrawColor(playerid, ds_PlayerTextDrawArrows[playerid][0], -1);
  51886. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawArrows[playerid][0], 0);
  51887. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawArrows[playerid][0], 0);
  51888. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawArrows[playerid][0], 255);
  51889. PlayerTextDrawFont(playerid, ds_PlayerTextDrawArrows[playerid][0], 4);
  51890. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawArrows[playerid][0], 0);
  51891. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawArrows[playerid][0], 0);
  51892. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawArrows[playerid][0], 1);
  51893. ds_PlayerTextDrawArrows[playerid][1] = CreatePlayerTextDraw(playerid, 432.752929, 188.833297/*188.249984*/, "LD_BEAT:RIGHT");
  51894. PlayerTextDrawLetterSize(playerid, ds_PlayerTextDrawArrows[playerid][1], 0.000000, 0.000000);
  51895. PlayerTextDrawTextSize(playerid, ds_PlayerTextDrawArrows[playerid][1], 44.000000, 45.000000);
  51896. PlayerTextDrawAlignment(playerid, ds_PlayerTextDrawArrows[playerid][1], 1);
  51897. PlayerTextDrawColor(playerid, ds_PlayerTextDrawArrows[playerid][1], -1);
  51898. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawArrows[playerid][1], 0);
  51899. PlayerTextDrawSetOutline(playerid, ds_PlayerTextDrawArrows[playerid][1], 0);
  51900. PlayerTextDrawBackgroundColor(playerid, ds_PlayerTextDrawArrows[playerid][1], 255);
  51901. PlayerTextDrawFont(playerid, ds_PlayerTextDrawArrows[playerid][1], 4);
  51902. PlayerTextDrawSetProportional(playerid, ds_PlayerTextDrawArrows[playerid][1], 0);
  51903. PlayerTextDrawSetShadow(playerid, ds_PlayerTextDrawArrows[playerid][1], 0);
  51904. PlayerTextDrawSetSelectable(playerid, ds_PlayerTextDrawArrows[playerid][1], 1);
  51905. }
  51906. /* CarParts // Carjacker - begins here.
  51907. IsABike(vehicleid)
  51908. {
  51909. new model = GetVehicleModel(vehicleid);
  51910. switch(model)
  51911. {
  51912. case 509, 481, 510: return 1;
  51913. }
  51914. return 0;
  51915. }
  51916. IsAMotorBike(vehicleid)
  51917. {
  51918. new model = GetVehicleModel(vehicleid);
  51919. switch(model)
  51920. {
  51921. case 509, 481, 510, 462, 448, 581, 522, 461, 421, 523, 463, 586, 468, 471: return 1;
  51922. }
  51923. return 0;
  51924. }
  51925. stock GetComponentName(component)
  51926. {
  51927. new modname[50];
  51928. switch(component)
  51929. {
  51930. case 1000: format(modname, sizeof(modname), "Pro Spoiler");
  51931. case 1001: format(modname, sizeof(modname), "Win Spoiler");
  51932. case 1002: format(modname, sizeof(modname), "Drag Spoiler");
  51933. case 1003: format(modname, sizeof(modname), "Alpha Spoiler");
  51934. case 1004: format(modname, sizeof(modname), "Champ Scoop");
  51935. case 1005: format(modname, sizeof(modname), "Fury Scoop");
  51936. case 1006: format(modname, sizeof(modname), "Roof Scoop");
  51937. case 1007: format(modname, sizeof(modname), "Right Sideskirt");
  51938. case 1008: format(modname, sizeof(modname), "Nitrous x5");
  51939. case 1009: format(modname, sizeof(modname), "Nitrous x2");
  51940. case 1010: format(modname, sizeof(modname), "Nitrous x10");
  51941. case 1011: format(modname, sizeof(modname), "Race Scoop");
  51942. case 1012: format(modname, sizeof(modname), "Worx Scoop");
  51943. case 1013: format(modname, sizeof(modname), "Round Fog Lights");
  51944. case 1014: format(modname, sizeof(modname), "Champ Spoiler");
  51945. case 1015: format(modname, sizeof(modname), "Race Spoiler");
  51946. case 1016: format(modname, sizeof(modname), "Worx Spoiler");
  51947. case 1017: format(modname, sizeof(modname), "Left Sideskirt");
  51948. case 1018: format(modname, sizeof(modname), "Upswept Exhaust");
  51949. case 1019: format(modname, sizeof(modname), "Twin Exhaust");
  51950. case 1020: format(modname, sizeof(modname), "Large Exhaust");
  51951. case 1021: format(modname, sizeof(modname), "Medium Exhaust");
  51952. case 1022: format(modname, sizeof(modname), "Small Exhaust");
  51953. case 1023: format(modname, sizeof(modname), "Fury Spoiler");
  51954. case 1024: format(modname, sizeof(modname), "Square Fog Lights");
  51955. case 1025: format(modname, sizeof(modname), "Offroad Wheels");
  51956. case 1026, 1036, 1047, 1056, 1069, 1090: format(modname, sizeof(modname), "Right Alien Sideskirt");
  51957. case 1027, 1040, 1051, 1062, 1071, 1094: format(modname, sizeof(modname), "Left Alien Sideskirt");
  51958. case 1028, 1034, 1046, 1064, 1065, 1092: format(modname, sizeof(modname), "Alien Exhaust");
  51959. case 1029, 1037, 1045, 1059, 1066, 1089: format(modname, sizeof(modname), "X-Flow Exhaust");
  51960. case 1030, 1039, 1048, 1057, 1070, 1095: format(modname, sizeof(modname), "Right X-Flow Sideskirt");
  51961. case 1031, 1041, 1052, 1063, 1072, 1093: format(modname, sizeof(modname), "Left X-Flow Sideskirt");
  51962. case 1032, 1038, 1054, 1055, 1067, 1088: format(modname, sizeof(modname), "Alien Roof Vent");
  51963. case 1033, 1035, 1053, 1061, 1068, 1091: format(modname, sizeof(modname), "X-Flow Roof Vent");
  51964. case 1042: format(modname, sizeof(modname), "Right Chrome Sideskirt");
  51965. case 1099: format(modname, sizeof(modname), "Left Chrome Sideskirt");
  51966. case 1043, 1105, 1114, 1127, 1132, 1135: format(modname, sizeof(modname), "Slamin Exhaust");
  51967. case 1044, 1104, 1113, 1126, 1129, 1136: format(modname, sizeof(modname), "Chrome Exhaust");
  51968. case 1050, 1058, 1139, 1146, 1158, 1163: format(modname, sizeof(modname), "X-Flow Spoiler");
  51969. case 1049, 1060, 1138, 1147, 1162, 1164: format(modname, sizeof(modname), "Alien Spoiler");
  51970. case 1073: format(modname, sizeof(modname), "Shadow Wheels");
  51971. case 1074: format(modname, sizeof(modname), "Mega Wheels");
  51972. case 1075: format(modname, sizeof(modname), "Rimshine Wheels");
  51973. case 1076: format(modname, sizeof(modname), "Wires Wheels");
  51974. case 1077: format(modname, sizeof(modname), "Classic Wheels");
  51975. case 1078: format(modname, sizeof(modname), "Twist Wheels");
  51976. case 1079: format(modname, sizeof(modname), "Cutter Wheels");
  51977. case 1080: format(modname, sizeof(modname), "Stitch Wheels");
  51978. case 1081: format(modname, sizeof(modname), "Grove Wheels");
  51979. case 1082: format(modname, sizeof(modname), "Import Wheels");
  51980. case 1083: format(modname, sizeof(modname), "Dollar Wheels");
  51981. case 1084: format(modname, sizeof(modname), "Trance Wheels");
  51982. case 1085: format(modname, sizeof(modname), "Atomic Wheels");
  51983. case 1086: format(modname, sizeof(modname), "Stereo");
  51984. case 1087: format(modname, sizeof(modname), "Hydraulics");
  51985. case 1096: format(modname, sizeof(modname), "Ahab Wheels");
  51986. case 1097: format(modname, sizeof(modname), "Virtual Wheels");
  51987. case 1098: format(modname, sizeof(modname), "Access Wheels");
  51988. case 1100: format(modname, sizeof(modname), "Chrome Grill");
  51989. case 1101: format(modname, sizeof(modname), "Left Chrome Flames Sideskirt");
  51990. case 1102, 1107: format(modname, sizeof(modname), "Left Chrome Strip Sideskirt");
  51991. case 1103: format(modname, sizeof(modname), "Convertible Roof");
  51992. case 1106, 1124, 1137: format(modname, sizeof(modname), "Left Chrome Arches Sideskirt");
  51993. case 1108, 1133, 1134: format(modname, sizeof(modname), "Right Chrome Strip Sideskirt");
  51994. case 1109: format(modname, sizeof(modname), "Chrome Rear Bullbars");
  51995. case 1110: format(modname, sizeof(modname), "Slamin Rear Bullbars");
  51996. case 1111, 1112: format(modname, sizeof(modname), "Front Sign");
  51997. case 1115: format(modname, sizeof(modname), "Chrome Front Bullbars");
  51998. case 1116: format(modname, sizeof(modname), "Slamin Front Bullbars");
  51999. case 1117, 1174, 1179, 1182, 1189, 1191: format(modname, sizeof(modname), "Chrome Front Bumper");
  52000. case 1175, 1181, 1185, 1188, 1190: format(modname, sizeof(modname), "Slamin Front Bumper");
  52001. case 1176, 1180, 1184, 1187, 1192: format(modname, sizeof(modname), "Chrome Rear Bumper");
  52002. case 1177, 1178, 1183, 1186, 1193: format(modname, sizeof(modname), "Slamin Rear Bumper");
  52003. case 1118: format(modname, sizeof(modname), "Right Chrome Trim Sideskirt");
  52004. case 1119: format(modname, sizeof(modname), "Right Wheelcovers Sideskirt");
  52005. case 1120: format(modname, sizeof(modname), "Left Chrome Trim Sideskirt");
  52006. case 1121: format(modname, sizeof(modname), "Left Wheelcovers Sideskirt");
  52007. case 1122: format(modname, sizeof(modname), "Right Chrome Flames Sideskirt");
  52008. case 1123: format(modname, sizeof(modname), "Bullbar Chrome Bars");
  52009. case 1125: format(modname, sizeof(modname), "Bullbar Chrome Lights");
  52010. case 1128: format(modname, sizeof(modname), "Vinyl Hardtop Roof");
  52011. case 1130: format(modname, sizeof(modname), "Hardtop Roof");
  52012. case 1131: format(modname, sizeof(modname), "Softtop Roof");
  52013. case 1140, 1148, 1151, 1156, 1161, 1167: format(modname, sizeof(modname), "X-Flow Rear Bumper");
  52014. case 1141, 1149, 1150, 1154, 1159, 1168: format(modname, sizeof(modname), "Alien Rear Bumper");
  52015. case 1142: format(modname, sizeof(modname), "Left Oval Vents");
  52016. case 1143: format(modname, sizeof(modname), "Right Oval Vents");
  52017. case 1144: format(modname, sizeof(modname), "Left Square Vents");
  52018. case 1145: format(modname, sizeof(modname), "Right Square Vents");
  52019. case 1152, 1157, 1165, 1170, 1172, 1173: format(modname, sizeof(modname), "X-Flow Front Bumper");
  52020. case 1153, 1155, 1160, 1166, 1169, 1171: format(modname, sizeof(modname), "Alien Front Bumper");
  52021. }
  52022. return modname;
  52023. }
  52024. GetVehicleComponentCount(category, model)
  52025. {
  52026. switch(category)
  52027. {
  52028. case 0: return GetVehicleSpoilerCount(model);
  52029. case 1: return GetVehicleHoodCount(model);
  52030. case 2: return GetVehicleExhaustCount(model);
  52031. case 3: return GetVehicleFBumperCount(model);
  52032. case 4: return GetVehicleBBumperCount(model);
  52033. case 5: return GetVehicleRoofCount(model);
  52034. case 6: return GetVehicleWheelCount(model);
  52035. case 7: return GetVehicleHydraulicCount(model);
  52036. case 8: return GetVehicleNitroCount(model);
  52037. case 9: return GetVehicleLeftSSCount(model);
  52038. case 10: return GetVehiclePaintJobCount(model);
  52039. }
  52040. return 0;
  52041. }
  52042. GetComponentPrice(componentid, &price = 0)
  52043. {
  52044. switch(componentid)
  52045. {
  52046. case 1004..1007, 1011..1013, 1017, 1024, 1026, 1027, 1030, 1031, 1036, 1039..1042, 1047, 1048, 1051, 1052, 1056, 1057, 1062, 1063, 1069..1072, 1090, 1093..1095, 1099, 1101, 1102, 1106..1108, 1118..1122, 1124, 1133, 1134, 1137, 1142..1145: price = 4000;
  52047. case 1018..1022, 1025, 1028, 1029, 1032..1035, 1037, 1038, 1043..1046, 1053..1055, 1059, 1061, 1064..1068, 1073..1085, 1088, 1089, 1091, 1092, 1096..1098, 1103..1105, 1111..1114, 1126, 1127, 1129, 1132, 1135, 1136: price = 5000;
  52048. case 1100, 1109, 1110, 1115, 1117, 1123, 1125, 1140, 1141, 1148..1157, 1159..1161, 1165..1193: price = 6000;
  52049. case 1000..1003, 1009, 1014..1016, 1023, 1049, 1050, 1058, 1060, 1087, 1128, 1130, 1131, 1138, 1139, 1146, 1147, 1158, 1162..1164: price = 7500;
  52050. case 1008, 1086: price = 12500;
  52051. case 1010: price = 17500;
  52052. }
  52053. return price;
  52054. }
  52055. GetVehicleSpoilerCount(model, &count = 0)
  52056. {
  52057. switch(model)
  52058. {
  52059. case 401, 418, 420, 426, 436, 492, 540, 542, 549, 558, 559, 560, 561, 562, 565, 580, 589, 603: count = 2;
  52060. case 404, 410, 415, 439, 489, 491, 518, 527, 529, 546, 547, 550, 585: count = 3;
  52061. case 405, 421, 496, 516, 517, 551: count = 4;
  52062. }
  52063. return count;
  52064. }
  52065. GetVehicleCompatibleSpoiler(model, count, &componentid = 0)
  52066. {
  52067. switch(model)
  52068. {
  52069. case 401:
  52070. {
  52071. switch(count)
  52072. {
  52073. case 1: componentid = 1001;
  52074. case 2: componentid = 1003;
  52075. }
  52076. }
  52077. case 404:
  52078. {
  52079. switch(count)
  52080. {
  52081. case 1: componentid = 1000;
  52082. case 2: componentid = 1002;
  52083. case 3: componentid = 1016;
  52084. }
  52085. }
  52086. case 405:
  52087. {
  52088. switch(count)
  52089. {
  52090. case 1: componentid = 1000;
  52091. case 2: componentid = 1001;
  52092. case 3: componentid = 1014;
  52093. case 4: componentid = 1023;
  52094. }
  52095. }
  52096. case 410:
  52097. {
  52098. switch(count)
  52099. {
  52100. case 1: componentid = 1001;
  52101. case 2: componentid = 1003;
  52102. case 3: componentid = 1023;
  52103. }
  52104. }
  52105. case 415:
  52106. {
  52107. switch(count)
  52108. {
  52109. case 1: componentid = 1001;
  52110. case 2: componentid = 1003;
  52111. case 3: componentid = 1023;
  52112. }
  52113. }
  52114. case 418:
  52115. {
  52116. switch(count)
  52117. {
  52118. case 1: componentid = 1002;
  52119. case 2: componentid = 1016;
  52120. }
  52121. }
  52122. case 420:
  52123. {
  52124. switch(count)
  52125. {
  52126. case 1: componentid = 1001;
  52127. case 2: componentid = 1003;
  52128. }
  52129. }
  52130. case 421:
  52131. {
  52132. switch(count)
  52133. {
  52134. case 1: componentid = 1000;
  52135. case 2: componentid = 1014;
  52136. case 3: componentid = 1016;
  52137. case 4: componentid = 1023;
  52138. }
  52139. }
  52140. case 426:
  52141. {
  52142. switch(count)
  52143. {
  52144. case 1: componentid = 1001;
  52145. case 2: componentid = 1003;
  52146. }
  52147. }
  52148. case 436:
  52149. {
  52150. switch(count)
  52151. {
  52152. case 1: componentid = 1001;
  52153. case 2: componentid = 1003;
  52154. }
  52155. }
  52156. case 439:
  52157. {
  52158. switch(count)
  52159. {
  52160. case 1: componentid = 1001;
  52161. case 2: componentid = 1003;
  52162. case 3: componentid = 1023;
  52163. }
  52164. }
  52165. case 489:
  52166. {
  52167. switch(count)
  52168. {
  52169. case 1: componentid = 1000;
  52170. case 2: componentid = 1002;
  52171. case 3: componentid = 1016;
  52172. }
  52173. }
  52174. case 491:
  52175. {
  52176. switch(count)
  52177. {
  52178. case 1: componentid = 1003;
  52179. case 2: componentid = 1014;
  52180. case 3: componentid = 1023;
  52181. }
  52182. }
  52183. case 492:
  52184. {
  52185. switch(count)
  52186. {
  52187. case 1: componentid = 1000;
  52188. case 2: componentid = 1016;
  52189. }
  52190. }
  52191. case 496:
  52192. {
  52193. switch(count)
  52194. {
  52195. case 1: componentid = 1001;
  52196. case 2: componentid = 1002;
  52197. case 3: componentid = 1003;
  52198. case 4: componentid = 1023;
  52199. }
  52200. }
  52201. case 516:
  52202. {
  52203. switch(count)
  52204. {
  52205. case 1: componentid = 1000;
  52206. case 2: componentid = 1002;
  52207. case 3: componentid = 1015;
  52208. case 4: componentid = 1016;
  52209. }
  52210. }
  52211. case 517:
  52212. {
  52213. switch(count)
  52214. {
  52215. case 1: componentid = 1002;
  52216. case 2: componentid = 1003;
  52217. case 3: componentid = 1016;
  52218. case 4: componentid = 1023;
  52219. }
  52220. }
  52221. case 518:
  52222. {
  52223. switch(count)
  52224. {
  52225. case 1: componentid = 1001;
  52226. case 2: componentid = 1003;
  52227. case 3: componentid = 1023;
  52228. }
  52229. }
  52230. case 527:
  52231. {
  52232. switch(count)
  52233. {
  52234. case 1: componentid = 1001;
  52235. case 2: componentid = 1014;
  52236. case 3: componentid = 1015;
  52237. }
  52238. }
  52239. case 529:
  52240. {
  52241. switch(count)
  52242. {
  52243. case 1: componentid = 1001;
  52244. case 2: componentid = 1003;
  52245. case 3: componentid = 1023;
  52246. }
  52247. }
  52248. case 540:
  52249. {
  52250. switch(count)
  52251. {
  52252. case 1: componentid = 1001;
  52253. case 2: componentid = 1023;
  52254. }
  52255. }
  52256. case 542:
  52257. {
  52258. switch(count)
  52259. {
  52260. case 1: componentid = 1014;
  52261. case 2: componentid = 1015;
  52262. }
  52263. }
  52264. case 546:
  52265. {
  52266. switch(count)
  52267. {
  52268. case 1: componentid = 1001;
  52269. case 2: componentid = 1002;
  52270. case 3: componentid = 1023;
  52271. }
  52272. }
  52273. case 547:
  52274. {
  52275. switch(count)
  52276. {
  52277. case 1: componentid = 1000;
  52278. case 2: componentid = 1003;
  52279. case 3: componentid = 1016;
  52280. }
  52281. }
  52282. case 549:
  52283. {
  52284. switch(count)
  52285. {
  52286. case 1: componentid = 1001;
  52287. case 2: componentid = 1023;
  52288. }
  52289. }
  52290. case 550:
  52291. {
  52292. switch(count)
  52293. {
  52294. case 1: componentid = 1001;
  52295. case 2: componentid = 1003;
  52296. case 3: componentid = 1023;
  52297. }
  52298. }
  52299. case 551:
  52300. {
  52301. switch(count)
  52302. {
  52303. case 1: componentid = 1002;
  52304. case 2: componentid = 1003;
  52305. case 3: componentid = 1016;
  52306. case 4: componentid = 1023;
  52307. }
  52308. }
  52309. case 558:
  52310. {
  52311. switch(count)
  52312. {
  52313. case 1: componentid = 1163;
  52314. case 2: componentid = 1164;
  52315. }
  52316. }
  52317. case 559:
  52318. {
  52319. switch(count)
  52320. {
  52321. case 1: componentid = 1158;
  52322. case 2: componentid = 1162;
  52323. }
  52324. }
  52325. case 560:
  52326. {
  52327. switch(count)
  52328. {
  52329. case 1: componentid = 1138;
  52330. case 2: componentid = 1139;
  52331. }
  52332. }
  52333. case 561:
  52334. {
  52335. switch(count)
  52336. {
  52337. case 1: componentid = 1058;
  52338. case 2: componentid = 1060;
  52339. }
  52340. }
  52341. case 562:
  52342. {
  52343. switch(count)
  52344. {
  52345. case 1: componentid = 1146;
  52346. case 2: componentid = 1147;
  52347. }
  52348. }
  52349. case 565:
  52350. {
  52351. switch(count)
  52352. {
  52353. case 1: componentid = 1049;
  52354. case 2: componentid = 1050;
  52355. }
  52356. }
  52357. case 580:
  52358. {
  52359. switch(count)
  52360. {
  52361. case 1: componentid = 1001;
  52362. case 2: componentid = 1023;
  52363. }
  52364. }
  52365. case 585:
  52366. {
  52367. switch(count)
  52368. {
  52369. case 1: componentid = 1001;
  52370. case 2: componentid = 1003;
  52371. case 3: componentid = 1023;
  52372. }
  52373. }
  52374. case 589:
  52375. {
  52376. switch(count)
  52377. {
  52378. case 1: componentid = 1000;
  52379. case 2: componentid = 1016;
  52380. }
  52381. }
  52382. case 603:
  52383. {
  52384. switch(count)
  52385. {
  52386. case 1: componentid = 1001;
  52387. case 2: componentid = 1023;
  52388. }
  52389. }
  52390. }
  52391. return componentid;
  52392. }
  52393. GetVehicleHoodCount(model, &count = 0)
  52394. {
  52395. switch(model)
  52396. {
  52397. case 496, 516, 518, 540, 546, 551: count = 1;
  52398. case 401, 420, 426, 489, 492, 529, 549, 550, 589, 600: count = 2;
  52399. case 478: count = 3;
  52400. }
  52401. return count;
  52402. }
  52403. GetVehicleCompatibleHood(model, count, &componentid = 0)
  52404. {
  52405. switch(model)
  52406. {
  52407. case 401:
  52408. {
  52409. switch(count)
  52410. {
  52411. case 1: componentid = 1004;
  52412. case 2: componentid = 1005;
  52413. }
  52414. }
  52415. case 420:
  52416. {
  52417. switch(count)
  52418. {
  52419. case 1: componentid = 1004;
  52420. case 2: componentid = 1005;
  52421. }
  52422. }
  52423. case 426:
  52424. {
  52425. switch(count)
  52426. {
  52427. case 1: componentid = 1004;
  52428. case 2: componentid = 1005;
  52429. }
  52430. }
  52431. case 478:
  52432. {
  52433. switch(count)
  52434. {
  52435. case 1: componentid = 1004;
  52436. case 2: componentid = 1005;
  52437. case 3: componentid = 1012;
  52438. }
  52439. }
  52440. case 489:
  52441. {
  52442. switch(count)
  52443. {
  52444. case 1: componentid = 1004;
  52445. case 2: componentid = 1005;
  52446. }
  52447. }
  52448. case 492:
  52449. {
  52450. switch(count)
  52451. {
  52452. case 1: componentid = 1004;
  52453. case 2: componentid = 1005;
  52454. }
  52455. }
  52456. case 496:
  52457. {
  52458. switch(count)
  52459. {
  52460. case 1: componentid = 1011;
  52461. }
  52462. }
  52463. case 516:
  52464. {
  52465. switch(count)
  52466. {
  52467. case 1: componentid = 1004;
  52468. }
  52469. }
  52470. case 518:
  52471. {
  52472. switch(count)
  52473. {
  52474. case 1: componentid = 1005;
  52475. }
  52476. }
  52477. case 529:
  52478. {
  52479. switch(count)
  52480. {
  52481. case 1: componentid = 1011;
  52482. case 2: componentid = 1012;
  52483. }
  52484. }
  52485. case 540:
  52486. {
  52487. switch(count)
  52488. {
  52489. case 1: componentid = 1004;
  52490. }
  52491. }
  52492. case 546:
  52493. {
  52494. switch(count)
  52495. {
  52496. case 1: componentid = 1004;
  52497. }
  52498. }
  52499. case 549:
  52500. {
  52501. switch(count)
  52502. {
  52503. case 1: componentid = 1011;
  52504. case 2: componentid = 1012;
  52505. }
  52506. }
  52507. case 550:
  52508. {
  52509. switch(count)
  52510. {
  52511. case 1: componentid = 1004;
  52512. case 2: componentid = 1005;
  52513. }
  52514. }
  52515. case 551:
  52516. {
  52517. switch(count)
  52518. {
  52519. case 1: componentid = 1005;
  52520. }
  52521. }
  52522. case 589:
  52523. {
  52524. switch(count)
  52525. {
  52526. case 1: componentid = 1004;
  52527. case 2: componentid = 1005;
  52528. }
  52529. }
  52530. case 600:
  52531. {
  52532. switch(count)
  52533. {
  52534. case 1: componentid = 1004;
  52535. case 2: componentid = 1005;
  52536. }
  52537. }
  52538. }
  52539. return componentid;
  52540. }
  52541. GetVehicleExhaustCount(model, &count = 0)
  52542. {
  52543. switch(model)
  52544. {
  52545. case 401, 415, 418, 420, 426, 496, 518, 534, 535, 536, 546, 558, 559, 560, 561, 562, 565, 567, 575, 576, 580, 589: count = 2;
  52546. case 404, 410, 422, 478, 489, 500, 517, 527, 529, 540, 549, 550, 585, 600, 603: count = 3;
  52547. case 400, 405, 421, 436, 477, 491, 516, 542, 547, 551: count = 4;
  52548. }
  52549. return count;
  52550. }
  52551. GetVehicleCompatibleExhaust(model, count, &componentid = 0)
  52552. {
  52553. switch(model)
  52554. {
  52555. case 400:
  52556. {
  52557. switch(count)
  52558. {
  52559. case 1: componentid = 1018;
  52560. case 2: componentid = 1019;
  52561. case 3: componentid = 1020;
  52562. case 4: componentid = 1021;
  52563. }
  52564. }
  52565. case 401:
  52566. {
  52567. switch(count)
  52568. {
  52569. case 1: componentid = 1019;
  52570. case 2: componentid = 1020;
  52571. }
  52572. }
  52573. case 404:
  52574. {
  52575. switch(count)
  52576. {
  52577. case 1: componentid = 1019;
  52578. case 2: componentid = 1020;
  52579. case 3: componentid = 1021;
  52580. }
  52581. }
  52582. case 405:
  52583. {
  52584. switch(count)
  52585. {
  52586. case 1: componentid = 1018;
  52587. case 2: componentid = 1019;
  52588. case 3: componentid = 1020;
  52589. case 4: componentid = 1021;
  52590. }
  52591. }
  52592. case 410:
  52593. {
  52594. switch(count)
  52595. {
  52596. case 1: componentid = 1019;
  52597. case 2: componentid = 1020;
  52598. case 3: componentid = 1021;
  52599. }
  52600. }
  52601. case 415:
  52602. {
  52603. switch(count)
  52604. {
  52605. case 1: componentid = 1018;
  52606. case 2: componentid = 1019;
  52607. }
  52608. }
  52609. case 418:
  52610. {
  52611. switch(count)
  52612. {
  52613. case 1: componentid = 1020;
  52614. case 2: componentid = 1021;
  52615. }
  52616. }
  52617. case 420:
  52618. {
  52619. switch(count)
  52620. {
  52621. case 1: componentid = 1019;
  52622. case 2: componentid = 1021;
  52623. }
  52624. }
  52625. case 421:
  52626. {
  52627. switch(count)
  52628. {
  52629. case 1: componentid = 1018;
  52630. case 2: componentid = 1019;
  52631. case 3: componentid = 1020;
  52632. case 4: componentid = 1021;
  52633. }
  52634. }
  52635. case 422:
  52636. {
  52637. switch(count)
  52638. {
  52639. case 1: componentid = 1019;
  52640. case 2: componentid = 1020;
  52641. case 3: componentid = 1021;
  52642. }
  52643. }
  52644. case 426:
  52645. {
  52646. switch(count)
  52647. {
  52648. case 1: componentid = 1019;
  52649. case 2: componentid = 1021;
  52650. }
  52651. }
  52652. case 436:
  52653. {
  52654. switch(count)
  52655. {
  52656. case 1: componentid = 1019;
  52657. case 2: componentid = 1020;
  52658. case 3: componentid = 1021;
  52659. case 4: componentid = 1022;
  52660. }
  52661. }
  52662. case 477:
  52663. {
  52664. switch(count)
  52665. {
  52666. case 1: componentid = 1018;
  52667. case 2: componentid = 1019;
  52668. case 3: componentid = 1020;
  52669. case 4: componentid = 1021;
  52670. }
  52671. }
  52672. case 478:
  52673. {
  52674. switch(count)
  52675. {
  52676. case 1: componentid = 1020;
  52677. case 2: componentid = 1021;
  52678. case 3: componentid = 1022;
  52679. }
  52680. }
  52681. case 489:
  52682. {
  52683. switch(count)
  52684. {
  52685. case 1: componentid = 1018;
  52686. case 2: componentid = 1019;
  52687. case 3: componentid = 1020;
  52688. }
  52689. }
  52690. case 491:
  52691. {
  52692. switch(count)
  52693. {
  52694. case 1: componentid = 1018;
  52695. case 2: componentid = 1019;
  52696. case 3: componentid = 1020;
  52697. case 4: componentid = 1021;
  52698. }
  52699. }
  52700. case 496:
  52701. {
  52702. switch(count)
  52703. {
  52704. case 1: componentid = 1019;
  52705. case 2: componentid = 1020;
  52706. }
  52707. }
  52708. case 500:
  52709. {
  52710. switch(count)
  52711. {
  52712. case 1: componentid = 1019;
  52713. case 2: componentid = 1020;
  52714. case 3: componentid = 1021;
  52715. }
  52716. }
  52717. case 516:
  52718. {
  52719. switch(count)
  52720. {
  52721. case 1: componentid = 1018;
  52722. case 2: componentid = 1019;
  52723. case 3: componentid = 1020;
  52724. case 4: componentid = 1021;
  52725. }
  52726. }
  52727. case 517:
  52728. {
  52729. switch(count)
  52730. {
  52731. case 1: componentid = 1018;
  52732. case 2: componentid = 1019;
  52733. case 3: componentid = 1020;
  52734. }
  52735. }
  52736. case 518:
  52737. {
  52738. switch(count)
  52739. {
  52740. case 1: componentid = 1018;
  52741. case 2: componentid = 1020;
  52742. }
  52743. }
  52744. case 527:
  52745. {
  52746. switch(count)
  52747. {
  52748. case 1: componentid = 1018;
  52749. case 2: componentid = 1020;
  52750. case 3: componentid = 1021;
  52751. }
  52752. }
  52753. case 529:
  52754. {
  52755. switch(count)
  52756. {
  52757. case 1: componentid = 1018;
  52758. case 2: componentid = 1019;
  52759. case 3: componentid = 1020;
  52760. }
  52761. }
  52762. case 534:
  52763. {
  52764. switch(count)
  52765. {
  52766. case 1: componentid = 1126;
  52767. case 2: componentid = 1127;
  52768. }
  52769. }
  52770. case 535:
  52771. {
  52772. switch(count)
  52773. {
  52774. case 1: componentid = 1113;
  52775. case 2: componentid = 1114;
  52776. }
  52777. }
  52778. case 536:
  52779. {
  52780. switch(count)
  52781. {
  52782. case 1: componentid = 1104;
  52783. case 2: componentid = 1105;
  52784. }
  52785. }
  52786. case 540:
  52787. {
  52788. switch(count)
  52789. {
  52790. case 1: componentid = 1018;
  52791. case 2: componentid = 1019;
  52792. case 3: componentid = 1020;
  52793. }
  52794. }
  52795. case 542:
  52796. {
  52797. switch(count)
  52798. {
  52799. case 1: componentid = 1018;
  52800. case 2: componentid = 1019;
  52801. case 3: componentid = 1020;
  52802. case 4: componentid = 1021;
  52803. }
  52804. }
  52805. case 546:
  52806. {
  52807. switch(count)
  52808. {
  52809. case 1: componentid = 1018;
  52810. case 2: componentid = 1019;
  52811. }
  52812. }
  52813. case 547:
  52814. {
  52815. switch(count)
  52816. {
  52817. case 1: componentid = 1018;
  52818. case 2: componentid = 1019;
  52819. case 3: componentid = 1020;
  52820. case 4: componentid = 1021;
  52821. }
  52822. }
  52823. case 549:
  52824. {
  52825. switch(count)
  52826. {
  52827. case 1: componentid = 1018;
  52828. case 2: componentid = 1019;
  52829. case 3: componentid = 1020;
  52830. }
  52831. }
  52832. case 550:
  52833. {
  52834. switch(count)
  52835. {
  52836. case 1: componentid = 1018;
  52837. case 2: componentid = 1019;
  52838. case 3: componentid = 1020;
  52839. }
  52840. }
  52841. case 551:
  52842. {
  52843. switch(count)
  52844. {
  52845. case 1: componentid = 1018;
  52846. case 2: componentid = 1019;
  52847. case 3: componentid = 1020;
  52848. case 4: componentid = 1021;
  52849. }
  52850. }
  52851. case 558:
  52852. {
  52853. switch(count)
  52854. {
  52855. case 1: componentid = 1089;
  52856. case 2: componentid = 1092;
  52857. }
  52858. }
  52859. case 559:
  52860. {
  52861. switch(count)
  52862. {
  52863. case 1: componentid = 1065;
  52864. case 2: componentid = 1066;
  52865. }
  52866. }
  52867. case 560:
  52868. {
  52869. switch(count)
  52870. {
  52871. case 1: componentid = 1028;
  52872. case 2: componentid = 1029;
  52873. }
  52874. }
  52875. case 561:
  52876. {
  52877. switch(count)
  52878. {
  52879. case 1: componentid = 1059;
  52880. case 2: componentid = 1064;
  52881. }
  52882. }
  52883. case 562:
  52884. {
  52885. switch(count)
  52886. {
  52887. case 1: componentid = 1034;
  52888. case 2: componentid = 1037;
  52889. }
  52890. }
  52891. case 565:
  52892. {
  52893. switch(count)
  52894. {
  52895. case 1: componentid = 1045;
  52896. case 2: componentid = 1046;
  52897. }
  52898. }
  52899. case 567:
  52900. {
  52901. switch(count)
  52902. {
  52903. case 1: componentid = 1129;
  52904. case 2: componentid = 1132;
  52905. }
  52906. }
  52907. case 575:
  52908. {
  52909. switch(count)
  52910. {
  52911. case 1: componentid = 1043;
  52912. case 2: componentid = 1044;
  52913. }
  52914. }
  52915. case 576:
  52916. {
  52917. switch(count)
  52918. {
  52919. case 1: componentid = 1135;
  52920. case 2: componentid = 1136;
  52921. }
  52922. }
  52923. case 580:
  52924. {
  52925. switch(count)
  52926. {
  52927. case 1: componentid = 1018;
  52928. case 2: componentid = 1020;
  52929. }
  52930. }
  52931. case 585:
  52932. {
  52933. switch(count)
  52934. {
  52935. case 1: componentid = 1018;
  52936. case 2: componentid = 1019;
  52937. case 3: componentid = 1020;
  52938. }
  52939. }
  52940. case 589:
  52941. {
  52942. switch(count)
  52943. {
  52944. case 1: componentid = 1018;
  52945. case 2: componentid = 1020;
  52946. }
  52947. }
  52948. case 600:
  52949. {
  52950. switch(count)
  52951. {
  52952. case 1: componentid = 1018;
  52953. case 2: componentid = 1020;
  52954. case 3: componentid = 1022;
  52955. }
  52956. }
  52957. case 603:
  52958. {
  52959. switch(count)
  52960. {
  52961. case 1: componentid = 1018;
  52962. case 2: componentid = 1019;
  52963. case 3: componentid = 1020;
  52964. }
  52965. }
  52966. }
  52967. return componentid;
  52968. }
  52969. GetVehicleFBumperCount(model, &count = 0)
  52970. {
  52971. switch(model)
  52972. {
  52973. case 535: count = 1;
  52974. case 534, 536, 558, 559, 560, 561, 562, 565, 567, 575, 576: count = 2;
  52975. }
  52976. return count;
  52977. }
  52978. GetVehicleCompatibleFBumper(model, count, &componentid = 0)
  52979. {
  52980. switch(model)
  52981. {
  52982. case 534:
  52983. {
  52984. switch(count)
  52985. {
  52986. case 1: componentid = 1179;
  52987. case 2: componentid = 1185;
  52988. }
  52989. }
  52990. case 535:
  52991. {
  52992. switch(count)
  52993. {
  52994. case 1: componentid = 1117;
  52995. }
  52996. }
  52997. case 536:
  52998. {
  52999. switch(count)
  53000. {
  53001. case 1: componentid = 1181;
  53002. case 2: componentid = 1182;
  53003. }
  53004. }
  53005. case 558:
  53006. {
  53007. switch(count)
  53008. {
  53009. case 1: componentid = 1165;
  53010. case 2: componentid = 1166;
  53011. }
  53012. }
  53013. case 559:
  53014. {
  53015. switch(count)
  53016. {
  53017. case 1: componentid = 1160;
  53018. case 2: componentid = 1173;
  53019. }
  53020. }
  53021. case 560:
  53022. {
  53023. switch(count)
  53024. {
  53025. case 1: componentid = 1169;
  53026. case 2: componentid = 1170;
  53027. }
  53028. }
  53029. case 561:
  53030. {
  53031. switch(count)
  53032. {
  53033. case 1: componentid = 1155;
  53034. case 2: componentid = 1157;
  53035. }
  53036. }
  53037. case 562:
  53038. {
  53039. switch(count)
  53040. {
  53041. case 1: componentid = 1171;
  53042. case 2: componentid = 1172;
  53043. }
  53044. }
  53045. case 565:
  53046. {
  53047. switch(count)
  53048. {
  53049. case 1: componentid = 1152;
  53050. case 2: componentid = 1153;
  53051. }
  53052. }
  53053. case 567:
  53054. {
  53055. switch(count)
  53056. {
  53057. case 1: componentid = 1188;
  53058. case 2: componentid = 1189;
  53059. }
  53060. }
  53061. case 575:
  53062. {
  53063. switch(count)
  53064. {
  53065. case 1: componentid = 1174;
  53066. case 2: componentid = 1176;
  53067. }
  53068. }
  53069. case 576:
  53070. {
  53071. switch(count)
  53072. {
  53073. case 1: componentid = 1190;
  53074. case 2: componentid = 1191;
  53075. }
  53076. }
  53077. }
  53078. return componentid;
  53079. }
  53080. GetVehicleBBumperCount(model, &count = 0)
  53081. {
  53082. switch(model)
  53083. {
  53084. case 534, 536, 558, 559, 560, 561, 562, 565, 567, 575, 576: count = 2;
  53085. }
  53086. return count;
  53087. }
  53088. GetVehicleCompatibleBBumper(model, count, &componentid = 0)
  53089. {
  53090. switch(model)
  53091. {
  53092. case 534:
  53093. {
  53094. switch(count)
  53095. {
  53096. case 1: componentid = 1178;
  53097. case 2: componentid = 1180;
  53098. }
  53099. }
  53100. case 536:
  53101. {
  53102. switch(count)
  53103. {
  53104. case 1: componentid = 1183;
  53105. case 2: componentid = 1184;
  53106. }
  53107. }
  53108. case 558:
  53109. {
  53110. switch(count)
  53111. {
  53112. case 1: componentid = 1167;
  53113. case 2: componentid = 1168;
  53114. }
  53115. }
  53116. case 559:
  53117. {
  53118. switch(count)
  53119. {
  53120. case 1: componentid = 1159;
  53121. case 2: componentid = 1161;
  53122. }
  53123. }
  53124. case 560:
  53125. {
  53126. switch(count)
  53127. {
  53128. case 1: componentid = 1140;
  53129. case 2: componentid = 1141;
  53130. }
  53131. }
  53132. case 561:
  53133. {
  53134. switch(count)
  53135. {
  53136. case 1: componentid = 1154;
  53137. case 2: componentid = 1156;
  53138. }
  53139. }
  53140. case 562:
  53141. {
  53142. switch(count)
  53143. {
  53144. case 1: componentid = 1148;
  53145. case 2: componentid = 1149;
  53146. }
  53147. }
  53148. case 565:
  53149. {
  53150. switch(count)
  53151. {
  53152. case 1: componentid = 1150;
  53153. case 2: componentid = 1151;
  53154. }
  53155. }
  53156. case 567:
  53157. {
  53158. switch(count)
  53159. {
  53160. case 1: componentid = 1186;
  53161. case 2: componentid = 1187;
  53162. }
  53163. }
  53164. case 575:
  53165. {
  53166. switch(count)
  53167. {
  53168. case 1: componentid = 1175;
  53169. case 2: componentid = 1177;
  53170. }
  53171. }
  53172. case 576:
  53173. {
  53174. switch(count)
  53175. {
  53176. case 1: componentid = 1192;
  53177. case 2: componentid = 1193;
  53178. }
  53179. }
  53180. }
  53181. return componentid;
  53182. }
  53183. GetVehicleRoofCount(model, &count = 0)
  53184. {
  53185. switch(model)
  53186. {
  53187. case 401, 418, 426, 436, 477, 489, 492, 496, 518, 529, 540, 546, 550, 551, 580, 585, 589, 600, 603: count = 1;
  53188. case 536, 558, 559, 560, 561, 562, 565, 567: count = 2;
  53189. }
  53190. return count;
  53191. }
  53192. GetVehicleCompatibleRoof(model, count, &componentid = 0)
  53193. {
  53194. switch(model)
  53195. {
  53196. case 401:
  53197. {
  53198. switch(count)
  53199. {
  53200. case 1: componentid = 1006;
  53201. }
  53202. }
  53203. case 418:
  53204. {
  53205. switch(count)
  53206. {
  53207. case 1: componentid = 1006;
  53208. }
  53209. }
  53210. case 426:
  53211. {
  53212. switch(count)
  53213. {
  53214. case 1: componentid = 1006;
  53215. }
  53216. }
  53217. case 436:
  53218. {
  53219. switch(count)
  53220. {
  53221. case 1: componentid = 1006;
  53222. }
  53223. }
  53224. case 477:
  53225. {
  53226. switch(count)
  53227. {
  53228. case 1: componentid = 1006;
  53229. }
  53230. }
  53231. case 489:
  53232. {
  53233. switch(count)
  53234. {
  53235. case 1: componentid = 1006;
  53236. }
  53237. }
  53238. case 492:
  53239. {
  53240. switch(count)
  53241. {
  53242. case 1: componentid = 1006;
  53243. }
  53244. }
  53245. case 496:
  53246. {
  53247. switch(count)
  53248. {
  53249. case 1: componentid = 1006;
  53250. }
  53251. }
  53252. case 518:
  53253. {
  53254. switch(count)
  53255. {
  53256. case 1: componentid = 1006;
  53257. }
  53258. }
  53259. case 529:
  53260. {
  53261. switch(count)
  53262. {
  53263. case 1: componentid = 1006;
  53264. }
  53265. }
  53266. case 536:
  53267. {
  53268. switch(count)
  53269. {
  53270. case 1: componentid = 1103;
  53271. case 2: componentid = 1128;
  53272. }
  53273. }
  53274. case 540:
  53275. {
  53276. switch(count)
  53277. {
  53278. case 1: componentid = 1006;
  53279. }
  53280. }
  53281. case 546:
  53282. {
  53283. switch(count)
  53284. {
  53285. case 1: componentid = 1006;
  53286. }
  53287. }
  53288. case 550:
  53289. {
  53290. switch(count)
  53291. {
  53292. case 1: componentid = 1006;
  53293. }
  53294. }
  53295. case 551:
  53296. {
  53297. switch(count)
  53298. {
  53299. case 1: componentid = 1006;
  53300. }
  53301. }
  53302. case 558:
  53303. {
  53304. switch(count)
  53305. {
  53306. case 1: componentid = 1088;
  53307. case 2: componentid = 1091;
  53308. }
  53309. }
  53310. case 559:
  53311. {
  53312. switch(count)
  53313. {
  53314. case 1: componentid = 1067;
  53315. case 2: componentid = 1068;
  53316. }
  53317. }
  53318. case 560:
  53319. {
  53320. switch(count)
  53321. {
  53322. case 1: componentid = 1032;
  53323. case 2: componentid = 1033;
  53324. }
  53325. }
  53326. case 561:
  53327. {
  53328. switch(count)
  53329. {
  53330. case 1: componentid = 1055;
  53331. case 2: componentid = 1061;
  53332. }
  53333. }
  53334. case 562:
  53335. {
  53336. switch(count)
  53337. {
  53338. case 1: componentid = 1035;
  53339. case 2: componentid = 1038;
  53340. }
  53341. }
  53342. case 565:
  53343. {
  53344. switch(count)
  53345. {
  53346. case 1: componentid = 1053;
  53347. case 2: componentid = 1054;
  53348. }
  53349. }
  53350. case 567:
  53351. {
  53352. switch(count)
  53353. {
  53354. case 1: componentid = 1130;
  53355. case 2: componentid = 1131;
  53356. }
  53357. }
  53358. case 580:
  53359. {
  53360. switch(count)
  53361. {
  53362. case 1: componentid = 1006;
  53363. }
  53364. }
  53365. case 585:
  53366. {
  53367. switch(count)
  53368. {
  53369. case 1: componentid = 1006;
  53370. }
  53371. }
  53372. case 589:
  53373. {
  53374. switch(count)
  53375. {
  53376. case 1: componentid = 1006;
  53377. }
  53378. }
  53379. case 600:
  53380. {
  53381. switch(count)
  53382. {
  53383. case 1: componentid = 1006;
  53384. }
  53385. }
  53386. case 603:
  53387. {
  53388. switch(count)
  53389. {
  53390. case 1: componentid = 1006;
  53391. }
  53392. }
  53393. }
  53394. return componentid;
  53395. }
  53396. GetVehicleWheelCount(model, &count = 0)
  53397. {
  53398. switch(model)
  53399. {
  53400. case 400,401,404,405,410,415,418,420..422,426,436,439,477,478,489,491,492,496,500,516..518,527,529,534..536,540,542,546,547,549..551,558..562,565,567,575,576,580,585,589,600,603: count = 17;
  53401. case 402,403,406..409,411..414,416,419,423,424,427..429,431..435,437,438,440..445,448,450,451,455..459,461..463,466..468,470,471,474,475,479..486,490,494,495,498,499,502..510,514,515,521..526,528,530..533,541,552,543..545,554..557,566,568,578,571..574,579,581..584,586..588,591,594,596..599,601,602,604..611: count = 17;
  53402. }
  53403. return count;
  53404. }
  53405. GetVehicleCompatibleWheel(model, count, &componentid = 0)
  53406. {
  53407. switch(model)
  53408. {
  53409. case 400,401,404,405,410,415,418,420..422,426,436,439,477,478,489,491,492,496,500,516..518,527,529,534..536,540,542,546,547,549..551,558..562,565,567,575,576,580,585,589,600,603:
  53410. {
  53411. switch(count)
  53412. {
  53413. case 1: componentid = 1025;
  53414. case 2: componentid = 1073;
  53415. case 3: componentid = 1074;
  53416. case 4: componentid = 1075;
  53417. case 5: componentid = 1076;
  53418. case 6: componentid = 1077;
  53419. case 7: componentid = 1078;
  53420. case 8: componentid = 1079;
  53421. case 9: componentid = 1080;
  53422. case 10: componentid = 1081;
  53423. case 11: componentid = 1082;
  53424. case 12: componentid = 1083;
  53425. case 13: componentid = 1084;
  53426. case 14: componentid = 1085;
  53427. case 15: componentid = 1096;
  53428. case 16: componentid = 1097;
  53429. case 17: componentid = 1098;
  53430. }
  53431. }
  53432. case 402,403,406..409,411..414,416,419,423,424,427..429,431..435,437,438,440..445,448,450,451,455..459,461..463,466..468,470,471,474,475,479..486,490,494,495,498,499,502..510,514,515,521..526,528,530..533,541,552,543..545,554..557,566,568,578,571..574,579,581..584,586..588,591,594,596..599,601,602,604..611:
  53433. {
  53434. switch(count)
  53435. {
  53436. case 1: componentid = 1025;
  53437. case 2: componentid = 1073;
  53438. case 3: componentid = 1074;
  53439. case 4: componentid = 1075;
  53440. case 5: componentid = 1076;
  53441. case 6: componentid = 1077;
  53442. case 7: componentid = 1078;
  53443. case 8: componentid = 1079;
  53444. case 9: componentid = 1080;
  53445. case 10: componentid = 1081;
  53446. case 11: componentid = 1082;
  53447. case 12: componentid = 1083;
  53448. case 13: componentid = 1084;
  53449. case 14: componentid = 1085;
  53450. case 15: componentid = 1096;
  53451. case 16: componentid = 1097;
  53452. case 17: componentid = 1098;
  53453. }
  53454. }
  53455. }
  53456. return componentid;
  53457. }
  53458. GetVehicleHydraulicCount(model, &count = 0)
  53459. {
  53460. switch(model)
  53461. {
  53462. case 400,401,404,405,410,415,418,420..422,426,436,439,477,478,489,491,492,496,500,516..518,527,529,534..536,540,542,546,547,549..551,558..562,565,567,575,576,580,585,589,600,603: count = 1;
  53463. case 402,403,406..409,411..414,416,419,423,424,427..429,431..435,437,438,440..445,448,450,451,455..459,461..463,466..468,470,471,474,475,479..486,490,494,495,498,499,502..510,514,515,521..526,528,530..533,541,552,543..545,554..557,566,568,578,571..574,579,581..584,586..588,591,594,596..599,601,602,604..611: count = 1;
  53464. }
  53465. return count;
  53466. }
  53467. GetVehicleCompatibleHydraulic(model, count, &componentid = 0)
  53468. {
  53469. switch(model)
  53470. {
  53471. case 400,401,404,405,410,415,418,420..422,426,436,439,477,478,489,491,492,496,500,516..518,527,529,534..536,540,542,546,547,549..551,558..562,565,567,575,576,580,585,589,600,603:
  53472. {
  53473. switch(count)
  53474. {
  53475. case 1: componentid = 1087;
  53476. }
  53477. }
  53478. case 402,403,406..409,411..414,416,419,423,424,427..429,431..435,437,438,440..445,448,450,451,455..459,461..463,466..468,470,471,474,475,479..486,490,494,495,498,499,502..510,514,515,521..526,528,530..533,541,552,543..545,554..557,566,568,578,571..574,579,581..584,586..588,591,594,596..599,601,602,604..611:
  53479. {
  53480. switch(count)
  53481. {
  53482. case 1: componentid = 1087;
  53483. }
  53484. }
  53485. }
  53486. return componentid;
  53487. }
  53488. GetVehicleNitroCount(model, &count = 0)
  53489. {
  53490. switch(model)
  53491. {
  53492. case 400,401,404,405,410,415,418,420..422,426,436,439,477,478,489,491,492,496,500,516..518,527,529,534..536,540,542,546,547,549..551,558..562,565,567,575,576,580,585,589,600,603: count = 3;
  53493. case 402,403,406..409,411..414,416,419,423,424,427..429,431..435,437,438,440..445,448,450,451,455..459,461..463,466..468,470,471,474,475,479..486,490,494,495,498,499,502..510,514,515,521..526,528,530..533,541,552,543..545,554..557,566,568,578,571..574,579,581..584,586..588,591,594,596..599,601,602,604..611: count = 3;
  53494. }
  53495. return count;
  53496. }
  53497. GetVehicleCompatibleNitro(model, count, &componentid = 0)
  53498. {
  53499. switch(model)
  53500. {
  53501. case 400,401,404,405,410,415,418,420..422,426,436,439,477,478,489,491,492,496,500,516..518,527,529,534..536,540,542,546,547,549..551,558..562,565,567,575,576,580,585,589,600,603:
  53502. {
  53503. switch(count)
  53504. {
  53505. case 1: componentid = 1009;
  53506. case 2: componentid = 1008;
  53507. case 3: componentid = 1010;
  53508. }
  53509. }
  53510. case 402,403,406..409,411..414,416,419,423,424,427..429,431..435,437,438,440..445,448,450,451,455..459,461..463,466..468,470,471,474,475,479..486,490,494,495,498,499,502..510,514,515,521..526,528,530..533,541,552,543..545,554..557,566,568,578,571..574,579,581..584,586..588,591,594,596..599,601,602,604..611:
  53511. {
  53512. switch(count)
  53513. {
  53514. case 1: componentid = 1009;
  53515. case 2: componentid = 1008;
  53516. case 3: componentid = 1010;
  53517. }
  53518. }
  53519. }
  53520. return componentid;
  53521. }
  53522. stock GetVehicleRightSSCount(model, &count = 0)
  53523. {
  53524. switch(model)
  53525. {
  53526. case 401, 404, 410, 415, 422, 436, 439, 477, 491, 496, 516, 517, 518, 527, 529, 536, 540, 546, 549, 575, 576, 580, 585, 589, 600, 603: count = 1;
  53527. case 534, 535, 558..562, 565: count = 2;
  53528. }
  53529. return count;
  53530. }
  53531. stock GetVehicleCompatibleRightSS(model, count, &componentid = 0)
  53532. {
  53533. switch(model)
  53534. {
  53535. case 401:
  53536. {
  53537. switch(count)
  53538. {
  53539. case 1: componentid = 1007;
  53540. }
  53541. }
  53542. case 404:
  53543. {
  53544. switch(count)
  53545. {
  53546. case 1: componentid = 1007;
  53547. }
  53548. }
  53549. case 410:
  53550. {
  53551. switch(count)
  53552. {
  53553. case 1: componentid = 1007;
  53554. }
  53555. }
  53556. case 415:
  53557. {
  53558. switch(count)
  53559. {
  53560. case 1: componentid = 1007;
  53561. }
  53562. }
  53563. case 422:
  53564. {
  53565. switch(count)
  53566. {
  53567. case 1: componentid = 1007;
  53568. }
  53569. }
  53570. case 436:
  53571. {
  53572. switch(count)
  53573. {
  53574. case 1: componentid = 1007;
  53575. }
  53576. }
  53577. case 439:
  53578. {
  53579. switch(count)
  53580. {
  53581. case 1: componentid = 1007;
  53582. }
  53583. }
  53584. case 477:
  53585. {
  53586. switch(count)
  53587. {
  53588. case 1: componentid = 1007;
  53589. }
  53590. }
  53591. case 491:
  53592. {
  53593. switch(count)
  53594. {
  53595. case 1: componentid = 1007;
  53596. }
  53597. }
  53598. case 496:
  53599. {
  53600. switch(count)
  53601. {
  53602. case 1: componentid = 1007;
  53603. }
  53604. }
  53605. case 516:
  53606. {
  53607. switch(count)
  53608. {
  53609. case 1: componentid = 1007;
  53610. }
  53611. }
  53612. case 517:
  53613. {
  53614. switch(count)
  53615. {
  53616. case 1: componentid = 1007;
  53617. }
  53618. }
  53619. case 518:
  53620. {
  53621. switch(count)
  53622. {
  53623. case 1: componentid = 1007;
  53624. }
  53625. }
  53626. case 527:
  53627. {
  53628. switch(count)
  53629. {
  53630. case 1: componentid = 1007;
  53631. }
  53632. }
  53633. case 529:
  53634. {
  53635. switch(count)
  53636. {
  53637. case 1: componentid = 1007;
  53638. }
  53639. }
  53640. case 534:
  53641. {
  53642. switch(count)
  53643. {
  53644. case 1: componentid = 1106;
  53645. case 2: componentid = 1122;
  53646. }
  53647. }
  53648. case 535:
  53649. {
  53650. switch(count)
  53651. {
  53652. case 1: componentid = 1118;
  53653. case 2: componentid = 1119;
  53654. }
  53655. }
  53656. case 536:
  53657. {
  53658. switch(count)
  53659. {
  53660. case 1: componentid = 1108;
  53661. }
  53662. }
  53663. case 540:
  53664. {
  53665. switch(count)
  53666. {
  53667. case 1: componentid = 1007;
  53668. }
  53669. }
  53670. case 546:
  53671. {
  53672. switch(count)
  53673. {
  53674. case 1: componentid = 1007;
  53675. }
  53676. }
  53677. case 549:
  53678. {
  53679. switch(count)
  53680. {
  53681. case 1: componentid = 1007;
  53682. }
  53683. }
  53684. case 558:
  53685. {
  53686. switch(count)
  53687. {
  53688. case 1: componentid = 1090;
  53689. case 2: componentid = 1095;
  53690. }
  53691. }
  53692. case 559:
  53693. {
  53694. switch(count)
  53695. {
  53696. case 1: componentid = 1069;
  53697. case 2: componentid = 1070;
  53698. }
  53699. }
  53700. case 560:
  53701. {
  53702. switch(count)
  53703. {
  53704. case 1: componentid = 1026;
  53705. case 2: componentid = 1031;
  53706. }
  53707. }
  53708. case 561:
  53709. {
  53710. switch(count)
  53711. {
  53712. case 1: componentid = 1056;
  53713. case 2: componentid = 1057;
  53714. }
  53715. }
  53716. case 562:
  53717. {
  53718. switch(count)
  53719. {
  53720. case 1: componentid = 1036;
  53721. case 2: componentid = 1041;
  53722. }
  53723. }
  53724. case 565:
  53725. {
  53726. switch(count)
  53727. {
  53728. case 1: componentid = 1047;
  53729. case 2: componentid = 1048;
  53730. }
  53731. }
  53732. case 567:
  53733. {
  53734. switch(count)
  53735. {
  53736. case 1: componentid = 1133;
  53737. }
  53738. }
  53739. case 575:
  53740. {
  53741. switch(count)
  53742. {
  53743. case 1: componentid = 1042;
  53744. }
  53745. }
  53746. case 576:
  53747. {
  53748. switch(count)
  53749. {
  53750. case 1: componentid = 1134;
  53751. }
  53752. }
  53753. case 580:
  53754. {
  53755. switch(count)
  53756. {
  53757. case 1: componentid = 1007;
  53758. }
  53759. }
  53760. case 585:
  53761. {
  53762. switch(count)
  53763. {
  53764. case 1: componentid = 1007;
  53765. }
  53766. }
  53767. case 589:
  53768. {
  53769. switch(count)
  53770. {
  53771. case 1: componentid = 1007;
  53772. }
  53773. }
  53774. case 600:
  53775. {
  53776. switch(count)
  53777. {
  53778. case 1: componentid = 1007;
  53779. }
  53780. }
  53781. case 603:
  53782. {
  53783. switch(count)
  53784. {
  53785. case 1: componentid = 1007;
  53786. }
  53787. }
  53788. }
  53789. return componentid;
  53790. }
  53791. stock GetVehicleLeftSSCount(model, &count = 0)
  53792. {
  53793. switch(model)
  53794. {
  53795. case 401, 404, 410, 415, 422, 436, 439, 477, 491, 496, 516, 517, 518, 527, 529, 536, 540, 546, 549, 575, 576, 580, 585, 589, 600, 603: count = 1;
  53796. case 534, 535, 558..562, 565: count = 2;
  53797. }
  53798. return count;
  53799. }
  53800. stock GetVehicleCompatibleLeftSS(model, count, &componentid = 0)
  53801. {
  53802. switch(model)
  53803. {
  53804. case 401:
  53805. {
  53806. switch(count)
  53807. {
  53808. case 1: componentid = 1017;
  53809. }
  53810. }
  53811. case 404:
  53812. {
  53813. switch(count)
  53814. {
  53815. case 1: componentid = 1017;
  53816. }
  53817. }
  53818. case 410:
  53819. {
  53820. switch(count)
  53821. {
  53822. case 1: componentid = 1017;
  53823. }
  53824. }
  53825. case 415:
  53826. {
  53827. switch(count)
  53828. {
  53829. case 1: componentid = 1017;
  53830. }
  53831. }
  53832. case 422:
  53833. {
  53834. switch(count)
  53835. {
  53836. case 1: componentid = 1017;
  53837. }
  53838. }
  53839. case 436:
  53840. {
  53841. switch(count)
  53842. {
  53843. case 1: componentid = 1017;
  53844. }
  53845. }
  53846. case 439:
  53847. {
  53848. switch(count)
  53849. {
  53850. case 1: componentid = 1017;
  53851. }
  53852. }
  53853. case 477:
  53854. {
  53855. switch(count)
  53856. {
  53857. case 1: componentid = 1017;
  53858. }
  53859. }
  53860. case 491:
  53861. {
  53862. switch(count)
  53863. {
  53864. case 1: componentid = 1017;
  53865. }
  53866. }
  53867. case 496:
  53868. {
  53869. switch(count)
  53870. {
  53871. case 1: componentid = 1017;
  53872. }
  53873. }
  53874. case 516:
  53875. {
  53876. switch(count)
  53877. {
  53878. case 1: componentid = 1017;
  53879. }
  53880. }
  53881. case 517:
  53882. {
  53883. switch(count)
  53884. {
  53885. case 1: componentid = 1017;
  53886. }
  53887. }
  53888. case 518:
  53889. {
  53890. switch(count)
  53891. {
  53892. case 1: componentid = 1017;
  53893. }
  53894. }
  53895. case 527:
  53896. {
  53897. switch(count)
  53898. {
  53899. case 1: componentid = 1017;
  53900. }
  53901. }
  53902. case 529:
  53903. {
  53904. switch(count)
  53905. {
  53906. case 1: componentid = 1017;
  53907. }
  53908. }
  53909. case 534:
  53910. {
  53911. switch(count)
  53912. {
  53913. case 1: componentid = 1101;
  53914. case 2: componentid = 1124;
  53915. }
  53916. }
  53917. case 535:
  53918. {
  53919. switch(count)
  53920. {
  53921. case 1: componentid = 1120;
  53922. case 2: componentid = 1121;
  53923. }
  53924. }
  53925. case 536:
  53926. {
  53927. switch(count)
  53928. {
  53929. case 1: componentid = 1107;
  53930. }
  53931. }
  53932. case 540:
  53933. {
  53934. switch(count)
  53935. {
  53936. case 1: componentid = 1017;
  53937. }
  53938. }
  53939. case 546:
  53940. {
  53941. switch(count)
  53942. {
  53943. case 1: componentid = 1017;
  53944. }
  53945. }
  53946. case 549:
  53947. {
  53948. switch(count)
  53949. {
  53950. case 1: componentid = 1017;
  53951. }
  53952. }
  53953. case 558:
  53954. {
  53955. switch(count)
  53956. {
  53957. case 1: componentid = 1093;
  53958. case 2: componentid = 1094;
  53959. }
  53960. }
  53961. case 559:
  53962. {
  53963. switch(count)
  53964. {
  53965. case 1: componentid = 1071;
  53966. case 2: componentid = 1072;
  53967. }
  53968. }
  53969. case 560:
  53970. {
  53971. switch(count)
  53972. {
  53973. case 1: componentid = 1027;
  53974. case 2: componentid = 1030;
  53975. }
  53976. }
  53977. case 561:
  53978. {
  53979. switch(count)
  53980. {
  53981. case 1: componentid = 1062;
  53982. case 2: componentid = 1063;
  53983. }
  53984. }
  53985. case 562:
  53986. {
  53987. switch(count)
  53988. {
  53989. case 1: componentid = 1039;
  53990. case 2: componentid = 1040;
  53991. }
  53992. }
  53993. case 565:
  53994. {
  53995. switch(count)
  53996. {
  53997. case 1: componentid = 1051;
  53998. case 2: componentid = 1052;
  53999. }
  54000. }
  54001. case 567:
  54002. {
  54003. switch(count)
  54004. {
  54005. case 1: componentid = 1102;
  54006. }
  54007. }
  54008. case 575:
  54009. {
  54010. switch(count)
  54011. {
  54012. case 1: componentid = 1099;
  54013. }
  54014. }
  54015. case 576:
  54016. {
  54017. switch(count)
  54018. {
  54019. case 1: componentid = 1137;
  54020. }
  54021. }
  54022. case 580:
  54023. {
  54024. switch(count)
  54025. {
  54026. case 1: componentid = 1017;
  54027. }
  54028. }
  54029. case 585:
  54030. {
  54031. switch(count)
  54032. {
  54033. case 1: componentid = 1017;
  54034. }
  54035. }
  54036. case 589:
  54037. {
  54038. switch(count)
  54039. {
  54040. case 1: componentid = 1017;
  54041. }
  54042. }
  54043. case 600:
  54044. {
  54045. switch(count)
  54046. {
  54047. case 1: componentid = 1017;
  54048. }
  54049. }
  54050. case 603:
  54051. {
  54052. switch(count)
  54053. {
  54054. case 1: componentid = 1017;
  54055. }
  54056. }
  54057. }
  54058. return componentid;
  54059. }
  54060. stock GetVehiclePaintJobCount(model, &count = 0)
  54061. {
  54062. switch(model)
  54063. {
  54064. case 483: count = 1;
  54065. case 575: count = 2;
  54066. case 534, 535, 536, 558..562, 565, 567, 576: count = 3;
  54067. }
  54068. return count;
  54069. }
  54070. stock GetVehicleCompatiblePaintJob(model, count, &componentid = 0)
  54071. {
  54072. switch(model)
  54073. {
  54074. case 483:
  54075. {
  54076. switch(count)
  54077. {
  54078. case 1: componentid = 0;
  54079. }
  54080. }
  54081. case 534:
  54082. {
  54083. switch(count)
  54084. {
  54085. case 1: componentid = 0;
  54086. case 2: componentid = 1;
  54087. case 3: componentid = 2;
  54088. }
  54089. }
  54090. case 535:
  54091. {
  54092. switch(count)
  54093. {
  54094. case 1: componentid = 0;
  54095. case 2: componentid = 1;
  54096. case 3: componentid = 2;
  54097. }
  54098. }
  54099. case 536:
  54100. {
  54101. switch(count)
  54102. {
  54103. case 1: componentid = 0;
  54104. case 2: componentid = 1;
  54105. case 3: componentid = 2;
  54106. }
  54107. }
  54108. case 558..562:
  54109. {
  54110. switch(count)
  54111. {
  54112. case 1: componentid = 0;
  54113. case 2: componentid = 1;
  54114. case 3: componentid = 2;
  54115. }
  54116. }
  54117. case 565:
  54118. {
  54119. switch(count)
  54120. {
  54121. case 1: componentid = 0;
  54122. case 2: componentid = 1;
  54123. case 3: componentid = 2;
  54124. }
  54125. }
  54126. case 567:
  54127. {
  54128. switch(count)
  54129. {
  54130. case 1: componentid = 0;
  54131. case 2: componentid = 1;
  54132. case 3: componentid = 2;
  54133. }
  54134. }
  54135. case 575:
  54136. {
  54137. switch(count)
  54138. {
  54139. case 1: componentid = 0;
  54140. case 2: componentid = 1;
  54141. }
  54142. }
  54143. case 576:
  54144. {
  54145. switch(count)
  54146. {
  54147. case 1: componentid = 0;
  54148. case 2: componentid = 1;
  54149. case 3:componentid = 2;
  54150. }
  54151. }
  54152. }
  54153. return componentid;
  54154. }
  54155. GetVehicleCompatibleComponent(category, model, listitem)
  54156. {
  54157. switch(category)
  54158. {
  54159. case 0: return GetVehicleCompatibleSpoiler(model, listitem);
  54160. case 1: return GetVehicleCompatibleHood(model, listitem);
  54161. case 2: return GetVehicleCompatibleExhaust(model, listitem);
  54162. case 3: return GetVehicleCompatibleFBumper(model, listitem);
  54163. case 4: return GetVehicleCompatibleBBumper(model, listitem);
  54164. case 5: return GetVehicleCompatibleRoof(model, listitem);
  54165. case 6: return GetVehicleCompatibleWheel(model, listitem);
  54166. case 7: return GetVehicleCompatibleHydraulic(model, listitem);
  54167. case 8: return GetVehicleCompatibleNitro(model, listitem);
  54168. case 9: return GetVehicleCompatibleLeftSS(model, listitem);
  54169. case 10: return GetVehicleCompatiblePaintJob(model, listitem);
  54170. }
  54171. return 0;
  54172. }
  54173. SetPlayerTuningCameraPos(playerid, category)
  54174. {
  54175. switch(category)
  54176. {
  54177. case 0:
  54178. {
  54179. SetPlayerCameraPos(playerid, 441.1662, -1302.0037, 18.0385);
  54180. SetPlayerCameraLookAt(playerid, 440.2185, -1301.6881, 17.6184);
  54181. }
  54182. case 1:
  54183. {
  54184. InterpolateCameraPos(playerid, 441.1662, -1302.0037, 18.0385, 433.8757, -1306.9038, 17.3670, 2000, CAMERA_MOVE);
  54185. InterpolateCameraLookAt(playerid, 440.2185, -1301.6881, 17.6184, 433.8736, -1305.9052, 16.9670, 2000, CAMERA_MOVE);
  54186. }
  54187. case 2:
  54188. {
  54189. InterpolateCameraPos(playerid, 433.8757, -1306.9038, 17.3670, 434.0576, -1291.3750, 14.7338, 2000, CAMERA_MOVE);
  54190. InterpolateCameraLookAt(playerid, 433.8736, -1305.9052, 16.9670, 434.0497, -1292.3737, 14.6737, 2000, CAMERA_MOVE);
  54191. }
  54192. case 3:
  54193. {
  54194. InterpolateCameraPos(playerid, 434.0576, -1291.3750, 14.7338, 434.3085, -1308.4880, 15.5030, 2000, CAMERA_MOVE);
  54195. InterpolateCameraLookAt(playerid, 434.0497, -1292.3737, 14.6737, 434.2510, -1307.4908, 15.4430, 2000, CAMERA_MOVE);
  54196. }
  54197. case 4:
  54198. {
  54199. InterpolateCameraPos(playerid, 434.3085, -1308.4880, 15.5030, 434.0576, -1291.3750, 14.7338, 2000, CAMERA_MOVE);
  54200. InterpolateCameraLookAt(playerid, 434.2510, -1307.4908, 15.4430, 434.0497, -1292.3737, 14.6737, 2000, CAMERA_MOVE);
  54201. }
  54202. case 5:
  54203. {
  54204. InterpolateCameraPos(playerid, 434.0576, -1291.3750, 14.7338, 434.1084, -1302.1560, 18.7596, 2000, CAMERA_MOVE);
  54205. InterpolateCameraLookAt(playerid, 434.0497, -1292.3737, 14.6737, 434.0650, -1301.1581, 17.5145, 2000, CAMERA_MOVE);
  54206. }
  54207. case 6:
  54208. {
  54209. InterpolateCameraPos(playerid, 434.1084, -1302.1560, 18.7596, 437.3644, -1301.3735, 15.4735, 2000, CAMERA_MOVE);
  54210. InterpolateCameraLookAt(playerid, 434.0650, -1301.1581, 17.5145, 436.5263, -1300.8302, 15.2985, 2000, CAMERA_MOVE);
  54211. }
  54212. case 7:
  54213. {
  54214. InterpolateCameraPos(playerid, 437.3644, -1301.3735, 15.4735, 437.6285, -1305.2942, 15.9692, 2000, CAMERA_MOVE);
  54215. InterpolateCameraLookAt(playerid, 436.5263, -1300.8302, 15.2985, 437.0403, -1304.4867, 15.7142, 2000, CAMERA_MOVE);
  54216. }
  54217. case 8:
  54218. {
  54219. InterpolateCameraPos(playerid, 437.6285, -1305.2942, 15.9692, 434.1383, -1293.2971, 19.6626, 2000, CAMERA_MOVE);
  54220. InterpolateCameraLookAt(playerid, 437.0403, -1304.4867, 15.7142, 434.1313, -1294.2961, 18.7776, 2000, CAMERA_MOVE);
  54221. }
  54222. case 9:
  54223. {
  54224. InterpolateCameraPos(playerid, 434.1383, -1293.2971, 19.6626, 438.7916, -1299.0066, 15.9129, 2000, CAMERA_MOVE);
  54225. InterpolateCameraLookAt(playerid, 434.1313, -1294.2961, 18.7776, 437.7929, -1299.0272, 15.7329, 2000, CAMERA_MOVE);
  54226. }
  54227. case 10:
  54228. {
  54229. InterpolateCameraPos(playerid, 438.7916, -1299.0066, 15.9129, 433.8757, -1306.9038, 17.3670, 2000, CAMERA_MOVE);
  54230. InterpolateCameraLookAt(playerid, 437.7929, -1299.0272, 15.7329, 433.8736, -1305.9052, 16.9670, 2000, CAMERA_MOVE);
  54231. }
  54232. default: return 0;
  54233. }
  54234. return 1;
  54235. }*/
  54236. /*
  54237. * yes hello, mobile data computer version 1.1-A1
  54238. */
  54239. /*CMD:mdctest(playerid, params[]) {
  54240. if(!PlayerData[playerid][pAdmin]) {
  54241. SendClientMessage(playerid, -1, "u must be an admin to test the mdc");
  54242. return 0;
  54243. }
  54244. showMDTTextdraws(playerid);
  54245. return 1;
  54246. }
  54247. static PlayerText:mdc_PlayerComputerTextdraws[MAX_PLAYERS][21];
  54248. showMDTTextdraws(playerid) {
  54249. for(new index = 0; index < 21; index++)
  54250. PlayerTextDrawShow(playerid, mdc_PlayerComputerTextdraws[playerid][index]);
  54251. }
  54252. stock hideMDTTextdraws(playerid) {
  54253. for(new index = 0; index < 21; index++)
  54254. PlayerTextDrawHide(playerid, mdc_PlayerComputerTextdraws[playerid][index]);
  54255. }
  54256. createMDTTextdraws(playerid) {
  54257. mdc_PlayerComputerTextdraws[playerid][0] = CreatePlayerTextDraw(playerid, 164.904830, 117.666671, "box");
  54258. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][0], 0.000000, 25.789161);
  54259. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][0], 501.000000, 0.000000);
  54260. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][0], 1);
  54261. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][0], -1061109505);
  54262. PlayerTextDrawUseBox(playerid, mdc_PlayerComputerTextdraws[playerid][0], 1);
  54263. PlayerTextDrawBoxColor(playerid, mdc_PlayerComputerTextdraws[playerid][0], -1061109505);
  54264. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][0], 0);
  54265. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][0], 0);
  54266. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][0], 255);
  54267. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][0], 1);
  54268. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][0], 1);
  54269. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][0], 0);
  54270. mdc_PlayerComputerTextdraws[playerid][1] = CreatePlayerTextDraw(playerid, 166.310394, 119.416687, "box");
  54271. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][1], 0.000000, 25.461196);
  54272. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][1], 500.000000, 0.000000);
  54273. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][1], 1);
  54274. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][1], -1061109505);
  54275. PlayerTextDrawUseBox(playerid, mdc_PlayerComputerTextdraws[playerid][1], 1);
  54276. PlayerTextDrawBoxColor(playerid, mdc_PlayerComputerTextdraws[playerid][1], -572662273);
  54277. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][1], 0);
  54278. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][1], 0);
  54279. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][1], 255);
  54280. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][1], 1);
  54281. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][1], 1);
  54282. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][1], 0);
  54283. mdc_PlayerComputerTextdraws[playerid][2] = CreatePlayerTextDraw(playerid, 167.247436, 119.999977, "box");
  54284. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][2], 0.000000, 1.144950);
  54285. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][2], 499.000000, 0.000000);
  54286. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][2], 1);
  54287. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][2], -1);
  54288. PlayerTextDrawUseBox(playerid, mdc_PlayerComputerTextdraws[playerid][2], 1);
  54289. PlayerTextDrawBoxColor(playerid, mdc_PlayerComputerTextdraws[playerid][2], 0x0C2050FF);
  54290. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][2], 0);
  54291. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][2], 0);
  54292. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][2], 255);
  54293. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][2], 1);
  54294. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][2], 1);
  54295. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][2], 0);
  54296. mdc_PlayerComputerTextdraws[playerid][3] = CreatePlayerTextDraw(playerid, 464.0, 120.0, "minimize");
  54297. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0.000000, 0.000000);
  54298. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][3], 17.000000, 11.0);
  54299. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][3], 1);
  54300. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][3], -1);
  54301. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0);
  54302. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0);
  54303. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0x2266CCFF);
  54304. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][3], 5);
  54305. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0);
  54306. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0);
  54307. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0);
  54308. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][3], 0.000000, 0.000000, 0.000000, -11.000000);
  54309. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][3], true);
  54310. mdc_PlayerComputerTextdraws[playerid][4] = CreatePlayerTextDraw(playerid, 469.912292, 117.083343, "-");
  54311. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][4], 0.400000, 1.600000);
  54312. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][4], 1);
  54313. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][4], -1);
  54314. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][4], 0);
  54315. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][4], 0);
  54316. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][4], 255);
  54317. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][4], 2);
  54318. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][4], 1);
  54319. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][4], 0);
  54320. mdc_PlayerComputerTextdraws[playerid][5] = CreatePlayerTextDraw(playerid, 482.0, 120.0, "exit");
  54321. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0.000000, 0.000000);
  54322. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][5], 17.000000, 11.0);
  54323. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][5], 1);
  54324. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][5], -1);
  54325. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0);
  54326. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0);
  54327. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][5], -1440603393);
  54328. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][5], 5);
  54329. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0);
  54330. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0);
  54331. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0);
  54332. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][5], 0.000000, 0.000000, 0.000000, -11.000000);
  54333. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][5], true);
  54334. mdc_PlayerComputerTextdraws[playerid][6] = CreatePlayerTextDraw(playerid, 490.5, 117.666679, "x");
  54335. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][6], 0.321287, 1.331665);
  54336. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][6], 2);
  54337. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][6], -1);
  54338. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][6], 0);
  54339. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][6], 0);
  54340. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][6], 255);
  54341. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][6], 1);
  54342. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][6], 1);
  54343. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][6], 0);
  54344. mdc_PlayerComputerTextdraws[playerid][7] = CreatePlayerTextDraw(playerid, 168.016098, 120.000022, "hud:radar_emmetGun");
  54345. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][7], 0.000000, 0.000000);
  54346. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][7], 10.000000, 10.000000);
  54347. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][7], 1);
  54348. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][7], -1);
  54349. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][7], 0);
  54350. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][7], 0);
  54351. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][7], 255);
  54352. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][7], 4);
  54353. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][7], 0);
  54354. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][7], 0);
  54355. mdc_PlayerComputerTextdraws[playerid][8] = CreatePlayerTextDraw(playerid, 182.240127, 119.416679, "Invalid Faction");
  54356. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][8], 0.199472, 1.104166);
  54357. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][8], 1);
  54358. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][8], -1);
  54359. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][8], 0);
  54360. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][8], 0);
  54361. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][8], 255);
  54362. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][8], 1);
  54363. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][8], 1);
  54364. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][8], 0);
  54365. mdc_PlayerComputerTextdraws[playerid][9] = CreatePlayerTextDraw(playerid, 460.0, 118.833358, "John Doe");
  54366. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][9], 0.233206, 1.220832);
  54367. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][9], 3);
  54368. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][9], -1785159937);
  54369. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][9], 0);
  54370. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][9], 0);
  54371. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][9], 255);
  54372. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][9], 1);
  54373. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][9], 1);
  54374. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][9], 0);
  54375. mdc_PlayerComputerTextdraws[playerid][10] = CreatePlayerTextDraw(playerid, 166.610565, 134.000015, "Dashboard");
  54376. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0.000000, 0.000000);
  54377. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][10], 59.000000, 13.000000);
  54378. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][10], 1);
  54379. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][10], -1);
  54380. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0);
  54381. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0);
  54382. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0x333333FF);
  54383. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][10], 5);
  54384. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0);
  54385. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0);
  54386. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][10], true);
  54387. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0);
  54388. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][10], 0.000000, 0.000000, 0.000000, -1.000000);
  54389. mdc_PlayerComputerTextdraws[playerid][11] = CreatePlayerTextDraw(playerid, 166.610565, 149.166732, "Database");
  54390. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0.000000, 0.000000);
  54391. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][11], 59.000000, 13.000000);
  54392. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][11], 1);
  54393. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][11], -1);
  54394. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0);
  54395. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0);
  54396. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0xAAAAAAFF);
  54397. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][11], 5);
  54398. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0);
  54399. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0);
  54400. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][11], true);
  54401. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0);
  54402. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][11], 0.000000, 0.000000, 0.000000, -1.000000);
  54403. mdc_PlayerComputerTextdraws[playerid][12] = CreatePlayerTextDraw(playerid, 166.610565, 164.333404, "Dispatch");
  54404. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0.000000, 0.000000);
  54405. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][12], 59.000000, 13.000000);
  54406. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][12], 1);
  54407. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][12], -1);
  54408. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0);
  54409. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0);
  54410. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0xAAAAAAFF);
  54411. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][12], 5);
  54412. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0);
  54413. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0);
  54414. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][12], true);
  54415. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0);
  54416. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][12], 0.000000, 0.000000, 0.000000, -1.000000);
  54417. mdc_PlayerComputerTextdraws[playerid][13] = CreatePlayerTextDraw(playerid, 166.610565, 179.5, "Roster");
  54418. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0.000000, 0.000000);
  54419. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][13], 59.000000, 13.000000);
  54420. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][13], 1);
  54421. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][13], -1);
  54422. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0);
  54423. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0);
  54424. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0xAAAAAAFF);
  54425. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][13], 5);
  54426. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0);
  54427. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0);
  54428. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][13], true);
  54429. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0);
  54430. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][13], 0.000000, 0.000000, 0.000000, -1.000000);
  54431. mdc_PlayerComputerTextdraws[playerid][14] = CreatePlayerTextDraw(playerid, 166.610565, 194.666596, "A.P.B.");
  54432. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0.000000, 0.000000);
  54433. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][14], 59.000000, 13.000000);
  54434. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][14], 1);
  54435. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][14], -1);
  54436. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0);
  54437. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0);
  54438. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0xAAAAAAFF);
  54439. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][14], 5);
  54440. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0);
  54441. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0);
  54442. PlayerTextDrawSetSelectable(playerid, mdc_PlayerComputerTextdraws[playerid][14], true);
  54443. PlayerTextDrawSetPreviewModel(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0);
  54444. PlayerTextDrawSetPreviewRot(playerid, mdc_PlayerComputerTextdraws[playerid][14], 0.000000, 0.000000, 0.000000, -1.000000);
  54445. mdc_PlayerComputerTextdraws[playerid][15] = CreatePlayerTextDraw(playerid, 196.110565, 133.416641, "Dashboard");
  54446. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][15], 0.178389, 1.232499);
  54447. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][15], 2);
  54448. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][15], 0xFFFFFFFF);
  54449. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][15], 0);
  54450. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][15], 0);
  54451. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][15], 255);
  54452. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][15], 2);
  54453. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][15], 1);
  54454. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][15], 0);
  54455. mdc_PlayerComputerTextdraws[playerid][16] = CreatePlayerTextDraw(playerid, 196.110565, 148.583328, "Database");
  54456. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][16], 0.178389, 1.232499);
  54457. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][16], 2);
  54458. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][16], 0x333333FF);
  54459. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][16], 0);
  54460. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][16], 0);
  54461. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][16], 255);
  54462. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][16], 2);
  54463. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][16], 1);
  54464. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][16], 0);
  54465. mdc_PlayerComputerTextdraws[playerid][17] = CreatePlayerTextDraw(playerid, 196.110565, 163.749984, "Dispatch");
  54466. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][17], 0.178389, 1.232499);
  54467. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][17], 2);
  54468. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][17], 0x333333FF);
  54469. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][17], 0);
  54470. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][17], 0);
  54471. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][17], 255);
  54472. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][17], 2);
  54473. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][17], 1);
  54474. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][17], 0);
  54475. mdc_PlayerComputerTextdraws[playerid][18] = CreatePlayerTextDraw(playerid, 196.110565, 178.915, "Roster");
  54476. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][18], 0.178389, 1.232499);
  54477. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][18], 2);
  54478. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][18], 0x333333FF);
  54479. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][18], 0);
  54480. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][18], 0);
  54481. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][18], 255);
  54482. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][18], 2);
  54483. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][18], 1);
  54484. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][18], 0);
  54485. mdc_PlayerComputerTextdraws[playerid][19] = CreatePlayerTextDraw(playerid, 196.110565, 194.080016, "A.P.B.");
  54486. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][19], 0.178389, 1.232499);
  54487. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][19], 2);
  54488. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][19], 0x333333FF);
  54489. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][19], 0);
  54490. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][19], 0);
  54491. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][19], 255);
  54492. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][19], 2);
  54493. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][19], 1);
  54494. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][19], 0);
  54495. mdc_PlayerComputerTextdraws[playerid][20] = CreatePlayerTextDraw(playerid, 229.560760, 136.333328, "box");
  54496. PlayerTextDrawLetterSize(playerid, mdc_PlayerComputerTextdraws[playerid][20], 0.000000, 23.212295);
  54497. PlayerTextDrawTextSize(playerid, mdc_PlayerComputerTextdraws[playerid][20], 229.360760, 0.000000);
  54498. PlayerTextDrawAlignment(playerid, mdc_PlayerComputerTextdraws[playerid][20], 1);
  54499. PlayerTextDrawColor(playerid, mdc_PlayerComputerTextdraws[playerid][20], -1);
  54500. PlayerTextDrawUseBox(playerid, mdc_PlayerComputerTextdraws[playerid][20], 1);
  54501. PlayerTextDrawBoxColor(playerid, mdc_PlayerComputerTextdraws[playerid][20], -1431655681);
  54502. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][20], 0);
  54503. PlayerTextDrawSetOutline(playerid, mdc_PlayerComputerTextdraws[playerid][20], 0);
  54504. PlayerTextDrawBackgroundColor(playerid, mdc_PlayerComputerTextdraws[playerid][20], 255);
  54505. PlayerTextDrawFont(playerid, mdc_PlayerComputerTextdraws[playerid][20], 1);
  54506. PlayerTextDrawSetProportional(playerid, mdc_PlayerComputerTextdraws[playerid][20], 1);
  54507. PlayerTextDrawSetShadow(playerid, mdc_PlayerComputerTextdraws[playerid][20], 0);
  54508. }
  54509. */
  54510. stock InitMDC(playerid)
  54511. {
  54512. MDC_UI[playerid][0] = CreatePlayerTextDraw(playerid, 164.904830, 117.666671, "box");
  54513. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][0], 0.000000, 25.789161);
  54514. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][0], 501.000000, 0.000000);
  54515. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][0], 1);
  54516. PlayerTextDrawColor(playerid, MDC_UI[playerid][0], -1061109505);
  54517. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][0], 1);
  54518. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][0], -1061109505);
  54519. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][0], 0);
  54520. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][0], 0);
  54521. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][0], 255);
  54522. PlayerTextDrawFont(playerid, MDC_UI[playerid][0], 1);
  54523. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][0], 1);
  54524. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][0], 0);
  54525. MDC_UI[playerid][1] = CreatePlayerTextDraw(playerid, 166.310394, 119.416687, "box");
  54526. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][1], 0.000000, 25.461196);
  54527. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][1], 500.000000, 0.000000);
  54528. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][1], 1);
  54529. PlayerTextDrawColor(playerid, MDC_UI[playerid][1], -1061109505);
  54530. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][1], 1);
  54531. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][1], -572662273);
  54532. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][1], 0);
  54533. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][1], 0);
  54534. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][1], 255);
  54535. PlayerTextDrawFont(playerid, MDC_UI[playerid][1], 1);
  54536. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][1], 1);
  54537. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][1], 0);
  54538. MDC_UI[playerid][2] = CreatePlayerTextDraw(playerid, 167.247436, 119.999977, "box");
  54539. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][2], 0.000000, 1.144950);
  54540. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][2], 499.000000, 0.000000);
  54541. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][2], 1);
  54542. PlayerTextDrawColor(playerid, MDC_UI[playerid][2], -1);
  54543. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][2], 1);
  54544. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][2], 203444479);
  54545. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][2], 0);
  54546. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][2], 0);
  54547. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][2], 255);
  54548. PlayerTextDrawFont(playerid, MDC_UI[playerid][2], 1);
  54549. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][2], 1);
  54550. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][2], 0);
  54551. MDC_UI[playerid][3] = CreatePlayerTextDraw(playerid, 482.393859, 118.249992, "");
  54552. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][3], 0.000000, 0.000000);
  54553. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][3], 18.000000, 14.000000);
  54554. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][3], 1);
  54555. PlayerTextDrawColor(playerid, MDC_UI[playerid][3], -1);
  54556. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][3], 0);
  54557. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][3], 0);
  54558. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][3], -1440603393);
  54559. PlayerTextDrawFont(playerid, MDC_UI[playerid][3], 5);
  54560. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][3], 0);
  54561. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][3], 0);
  54562. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][3], 0);
  54563. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][3], 0.000000, 0.000000, 0.000000, -11.000000);
  54564. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][3], true);
  54565. MDC_UI[playerid][4] = CreatePlayerTextDraw(playerid, 483.499908, 120.583320, "box");
  54566. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][4], 0.000000, 1.004394);
  54567. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][4], 461.000000, 0.000000);
  54568. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][4], 1);
  54569. PlayerTextDrawColor(playerid, MDC_UI[playerid][4], -1);
  54570. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][4], 1);
  54571. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][4], 577162495);
  54572. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][4], 0);
  54573. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][4], 0);
  54574. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][4], 255);
  54575. PlayerTextDrawFont(playerid, MDC_UI[playerid][4], 1);
  54576. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][4], 1);
  54577. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][4], 0);
  54578. MDC_UI[playerid][5] = CreatePlayerTextDraw(playerid, 469.912292, 117.083343, "-");
  54579. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][5], 0.400000, 1.600000);
  54580. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][5], 1);
  54581. PlayerTextDrawColor(playerid, MDC_UI[playerid][5], -1);
  54582. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][5], 0);
  54583. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][5], 0);
  54584. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][5], 255);
  54585. PlayerTextDrawFont(playerid, MDC_UI[playerid][5], 2);
  54586. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][5], 1);
  54587. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][5], 0);
  54588. MDC_UI[playerid][6] = CreatePlayerTextDraw(playerid, 488.184692, 117.666679, "x");
  54589. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][6], 0.321287, 1.331665);
  54590. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][6], 1);
  54591. PlayerTextDrawColor(playerid, MDC_UI[playerid][6], -1);
  54592. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][6], 0);
  54593. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][6], 0);
  54594. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][6], 255);
  54595. PlayerTextDrawFont(playerid, MDC_UI[playerid][6], 1);
  54596. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][6], 1);
  54597. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][6], 0);
  54598. MDC_UI[playerid][7] = CreatePlayerTextDraw(playerid, 168.016098, 120.000022, "hud:radar_emmetGun");
  54599. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][7], 0.000000, 0.000000);
  54600. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][7], 10.000000, 10.000000);
  54601. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][7], 1);
  54602. PlayerTextDrawColor(playerid, MDC_UI[playerid][7], -1);
  54603. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][7], 0);
  54604. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][7], 0);
  54605. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][7], 255);
  54606. PlayerTextDrawFont(playerid, MDC_UI[playerid][7], 4);
  54607. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][7], 0);
  54608. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][7], 0);
  54609. MDC_UI[playerid][8] = CreatePlayerTextDraw(playerid, 182.240127, 119.416679, "Los_Santos_Police_Department_-_www.lspd.gov.us");
  54610. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][8], 0.199472, 1.104166);
  54611. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][8], 1);
  54612. PlayerTextDrawColor(playerid, MDC_UI[playerid][8], -1);
  54613. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][8], 0);
  54614. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][8], 0);
  54615. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][8], 255);
  54616. PlayerTextDrawFont(playerid, MDC_UI[playerid][8], 1);
  54617. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][8], 1);
  54618. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][8], 0);
  54619. MDC_UI[playerid][9] = CreatePlayerTextDraw(playerid, 416.969818, 118.833358, "Offset_Test");
  54620. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][9], 0.233206, 1.220832);
  54621. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][9], 1);
  54622. PlayerTextDrawColor(playerid, MDC_UI[playerid][9], -1785159937);
  54623. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][9], 0);
  54624. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][9], 0);
  54625. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][9], 255);
  54626. PlayerTextDrawFont(playerid, MDC_UI[playerid][9], 1);
  54627. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][9], 1);
  54628. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][9], 0);
  54629. MDC_UI[playerid][10] = CreatePlayerTextDraw(playerid, 166.610565, 134.000015, "Main Screen");
  54630. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][10], 0.000000, 0.000000);
  54631. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][10], 59.000000, 13.000000);
  54632. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][10], 1);
  54633. PlayerTextDrawColor(playerid, MDC_UI[playerid][10], -1);
  54634. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][10], 0);
  54635. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][10], 0);
  54636. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][10], -1431655681);
  54637. PlayerTextDrawFont(playerid, MDC_UI[playerid][10], 5);
  54638. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][10], 0);
  54639. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][10], 0);
  54640. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][10], true);
  54641. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][10], 0);
  54642. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][10], 0.000000, 0.000000, 0.000000, -1.000000);
  54643. MDC_UI[playerid][11] = CreatePlayerTextDraw(playerid, 166.610565, 149.166732, "Look-up");
  54644. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][11], 0.000000, 0.000000);
  54645. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][11], 59.000000, 13.000000);
  54646. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][11], 1);
  54647. PlayerTextDrawColor(playerid, MDC_UI[playerid][11], -1);
  54648. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][11], 0);
  54649. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][11], 0);
  54650. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][11], -1431655681);
  54651. PlayerTextDrawFont(playerid, MDC_UI[playerid][11], 5);
  54652. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][11], 0);
  54653. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][11], 0);
  54654. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][11], true);
  54655. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][11], 0);
  54656. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][11], 0.000000, 0.000000, 0.000000, -1.000000);
  54657. MDC_UI[playerid][12] = CreatePlayerTextDraw(playerid, 166.610565, 164.333404, "Emergency");
  54658. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][12], 0.000000, 0.000000);
  54659. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][12], 59.000000, 13.000000);
  54660. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][12], 1);
  54661. PlayerTextDrawColor(playerid, MDC_UI[playerid][12], -1);
  54662. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][12], 0);
  54663. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][12], 0);
  54664. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][12], -1431655681);
  54665. PlayerTextDrawFont(playerid, MDC_UI[playerid][12], 5);
  54666. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][12], 0);
  54667. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][12], 0);
  54668. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][12], true);
  54669. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][12], 0);
  54670. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][12], 0.000000, 0.000000, 0.000000, -1.000000);
  54671. MDC_UI[playerid][13] = CreatePlayerTextDraw(playerid, 166.610565, 204.583404, "Roster");
  54672. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][13], 0.000000, 0.000000);
  54673. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][13], 59.000000, 13.000000);
  54674. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][13], 1);
  54675. PlayerTextDrawColor(playerid, MDC_UI[playerid][13], -1);
  54676. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][13], 0);
  54677. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][13], 0);
  54678. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][13], -1431655681);
  54679. PlayerTextDrawFont(playerid, MDC_UI[playerid][13], 5);
  54680. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][13], 0);
  54681. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][13], 0);
  54682. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][13], true);
  54683. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][13], 0);
  54684. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][13], 0.000000, 0.000000, 0.000000, -1.000000);
  54685. MDC_UI[playerid][14] = CreatePlayerTextDraw(playerid, 166.610565, 219.750091, "Records");
  54686. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][14], 0.000000, 0.000000);
  54687. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][14], 59.000000, 13.000000);
  54688. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][14], 1);
  54689. PlayerTextDrawColor(playerid, MDC_UI[playerid][14], -1);
  54690. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][14], 0);
  54691. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][14], 0);
  54692. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][14], -1431655681);
  54693. PlayerTextDrawFont(playerid, MDC_UI[playerid][14], 5);
  54694. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][14], 0);
  54695. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][14], 0);
  54696. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][14], true);
  54697. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][14], 0);
  54698. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][14], 0.000000, 0.000000, 0.000000, -1.000000);
  54699. MDC_UI[playerid][15] = CreatePlayerTextDraw(playerid, 166.610565, 234.916732, "CCTV");
  54700. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][15], 0.000000, 0.000000);
  54701. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][15], 59.000000, 13.000000);
  54702. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][15], 1);
  54703. PlayerTextDrawColor(playerid, MDC_UI[playerid][15], -1);
  54704. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][15], 0);
  54705. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][15], 0);
  54706. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][15], -1431655681);
  54707. PlayerTextDrawFont(playerid, MDC_UI[playerid][15], 5);
  54708. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][15], 0);
  54709. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][15], 0);
  54710. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][15], true);
  54711. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][15], 0);
  54712. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][15], 0.000000, 0.000000, 0.000000, -1.000000);
  54713. MDC_UI[playerid][16] = CreatePlayerTextDraw(playerid, 196.295730, 133.416641, "Main_Screen");
  54714. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][16], 0.178389, 1.232499);
  54715. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][16], 2);
  54716. PlayerTextDrawColor(playerid, MDC_UI[playerid][16], 858993663);
  54717. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][16], 0);
  54718. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][16], 0);
  54719. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][16], 255);
  54720. PlayerTextDrawFont(playerid, MDC_UI[playerid][16], 2);
  54721. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][16], 1);
  54722. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][16], 0);
  54723. MDC_UI[playerid][17] = CreatePlayerTextDraw(playerid, 196.295730, 148.583328, "Look_Up");
  54724. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][17], 0.178389, 1.232499);
  54725. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][17], 2);
  54726. PlayerTextDrawColor(playerid, MDC_UI[playerid][17], 858993663);
  54727. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][17], 0);
  54728. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][17], 0);
  54729. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][17], 255);
  54730. PlayerTextDrawFont(playerid, MDC_UI[playerid][17], 2);
  54731. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][17], 1);
  54732. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][17], 0);
  54733. MDC_UI[playerid][18] = CreatePlayerTextDraw(playerid, 197.701293, 163.749984, "Emergency");
  54734. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][18], 0.178389, 1.232499);
  54735. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][18], 2);
  54736. PlayerTextDrawColor(playerid, MDC_UI[playerid][18], 858993663);
  54737. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][18], 0);
  54738. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][18], 0);
  54739. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][18], 255);
  54740. PlayerTextDrawFont(playerid, MDC_UI[playerid][18], 2);
  54741. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][18], 1);
  54742. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][18], 0);
  54743. MDC_UI[playerid][19] = CreatePlayerTextDraw(playerid, 196.764251, 203.999969, "Roster");
  54744. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][19], 0.178389, 1.232499);
  54745. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][19], 2);
  54746. PlayerTextDrawColor(playerid, MDC_UI[playerid][19], 858993663);
  54747. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][19], 0);
  54748. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][19], 0);
  54749. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][19], 255);
  54750. PlayerTextDrawFont(playerid, MDC_UI[playerid][19], 2);
  54751. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][19], 1);
  54752. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][19], 0);
  54753. MDC_UI[playerid][20] = CreatePlayerTextDraw(playerid, 196.295730, 219.749969, "Records_DB");
  54754. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][20], 0.178389, 1.232499);
  54755. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][20], 2);
  54756. PlayerTextDrawColor(playerid, MDC_UI[playerid][20], 858993663);
  54757. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][20], 0);
  54758. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][20], 0);
  54759. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][20], 255);
  54760. PlayerTextDrawFont(playerid, MDC_UI[playerid][20], 2);
  54761. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][20], 1);
  54762. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][20], 0);
  54763. MDC_UI[playerid][21] = CreatePlayerTextDraw(playerid, 195.827209, 234.333297, "Dispatch");
  54764. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][21], 0.178389, 1.232499);
  54765. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][21], 2);
  54766. PlayerTextDrawColor(playerid, MDC_UI[playerid][21], 858993663);
  54767. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][21], 0);
  54768. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][21], 0);
  54769. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][21], 255);
  54770. PlayerTextDrawFont(playerid, MDC_UI[playerid][21], 2);
  54771. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][21], 1);
  54772. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][21], 0);
  54773. MDC_UI[playerid][22] = CreatePlayerTextDraw(playerid, 229.560760, 136.333328, "box");
  54774. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][22], 0.000000, 23.212295);
  54775. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][22], 227.000000, 0.000000);
  54776. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][22], 1);
  54777. PlayerTextDrawColor(playerid, MDC_UI[playerid][22], -1);
  54778. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][22], 1);
  54779. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][22], -1431655681);
  54780. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][22], 0);
  54781. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][22], 0);
  54782. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][22], 255);
  54783. PlayerTextDrawFont(playerid, MDC_UI[playerid][22], 1);
  54784. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][22], 1);
  54785. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][22], 0);
  54786. MDC_UI[playerid][23] = CreatePlayerTextDraw(playerid, 262.656921, 141.583236, "");
  54787. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][23], 0.000000, 0.000000);
  54788. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][23], 210.000000, 147.000000);
  54789. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][23], 1);
  54790. PlayerTextDrawColor(playerid, MDC_UI[playerid][23], -1);
  54791. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][23], 0);
  54792. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][23], 0);
  54793. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][23], 0);
  54794. PlayerTextDrawFont(playerid, MDC_UI[playerid][23], 5);
  54795. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][23], 0);
  54796. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][23], 0);
  54797. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][23], 267);
  54798. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][23], 0.000000, 0.000000, 0.000000, 0.899999);
  54799. MDC_UI[playerid][24] = CreatePlayerTextDraw(playerid, 231.903335, 203.416717, "box");
  54800. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][24], 0.000000, 16.043922);
  54801. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][24], 499.000000, 0.000000);
  54802. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][24], 1);
  54803. PlayerTextDrawColor(playerid, MDC_UI[playerid][24], -1);
  54804. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][24], 1);
  54805. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][24], -572662273);
  54806. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][24], 0);
  54807. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][24], 0);
  54808. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][24], 255);
  54809. PlayerTextDrawFont(playerid, MDC_UI[playerid][24], 1);
  54810. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][24], 1);
  54811. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][24], 0);
  54812. MDC_UI[playerid][25] = CreatePlayerTextDraw(playerid, 234.714080, 202.833404, "box");
  54813. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][25], 0.000000, 1.426062);
  54814. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][25], 497.000000, 0.000000);
  54815. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][25], 1);
  54816. PlayerTextDrawColor(playerid, MDC_UI[playerid][25], -2004318108);
  54817. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][25], 1);
  54818. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][25], -2004318128);
  54819. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][25], 0);
  54820. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][25], 0);
  54821. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][25], 255);
  54822. PlayerTextDrawFont(playerid, MDC_UI[playerid][25], 1);
  54823. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][25], 1);
  54824. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][25], 0);
  54825. MDC_UI[playerid][26] = CreatePlayerTextDraw(playerid, 363.557678, 202.833404, "Chief_Of_Police_Offset_Test");
  54826. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][26], 0.274904, 1.314165);
  54827. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][26], 2);
  54828. PlayerTextDrawColor(playerid, MDC_UI[playerid][26], 255);
  54829. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][26], 0);
  54830. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][26], 0);
  54831. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][26], 255);
  54832. PlayerTextDrawFont(playerid, MDC_UI[playerid][26], 1);
  54833. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][26], 1);
  54834. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][26], 0);
  54835. MDC_UI[playerid][27] = CreatePlayerTextDraw(playerid, 242.679290, 229.083297, "Members_On_Duty~n~Active_Warrants~n~Active_Bolo's");
  54836. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][27], 0.149340, 1.372501);
  54837. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][27], 1);
  54838. PlayerTextDrawColor(playerid, MDC_UI[playerid][27], 255);
  54839. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][27], 0);
  54840. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][27], 0);
  54841. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][27], 255);
  54842. PlayerTextDrawFont(playerid, MDC_UI[playerid][27], 2);
  54843. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][27], 1);
  54844. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][27], 0);
  54845. MDC_UI[playerid][28] = CreatePlayerTextDraw(playerid, 341.537658, 226.749984, "0~n~0~n~0");
  54846. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][28], 0.180263, 1.425000);
  54847. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][28], 1);
  54848. PlayerTextDrawColor(playerid, MDC_UI[playerid][28], -2139062017);
  54849. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][28], 0);
  54850. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][28], 0);
  54851. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][28], 255);
  54852. PlayerTextDrawFont(playerid, MDC_UI[playerid][28], 2);
  54853. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][28], 1);
  54854. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][28], 0);
  54855. MDC_UI[playerid][29] = CreatePlayerTextDraw(playerid, 367.774688, 227.333297, "CALLS_LAST_HOUR~n~ARRESTS_LAST_HOUR~n~Fines_Last_Hour");
  54856. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][29], 0.149340, 1.372501);
  54857. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][29], 1);
  54858. PlayerTextDrawColor(playerid, MDC_UI[playerid][29], 255);
  54859. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][29], 0);
  54860. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][29], 0);
  54861. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][29], 255);
  54862. PlayerTextDrawFont(playerid, MDC_UI[playerid][29], 2);
  54863. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][29], 1);
  54864. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][29], 0);
  54865. MDC_UI[playerid][30] = CreatePlayerTextDraw(playerid, 486.779418, 225.000000, "0~n~0~n~0");
  54866. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][30], 0.180263, 1.425000);
  54867. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][30], 1);
  54868. PlayerTextDrawColor(playerid, MDC_UI[playerid][30], -2139062017);
  54869. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][30], 0);
  54870. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][30], 0);
  54871. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][30], 255);
  54872. PlayerTextDrawFont(playerid, MDC_UI[playerid][30], 2);
  54873. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][30], 1);
  54874. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][30], 0);
  54875. MDC_UI[playerid][31] = CreatePlayerTextDraw(playerid, 235.182983, 279.833343, "box");
  54876. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][31], 0.000000, 1.285506);
  54877. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][31], 498.000000, 0.000000);
  54878. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][31], 1);
  54879. PlayerTextDrawColor(playerid, MDC_UI[playerid][31], -1);
  54880. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][31], 1);
  54881. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][31], -1440603393);
  54882. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][31], 0);
  54883. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][31], 0);
  54884. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][31], 255);
  54885. PlayerTextDrawFont(playerid, MDC_UI[playerid][31], 1);
  54886. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][31], 1);
  54887. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][31], 0);
  54888. MDC_UI[playerid][32] = CreatePlayerTextDraw(playerid, 236.120056, 279.833343, "]_NEW_NOTIFY");
  54889. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][32], 0.207437, 1.075000);
  54890. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][32], 1);
  54891. PlayerTextDrawColor(playerid, MDC_UI[playerid][32], -1);
  54892. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][32], 0);
  54893. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][32], 0);
  54894. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][32], 255);
  54895. PlayerTextDrawFont(playerid, MDC_UI[playerid][32], 2);
  54896. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][32], 1);
  54897. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][32], 0);
  54898. MDC_UI[playerid][33] = CreatePlayerTextDraw(playerid, 235.182983, 299.666687, "]_NEW_WARN");
  54899. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][33], 0.000000, 1.285506);
  54900. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][33], 498.000000, 0.000000);
  54901. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][33], 1);
  54902. PlayerTextDrawColor(playerid, MDC_UI[playerid][33], -1);
  54903. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][33], 1);
  54904. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][33], 41215);
  54905. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][33], 0);
  54906. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][33], 0);
  54907. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][33], 255);
  54908. PlayerTextDrawFont(playerid, MDC_UI[playerid][33], 1);
  54909. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][33], 1);
  54910. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][33], 0);
  54911. MDC_UI[playerid][34] = CreatePlayerTextDraw(playerid, 236.120056, 300.250122, "]_NEW_WARN");
  54912. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][34], 0.207437, 1.075000);
  54913. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][34], 1);
  54914. PlayerTextDrawColor(playerid, MDC_UI[playerid][34], -1);
  54915. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][34], 0);
  54916. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][34], 0);
  54917. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][34], 255);
  54918. PlayerTextDrawFont(playerid, MDC_UI[playerid][34], 2);
  54919. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][34], 1);
  54920. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][34], 0);
  54921. MDC_UI[playerid][35] = CreatePlayerTextDraw(playerid, 234.546127, 142.166671, "NAME");
  54922. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][35], 0.000000, 0.000000);
  54923. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][35], 34.000000, 14.000000);
  54924. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][35], 1);
  54925. PlayerTextDrawColor(playerid, MDC_UI[playerid][35], -1);
  54926. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][35], 0);
  54927. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][35], 0);
  54928. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][35], -1431655681);
  54929. PlayerTextDrawFont(playerid, MDC_UI[playerid][35], 5);
  54930. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][35], 0);
  54931. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][35], 0);
  54932. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][35], true);
  54933. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][35], 0);
  54934. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][35], 0.000000, 0.000000, 0.000000, -1.000000);
  54935. MDC_UI[playerid][36] = CreatePlayerTextDraw(playerid, 271.559417, 142.166687, "PLATE");
  54936. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][36], 0.000000, 0.000000);
  54937. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][36], 33.000000, 14.000000);
  54938. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][36], 1);
  54939. PlayerTextDrawColor(playerid, MDC_UI[playerid][36], -1);
  54940. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][36], 0);
  54941. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][36], 0);
  54942. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][36], -1431655681);
  54943. PlayerTextDrawFont(playerid, MDC_UI[playerid][36], 5);
  54944. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][36], 0);
  54945. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][36], 0);
  54946. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][36], true);
  54947. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][36], 0);
  54948. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][36], 0.000000, 0.000000, 0.000000, -1.000000);
  54949. MDC_UI[playerid][37] = CreatePlayerTextDraw(playerid, 310.446899, 142.166687, "INPUT");
  54950. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][37], 0.000000, 0.000000);
  54951. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][37], 104.000000, 14.000000);
  54952. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][37], 1);
  54953. PlayerTextDrawColor(playerid, MDC_UI[playerid][37], -1);
  54954. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][37], 0);
  54955. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][37], 0);
  54956. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][37], -1);
  54957. PlayerTextDrawFont(playerid, MDC_UI[playerid][37], 5);
  54958. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][37], 0);
  54959. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][37], 0);
  54960. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][37], true);
  54961. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][37], 0);
  54962. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][37], 0.000000, 0.000000, 0.000000, -1.000000);
  54963. MDC_UI[playerid][38] = CreatePlayerTextDraw(playerid, 414.458312, 142.166702, "REFRESH");
  54964. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][38], 0.000000, 0.000000);
  54965. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][38], 34.000000, 13.000000);
  54966. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][38], 1);
  54967. PlayerTextDrawColor(playerid, MDC_UI[playerid][38], -1);
  54968. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][38], 0);
  54969. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][38], 0);
  54970. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][38], -1431655681);
  54971. PlayerTextDrawFont(playerid, MDC_UI[playerid][38], 5);
  54972. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][38], 0);
  54973. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][38], 0);
  54974. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][38], true);
  54975. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][38], 0);
  54976. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][38], 0.000000, 0.000000, 0.000000, -1.000000);
  54977. MDC_UI[playerid][39] = CreatePlayerTextDraw(playerid, 240.336746, 143.333297, "NAME");
  54978. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][39], 0.203689, 1.150832);
  54979. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][39], 1);
  54980. PlayerTextDrawColor(playerid, MDC_UI[playerid][39], 858993663);
  54981. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][39], 0);
  54982. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][39], 0);
  54983. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][39], 255);
  54984. PlayerTextDrawFont(playerid, MDC_UI[playerid][39], 2);
  54985. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][39], 1);
  54986. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][39], 0);
  54987. MDC_UI[playerid][40] = CreatePlayerTextDraw(playerid, 275.944305, 143.333328, "PLATE");
  54988. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][40], 0.203689, 1.150832);
  54989. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][40], 1);
  54990. PlayerTextDrawColor(playerid, MDC_UI[playerid][40], 858993663);
  54991. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][40], 0);
  54992. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][40], 0);
  54993. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][40], 255);
  54994. PlayerTextDrawFont(playerid, MDC_UI[playerid][40], 2);
  54995. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][40], 1);
  54996. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][40], 0);
  54997. MDC_UI[playerid][41] = CreatePlayerTextDraw(playerid, 417.437957, 142.166656, "Refresh");
  54998. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][41], 0.159648, 1.261663);
  54999. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][41], 1);
  55000. PlayerTextDrawColor(playerid, MDC_UI[playerid][41], 858993663);
  55001. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][41], 0);
  55002. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][41], 0);
  55003. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][41], 255);
  55004. PlayerTextDrawFont(playerid, MDC_UI[playerid][41], 2);
  55005. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][41], 1);
  55006. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][41], 0);
  55007. MDC_UI[playerid][42] = CreatePlayerTextDraw(playerid, 153.960479, 152.666656, "");
  55008. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][42], 0.000000, 0.000000);
  55009. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][42], 234.000000, 172.000000);
  55010. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][42], 1);
  55011. PlayerTextDrawColor(playerid, MDC_UI[playerid][42], -1);
  55012. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][42], 0);
  55013. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][42], 0);
  55014. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][42], 0);
  55015. PlayerTextDrawFont(playerid, MDC_UI[playerid][42], 5);
  55016. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][42], 0);
  55017. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][42], 0);
  55018. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][42], 286);
  55019. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][42], 0.000000, 0.000000, 20.000000, 0.899999);
  55020. MDC_UI[playerid][43] = CreatePlayerTextDraw(playerid, 234.714492, 215.083435, "box");
  55021. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][43], 0.000000, 13.654464);
  55022. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][43], 499.000000, 0.000000);
  55023. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][43], 1);
  55024. PlayerTextDrawColor(playerid, MDC_UI[playerid][43], -1);
  55025. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][43], 1);
  55026. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][43], -572662273);
  55027. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][43], 0);
  55028. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][43], 0);
  55029. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][43], 255);
  55030. PlayerTextDrawFont(playerid, MDC_UI[playerid][43], 1);
  55031. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][43], 1);
  55032. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][43], 0);
  55033. MDC_UI[playerid][44] = CreatePlayerTextDraw(playerid, 309.677734, 156.750045, "Name:~n~Address:~n~Number:~n~Priors:~n~Licenses:");
  55034. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][44], 0.207437, 1.226666);
  55035. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][44], 1);
  55036. PlayerTextDrawColor(playerid, MDC_UI[playerid][44], 858993663);
  55037. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][44], 0);
  55038. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][44], 0);
  55039. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][44], 255);
  55040. PlayerTextDrawFont(playerid, MDC_UI[playerid][44], 2);
  55041. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][44], 1);
  55042. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][44], 0);
  55043. MDC_UI[playerid][45] = CreatePlayerTextDraw(playerid, 353.970947, 156.750030, "_");
  55044. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][45], 0.156837, 1.244166);
  55045. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][45], 1);
  55046. PlayerTextDrawColor(playerid, MDC_UI[playerid][45], -1667457793);
  55047. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][45], 0);
  55048. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][45], 0);
  55049. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][45], 255);
  55050. PlayerTextDrawFont(playerid, MDC_UI[playerid][45], 2);
  55051. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][45], 1);
  55052. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][45], 0);
  55053. MDC_UI[playerid][46] = CreatePlayerTextDraw(playerid, 234.714462, 217.999984, "box");
  55054. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][46], 0.000000, 1.004393);
  55055. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][46], 498.000000, 0.000000);
  55056. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][46], 1);
  55057. PlayerTextDrawColor(playerid, MDC_UI[playerid][46], -1);
  55058. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][46], 1);
  55059. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][46], -56833);
  55060. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][46], 0);
  55061. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][46], 0);
  55062. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][46], 255);
  55063. PlayerTextDrawFont(playerid, MDC_UI[playerid][46], 1);
  55064. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][46], 1);
  55065. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][46], 0);
  55066. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][46], true);
  55067. MDC_UI[playerid][47] = CreatePlayerTextDraw(playerid, 236.588531, 217.416656, "]_This_Person_has_multi_addresses,_click_here_for_a_list!");
  55068. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][47], 0.177452, 1.051667);
  55069. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][47], 1);
  55070. PlayerTextDrawColor(playerid, MDC_UI[playerid][47], 255);
  55071. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][47], 0);
  55072. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][47], 0);
  55073. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][47], 255);
  55074. PlayerTextDrawFont(playerid, MDC_UI[playerid][47], 2);
  55075. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][47], 1);
  55076. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][47], 0);
  55077. MDC_UI[playerid][48] = CreatePlayerTextDraw(playerid, 234.714462, 234.916656, "box");
  55078. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][48], 0.000000, 1.004393);
  55079. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][48], 498.000000, 0.000000);
  55080. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][48], 1);
  55081. PlayerTextDrawColor(playerid, MDC_UI[playerid][48], -1);
  55082. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][48], 1);
  55083. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][48], -1457315073);
  55084. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][48], 0);
  55085. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][48], 0);
  55086. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][48], 255);
  55087. PlayerTextDrawFont(playerid, MDC_UI[playerid][48], 1);
  55088. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][48], 1);
  55089. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][48], 0);
  55090. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][48], true);
  55091. MDC_UI[playerid][49] = CreatePlayerTextDraw(playerid, 236.588531, 234.333312, "]_This_Person_has_multi_addresses,_click_here_for_a_list!");
  55092. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][49], 0.177452, 1.051667);
  55093. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][49], 1);
  55094. PlayerTextDrawColor(playerid, MDC_UI[playerid][49], -1);
  55095. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][49], 0);
  55096. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][49], 0);
  55097. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][49], 255);
  55098. PlayerTextDrawFont(playerid, MDC_UI[playerid][49], 2);
  55099. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][49], 1);
  55100. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][49], 0);
  55101. MDC_UI[playerid][50] = CreatePlayerTextDraw(playerid, 234.714462, 251.249984, "box");
  55102. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][50], 0.000000, 0.957541);
  55103. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][50], 498.000000, 0.000000);
  55104. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][50], 1);
  55105. PlayerTextDrawColor(playerid, MDC_UI[playerid][50], -1);
  55106. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][50], 1);
  55107. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][50], -1457315073);
  55108. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][50], 0);
  55109. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][50], 0);
  55110. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][50], 255);
  55111. PlayerTextDrawFont(playerid, MDC_UI[playerid][50], 1);
  55112. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][50], 1);
  55113. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][50], 0);
  55114. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][50], true);
  55115. MDC_UI[playerid][51] = CreatePlayerTextDraw(playerid, 237.057052, 251.249938, "]_Fines:_6_Pending,_2_Expired!!");
  55116. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][51], 0.177452, 1.051667);
  55117. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][51], 1);
  55118. PlayerTextDrawColor(playerid, MDC_UI[playerid][51], -1);
  55119. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][51], 0);
  55120. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][51], 0);
  55121. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][51], 255);
  55122. PlayerTextDrawFont(playerid, MDC_UI[playerid][51], 2);
  55123. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][51], 1);
  55124. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][51], 0);
  55125. MDC_UI[playerid][52] = CreatePlayerTextDraw(playerid, 233.608917, 267.583343, "");
  55126. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][52], 0.000000, 0.000000);
  55127. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][52], 115.000000, 13.000000);
  55128. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][52], 1);
  55129. PlayerTextDrawColor(playerid, MDC_UI[playerid][52], -1);
  55130. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][52], 0);
  55131. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][52], 0);
  55132. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][52], -1431655681);
  55133. PlayerTextDrawFont(playerid, MDC_UI[playerid][52], 5);
  55134. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][52], 0);
  55135. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][52], 0);
  55136. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][52], true);
  55137. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][52], 0);
  55138. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][52], 0.000000, 0.000000, 0.000000, -11.000000);
  55139. MDC_UI[playerid][53] = CreatePlayerTextDraw(playerid, 233.608917, 282.166748, "");
  55140. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][53], 0.000000, 0.000000);
  55141. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][53], 115.000000, 13.000000);
  55142. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][53], 1);
  55143. PlayerTextDrawColor(playerid, MDC_UI[playerid][53], -1);
  55144. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][53], 0);
  55145. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][53], 0);
  55146. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][53], -1431655681);
  55147. PlayerTextDrawFont(playerid, MDC_UI[playerid][53], 5);
  55148. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][53], 0);
  55149. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][53], 0);
  55150. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][53], true);
  55151. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][53], 0);
  55152. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][53], 0.000000, 0.000000, 0.000000, -11.000000);
  55153. MDC_UI[playerid][54] = CreatePlayerTextDraw(playerid, 233.608917, 296.750122, "");
  55154. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][54], 0.000000, 0.000000);
  55155. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][54], 115.000000, 13.000000);
  55156. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][54], 1);
  55157. PlayerTextDrawColor(playerid, MDC_UI[playerid][54], -1);
  55158. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][54], 0);
  55159. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][54], 0);
  55160. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][54], -1431655681);
  55161. PlayerTextDrawFont(playerid, MDC_UI[playerid][54], 5);
  55162. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][54], 0);
  55163. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][54], 0);
  55164. PlayerTextDrawSetSelectable(playerid, MDC_UI[playerid][54], true);
  55165. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][54], 0);
  55166. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][54], 0.000000, 0.000000, 0.000000, -11.000000);
  55167. MDC_UI[playerid][55] = CreatePlayerTextDraw(playerid, 237.525588, 268.166656, "~>~_Manage_Licenses");
  55168. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][55], 0.205094, 1.069166);
  55169. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][55], 1);
  55170. PlayerTextDrawColor(playerid, MDC_UI[playerid][55], 858993663);
  55171. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][55], 0);
  55172. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][55], 0);
  55173. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][55], 255);
  55174. PlayerTextDrawFont(playerid, MDC_UI[playerid][55], 2);
  55175. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][55], 1);
  55176. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][55], 0);
  55177. MDC_UI[playerid][56] = CreatePlayerTextDraw(playerid, 237.525588, 282.750030, "~>~_Apply_Charges");
  55178. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][56], 0.205094, 1.069166);
  55179. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][56], 1);
  55180. PlayerTextDrawColor(playerid, MDC_UI[playerid][56], 858993663);
  55181. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][56], 0);
  55182. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][56], 0);
  55183. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][56], 255);
  55184. PlayerTextDrawFont(playerid, MDC_UI[playerid][56], 2);
  55185. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][56], 1);
  55186. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][56], 0);
  55187. MDC_UI[playerid][57] = CreatePlayerTextDraw(playerid, 237.057067, 297.333404, "~>~_Arrest_Record");
  55188. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][57], 0.205094, 1.069166);
  55189. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][57], 1);
  55190. PlayerTextDrawColor(playerid, MDC_UI[playerid][57], 858993663);
  55191. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][57], 0);
  55192. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][57], 0);
  55193. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][57], 255);
  55194. PlayerTextDrawFont(playerid, MDC_UI[playerid][57], 2);
  55195. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][57], 1);
  55196. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][57], 0);
  55197. MDC_UI[playerid][58] = CreatePlayerTextDraw(playerid, 357.935638, 269.333282, "box");
  55198. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][58], 0.000000, 0.816985);
  55199. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][58], 498.000000, 0.000000);
  55200. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][58], 1);
  55201. PlayerTextDrawColor(playerid, MDC_UI[playerid][58], 926035967);
  55202. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][58], 1);
  55203. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][58], 255);
  55204. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][58], 0);
  55205. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][58], 0);
  55206. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][58], 255);
  55207. PlayerTextDrawFont(playerid, MDC_UI[playerid][58], 1);
  55208. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][58], 1);
  55209. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][58], 0);
  55210. MDC_UI[playerid][59] = CreatePlayerTextDraw(playerid, 480.688507, 267.583190, "~y~]~w~_OUTSTANDING_CHARGES_~y~]~w~");
  55211. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][59], 0.184011, 1.115832);
  55212. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][59], 3);
  55213. PlayerTextDrawColor(playerid, MDC_UI[playerid][59], -1);
  55214. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][59], 0);
  55215. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][59], 0);
  55216. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][59], 255);
  55217. PlayerTextDrawFont(playerid, MDC_UI[playerid][59], 2);
  55218. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][59], 1);
  55219. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][59], 0);
  55220. MDC_UI[playerid][60] = CreatePlayerTextDraw(playerid, 356.061431, 279.833221, "-_Rape_x2~n~-_House_Robbery");
  55221. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][60], 0.185885, 0.958333);
  55222. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][60], 1);
  55223. PlayerTextDrawColor(playerid, MDC_UI[playerid][60], 255);
  55224. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][60], 0);
  55225. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][60], 0);
  55226. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][60], 255);
  55227. PlayerTextDrawFont(playerid, MDC_UI[playerid][60], 1);
  55228. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][60], 1);
  55229. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][60], 0);
  55230. MDC_UI[playerid][61] = CreatePlayerTextDraw(playerid, 231.581253, 119.999938, "");
  55231. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][61], 0.000000, 0.000000);
  55232. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][61], 106.000000, 123.000000);
  55233. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][61], 1);
  55234. PlayerTextDrawColor(playerid, MDC_UI[playerid][61], -1);
  55235. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][61], 0);
  55236. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][61], 0);
  55237. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][61], 0);
  55238. PlayerTextDrawFont(playerid, MDC_UI[playerid][61], 5);
  55239. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][61], 0);
  55240. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][61], 0);
  55241. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][61], 560);
  55242. PlayerTextDrawSetPreviewRot(playerid, MDC_UI[playerid][61], 0.000000, 0.000000, 90.000000, 0.899999);
  55243. PlayerTextDrawSetPreviewVehCol(playerid, MDC_UI[playerid][61], 1, 1);
  55244. MDC_UI[playerid][62] = CreatePlayerTextDraw(playerid, 342.474792, 156.166687, "Model:~n~Plate:~n~Owner~n~Impounded");
  55245. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][62], 0.207437, 1.226666);
  55246. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][62], 1);
  55247. PlayerTextDrawColor(playerid, MDC_UI[playerid][62], 858993663);
  55248. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][62], 0);
  55249. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][62], 0);
  55250. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][62], 255);
  55251. PlayerTextDrawFont(playerid, MDC_UI[playerid][62], 2);
  55252. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][62], 1);
  55253. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][62], 0);
  55254. MDC_UI[playerid][63] = CreatePlayerTextDraw(playerid, 420.719268, 156.166748, "Sultan~n~56JHA~n~Offset_Test~n~~g~No");
  55255. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][63], 0.207437, 1.226666);
  55256. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][63], 1);
  55257. PlayerTextDrawColor(playerid, MDC_UI[playerid][63], -2004317953);
  55258. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][63], 0);
  55259. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][63], 0);
  55260. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][63], 255);
  55261. PlayerTextDrawFont(playerid, MDC_UI[playerid][63], 2);
  55262. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][63], 1);
  55263. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][63], 0);
  55264. MDC_UI[playerid][64] = CreatePlayerTextDraw(playerid, 314.363433, 142.750015, "_"); // input_button
  55265. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][64], 0.214933, 1.045833);
  55266. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][64], 1);
  55267. PlayerTextDrawColor(playerid, MDC_UI[playerid][64], 255);
  55268. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][64], 0);
  55269. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][64], 0);
  55270. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][64], 255);
  55271. PlayerTextDrawFont(playerid, MDC_UI[playerid][64], 1);
  55272. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][64], 1);
  55273. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][64], 0);
  55274. MDC_UI[playerid][65] = CreatePlayerTextDraw(playerid, 236.588592, 159.666702, "box");
  55275. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][65], 0.000000, 5.689605);
  55276. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][65], 300.000000, 0.000000);
  55277. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][65], 1);
  55278. PlayerTextDrawColor(playerid, MDC_UI[playerid][65], -1);
  55279. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][65], 1);
  55280. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][65], 255);
  55281. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][65], 0);
  55282. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][65], 0);
  55283. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][65], 255);
  55284. PlayerTextDrawFont(playerid, MDC_UI[playerid][65], 1);
  55285. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][65], 1);
  55286. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][65], 0);
  55287. MDC_UI[playerid][66] = CreatePlayerTextDraw(playerid, 268.448120, 164.916641, "PICTURE~n~NOT~n~AVAILABLE");
  55288. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][66], 0.340966, 1.425000);
  55289. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][66], 2);
  55290. PlayerTextDrawColor(playerid, MDC_UI[playerid][66], -1);
  55291. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][66], 0);
  55292. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][66], 0);
  55293. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][66], 255);
  55294. PlayerTextDrawFont(playerid, MDC_UI[playerid][66], 1);
  55295. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][66], 1);
  55296. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][66], 0);
  55297. MDC_UI[playerid][67] = CreatePlayerTextDraw(playerid, 236.588485, 208.083328, "box");
  55298. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][67], 0.000000, 1.144950);
  55299. PlayerTextDrawTextSize(playerid, MDC_UI[playerid][67], 498.000000, 0.000000);
  55300. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][67], 1);
  55301. PlayerTextDrawColor(playerid, MDC_UI[playerid][67], -1);
  55302. PlayerTextDrawUseBox(playerid, MDC_UI[playerid][67], 1);
  55303. PlayerTextDrawBoxColor(playerid, MDC_UI[playerid][67], -1440602881);
  55304. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][67], 0);
  55305. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][67], 0);
  55306. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][67], 255);
  55307. PlayerTextDrawFont(playerid, MDC_UI[playerid][67], 1);
  55308. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][67], 1);
  55309. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][67], 0);
  55310. MDC_UI[playerid][68] = CreatePlayerTextDraw(playerid, 237.994079, 207.499984, "]_this_vehicle_is_reported_stolen_-_7/FEB/2017");
  55311. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][68], 0.213528, 1.104168);
  55312. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][68], 1);
  55313. PlayerTextDrawColor(playerid, MDC_UI[playerid][68], -1);
  55314. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][68], 0);
  55315. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][68], 0);
  55316. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][68], 255);
  55317. PlayerTextDrawFont(playerid, MDC_UI[playerid][68], 2);
  55318. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][68], 1);
  55319. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][68], 0);
  55320. MDC_UI[playerid][69] = CreatePlayerTextDraw(playerid, 233.777709, 135.750030, "[CARSIGN]_~n~NAME");
  55321. PlayerTextDrawLetterSize(playerid, MDC_UI[playerid][69], 0.208843, 0.993332);
  55322. PlayerTextDrawAlignment(playerid, MDC_UI[playerid][69], 1);
  55323. PlayerTextDrawColor(playerid, MDC_UI[playerid][69], 858993663);
  55324. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][69], 0);
  55325. PlayerTextDrawSetOutline(playerid, MDC_UI[playerid][69], 0);
  55326. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][69], 255);
  55327. PlayerTextDrawFont(playerid, MDC_UI[playerid][69], 1);
  55328. PlayerTextDrawSetProportional(playerid, MDC_UI[playerid][69], 1);
  55329. PlayerTextDrawSetShadow(playerid, MDC_UI[playerid][69], 0);
  55330. }
  55331. ToggleMDC(playerid, bool:SHOW)
  55332. {
  55333. if(SHOW)
  55334. {
  55335. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][35], 858993663);
  55336. PlayerTextDrawColor(playerid, MDC_UI[playerid][39], -1);
  55337. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][10], 858993663);
  55338. PlayerTextDrawColor(playerid, MDC_UI[playerid][16], -1);
  55339. for(new i; i < 35; i ++) PlayerTextDrawShow(playerid, MDC_UI[playerid][i]);
  55340. new sub_str[128], count = 0;
  55341. for(new i = 0; i < GetPlayerPoolSize(); i+=3)
  55342. {
  55343. if(PlayerData[i][pLAWduty])
  55344. {
  55345. count++;
  55346. }
  55347. }
  55348. format(sub_str, 128, "%d~n~%d~n~0", count, warrant_count);
  55349. PlayerTextDrawSetString(playerid, MDC_UI[playerid][28], sub_str);
  55350. format(sub_str, 128, "%d~n~0~n~0", call_count);
  55351. PlayerTextDrawSetString(playerid, MDC_UI[playerid][30], sub_str);
  55352. }
  55353. else
  55354. {
  55355. for(new i; i < 70; i ++) PlayerTextDrawHide(playerid, MDC_UI[playerid][i]);
  55356. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][36], -1431655681);
  55357. PlayerTextDrawColor(playerid, MDC_UI[playerid][40], 858993663);
  55358. for(new x = 10; x < 16; x ++)
  55359. {
  55360. PlayerTextDrawBackgroundColor(playerid, MDC_UI[playerid][x], -1431655681);
  55361. PlayerTextDrawColor(playerid, MDC_UI[playerid][x+6], 858993663);
  55362. }
  55363. SetPVarInt(playerid, "Query_Mode", 0);
  55364. SetPVarInt(playerid, "UsingMDC", 0);
  55365. }
  55366. return 1;
  55367. }
  55368. Server:OnMDCRecordSearch(playerid, type)
  55369. {
  55370. new query[255];
  55371. switch(type)
  55372. {
  55373. case 1: //Name search;
  55374. {
  55375. if(!ReturnDBIDFromName(PlayerMDCName[playerid]))
  55376. {
  55377. return PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], "NO_SUCH_DATA..");
  55378. }
  55379. mysql_format(m_Handle, query, sizeof(query), "SELECT LastSeen, char_dbid, PrisonSkin, pPhone, pActiveListings, pPrisonTimes, pJailTimes, pDriversLicense, pWeaponsLicense FROM characters WHERE char_dbid = %i", ReturnDBIDFromName(PlayerMDCName[playerid]));
  55380. mysql_tquery(m_Handle, query, "OnMDCNameFound", "i", playerid);
  55381. }
  55382. case 2: //Plate search;
  55383. {
  55384. mysql_format(m_Handle, query, sizeof(query), "SELECT VehiclePlates FROM vehicles WHERE VehiclePlates LIKE '%%%e%%' LIMIT 5", PlayerMDCName[playerid]);
  55385. mysql_tquery(m_Handle, query, "OnMDCPlate", "i", playerid);
  55386. return 1;
  55387. }
  55388. }
  55389. return 1;
  55390. }
  55391. Server:OnMDCPlate(playerid)
  55392. {
  55393. if(!cache_num_rows())
  55394. {
  55395. for(new i = 0; i < 5; i++) PlayerPlateSaver[playerid][i] = "";
  55396. PlayerMDCName[playerid] = "";
  55397. return PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], "~r~NO_SUCH_DATA..");
  55398. }
  55399. new rows, fields, str[128];
  55400. cache_get_row_count(rows), cache_get_field_count(fields);
  55401. for(new i = 0; i < rows; i++)
  55402. {
  55403. cache_get_value_name(i, "VehiclePlates", PlayerPlateSaver[playerid][i], 20);
  55404. }
  55405. for(new i = 0; i < 5; i++)
  55406. {
  55407. if(!isnull(PlayerPlateSaver[playerid][i]))
  55408. {
  55409. format(str, sizeof(str), "%s%s\n", str, PlayerPlateSaver[playerid][i]);
  55410. }
  55411. }
  55412. ShowPlayerDialog(playerid, DIALOG_MDC_PLATE_LIST, DIALOG_STYLE_LIST, "Plate Search - MDC", str, "Select", "<<");
  55413. return 1;
  55414. }
  55415. Server:OnPlateSelect(playerid, listitem)
  55416. {
  55417. new rows, fields;
  55418. cache_get_row_count(rows);
  55419. cache_get_field_count(fields);
  55420. new
  55421. model,
  55422. owner,
  55423. impounded,
  55424. sub_str[64],
  55425. stolen,
  55426. primary_str[200];
  55427. model = cache_get_value_name_int(0, "VehicleModel", model);
  55428. owner = cache_get_value_name_int(0, "VehicleOwnerDBID", owner);
  55429. impounded = bool:cache_get_value_name_int(0, "VehicleImpounded", impounded);
  55430. stolen = bool:cache_get_value_name_int(0, "VehicleStolen", stolen);
  55431. PlayerTextDrawHide(playerid, MDC_UI[playerid][65]);
  55432. PlayerTextDrawHide(playerid, MDC_UI[playerid][66]);
  55433. if(stolen)
  55434. {
  55435. PlayerTextDrawShow(playerid, MDC_UI[playerid][67]);
  55436. PlayerTextDrawShow(playerid, MDC_UI[playerid][68]);
  55437. new year, month, day, MonthStr[16], str[64];
  55438. getdate(year, month, day);
  55439. switch(month)
  55440. {
  55441. case 1: MonthStr = "Jan";
  55442. case 2: MonthStr = "Feb";
  55443. case 3: MonthStr = "Mar";
  55444. case 4: MonthStr = "Apr";
  55445. case 5: MonthStr = "May";
  55446. case 6: MonthStr = "Jun";
  55447. case 7: MonthStr = "Jul";
  55448. case 8: MonthStr = "Aug";
  55449. case 9: MonthStr = "Sep";
  55450. case 10: MonthStr = "Oct";
  55451. case 11: MonthStr = "Nov";
  55452. case 12: MonthStr = "Dec";
  55453. }
  55454. format(str, sizeof str, "_NOTE(s):_Vehicle_reported_stolen_-_%d/%s/%d", day, MonthStr, year);
  55455. PlayerTextDrawSetString(playerid, MDC_UI[playerid][68], "_NOTE(s):_Vehicle_reported_stolen");
  55456. }
  55457. for(new x = 16; x < 22; x ++)
  55458. {
  55459. PlayerTextDrawShow(playerid, MDC_UI[playerid][x]);
  55460. }
  55461. for(new x = 42; x < 61; x ++)
  55462. {
  55463. PlayerTextDrawHide(playerid, MDC_UI[playerid][x]);
  55464. }
  55465. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][61], model);
  55466. format(primary_str, sizeof primary_str, "%s~n~%s~n~%s~n~~g~%s", ReturnVehicleModelName(model), PlayerPlateSaver[playerid][listitem], ReturnDBIDName(owner), (impounded) ? ("Yes") : ("No"));
  55467. PlayerTextDrawSetString(playerid, MDC_UI[playerid][63], primary_str);
  55468. format(sub_str, sizeof sub_str, "%s", PlayerPlateSaver[playerid][listitem]);
  55469. PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], sub_str);
  55470. for(new x = 61; x < 64; x ++)
  55471. {
  55472. PlayerTextDrawHide(playerid, MDC_UI[playerid][x]);
  55473. PlayerTextDrawShow(playerid, MDC_UI[playerid][x]);
  55474. }
  55475. return 1;
  55476. }
  55477. Server:OnMDCNameFound(playerid)
  55478. {
  55479. new rows, fields;
  55480. cache_get_row_count(rows);
  55481. cache_get_field_count(fields);
  55482. new
  55483. primary_str[300],
  55484. sub_str[128],
  55485. str[128],
  55486. active_listing,
  55487. jail_times,
  55488. skin,
  55489. dlic,
  55490. wlic,
  55491. charid,
  55492. phone_number,
  55493. prison_times,
  55494. list[256],
  55495. last_seen[28],
  55496. query[128];
  55497. phone_number = cache_get_value_name_int(0, "pPhone", phone_number);
  55498. active_listing = cache_get_value_name_int(0, "pActiveListings", active_listing);
  55499. jail_times = cache_get_value_name_int(0, "pJailTimes", jail_times);
  55500. prison_times = cache_get_value_name_int(0, "pPrisonTimes", prison_times);
  55501. dlic = cache_get_value_name_int(0, "pDriversLicense", dlic);
  55502. wlic = cache_get_value_name_int(0, "pWeaponsLicense", wlic);
  55503. skin = cache_get_value_name_int(0, "PrisonSkin", skin);
  55504. charid = cache_get_value_name_int(0, "char_dbid", charid);
  55505. cache_get_value_name(0, "LastSeen", last_seen, 28);
  55506. if(!skin)
  55507. {
  55508. PlayerTextDrawShow(playerid, MDC_UI[playerid][65]);
  55509. PlayerTextDrawShow(playerid, MDC_UI[playerid][66]);
  55510. }
  55511. format(str, sizeof str, "%s", PlayerMDCName[playerid]);
  55512. PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], str);
  55513. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][42], skin);
  55514. for(new x = 35; x < 61; x ++)
  55515. {
  55516. PlayerTextDrawHide(playerid, MDC_UI[playerid][x]);
  55517. PlayerTextDrawShow(playerid, MDC_UI[playerid][x]);
  55518. }
  55519. if(jail_times > 0)
  55520. {
  55521. format(list, sizeof(list), "%s~n~%s~n~%d~n~%d_jail_sentences.~n~%s_%s", PlayerMDCName[playerid], last_seen, phone_number, jail_times, (wlic) ? ("Weapons_License") : ("None_(PF/CCW)"), (dlic) ? ("Driver's_License") : ("None_(DL)"));
  55522. PlayerTextDrawSetString(playerid, MDC_UI[playerid][45], list);
  55523. }
  55524. else if(prison_times > 0)
  55525. {
  55526. format(list, sizeof(list), "%s~n~%s~n~%d~n~%d_prison_sentences.~n~%s_%s", PlayerMDCName[playerid], last_seen, phone_number, prison_times, (wlic) ? ("Weapons_License") : ("None_(PF/CCW)"), (dlic) ? ("Driver's_License") : ("None_(DL)"));
  55527. PlayerTextDrawSetString(playerid, MDC_UI[playerid][45], list);
  55528. }
  55529. else if(prison_times > 0 && jail_times > 0)
  55530. {
  55531. format(list, sizeof(list), "%s~n~%s~n~%d~n~%d_jail_sentences,_%d_prison_sentences.~n~%s_%s", PlayerMDCName[playerid], last_seen, phone_number, jail_times, prison_times, (wlic) ? ("Weapons_License") : ("None_(PF/CCW)"), (dlic) ? ("Driver's_License") : ("None_(DL)"));
  55532. PlayerTextDrawSetString(playerid, MDC_UI[playerid][45], list);
  55533. }
  55534. else
  55535. {
  55536. format(list, sizeof(list), "%s~n~%s~n~%d~n~None~n~%s_%s", PlayerMDCName[playerid], last_seen, phone_number, (wlic) ? ("Weapons_License") : ("None_(PF/CCW)"), (dlic) ? ("Driver's_License") : ("None_(DL)"));
  55537. PlayerTextDrawSetString(playerid, MDC_UI[playerid][45], list);
  55538. }
  55539. PlayerTextDrawHide(playerid, MDC_UI[playerid][44]);
  55540. PlayerTextDrawShow(playerid, MDC_UI[playerid][44]);
  55541. if(active_listing > 0)
  55542. {
  55543. PlayerTextDrawSetString(playerid, MDC_UI[playerid][49], "]_This_Person_is_linked_to_a_warrant!_click_here_for_info");
  55544. }
  55545. else
  55546. {
  55547. PlayerTextDrawSetString(playerid, MDC_UI[playerid][49], "]_This_Person_has_no_warrants.");
  55548. }
  55549. mysql_format(m_Handle, query, sizeof(query), "SELECT * FROM properties WHERE PropertyOwnerDBID = %d", charid);
  55550. new Cache:house_cache = mysql_query(m_Handle, query);
  55551. if(!cache_num_rows())
  55552. {
  55553. PlayerTextDrawSetString(playerid, MDC_UI[playerid][47], "]_This_Person_has_no_registered_properties.");
  55554. }
  55555. else
  55556. {
  55557. static getHouse[32];
  55558. format(getHouse, 32, "]_This_Person_has_%d_addresse(s),_click_here_for_a_list!", cache_num_rows());
  55559. PlayerTextDrawSetString(playerid, MDC_UI[playerid][47], getHouse);
  55560. }
  55561. cache_delete(house_cache);
  55562. mysql_format(m_Handle, query, sizeof(query), "SELECT charge_reason FROM criminal_record WHERE player_name = '%e' ORDER BY idx DESC", PlayerMDCName[playerid]);
  55563. new Cache:cache = mysql_query(m_Handle, query);
  55564. new record[128];
  55565. if(!cache_num_rows())
  55566. primary_str = "~g~NO_CHARGES_FOUND.";
  55567. else
  55568. {
  55569. for(new i = 0; i < cache_num_rows(); i++)
  55570. {
  55571. cache_get_value_name(i, "charge_reason", record);
  55572. format(sub_str, sizeof(sub_str), "-_%s~n~", record);
  55573. strcat(primary_str, sub_str);
  55574. }
  55575. }
  55576. PlayerTextDrawSetString(playerid, MDC_UI[playerid][60], primary_str);
  55577. cache_delete(cache);
  55578. return 1;
  55579. }
  55580. UpdateMDC(playerid, page)
  55581. {
  55582. new str[128];
  55583. switch(page)
  55584. {
  55585. case 0:
  55586. {
  55587. for(new x = 35; x < 42; x ++)
  55588. {
  55589. PlayerTextDrawHide(playerid, MDC_UI[playerid][x]);
  55590. }
  55591. for(new i = 23; i < 35; i ++)
  55592. {
  55593. PlayerTextDrawShow(playerid, MDC_UI[playerid][i]);
  55594. }
  55595. PlayerTextDrawSetPreviewModel(playerid, MDC_UI[playerid][23], GetPlayerSkin(playerid));
  55596. format(str, sizeof(str), "%s_%s", ReturnRank(playerid), ReturnName(playerid));
  55597. PlayerTextDrawSetString(playerid, MDC_UI[playerid][26], str);
  55598. PlayerTextDrawHide(playerid, MDC_UI[playerid][23]);
  55599. PlayerTextDrawShow(playerid, MDC_UI[playerid][23]);
  55600. PlayerTextDrawHide(playerid, MDC_UI[playerid][64]);
  55601. PlayerTextDrawHide(playerid, MDC_UI[playerid][65]);
  55602. PlayerTextDrawHide(playerid, MDC_UI[playerid][66]);
  55603. }
  55604. case 1:
  55605. {
  55606. PlayerTextDrawHide(playerid, MDC_UI[playerid][65]);
  55607. PlayerTextDrawHide(playerid, MDC_UI[playerid][66]);
  55608. for(new i = 23; i < 35; i ++)
  55609. {
  55610. PlayerTextDrawHide(playerid, MDC_UI[playerid][i]);
  55611. }
  55612. for(new x = 35; x < 42; x ++)
  55613. {
  55614. PlayerTextDrawShow(playerid, MDC_UI[playerid][x]);
  55615. }
  55616. PlayerTextDrawShow(playerid, MDC_UI[playerid][64]);
  55617. }
  55618. case 2:
  55619. {
  55620. }
  55621. case 3:
  55622. {
  55623. new primary_str[256], sub_str[128], count = 0;
  55624. for(new i = 0; i < GetPlayerPoolSize(); i+=3)
  55625. {
  55626. if(PlayerData[i][pLAWduty])
  55627. {
  55628. format(sub_str, sizeof(sub_str), "(Unit_%i):_%s_%s_%s_%s~n~", i-2, ReturnName(i), ReturnName(i+1), ReturnName(i+2), ReturnName(i+3));
  55629. strcat(primary_str, sub_str);
  55630. count ++;
  55631. }
  55632. }
  55633. if(!count) return PlayerTextDrawSetString(playerid, MDC_UI[playerid][69], "~r~There's no-one that registered to any callsigns..");
  55634. PlayerTextDrawSetString(playerid, MDC_UI[playerid][69], primary_str);
  55635. PlayerTextDrawShow(playerid, MDC_UI[playerid][69]);
  55636. // list onduty cops
  55637. }
  55638. case 4:
  55639. {
  55640. }
  55641. case 5:
  55642. {
  55643. }
  55644. }
  55645. format(str, sizeof(str), "%s", ReturnPage(page));
  55646. PlayerTextDrawSetString(playerid, MDC_UI[playerid][8], str);
  55647. format(str, sizeof(str), "%s", ReturnName(playerid));
  55648. PlayerTextDrawSetString(playerid, MDC_UI[playerid][9], str);
  55649. return 1;
  55650. }
  55651. ReturnPage(page)
  55652. {
  55653. new str[64];
  55654. switch(page)
  55655. {
  55656. case 0: str = "Los_Santos_Police_Department_-_www.lspd.gov.us";
  55657. case 1: str = "POLICE_~>~_Look-Up";
  55658. case 2: str = "POLICE_~>~_Emergency";
  55659. case 3: str = "POLICE_~>~_Roster";
  55660. case 4: str = "POLICE_~>~_Records_DB";
  55661. case 5: str = "POLICE_~>~_CCTV";
  55662. }
  55663. return str;
  55664. }
  55665. Server:OnMDCSearch(playerid, type)
  55666. {
  55667. new str[60];
  55668. PlayerMDCCount[playerid]++;
  55669. switch(PlayerMDCCount[playerid])
  55670. {
  55671. case 1: str = "Searching..";
  55672. case 2: str = "Searching.";
  55673. case 3: str = "Searching..";
  55674. case 4: str = "Searching...";
  55675. case 5:
  55676. {
  55677. KillTimer(PlayerMDCTimer[playerid]);
  55678. PlayerMDCCount[playerid] = 0;
  55679. OnMDCRecordSearch(playerid, type);
  55680. return 1;
  55681. }
  55682. }
  55683. PlayerTextDrawSetString(playerid, MDC_UI[playerid][64], str);
  55684. return 1;
  55685. }
  55686. stock showMDCLayout(playerid, bool:show)
  55687. {
  55688. if(show)
  55689. {
  55690. for(new i; i < 19; i ++) PlayerTextDrawShow(playerid, MDC_Layout[playerid][i]);
  55691. SetPVarInt(playerid, "MDCLayout", 1);
  55692. SelectTextDraw(playerid, COLOR_GREY);
  55693. SendClientMessage(playerid, COLOR_DARKGREEN, "ACCESSED:{FFFFFF} You can hold RMB and press Left Alt to re-active the cursor.");
  55694. }
  55695. else
  55696. {
  55697. CancelSelectTextDraw(playerid);
  55698. for(new i; i < 19; i ++) PlayerTextDrawHide(playerid, MDC_Layout[playerid][i]);
  55699. SetPVarInt(playerid, "MDCLayout", 0);
  55700. }
  55701. return 1;
  55702. }
  55703. stock ReturnDBIDFromName(name[])
  55704. {
  55705. new checkQuery[128], dbid;
  55706. mysql_format(m_Handle, checkQuery, sizeof(checkQuery), "SELECT char_dbid FROM characters WHERE char_name = '%e'", name);
  55707. new Cache:cache = mysql_query(m_Handle, checkQuery);
  55708. if(!cache_num_rows())
  55709. {
  55710. cache_delete(cache);
  55711. return 0;
  55712. }
  55713. cache_get_value_name_int(0, "char_dbid", dbid);
  55714. cache_delete(cache);
  55715. return dbid;
  55716. }
  55717. stock ReturnDBIDName(dbid)
  55718. {
  55719. new query[120], returnString[60];
  55720. mysql_format(m_Handle, query, sizeof(query), "SELECT char_name FROM characters WHERE char_dbid = %i", dbid);
  55721. new Cache:cache = mysql_query(m_Handle, query);
  55722. if(!cache_num_rows())
  55723. returnString = "None";
  55724. else
  55725. cache_get_value_name(0, "char_name", returnString);
  55726. cache_delete(cache);
  55727. return returnString;
  55728. } // Sloth was here.
  55729. forward OnCheatDetected(playerid, ip_address[], type, code);
  55730. public OnCheatDetected(playerid, ip_address[], type, code) {
  55731. if (PlayerData[playerid][pAdminDuty]) return 1;
  55732. switch (code) {
  55733. case 41: return 1;
  55734. case 0: {
  55735. adminWarn(1, sprintf("%s (id: %d) is likely airbreaking on foot!", ReturnName(playerid, 1), playerid));
  55736. }
  55737. case 1: {
  55738. adminWarn(1, sprintf("%s (id: %d) is likely airbreaking in vehicle!", ReturnName(playerid, 1), playerid));
  55739. }
  55740. case 23: {
  55741. adminWarn(1, sprintf("%s (id: %d) is likely using vehicle tuning hacks!", ReturnName(playerid, 1), playerid));
  55742. }
  55743. case 24: {
  55744. adminWarn(1, sprintf("%s (id: %d) is likely using parkour mods!", ReturnName(playerid, 1), playerid));
  55745. }
  55746. case 26: {
  55747. adminWarn(1, sprintf("%s (id: %d) is likely using rapid fire mods!", ReturnName(playerid, 1), playerid));
  55748. }
  55749. case 29: {
  55750. adminWarn(1, sprintf("%s (id: %d) is likely using pro aim aimbot!", ReturnName(playerid, 1), playerid));
  55751. }
  55752. }
  55753. return 1;
  55754. }
  55755. #include "phone/phone.pwn"
  55756. #include "maps/maps.pwn"
  55757. //#include "misc/skins.pwn"
  55758. //#include "jobs/jobs.pwn"
  55759. //#include "registration/registration.pwn"