| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658 |
- /*
- /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$
- | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$
- | $$$$| $$| $$ \__/ | $$ \ $$| $$ \ $$
- | $$ $$ $$| $$ /$$$$ /$$$$$$| $$$$$$$/| $$$$$$$/
- | $$ $$$$| $$|_ $$|______/| $$__ $$| $$____/
- | $$\ $$$| $$ \ $$ | $$ \ $$| $$
- | $$ \ $$| $$$$$$/ | $$ | $$| $$
- |__/ \__/ \______/ |__/ |__/|__/
- Dynamic Group Core
- Next Generation Gaming, LLC
- (created by Next Generation Gaming Development Team)
- * Copyright (c) 2016, Next Generation Gaming, LLC
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are not permitted in any case.
- *
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- #include <YSI\y_hooks>
- Group_DisbandGroup(iGroupID) {
- new
- i = 0,
- szQuery[128];
- arrGroupData[iGroupID][g_iAllegiance] = 0;
- arrGroupData[iGroupID][g_iBugAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iFindAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iRadioAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iDeptRadioAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iIntRadioAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iGovAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iTreasuryAccess] = INVALID_RANK;
- arrGroupData[iGroupID][g_iFreeNameChange] = INVALID_RANK;
- arrGroupData[iGroupID][g_iFreeNameChangeDiv] = INVALID_DIVISION;
- arrGroupData[iGroupID][g_iSpikeStrips] = INVALID_RANK;
- arrGroupData[iGroupID][g_iBarricades] = INVALID_RANK;
- arrGroupData[iGroupID][g_iCones] = INVALID_RANK;
- arrGroupData[iGroupID][g_iFlares] = INVALID_RANK;
- arrGroupData[iGroupID][g_iBarrels] = INVALID_RANK;
- arrGroupData[iGroupID][g_iLadders] = INVALID_RANK;
- arrGroupData[iGroupID][g_iTapes] = INVALID_RANK;
- arrGroupData[iGroupID][g_iBudget] = 0;
- arrGroupData[iGroupID][g_iBudgetPayment] = 0;
- arrGroupData[iGroupID][g_fCratePos][0] = 0;
- arrGroupData[iGroupID][g_fCratePos][1] = 0;
- arrGroupData[iGroupID][g_fCratePos][2] = 0;
- arrGroupData[iGroupID][g_szGroupName][0] = 0;
- arrGroupData[iGroupID][g_hDutyColour] = 0xFFFFFF;
- arrGroupData[iGroupID][g_hRadioColour] = 0xFFFFFF;
- arrGroupData[iGroupID][g_iMemberCount] = 0;
- arrGroupData[iGroupID][g_iGroupToyID] = 0;
- arrGroupData[iGroupID][g_iMaterials] = 0;
- arrGroupData[iGroupID][g_iDrugs][0] = 0;
- arrGroupData[iGroupID][g_iDrugs][1] = 0;
- arrGroupData[iGroupID][g_iDrugs][2] = 0;
- arrGroupData[iGroupID][g_iDrugs][3] = 0;
- arrGroupData[iGroupID][g_iDrugs][4] = 0;
- szMiscArray[0] = 0;
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `gWeaponsNew` SET `1` = '0'");
- for(new x = 2; x < 47; x++) format(szMiscArray, sizeof(szMiscArray), "%s, `%d` = '0'", szMiscArray, x);
- mysql_format(MainPipeline, szMiscArray, sizeof(szMiscArray), "%s WHERE `id` = '%d'", szMiscArray, iGroupID + 1);
- mysql_tquery(MainPipeline, szMiscArray, "OnQueryFinish", "ii", SENDDATA_THREAD, iGroupID);
- DestroyDynamic3DTextLabel(arrGroupData[iGroupID][g_tCrate3DLabel]);
- while(i < MAX_GROUP_DIVS) {
- arrGroupDivisions[iGroupID][i++][0] = 0;
- }
- i = 0;
- while(i < MAX_GROUP_RANKS) {
- arrGroupRanks[iGroupID][i][0] = 0;
- arrGroupData[iGroupID][g_iPaycheck][i++] = 0;
- }
- i = 0;
- while(i < MAX_GROUP_WEAPONS) {
- arrGroupData[iGroupID][g_iLockerGuns][i] = 0;
- arrGroupData[iGroupID][g_iLockerCost][i++] = 0;
- }
- i = 0;
- while(i < MAX_GROUP_LOCKERS) {
- DestroyDynamic3DTextLabel(arrGroupLockers[iGroupID][i][g_tLocker3DLabel]);
- arrGroupLockers[iGroupID][i][g_fLockerPos][0] = 0.0;
- arrGroupLockers[iGroupID][i][g_fLockerPos][1] = 0.0;
- arrGroupLockers[iGroupID][i][g_fLockerPos][2] = 0.0;
- arrGroupData[iGroupID][g_iLockerGuns][i] = 0;
- arrGroupData[iGroupID][g_iLockerCost][i++] = 0;
- }
- SaveGroup(iGroupID);
- for(new x; x < MAX_DYNAMIC_VEHICLES; x++)
- {
- if(DynVehicleInfo[x][gv_igID] != INVALID_GROUP_ID && DynVehicleInfo[x][gv_igID] == iGroupID)
- {
- DynVehicleInfo[x][gv_iModel] = 0;
- DynVehicleObjInfo[x][0][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleObjInfo[x][1][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleObjInfo[x][2][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleObjInfo[x][3][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleInfo[x][gv_igID] = INVALID_GROUP_ID;
- DynVehicleInfo[x][gv_igDivID] = 0;
- DynVehicleInfo[x][gv_fMaxHealth] = 1000;
- DynVehicleInfo[x][gv_iUpkeep] = 0;
- DynVehicleInfo[x][gv_iSiren] = 0;
- DynVeh_Save(x);
- DynVeh_Spawn(x);
- }
- }
- foreach(new x: Player)
- {
- if(PlayerInfo[x][pMember] == iGroupID || PlayerInfo[x][pLeader] == iGroupID) {
- SendClientMessageEx(x, COLOR_WHITE, "Your group has been disbanded by an administrator. All members have been automatically removed.");
- PlayerInfo[x][pLeader] = INVALID_GROUP_ID;
- PlayerInfo[x][pMember] = INVALID_GROUP_ID;
- PlayerInfo[x][pRank] = INVALID_RANK;
- PlayerInfo[x][pDivision] = INVALID_DIVISION;
- strcpy(PlayerInfo[x][pBadge], "None", 9);
- }
- if (PlayerInfo[x][pBugged] == iGroupID) PlayerInfo[x][pBugged] = INVALID_GROUP_ID;
- }
- mysql_format(MainPipeline, szQuery, sizeof szQuery, "DELETE FROM `groupbans` WHERE `GroupBan` = %i", iGroupID);
- mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, iGroupID+1);
- mysql_format(MainPipeline, szQuery, sizeof szQuery, "UPDATE `accounts` SET `Member` = "#INVALID_GROUP_ID", `Leader` = "#INVALID_GROUP_ID", `Division` = "#INVALID_DIVISION", `Rank` = "#INVALID_RANK" WHERE `Member` = %i OR `Leader` = %i", iGroupID, iGroupID);
- return mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, iGroupID);
- }
- forward SaveGroup(iGroupID);
- public SaveGroup(iGroupID) {
- if(!(0 <= iGroupID < MAX_GROUPS)) return 1;
- szMiscArray[0] = 0;
- new query[2048], i;
- format(query, 2048, "UPDATE `groups` SET ");
- //SaveString(query, "groups", iGroupID+1, "CLICKME", CLICKME);
- //SaveInteger(query, "groups", iGroupID+1, "CLICKME", CLICKME);
- //SaveFloat(query, "groups", iGroupID+1, "CLICKME", CLICKME);
- SaveInteger(query, "groups", iGroupID+1, "Type", arrGroupData[iGroupID][g_iGroupType]);
- SaveString(query, "groups", iGroupID+1, "Name", arrGroupData[iGroupID][g_szGroupName]);
- SaveString(query, "groups", iGroupID+1, "MOTD", gMOTD[iGroupID][0]);
- SaveString(query, "groups", iGroupID+1, "MOTD2", gMOTD[iGroupID][1]);
- SaveString(query, "groups", iGroupID+1, "MOTD3", gMOTD[iGroupID][2]);
- SaveInteger(query, "groups", iGroupID+1, "Allegiance", arrGroupData[iGroupID][g_iAllegiance]);
- SaveInteger(query, "groups", iGroupID+1, "Bug", arrGroupData[iGroupID][g_iBugAccess]);
- SaveInteger(query, "groups", iGroupID+1, "Find", arrGroupData[iGroupID][g_iFindAccess]);
- SaveInteger(query, "groups", iGroupID+1, "Radio", arrGroupData[iGroupID][g_iRadioAccess]);
- SaveInteger(query, "groups", iGroupID+1, "DeptRadio", arrGroupData[iGroupID][g_iDeptRadioAccess]);
- SaveInteger(query, "groups", iGroupID+1, "IntRadio", arrGroupData[iGroupID][g_iIntRadioAccess]);
- SaveInteger(query, "groups", iGroupID+1, "GovAnnouncement", arrGroupData[iGroupID][g_iGovAccess]);
- SaveInteger(query, "groups", iGroupID+1, "TreasuryAccess", arrGroupData[iGroupID][g_iTreasuryAccess]);
- SaveInteger(query, "groups", iGroupID+1, "FreeNameChange", arrGroupData[iGroupID][g_iFreeNameChange]);
- SaveInteger(query, "groups", iGroupID+1, "FreeNameChangeDiv", arrGroupData[iGroupID][g_iFreeNameChangeDiv]);
- SaveInteger(query, "groups", iGroupID+1, "DutyColour", arrGroupData[iGroupID][g_hDutyColour]);
- SaveInteger(query, "groups", iGroupID+1, "RadioColour", arrGroupData[iGroupID][g_hRadioColour]);
- SaveInteger(query, "groups", iGroupID+1, "Stock", arrGroupData[iGroupID][g_iLockerStock]);
- SaveFloat(query, "groups", iGroupID+1, "CrateX", arrGroupData[iGroupID][g_fCratePos][0]);
- SaveFloat(query, "groups", iGroupID+1, "CrateY", arrGroupData[iGroupID][g_fCratePos][1]);
- SaveFloat(query, "groups", iGroupID+1, "CrateZ", arrGroupData[iGroupID][g_fCratePos][2]);
- SaveInteger(query, "groups", iGroupID+1, "SpikeStrips", arrGroupData[iGroupID][g_iSpikeStrips]);
- SaveInteger(query, "groups", iGroupID+1, "Barricades", arrGroupData[iGroupID][g_iBarricades]);
- SaveInteger(query, "groups", iGroupID+1, "Cones", arrGroupData[iGroupID][g_iCones]);
- SaveInteger(query, "groups", iGroupID+1, "Flares", arrGroupData[iGroupID][g_iFlares]);
- SaveInteger(query, "groups", iGroupID+1, "Barrels", arrGroupData[iGroupID][g_iBarrels]);
- SaveInteger(query, "groups", iGroupID+1, "Ladders", arrGroupData[iGroupID][g_iLadders]);
- SaveInteger(query, "groups", iGroupID+1, "Tapes", arrGroupData[iGroupID][g_iTapes]);
- SaveInteger(query, "groups", iGroupID+1, "Budget", arrGroupData[iGroupID][g_iBudget]);
- SaveInteger(query, "groups", iGroupID+1, "BudgetPayment", arrGroupData[iGroupID][g_iBudgetPayment]);
- SaveInteger(query, "groups", iGroupID+1, "LockerCostType", arrGroupData[iGroupID][g_iLockerCostType]);
- SaveInteger(query, "groups", iGroupID+1, "CratesOrder", arrGroupData[iGroupID][g_iCratesOrder]);
- SaveInteger(query, "groups", iGroupID+1, "CrateIsland", arrGroupData[iGroupID][g_iCrateIsland]);
- SaveFloat(query, "groups", iGroupID+1, "GarageX", arrGroupData[iGroupID][g_fGaragePos][0]);
- SaveFloat(query, "groups", iGroupID+1, "GarageY", arrGroupData[iGroupID][g_fGaragePos][1]);
- SaveFloat(query, "groups", iGroupID+1, "GarageZ", arrGroupData[iGroupID][g_fGaragePos][2]);
- SaveInteger(query, "groups", iGroupID+1, "TackleAccess", arrGroupData[iGroupID][g_iTackleAccess]);
- SaveInteger(query, "groups", iGroupID+1, "WheelClamps", arrGroupData[iGroupID][g_iWheelClamps]);
- SaveInteger(query, "groups", iGroupID+1, "DoCAccess", arrGroupData[iGroupID][g_iDoCAccess]);
- SaveInteger(query, "groups", iGroupID+1, "MedicAccess", arrGroupData[iGroupID][g_iMedicAccess]);
- SaveInteger(query, "groups", iGroupID+1, "DMVAccess", arrGroupData[iGroupID][g_iDMVAccess]);
- SaveInteger(query, "groups", iGroupID+1, "TempNum", arrGroupData[iGroupID][gTempNum]);
- SaveInteger(query, "groups", iGroupID+1, "LEOArrest", arrGroupData[iGroupID][gLEOArrest]);
- SaveInteger(query, "groups", iGroupID+1, "OOCChat", arrGroupData[iGroupID][g_iOOCChat]);
- SaveInteger(query, "groups", iGroupID+1, "OOCColor", arrGroupData[iGroupID][g_hOOCColor]);
- SaveInteger(query, "groups", iGroupID+1, "Pot", arrGroupData[iGroupID][g_iDrugs][0]);
- SaveInteger(query, "groups", iGroupID+1, "Crack", arrGroupData[iGroupID][g_iDrugs][1]);
- SaveInteger(query, "groups", iGroupID+1, "Heroin", arrGroupData[iGroupID][g_iDrugs][4]);
- SaveInteger(query, "groups", iGroupID+1, "Syringes", arrGroupData[iGroupID][g_iSyringes]);
- SaveInteger(query, "groups", iGroupID+1, "Ecstasy", arrGroupData[iGroupID][g_iDrugs][3]);
- SaveInteger(query, "groups", iGroupID+1, "Meth", arrGroupData[iGroupID][g_iDrugs][2]);
- SaveInteger(query, "groups", iGroupID+1, "Mats", arrGroupData[iGroupID][g_iMaterials]);
- SaveInteger(query, "groups", iGroupID+1, "TurfCapRank", arrGroupData[iGroupID][g_iTurfCapRank]);
- SaveInteger(query, "groups", iGroupID+1, "PointCapRank", arrGroupData[iGroupID][g_iPointCapRank]);
- SaveInteger(query, "groups", iGroupID+1, "WithdrawRank", arrGroupData[iGroupID][g_iWithdrawRank][0]);
- SaveInteger(query, "groups", iGroupID+1, "WithdrawRank2", arrGroupData[iGroupID][g_iWithdrawRank][1]);
- SaveInteger(query, "groups", iGroupID+1, "WithdrawRank3", arrGroupData[iGroupID][g_iWithdrawRank][2]);
- SaveInteger(query, "groups", iGroupID+1, "WithdrawRank4", arrGroupData[iGroupID][g_iWithdrawRank][3]);
- SaveInteger(query, "groups", iGroupID+1, "WithdrawRank5", arrGroupData[iGroupID][g_iWithdrawRank][4]);
- SaveInteger(query, "groups", iGroupID+1, "Tokens", arrGroupData[iGroupID][g_iTurfTokens]);
- SaveInteger(query, "groups", iGroupID+1, "CrimeType", arrGroupData[iGroupID][g_iCrimeType]);
- SaveInteger(query, "groups", iGroupID+1, "GroupToyID", arrGroupData[iGroupID][g_iGroupToyID]);
- SaveInteger(query, "groups", iGroupID+1, "TurfTax", arrGroupData[iGroupID][g_iTurfTax]);
- for(i = 0; i != MAX_GROUP_RIVALS; ++i) {
- format(szMiscArray, sizeof(szMiscArray), "gRival%i", i);
- SaveString(query, "groups", iGroupID+1, szMiscArray, arrGroupData[iGroupID][g_iRivals][i]);
- }
- for(i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szMiscArray, sizeof(szMiscArray), "GClothes%i", i);
- SaveInteger(query, "groups", iGroupID+1, szMiscArray, arrGroupData[iGroupID][g_iClothes][i]);
- format(szMiscArray, sizeof(szMiscArray), "Rank%i", i);
- SaveString(query, "groups", iGroupID+1, szMiscArray, arrGroupRanks[iGroupID][i]);
- format(szMiscArray, sizeof(szMiscArray), "Rank%iPay", i);
- SaveInteger(query, "groups", iGroupID+1, szMiscArray, arrGroupData[iGroupID][g_iPaycheck][i]);
- }
- for(i = 0; i != MAX_GROUP_DIVS; ++i) {
- format(szMiscArray, sizeof(szMiscArray), "Div%i", i+1);
- SaveString(query, "groups", iGroupID+1, szMiscArray, arrGroupDivisions[iGroupID][i]);
- }
- for(i = 0; i != MAX_GROUP_WEAPONS; ++i) {
- format(szMiscArray, sizeof(szMiscArray), "Gun%i", i+1);
- SaveInteger(query, "groups", iGroupID+1, szMiscArray, arrGroupData[iGroupID][g_iLockerGuns][i]);
- format(szMiscArray, sizeof(szMiscArray), "Cost%i", i+1);
- SaveInteger(query, "groups", iGroupID+1, szMiscArray, arrGroupData[iGroupID][g_iLockerCost][i]);
- }
- SQLUpdateFinish(query, "groups", iGroupID+1);
- for (i = 0; i < MAX_GROUP_LOCKERS; i++) {
- format(query, 2048, "UPDATE `lockers` SET ");
- SaveFloat(query, "lockers", arrGroupLockers[iGroupID][i][g_iLockerSQLId], "LockerX", arrGroupLockers[iGroupID][i][g_fLockerPos][0]);
- SaveFloat(query, "lockers", arrGroupLockers[iGroupID][i][g_iLockerSQLId], "LockerY", arrGroupLockers[iGroupID][i][g_fLockerPos][1]);
- SaveFloat(query, "lockers", arrGroupLockers[iGroupID][i][g_iLockerSQLId], "LockerZ", arrGroupLockers[iGroupID][i][g_fLockerPos][2]);
- SaveInteger(query, "lockers", arrGroupLockers[iGroupID][i][g_iLockerSQLId], "LockerVW", arrGroupLockers[iGroupID][i][g_iLockerVW]);
- SaveInteger(query, "lockers", arrGroupLockers[iGroupID][i][g_iLockerSQLId], "LockerShare", arrGroupLockers[iGroupID][i][g_iLockerShare]);
- SQLUpdateFinish(query, "lockers", arrGroupLockers[iGroupID][i][g_iLockerSQLId]);
- }
- return 1;
- }
- stock SendGroupMessage(iGroupType, color, string[], allegiance = 0)
- {
- new iGroupID;
- foreach(new i: Player)
- {
- iGroupID = PlayerInfo[i][pMember];
- if( iGroupType == -1 || ((0 <= iGroupID < MAX_GROUPS) && arrGroupData[iGroupID][g_iGroupType] == iGroupType) )
- {
- if(allegiance == 0 || allegiance == arrGroupData[iGroupID][g_iAllegiance])
- {
- SendClientMessageEx(i, color, string);
- }
- }
- }
- }
- stock SendMedicMessage(color, string[])
- {
- foreach(new i: Player)
- {
- if(IsFirstAid(i) || IsAMedic(i))
- {
- SendClientMessageEx(i, color, string);
- }
- }
- }
- stock SendDivisionMessage(member, division, color, string[])
- {
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pMember] == member && PlayerInfo[i][pDivision] == division) {
- SendClientMessageEx(i, color, string);
- }
- }
- }
- stock IsACop(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_LEA)) return 1;
- return 0;
- }
- stock IsAMedic(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_MEDIC)) return 1;
- return 0;
- }
- stock IsAReporter(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_NEWS)) return 1;
- return 0;
- }
- stock IsAGovernment(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_GOV)) return 1;
- return 0;
- }
- stock IsAJudge(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_JUDICIAL)) return 1;
- return 0;
- }
- stock IsALawyer(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_JUDICIAL) && PlayerInfo[playerid][pRank] > 1) return 1;
- if(PlayerInfo[playerid][pJob] == 2 || PlayerInfo[playerid][pJob2] == 2 || PlayerInfo[playerid][pJob3] == 2) return 1;
- return 0;
- }
- stock IsATaxiDriver(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_TAXI) && TransportDuty[playerid] > 0) return 1;
- if(PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17 || PlayerInfo[playerid][pJob3] == 17 || PlayerInfo[playerid][pTaxiLicense] == 1 && TransportDuty[playerid] > 0) return 1;
- return 0;
- }
- stock IsAnFTSDriver(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_TAXI)) return 1;
- return 0;
- }
- stock IsATowman(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_TOWING)) return 1;
- return 0;
- }
- stock IsARacer(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iCrimeType] == GROUP_CRIMINAL_TYPE_RACE)) return 1;
- return 0;
- }
- stock IsACriminal(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_CRIMINAL)) return 1;
- return 0;
- }
- stock IsADocGuard(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && (PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iDoCAccess])) return 1;
- return 0;
- }
- stock IsFirstAid(playerid)
- {
- if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && arrGroupData[PlayerInfo[playerid][pMember]][g_iMedicAccess] != INVALID_DIVISION && PlayerInfo[playerid][pDivision] == arrGroupData[PlayerInfo[playerid][pMember]][g_iMedicAccess]) return 1;
- return 0;
- }
- stock IsMDCPermitted(playerid)
- {
- if(IsACop(playerid) || IsAJudge(playerid))
- {
- return 1;
- }
- return 0;
- }
- stock GetPlayerGroupInfo(targetid, rank[], division[], employer[])
- {
- new
- iGroupID = PlayerInfo[targetid][pMember],
- iRankID = PlayerInfo[targetid][pRank];
- if (0 <= iGroupID < MAX_GROUPS)
- {
- if(0 <= iRankID < MAX_GROUP_RANKS)
- {
- if(arrGroupRanks[iGroupID][iRankID][0]) {
- format(rank, (GROUP_MAX_RANK_LEN), "%s", arrGroupRanks[iGroupID][iRankID]);
- }
- else format(rank, (GROUP_MAX_RANK_LEN), "undefined");
- }
- if(0 <= PlayerInfo[targetid][pDivision] < MAX_GROUP_DIVS)
- {
- if(arrGroupDivisions[iGroupID][PlayerInfo[targetid][pDivision]][0]) { format(division, (GROUP_MAX_DIV_LEN), "%s", arrGroupDivisions[iGroupID][PlayerInfo[targetid][pDivision]]); }
- else format(division, (GROUP_MAX_DIV_LEN), "undefined");
- }
- else
- {
- if(arrGroupData[iGroupID][g_iGroupType] != GROUP_TYPE_CRIMINAL)
- format(division, (GROUP_MAX_DIV_LEN), "G.D.");
- else
- format(division, (GROUP_MAX_DIV_LEN), "None");
- }
- if(arrGroupData[iGroupID][g_szGroupName][0]) {
- format(employer, (GROUP_MAX_NAME_LEN), "%s", arrGroupData[iGroupID][g_szGroupName]);
- }
- else
- {
- format(employer, (GROUP_MAX_NAME_LEN), "undefined");
- }
- }
- else
- {
- format(rank, (GROUP_MAX_RANK_LEN), "N/A");
- format(division, (GROUP_MAX_DIV_LEN), "None");
- format(employer, (GROUP_MAX_NAME_LEN), "None");
- }
- return 1;
- }
- stock ToggleDVSiren(iDvSlotID, iSlot, iTogState = 0)
- {
- switch(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel])
- {
- case 1899:
- {
- if(!iTogState) return 0;
- DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel] = 19294;
- Streamer_SetIntData(STREAMER_TYPE_OBJECT, DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], E_STREAMER_MODEL_ID, 19294);
- AttachDynamicObjectToVehicle(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectZ], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRZ]);
- }
- case 18646:
- {
- if(iTogState) return 0;
- DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel] = 19300;
- Streamer_SetIntData(STREAMER_TYPE_OBJECT, DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], E_STREAMER_MODEL_ID, 19300);
- AttachDynamicObjectToVehicle(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectZ], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRZ]);
- }
- case 19294:
- {
- if(iTogState) return 0;
- DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel] = 1899;
- Streamer_SetIntData(STREAMER_TYPE_OBJECT, DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], E_STREAMER_MODEL_ID, 1899);
- AttachDynamicObjectToVehicle(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectZ], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRZ]);
- }
- case 19300:
- {
- if(!iTogState) return 0;
- DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel] = 18646;
- Streamer_SetIntData(STREAMER_TYPE_OBJECT, DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], E_STREAMER_MODEL_ID, 18646);
- AttachDynamicObjectToVehicle(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectZ], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRZ]);
- }
- case 19419:
- {
- if(iTogState) return 0;
- DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel] = 19420;
- Streamer_SetIntData(STREAMER_TYPE_OBJECT, DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], E_STREAMER_MODEL_ID, 19420);
- AttachDynamicObjectToVehicle(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectZ], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRZ]);
- }
- case 19420:
- {
- if(!iTogState) return 0;
- DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectModel] = 19419;
- Streamer_SetIntData(STREAMER_TYPE_OBJECT, DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], E_STREAMER_MODEL_ID, 19419);
- AttachDynamicObjectToVehicle(DynVehicleObjInfo[iDvSlotID][iSlot][gv_iAttachedObjectID], DynVehicleInfo[iDvSlotID][gv_iSpawnedID], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectZ], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRX], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRY], DynVehicleObjInfo[iDvSlotID][iSlot][gv_fObjectRZ]);
- }
- }
- return 1;
- }
- stock ToggleSiren(vehid, iTogState)
- {
- if(iTogState == 1)
- {
- if(GetGVarInt("VehSiren", vehid) != INVALID_OBJECT_ID)
- {
- DestroyDynamicObject(GetGVarInt("VehSiren", vehid));
- DeleteGVar("VehSiren", vehid);
- }
- if(GetGVarInt("VehSiren2", vehid) != INVALID_OBJECT_ID)
- {
- DestroyDynamicObject(GetGVarInt("VehSiren2", vehid));
- DeleteGVar("VehSiren2", vehid);
- }
- }
- else
- {
- switch(GetVehicleModel(vehid))
- {
- case 402:
- {
- new iTempObj = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- AttachDynamicObjectToVehicle(iTempObj, vehid, -0.20, 0.5, 0.4, 0.0, 0.0, 0.0);
- SetGVarInt("VehSiren", iTempObj, vehid);
- }
- case 411, 541:
- {
- new iTempObj = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- AttachDynamicObjectToVehicle(iTempObj, vehid, 0.0, 0.2, 0.4, 0.0, 0.0, 0.0);
- SetGVarInt("VehSiren", iTempObj, vehid);
- }
- case 415:
- {
- new iTempObj = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- AttachDynamicObjectToVehicle(iTempObj, vehid, -0.20, 0.30, 0.3, 0.0, 0.0, 0.0);
- SetGVarInt("VehSiren", iTempObj, vehid);
- }
- case 451:
- {
- new iTempObj = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- AttachDynamicObjectToVehicle(iTempObj, vehid, -0.30, 0.4, 0.6, 0.0, 0.0, 0.0);
- SetGVarInt("VehSiren", iTempObj, vehid);
- }
- case 525:
- {
- new iTempObj2 = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- new iTempObj3 = CreateDynamicObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- AttachDynamicObjectToVehicle(iTempObj2, vehid, 0.55, -0.5, 1.5, 0.0, 0.0, 0.0);
- AttachDynamicObjectToVehicle(iTempObj3, vehid, -0.55, -0.5, 1.5, 0.0, 0.0, 0.0);
- SetGVarInt("VehSiren", iTempObj2, vehid);
- SetGVarInt("VehSiren2", iTempObj3, vehid);
- }
- default:
- {
- new iTempObj = CreateDynamicObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1, -1, -1, 200.0);
- AttachDynamicObjectToVehicle(iTempObj, vehid, -0.30, 0.4, 0.4, 0.0, 0.0, 0.0);
- SetGVarInt("VehSiren", iTempObj, vehid);
- }
- }
- }
- return 1;
- }
- Group_GetMaxRank(iGroupID) {
- new
- iCount = MAX_GROUP_RANKS;
- while(iCount--) if(arrGroupRanks[iGroupID][iCount][0]) return iCount;
- return MAX_GROUP_RANKS-1;
- }
- Group_GetMaxDiv(iGroupID) {
- new
- iCount = MAX_GROUP_DIVS;
- while(iCount--) if(arrGroupDivisions[iGroupID][iCount][0]) return iCount;
- return MAX_GROUP_DIVS;
- }
- Group_ListGroups(iPlayerID, iDialogID = DIALOG_LISTGROUPS) {
- new
- szDialogStr[MAX_GROUPS * (GROUP_MAX_NAME_LEN + 16)],
- iCount;
- while(iCount < MAX_GROUPS) {
- if(arrGroupData[iCount][g_szGroupName][0])
- format(szDialogStr, sizeof szDialogStr, "%s\n(%i) {%s}%s{FFFFFF}", szDialogStr, iCount+1, Group_NumToDialogHex(arrGroupData[iCount][g_hDutyColour]), arrGroupData[iCount][g_szGroupName]);
- else
- format(szDialogStr, sizeof szDialogStr, "%s\n(%i) (empty)", szDialogStr, iCount+1);
- ++iCount;
- }
- if(iDialogID == DIALOG_MAKELEADER)
- {
- new diagTitle[64];
- format(diagTitle, sizeof(diagTitle), "Group List - Set Leadership for %s", GetPlayerNameEx(GetPVarInt(iPlayerID, "MakingLeader")));
- return ShowPlayerDialogEx(iPlayerID, iDialogID, DIALOG_STYLE_LIST, diagTitle, szDialogStr, "Select", "Cancel");
- }
- else return ShowPlayerDialogEx(iPlayerID, iDialogID, DIALOG_STYLE_LIST, "Group List", szDialogStr, "Select", "Cancel");
- }
- Group_ReturnAllegiance(iAllegianceID) {
- new
- szResult[16] = "None";
- switch(iAllegianceID) {
- case 1: szResult = "San Andreas";
- case 2: szResult = "New Robada";
- }
- return szResult;
- }
- Group_ReturnType(iGroupType) {
- new
- szResult[32] = "None";
- switch(iGroupType) {
- case 1: szResult = "Law Enforcement";
- case 2: szResult = "Contract Agency";
- case 3: szResult = "Fire/Medic";
- case 4: szResult = "News Agency";
- case 5: szResult = "Government";
- case 6: szResult = "Judicial";
- case 7: szResult = "Transport";
- case 8: szResult = "Towing";
- case 9: szResult = "Criminal";
- }
- return szResult;
- }
- Group_DisplayDialog(iPlayerID, iGroupID) {
- new
- szTitle[22 + GROUP_MAX_NAME_LEN],
- szDialog[2048];
- format(szDialog, sizeof(szDialog),
- "{BBBBBB}Name:{FFFFFF} %s\n\
- {BBBBBB}Type:{FFFFFF} %s\n\
- {BBBBBB}Allegiance:{FFFFFF} %s\n\
- {BBBBBB}Jurisdiction\n\
- {BBBBBB}Duty colour: {%s}(edit)\n\
- {BBBBBB}Radio colour: {%s}(edit)\n\
- {BBBBBB}Radio access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Department radio access:{FFFFFF} %s (rank %i)\n",
- arrGroupData[iGroupID][g_szGroupName],
- Group_ReturnType(arrGroupData[iGroupID][g_iGroupType]),
- Group_ReturnAllegiance(arrGroupData[iGroupID][g_iAllegiance]),
- Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]),
- Group_NumToDialogHex(arrGroupData[iGroupID][g_hRadioColour]),
- (arrGroupData[iGroupID][g_iRadioAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iRadioAccess],
- (arrGroupData[iGroupID][g_iDeptRadioAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iDeptRadioAccess]
- );
- format(szDialog, sizeof(szDialog), "%s\
- {BBBBBB}Int radio access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Bug access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Find access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Government announcement:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Treasury Access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Free name change:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Free name change div:{FFFFFF} %s (division %i)\n\
- {BBBBBB}Spike Strips:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Barricades:{FFFFFF} %s (rank %i)\n",
- szDialog,
- (arrGroupData[iGroupID][g_iIntRadioAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iIntRadioAccess],
- (arrGroupData[iGroupID][g_iBugAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iBugAccess],
- (arrGroupData[iGroupID][g_iFindAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iFindAccess],
- (arrGroupData[iGroupID][g_iGovAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iGovAccess],
- (arrGroupData[iGroupID][g_iTreasuryAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iTreasuryAccess],
- (arrGroupData[iGroupID][g_iFreeNameChange] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iFreeNameChange],
- (arrGroupData[iGroupID][g_iFreeNameChangeDiv] != INVALID_DIVISION) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iFreeNameChangeDiv],
- (arrGroupData[iGroupID][g_iSpikeStrips] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iSpikeStrips],
- (arrGroupData[iGroupID][g_iBarricades] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iBarricades]
- );
- format(szDialog, sizeof(szDialog), "%s\
- {BBBBBB}Cones:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Flares:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Barrels:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Ladders:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Tapes:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Crate Island Control:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit Locker Stock:{FFFFFF} (%i)\n\
- {BBBBBB}Edit Locker Weapons (%i defined)\n",
- szDialog,
- (arrGroupData[iGroupID][g_iCones] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iCones],
- (arrGroupData[iGroupID][g_iFlares] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iFlares],
- (arrGroupData[iGroupID][g_iBarrels] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iBarrels],
- (arrGroupData[iGroupID][g_iLadders] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iLadders],
- (arrGroupData[iGroupID][g_iTapes] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iTapes],
- (arrGroupData[iGroupID][g_iCrateIsland] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iCrateIsland],
- arrGroupData[iGroupID][g_iLockerStock],
- Array_Count(arrGroupData[iGroupID][g_iLockerGuns], MAX_GROUP_WEAPONS)
- );
- format(szDialog, sizeof(szDialog),
- "%s\
- {BBBBBB}Edit Payments\n\
- {BBBBBB}Edit Divisions (%i defined)\n\
- {BBBBBB}Edit Ranks (%i defined)\n\
- {BBBBBB}Edit Lockers\n\
- {BBBBBB}Edit Crate Delivery Position (current distance: %.0f)\n\
- {BBBBBB}Locker Cost Type: %s\n\
- {BBBBBB}Edit the Garage Position (current distance: %.0f)\n\
- {BBBBBB}Edit Tackle Access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit Wheel Clamps Access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit DoC Access:{FFFFFF} %s (rank %i)\n",
- szDialog,
- String_Count(arrGroupDivisions[iGroupID], MAX_GROUP_DIVS),
- String_Count(arrGroupRanks[iGroupID], MAX_GROUP_RANKS),
- GetPlayerDistanceFromPoint(iPlayerID, arrGroupData[iGroupID][g_fCratePos][0], arrGroupData[iGroupID][g_fCratePos][1], arrGroupData[iGroupID][g_fCratePos][2]),
- lockercosttype[arrGroupData[iGroupID][g_iLockerCostType]],
- GetPlayerDistanceFromPoint(iPlayerID, arrGroupData[iGroupID][g_fGaragePos][0], arrGroupData[iGroupID][g_fGaragePos][1], arrGroupData[iGroupID][g_fGaragePos][2]),
- (arrGroupData[iGroupID][g_iTackleAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iTackleAccess],
- (arrGroupData[iGroupID][g_iWheelClamps] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iWheelClamps],
- (arrGroupData[iGroupID][g_iDoCAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iDoCAccess]
- );
- format(szDialog, sizeof(szDialog),
- "%s\
- {BBBBBB}Edit Medic Access:{FFFFFF} %s (Div %i)\n\
- {BBBBBB}Edit DMV Release:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit Temporary Number:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit LEO Arrest Access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit OOC Chat Access:{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit OOC Chat Color: {%s}(edit)\n\
- {BBBBBB}Edit Group Clothes\n\
- {BBBBBB}Edit Turf Cap Rank{FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit Point Cap Rank {FFFFFF} %s (rank %i)\n\
- {BBBBBB}Edit Crime Group Type {FFFFFF} %s",
- szDialog,
- (arrGroupData[iGroupID][g_iMedicAccess] != INVALID_DIVISION) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iMedicAccess],
- (arrGroupData[iGroupID][g_iDMVAccess] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iDMVAccess],
- (arrGroupData[iGroupID][gTempNum] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][gTempNum],
- (arrGroupData[iGroupID][gLEOArrest] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][gLEOArrest],
- (arrGroupData[iGroupID][g_iOOCChat] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iOOCChat],
- Group_NumToDialogHex(arrGroupData[iGroupID][g_hOOCColor]),
- (arrGroupData[iGroupID][g_iTurfCapRank] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iTurfCapRank],
- (arrGroupData[iGroupID][g_iPointCapRank] != INVALID_RANK) ? ("Yes") : ("No"), arrGroupData[iGroupID][g_iPointCapRank],
- ReturnCrimeGroupType(arrGroupData[iGroupID][g_iCrimeType])
- );
- if(PlayerInfo[iPlayerID][pAdmin] >= 1337) strcat(szDialog, "\nDisband Group");
- format(szTitle, sizeof szTitle, "{FFFFFF}Edit {%s}%s", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(iPlayerID, DIALOG_EDITGROUP, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- stock CrateLog(groupid, string[])
- {
- new month, day, year, file[32];
- getdate(year, month, day);
- format(file, sizeof(file), "cratelogs/%d/%d-%02d-%02d.log", groupid, year, month, day);
- return Log(file, string);
- }
- stock GroupLog(groupid, string[])
- {
- new month, day, year, file[32];
- getdate(year, month, day);
- format(file, sizeof(file), "grouplogs/%d/%d-%02d-%02d.log", groupid, year, month, day);
- return Log(file, string);
- }
- stock GroupPayLog(groupid, string[])
- {
- new month, day, year, file[32];
- getdate(year, month, day);
- format(file, sizeof(file), "grouppay/%d/%d-%02d-%02d.log", groupid, year, month, day);
- return Log(file, string);
- }
- stock GroupLogEx(groupid, string[], type = 0) {
- new month, day, year, file[32];
- getdate(year, month, day);
- switch(type) {
- case 0: format(file, sizeof(file), "grouplogs/%d/warrents/%d-%02d-%02d.log", groupid, year, month, day);
- default: format(file, sizeof(file), "grouplogs/%d/assests/%d-%02d-%02d.log", groupid, year, month, day);
- }
- return Log(file, string);
- }
- ReturnCrimeGroupType(iType)
- {
- new szReturn[10];
- switch(iType)
- {
- case 0: szReturn = "None";
- case 1: szReturn = "Racer";
- }
- return szReturn;
- }
- hook OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
- {
- GetPlayerName(playerid, VehInfo[GetPlayerVehicleID(playerid)][vLastDriver], MAX_PLAYER_NAME);
- }
- }
- hook OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
- if((newkeys & KEY_YES) && IsPlayerInAnyDynamicArea(playerid)) {
- if(0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) {
- new areaid[1];
- GetPlayerDynamicAreas(playerid, areaid);
- // new i = Streamer_GetIntData(STREAMER_TYPE_AREA, areaid[0], E_STREAMER_EXTRA_ID);
- if(areaid[0] != INVALID_STREAMER_ID) {
- for(new i; i < MAX_GROUP_LOCKERS; ++i) {
- if(areaid[0] == arrGroupLockers[PlayerInfo[playerid][pMember]][i][g_iLockerAreaID]) cmd_locker(playerid, "");
- }
- }
- }
- }
- }
- hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- if(arrAntiCheat[playerid][ac_iFlags][AC_DIALOGSPOOFING] > 0) return 1;
- new sendername[MAX_PLAYER_NAME];
- new string[128], Float:parmor;
- szMiscArray[0] = 0;
- switch(dialogid)
- {
- // BEGIN DYNAMIC GROUP CODE
- case G_LOCKER_MAIN: {
- if(!response) return 1;
- new iGroupID = PlayerInfo[playerid][pMember];
- if (strcmp("Clothes", inputtext) == 0) {
- if(IsACriminal(playerid) || IsARacer(playerid)) {
- format(szMiscArray, sizeof(szMiscArray), "%s reaches into the locker grabbing their clothes", GetPlayerNameEx(playerid));
- ShowModelSelectionMenuEx(playerid, arrGroupData[PlayerInfo[playerid][pMember]][g_iClothes], MAX_GROUP_RANKS, "Change your clothes.", DYNAMIC_FAMILY_CLOTHES, 0.0, 0.0, -55.0);
- return 1;
- }
- }
- if (strcmp("Duty", inputtext) == 0) {
- if(PlayerInfo[playerid][pDuty]==0) {
- if (IsAReporter(playerid) || IsATaxiDriver(playerid))
- format(string, sizeof(string), "* %s %s takes a badge from their locker.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid));
- else
- format(string, sizeof(string), "* %s %s takes a badge and a gun from their locker.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid));
- ProxChatBubble(playerid, string);
- // ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SetHealth(playerid, 100.0);
- if(IsAMedic(playerid)) Medics += 1;
- if(arrGroupData[iGroupID][g_iLockerStock] > 1 && arrGroupData[iGroupID][g_iLockerCostType] == 0) {
- SetArmour(playerid, 150);
- arrGroupData[iGroupID][g_iLockerStock] -= 1;
- new str[128];
- format(str, sizeof(str), "%s took a vest out of the %s locker at a cost of 1 HG Material.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] != 0) SetArmour(playerid, 150.0);
- else {
- SendClientMessageEx(playerid, COLOR_RED, "The locker doesn't have the stock for your armor vest.");
- SendClientMessageEx(playerid, COLOR_GRAD2, "Contact your supervisor or the STAG and organize a crate delivery.");
- }
- PlayerInfo[playerid][pDuty] = 1;
- SetPlayerToTeamColor(playerid);
- SendClientMessageEx(playerid, COLOR_GRAD2, "You may now select your weapons from the equipment locker");
- }
- else if(PlayerInfo[playerid][pDuty]==1) {
- format(string, sizeof(string), "* %s %s places their badge and gun in their locker.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid));
- ProxChatBubble(playerid, string);
- if(IsAMedic(playerid)) Medics -= 1;
- SetHealth(playerid, 100.0);
- RemoveArmor(playerid);
- PlayerInfo[playerid][pDuty] = 0;
- SetPlayerToTeamColor(playerid);
- }
- }
- if (strcmp("Equipment", inputtext) == 0) {
- if((PlayerInfo[playerid][pAdmin] >= 1337 || PlayerInfo[playerid][pUndercover] >= 1) && PlayerInfo[playerid][pTogReports] == 0)
- return SendClientMessageEx(playerid, COLOR_GRAD2, "Locker weapons have been restricted from admins, /togreports to gain access.");
- if(PlayerInfo[playerid][pTogReports] == 1 || PlayerInfo[playerid][pAdmin] < 2) {
- new
- szDialog[(32 + 8) * (MAX_GROUP_WEAPONS+1)];
- for(new i = 0; i != MAX_GROUP_WEAPONS; ++i) {
- if(arrGroupData[iGroupID][g_iLockerGuns][i]) {
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, arrGroupData[iGroupID][g_iLockerGuns][i], Weapon_ReturnName(arrGroupData[iGroupID][g_iLockerGuns][i]));
- if (arrGroupData[iGroupID][g_iLockerCostType] == 2) format(szDialog, sizeof szDialog, "%s $%d", szDialog, arrGroupData[iGroupID][g_iLockerCost][i]);
- }
- else strcat(szDialog, "\n(empty)");
- }
- strcat(szDialog, "\nAccessories");
- format(string, sizeof(string), "%s Weapon Locker", arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, G_LOCKER_EQUIPMENT, DIALOG_STYLE_LIST, string, szDialog, "Purchase", "Cancel");
- }
- }
- if (strcmp("Weapons", inputtext) == 0) {
- //if(IsACriminal(playerid) || IsARacer(playerid)) return ShowGroupWeapons(playerid, iGroupID);
- return ShowGroupWeapons(playerid, iGroupID);
- }
- if (strcmp("Crate Transfer", inputtext) == 0) {
- //if(IsACriminal(playerid) || IsARacer(playerid)) return ShowGroupWeapons(playerid, iGroupID);
- return CrateTransferOption(playerid, iGroupID);
- }
- if (strcmp("Drugs", inputtext) == 0) {
- szMiscArray[0] = 0;
- szMiscArray = "Drugs\tAmount\n";
- for(new i; i < sizeof(Drugs); ++i) {
- format(szMiscArray, sizeof(szMiscArray), "%s%s\t%s\n", szMiscArray, Drugs[i], number_format(arrGroupData[iGroupID][g_iDrugs][i]));
- }
- format(string, sizeof(string), "%s Drug Locker", arrGroupData[iGroupID][g_szGroupName]);
- SetPVarInt(playerid, "GSafe_Opt", 2);
- return ShowPlayerDialogEx(playerid, G_LOCKER_DRUGS, DIALOG_STYLE_TABLIST_HEADERS, string, szMiscArray, "Select", "<<");
- //\nCannabis (%i)\nCrack (%i)\nHeroin (%i)\nSyringes (%i)\nOpium (%i)
- //return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_LIST, "Gang Safe: Cannabis Safe", "Deposit\nWithdraw", "Select", "Back");
- }
- if (strcmp("Uniform", inputtext) == 0) {
- ShowPlayerDialogEx(playerid, G_LOCKER_UNIFORM, DIALOG_STYLE_INPUT, "Uniform","Choose a skin (by ID).", "Select", "Cancel");
- }
- /*if (strcmp("Ingredients", inputtext) == 0) {
- if(IsACriminal(playerid) || IsARacer(playerid)) {
- szMiscArray[0] = 0;
- szMiscArray = "Ingredients\tAmount\n";
- for(new i; i < sizeof(szIngredients); ++i) {
- format(szMiscArray, sizeof(szMiscArray), "%s%s\t%s\n", szMiscArray, szIngredients[i], number_format(arrGroupData[iGroupID][g_iIngredients][i]));
- }
- format(string, sizeof(string), "%s Ingredient Locker", arrGroupData[iGroupID][g_szGroupName]);
- SetPVarInt(playerid, "GSafe_Opt", 3);
- return ShowPlayerDialogEx(playerid, G_LOCKER_INGREDIENTS, DIALOG_STYLE_TABLIST_HEADERS, string, szMiscArray, "Select", "<<");
- }
- }*/
- if (strcmp("Portable Medkit & Vest Kit", inputtext) == 0) {
- if(GetPVarInt(playerid, "MedVestKit") == 1) {
- return SendClientMessageEx(playerid, COLOR_GRAD1, "You're already carrying a med kit.");
- }
- if(arrGroupData[iGroupID][g_iLockerStock] > 1 && arrGroupData[iGroupID][g_iLockerCostType] == 0) {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You are now carrying a med kit. /placekit to store it in your backpack/vehicle.");
- SetPVarInt(playerid, "MedVestKit", 1);
- arrGroupData[iGroupID][g_iLockerStock] -= 1;
- new str[128];
- format(str, sizeof(str), "%s took a med kit & vest out of the %s locker at a cost of 1 HG Material.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] == 1) {
- if(arrGroupData[iGroupID][g_iBudget] > 3000) {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You are now carrying a med kit. /placekit to store it in your backpack/vehicle.");
- SetPVarInt(playerid, "MedVestKit", 1);
- arrGroupData[iGroupID][g_iBudget] -= 3000;
- new str[128];
- format(str, sizeof(str), "%s took a med kit & vest out of the %s locker at a cost of $3,000 to the budget fund.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, " Your agency cannot afford the vest. ($3,000)");
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] == 2) {
- if(GetPlayerCash(playerid) > 3000) {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You are now carrying a med kit. /placekit to store it in your backpack/vehicle.");
- SetPVarInt(playerid, "MedVestKit", 1);
- GivePlayerCash(playerid, -3000);
- new str[128];
- format(str, sizeof(str), "%s took a med kit & vest out of the %s locker at a personal cost of $3,000.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, " You cannot afford the vest. ($3,000)");
- }
- else {
- SendClientMessageEx(playerid, COLOR_RED, "The locker doesn't have the stock for your trunk kit.");
- SendClientMessageEx(playerid, COLOR_GRAD2, "Contact your supervisor and organize a crate delivery.");
- }
- }
- if (strcmp("Clear Suspect", inputtext) == 0) {
- ShowPlayerDialogEx(playerid, G_LOCKER_CLEARSUSPECT,DIALOG_STYLE_INPUT, arrGroupData[iGroupID][g_szGroupName]," Who would you like to clear?","Clear","Return");
- }
- if (strcmp("First Aid & Kevlar", inputtext) == 0) {
- if(arrGroupData[iGroupID][g_iLockerStock] > 1 && arrGroupData[iGroupID][g_iLockerCostType] == 0) {
- GetArmour(playerid, parmor);
- if(parmor < 150) SetArmour(playerid, 150);
- SetHealth(playerid, 100.0);
- arrGroupData[iGroupID][g_iLockerStock] -= 1;
- new str[128];
- format(str, sizeof(str), "%s took a vest out of the %s locker at a cost of 1 HG Material.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] == 1) {
- if(arrGroupData[iGroupID][g_iBudget] > 2500) {
- GetArmour(playerid, parmor);
- if(parmor < 150) SetArmour(playerid, 150);
- SetHealth(playerid, 100.0);
- arrGroupData[iGroupID][g_iBudget] -= 2500;
- new str[128];
- format(str, sizeof(str), "%s took a vest out of the %s locker at a cost of $2,500.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, " Your agency cannot afford the vest. ($2,500)");
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] == 2) {
- if(GetPlayerCash(playerid) > 2500) {
- GetArmour(playerid, parmor);
- if(parmor < 150) SetArmour(playerid, 150);
- SetHealth(playerid, 100.0);
- GivePlayerCash(playerid, -2500);
- new str[128];
- format(str, sizeof(str), "%s took a vest out of the %s locker at a personal cost of $2,500.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, " You cannot afford the vest. ($2,500)");
- }
- else {
- SendClientMessageEx(playerid, COLOR_RED, "The locker doesn't have the stock for your armor vest.");
- SendClientMessageEx(playerid, COLOR_GRAD2, "Contact your supervisor or the SAAS and organize a crate delivery.");
- return 1;
- }
- }
- /* if(strcmp("High Grade Armour", inputtext) == 0) {
- if(arrGroupData[iGroupID][g_iLockerStock] > 5) {
- GetArmour(playerid, parmor);
- if(parmor > 149) return SendClientMessageEx(playerid, COLOR_RED, "You already have high grade armour equipped!");
- arrGroupData[iGroupID][g_iLockerStock] -= 5;
- SetArmour(playerid, 150);
- new str[128];
- format(str, sizeof(str), "%s took a high grade vest out of the %s locker at a cost of 5 HG Material.", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Your armor has been boosted to 150 as it's high grade.");
- } else {
- SendClientMessageEx(playerid, COLOR_RED, "The locker doesn't have the stock for your armor vest.");
- SendClientMessageEx(playerid, COLOR_GRAD2, "Contact your supervisor or the SAAS and organize a crate delivery.");
- }
- }
- */
- if (strcmp("Materials", inputtext, true, 9) == 0) { // we need to specify the cellmax as else it'll pick up the formatting
- SetPVarInt(playerid, "GSafe_Opt", 1);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_LIST, "Gang Safe: Material Safe", "Deposit\nWithdraw", "Select", "Back");
- }
- if (strcmp("Vault", inputtext, true, 5) == 0) { // we need to specify the cellmax as else it'll pick up the formatting
- SetPVarInt(playerid, "GSafe_Opt", 0);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_LIST, "Gang Safe: Money Vault", "Deposit\nWithdraw", "Select", "Back");
- }
- if (strcmp("Tazer & Cuffs", inputtext) == 0) {
- if(PlayerInfo[playerid][pHasTazer] == 0) {
- new szMessage[128];
- format(szMessage, sizeof(szMessage), "%s reaches towards their locker, taking a tazer and cuffs out.", GetPlayerNameEx(playerid));
- ProxChatBubble(playerid, szMessage);
- SendClientMessageEx(playerid, COLOR_WHITE, "You're now carrying a tazer and cuffs on you.");
- PlayerInfo[playerid][pHasTazer] = 1;
- PlayerInfo[playerid][pHasCuff] = 1;
- }
- else return SendClientMessageEx(playerid, COLOR_WHITE, "You're already carrying a tazer and pair of cuffs");
- }
- if (strcmp("Name Change", inputtext) == 0) {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[iGroupID][g_iFreeNameChange] && (PlayerInfo[playerid][pDivision] == arrGroupData[iGroupID][g_iFreeNameChangeDiv] || arrGroupData[iGroupID][g_iFreeNameChangeDiv] == INVALID_DIVISION)) {
- return ShowPlayerDialogEx( playerid, DIALOG_NAMECHANGE, DIALOG_STYLE_INPUT, "Name Change","Please enter your new desired name!\n\nNote: Name Changes are free for your faction.", "Change", "Cancel" );
- }
- }
-
- if (strcmp("Accessories", inputtext) == 0) {
- return ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!\n\n(As with regular toys, VIP unlocks more slots.)","Continue", "Cancel");
- }
- }
- case G_LOCKER_EQUIPMENT: if(response)
- {
- new iGroupID = PlayerInfo[playerid][pMember];
- if (listitem == 16)
- {
- ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!\n\n(As with regular toys, VIP unlocks more slots.)","Continue", "Cancel");
- }
- else
- {
- if(PlayerInfo[playerid][pAccountRestricted] != 0) return SendClientMessageEx(playerid, COLOR_GRAD1, "Your account is restricted!");
- new iGunID = arrGroupData[iGroupID][g_iLockerGuns][listitem];
- if(arrGroupData[iGroupID][g_iLockerCostType] == 0)
- {
- if(arrGroupData[iGroupID][g_iLockerStock] >= arrGroupData[iGroupID][g_iLockerCost][listitem])
- {
- arrGroupData[iGroupID][g_iLockerStock] -= arrGroupData[iGroupID][g_iLockerCost][listitem];
- new str[128];
- format(str, sizeof(str), "%s took a %s out of the %s locker at a cost of %d HG Materials.", GetPlayerNameEx(playerid), GetWeaponNameEx(iGunID), arrGroupData[iGroupID][g_szGroupName], arrGroupData[iGroupID][g_iLockerCost][listitem]);
- GroupPayLog(iGroupID, str);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_RED, "The locker doesn't have the stock for that weapon.");
- SendClientMessageEx(playerid, COLOR_GRAD2, "Contact your supervisor or the SAAS and organize a crate delivery.");
- return 1;
- }
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] == 1)
- {
- if (arrGroupData[iGroupID][g_iBudget] < arrGroupData[iGroupID][g_iLockerCost][listitem])
- {
- SendClientMessageEx(playerid, COLOR_WHITE, "Your group cannot afford that weapon!");
- return 1;
- }
- else
- {
- arrGroupData[iGroupID][g_iBudget] -= arrGroupData[iGroupID][g_iLockerCost][listitem];
- new str[128];
- format(str, sizeof(str), "%s took a %s out of the %s locker at a cost of $%d.", GetPlayerNameEx(playerid), GetWeaponNameEx(iGunID), arrGroupData[iGroupID][g_szGroupName], arrGroupData[iGroupID][g_iLockerCost][listitem]);
- GroupPayLog(iGroupID, str);
- }
- }
- else if(arrGroupData[iGroupID][g_iLockerCostType] == 2)
- {
- if (GetPlayerCash(playerid) < arrGroupData[iGroupID][g_iLockerCost][listitem])
- {
- SendClientMessageEx(playerid, COLOR_WHITE, "You can't afford that weapon!");
- return 1;
- }
- else
- {
- GivePlayerCash(playerid, -arrGroupData[iGroupID][g_iLockerCost][listitem]);
- }
- }
- GivePlayerValidWeapon(playerid, iGunID);
- }
- }
- case G_LOCKER_UNIFORM: if(response) {
- new skin = strval(inputtext), iGroupID = PlayerInfo[playerid][pMember];
- if(IsInvalidSkin(skin)) {
- return ShowPlayerDialogEx(playerid, G_LOCKER_UNIFORM, DIALOG_STYLE_INPUT, arrGroupData[iGroupID][g_szGroupName],"Invalid skin specified. Choose another.", "Select", "Cancel");
- }
- PlayerInfo[playerid][pModel] = skin;
- SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
- }
- case G_LOCKER_CLEARSUSPECT: if(response)
- {
- if(IsMDCPermitted(playerid))
- {
- new giveplayerid;
- new giveplayer[MAX_PLAYER_NAME];
- new iGroupID = PlayerInfo[playerid][pMember];
- giveplayerid = ReturnUser(inputtext);
- if(IsPlayerConnected(giveplayerid))
- {
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "* You cleared the records and wanted points of %s.", GetPlayerNameEx(giveplayerid));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
- format(string, sizeof(string), "* %s %s has cleared your records and wanted points.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid));
- SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
- format(string, sizeof(string), "* %s %s has cleared %s's records and wanted points.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
- SendGroupMessage(GROUP_TYPE_LEA, RADIO, string);
- PlayerInfo[giveplayerid][pWantedLevel] = 0;
- SetPlayerToTeamColor(giveplayerid);
- SetPlayerWantedLevel(giveplayerid, 0);
- ClearCrimes(giveplayerid, playerid);
- PlayerInfo[giveplayerid][pWantedJailFine] = 0;
- PlayerInfo[giveplayerid][pWantedJailTime] = 0;
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
- }
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You don't have sufficient clearance to do this");
- }
- case DIALOG_LISTGROUPS: if(response) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1 && PlayerInfo[playerid][pFactionModerator] < 2) return 1;
- SetPVarInt(playerid, "Group_EditID", listitem);
- return Group_DisplayDialog(playerid, listitem);
- }
- case DIALOG_EDITGROUP: {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1 && PlayerInfo[playerid][pFactionModerator] < 2) return 1;
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- szTitle[64 + GROUP_MAX_NAME_LEN];
- if(response) switch(listitem) {
- case 0: {
- format(szTitle, sizeof szTitle, "Edit Group Name {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_NAME, DIALOG_STYLE_INPUT, szTitle, "Specify a name for this group.", "Confirm", "Cancel");
- }
- case 1: {
- new
- szDialog[(32 + 2) * MAX_GROUP_TYPES];
- for(new i = 0; i != MAX_GROUP_TYPES; ++i)
- strcat(szDialog, "\n"), strcat(szDialog, Group_ReturnType(i));
- format(szTitle, sizeof szTitle, "Edit Group Type {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_TYPE, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 2: {
- new
- szDialog[(32 + 2) * MAX_GROUP_TYPES];
- for(new i = 0; i < MAX_GROUP_ALLEGIANCES; ++i)
- strcat(szDialog, "\n"), strcat(szDialog, Group_ReturnAllegiance(i));
- format(szTitle, sizeof szTitle, "Edit Group Allegiance {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_ALLEGIANCE, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 3:
- {
- if(arrGroupData[iGroupID][g_iJCount] == 0)
- {
- format(string, sizeof(string), "%s doesn't have any jurisdiction. Add it via /groupaddjurisdiction", arrGroupData[iGroupID][g_szGroupName]);
- SendClientMessage(playerid, COLOR_GRAD2, string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- else
- {
- new szDialog[2500];
- for(new i; i < arrGroupData[iGroupID][g_iJCount]; ++i)
- {
- strcat(szDialog, "\n"), strcat(szDialog, arrGroupJurisdictions[iGroupID][i][g_iAreaName]);
- }
- format(szTitle, sizeof szTitle, "Edit Group Jurisdiction {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_JURISDICTION_LIST, DIALOG_STYLE_LIST, szTitle, szDialog, "Remove", "Go Back");
- }
- }
- case 4: {
- format(szTitle, sizeof szTitle, "Edit Group Duty Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_DUTYCOL, DIALOG_STYLE_INPUT, szTitle, "Enter a colour in hexadecimal format (for example, BCA3FF). This colour will be used to identify the group (i.e. name tag colour).", "Confirm", "Cancel");
- }
- case 5: {
- format(szTitle, sizeof szTitle, "Edit Group Radio Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_RADIOCOL, DIALOG_STYLE_INPUT, szTitle, "Enter a colour in hexadecimal format (for example, BCA3FF). This colour will be used for the group's in-character radio chat.", "Confirm", "Cancel");
- }
- case 6 .. 9, 11, 13, 15 .. 22: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- strmid(szTitle, inputtext, 0, strfind(inputtext, ":", true));
- format(szTitle, sizeof szTitle, "Edit Group %s", szTitle);
- if(listitem < 10) ShowPlayerDialogEx(playerid, DIALOG_GROUP_RADIOACC + (listitem - 6), DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- if(listitem > 10) ShowPlayerDialogEx(playerid, DIALOG_GROUP_RADIOACC + (listitem - 8), DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 10: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- strmid(szTitle, inputtext, 0, strfind(inputtext, ":", true));
- format(szTitle, sizeof szTitle, "Edit Group %s", szTitle);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_FINDACC, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 12: {
-
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- strmid(szTitle, inputtext, 0, strfind(inputtext, ":", true));
- format(szTitle, sizeof szTitle, "Edit Group %s", szTitle);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_TRESACC, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 14: {
- new
- szDialog[((32 + 5) * MAX_GROUP_DIVS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupDivisions[iGroupID][i][0]) ? (arrGroupDivisions[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- strmid(szTitle, inputtext, 0, strfind(inputtext, ":", true));
- format(szTitle, sizeof szTitle, "Edit Group %s", szTitle);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_RADIOACC + (listitem - 8), DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 23: {
- format(szTitle, sizeof szTitle, "Edit Group Locker Stock {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITSTOCK, DIALOG_STYLE_INPUT, szTitle, "Specify a value. Locker stock is used for weapons, and can be replenished using crates.", "Confirm", "Cancel");
- }
- case 24: {
- new
- szDialog[(32 + 8) * MAX_GROUP_WEAPONS];
- for(new i = 0; i != MAX_GROUP_WEAPONS; ++i) {
- if(arrGroupData[iGroupID][g_iLockerGuns][i]) format(szDialog, sizeof szDialog, "%s\n(%i) %s (cost: %i)", szDialog, arrGroupData[iGroupID][g_iLockerGuns][i], Weapon_ReturnName(arrGroupData[iGroupID][g_iLockerGuns][i]), arrGroupData[iGroupID][g_iLockerCost][i]);
- else strcat(szDialog, "\n(empty)");
- }
- format(szTitle, sizeof szTitle, "Edit Group Weapons {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITWEPS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 25: {
- new
- szDialog[(GROUP_MAX_RANK_LEN + 8) * MAX_GROUP_RANKS];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szDialog, sizeof szDialog, "%s\nRank %i (%s): $%s", szDialog, i, arrGroupRanks[iGroupID][i], number_format(arrGroupData[iGroupID][g_iPaycheck][i]));
- }
- format(szTitle, sizeof szTitle, "Edit Group Paychecks {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LISTPAY, DIALOG_STYLE_LIST, szTitle, szDialog, "Edit", "Cancel");
- }
- case 26: {
- new
- szDialog[(GROUP_MAX_DIV_LEN + 8) * MAX_GROUP_DIVS];
- for(new i = 0; i != MAX_GROUP_DIVS; ++i) {
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i + 1, ((arrGroupDivisions[iGroupID][i][0]) ? (arrGroupDivisions[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- }
- format(szTitle, sizeof szTitle, "Edit Group Divisions {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITDIVS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 27: {
- new
- szDialog[(GROUP_MAX_RANK_LEN + 8) * MAX_GROUP_RANKS];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- }
- format(szTitle, sizeof szTitle, "Edit Group Ranks {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITRANKS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 28: {
- new
- szDialog[MAX_GROUP_LOCKERS * 32];
- for(new i = 0; i < MAX_GROUP_LOCKERS; ++i) {
- format(szDialog, sizeof szDialog, "%s%Locker %d %s ID:%d\n", szDialog, i+1, ( arrGroupLockers[iGroupID][i][g_fLockerPos][0] != 0.0 ) ? ("(edit)") : ("(undefined)"), arrGroupLockers[iGroupID][i]);
- }
- strcat(szDialog, "Delete All Lockers");
- format(szTitle, sizeof szTitle, "Edit Group Lockers {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LOCKERS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 29: {
- format(szTitle, sizeof szTitle, "Edit Group Crate Delivery Position {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_CRATEPOS, DIALOG_STYLE_MSGBOX, szTitle, "Are you sure you want to move the crate delivery to your position?\n\nIf not, cancel and move to your desired location.", "Cancel", "Confirm");
- }
- case 30: {
- format(szTitle, sizeof szTitle, "Edit Group Locker Cost Type {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_COSTTYPE, DIALOG_STYLE_LIST, szTitle, "Locker Stock\nGroup Budget\nPlayer Money", "OK", "Cancel");
- }
- case 31: {
- format(szTitle, sizeof szTitle, "Edit the Garage Position {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_GARAGEPOS, DIALOG_STYLE_MSGBOX, szTitle, "Please click on 'Confirm' to change the garage location to your current position.\n\nIf you do not wish to move it to your position, click on 'Cancel'.", "Cancel", "Confirm");
- }
- case 32: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group Tackle Access");
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_TACKLEACCESS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 33: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group Wheel Clamps Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_WHEELCLAMPS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 34: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group DoC Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_DOCACCESS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 35: {
- new
- szDialog[((32 + 5) * MAX_GROUP_DIVS) + 24];
- for(new i = 0; i != MAX_GROUP_DIVS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupDivisions[iGroupID][i][0]) ? (arrGroupDivisions[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group Medic Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_MEDICACCESS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 36: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group DMV Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_DMVACCESS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 37: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group Temp Number Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_TEMPNUMACCESS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 38: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group LEO Arrest Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LEOARRESTACCESS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 39: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group OOC Chat Access {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_OOCCHAT, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 40: {
- format(szTitle, sizeof szTitle, "Edit Group OOC Chat Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_OOCCOLOR, DIALOG_STYLE_INPUT, szTitle, "Enter a color in hexadecimal format (for example, BCA3FF). This color will be that of their OOC Chat.", "Confirm", "Cancel");
- }
- case 41: {
- new
- szDialog[(GROUP_MAX_RANK_LEN + 8) * MAX_GROUP_RANKS];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szDialog, sizeof szDialog, "%s\nRank %i (%s): Skin ID:%i", szDialog, i, arrGroupRanks[iGroupID][i], arrGroupData[iGroupID][g_iClothes][i]);
- }
- format(szTitle, sizeof szTitle, "Edit Group Clothes {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LISTCLOTHES, DIALOG_STYLE_LIST, szTitle, szDialog, "Edit", "Cancel");
- }
- case 42: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group Turf Cap Rank {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_TURFCAP, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 43: {
- new
- szDialog[((32 + 5) * MAX_GROUP_RANKS) + 24];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i)
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- strcat(szDialog, "\nRevoke from Group");
- format(szTitle, sizeof szTitle, "Edit Group Point Cap Rank {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_POINTCAP, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case 44: {
- format(szTitle, sizeof szTitle, "Edit Group Crime Type {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_CRIMETYPE, DIALOG_STYLE_LIST, szTitle, "None\nRacer", "Select", "Cancel");
- }
- default: {
- format(szTitle, sizeof szTitle, "{FF0000}Disband Group{FFFFFF} {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_DISBAND, DIALOG_STYLE_MSGBOX, szTitle, "{FFFFFF}Are you absolutely sure you wish to {FF0000}disband this group?{FFFFFF}\n\n\
- This action will {FF0000}delete all group data and remove all members and leaders{FFFFFF} from the group, whether online or offline.", "Cancel", "Confirm");
- }
- }
- else if(GetPVarType(playerid, "Group_EditID")) { // They've made changes to a group setting - save it on exit!
- SaveGroup(GetPVarInt(playerid, "Group_EditID"));
- DeletePVar(playerid, "Group_EditID");
- return Group_ListGroups(playerid);
- }
- }
- case DIALOG_GROUP_NAME: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN];
- if(!(2 < strlen(inputtext) < GROUP_MAX_NAME_LEN)) {
- format(szTitle, sizeof szTitle, "Edit Group {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_NAME, DIALOG_STYLE_INPUT, szTitle, "The specified name must be between 2 and "#GROUP_MAX_NAME_LEN" characters.\n\nSpecify a name for this group.", "Confirm", "Cancel");
- }
- format(string, sizeof(string), "%s has changed group %d's name from %s to %s", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName], inputtext);
- Log("logs/editgroup.log", string);
- strcpy(arrGroupData[iGroupID][g_szGroupName], inputtext, GROUP_MAX_NAME_LEN);
- }
- return Group_DisplayDialog(playerid, GetPVarInt(playerid, "Group_EditID"));
- }
- case DIALOG_GROUP_TYPE: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- arrGroupData[iGroupID][g_iGroupType] = listitem;
- format(string, sizeof(string), "%s has changed group %d's type to %s", GetPlayerNameEx(playerid), iGroupID+1, Group_ReturnType(arrGroupData[iGroupID][g_iGroupType]));
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_ALLEGIANCE: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) arrGroupData[iGroupID][g_iAllegiance] = listitem;
- format(string, sizeof(string), "%s has changed group %d's allegiance to %s", GetPlayerNameEx(playerid), iGroupID+1, Group_ReturnAllegiance(arrGroupData[iGroupID][g_iAllegiance]));
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_JURISDICTION_LIST: {
- new iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response)
- {
- new szTitle[128], szDialog[128];
- format(szTitle, sizeof(szTitle), "%s's Jurisdiction", arrGroupData[iGroupID][g_szGroupName]);
- format(szDialog, sizeof(szDialog), "Are you sure you want to remove %s from the %s?", arrGroupJurisdictions[iGroupID][listitem][g_iAreaName], arrGroupData[iGroupID][g_szGroupName]);
- SetPVarInt(playerid, "JurisdictionRemoval", listitem);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_JURISDICTION_REMOVE, DIALOG_STYLE_MSGBOX, szTitle, szDialog, "Confirm", "Cancel");
- }
- else return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_JURISDICTION_REMOVE: {
- new iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response)
- {
- new jurisdictionid = GetPVarInt(playerid, "JurisdictionRemoval");
- mysql_format(MainPipeline, string, sizeof(string), "DELETE FROM `jurisdictions` WHERE `id` = %i", arrGroupJurisdictions[iGroupID][jurisdictionid][g_iJurisdictionSQLId]);
- mysql_tquery(MainPipeline, string, "OnQueryFinish", "i", SENDDATA_THREAD);
- mysql_tquery(MainPipeline, "SELECT * FROM `jurisdictions`", "Group_QueryFinish", "ii", GROUP_QUERY_JURISDICTIONS, 0);
- format(string, sizeof(string), "You have successfully removed %s from %s.", arrGroupJurisdictions[iGroupID][jurisdictionid][g_iAreaName], arrGroupData[iGroupID][g_szGroupName]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "%s has removed %s from group %d's jurisdictions.", GetPlayerNameEx(playerid), arrGroupJurisdictions[iGroupID][jurisdictionid][g_iAreaName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- DeletePVar(playerid, "JurisdictionRemoval");
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_RADIOACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iRadioAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked the radio (/r) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iRadioAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for radio (/r) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iRadioAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iRadioAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_DEPTRADIOACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iDeptRadioAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked the dept radio (/dept) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default:{
- arrGroupData[iGroupID][g_iDeptRadioAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for dept radio (/dept) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iDeptRadioAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iDeptRadioAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_INTRADIOACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iIntRadioAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked the int radio (/int) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iIntRadioAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for int radio (/int) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iIntRadioAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iIntRadioAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_BUGACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iBugAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked the bug (/bug) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iBugAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for bug access (/bug) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iBugAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iBugAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_FINDACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iFindAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked find (/hfind) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iFindAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for find access (/hfind) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iFindAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iFindAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_GOVACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iGovAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked government announcement (/gov) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iGovAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for government announcement (/gov) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iGovAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iGovAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_TRESACC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iTreasuryAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked treasury Access (/setbudget) access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iTreasuryAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for treasury Access (/setbudget) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iTreasuryAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iTreasuryAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_FREENC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iFreeNameChange] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked free name changes access from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iFreeNameChange] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for free name changes to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iFreeNameChange], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iFreeNameChange]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_FREEDIVNC: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_DIVS: {
- arrGroupData[iGroupID][g_iFreeNameChangeDiv] = INVALID_DIVISION;
- format(string, sizeof(string), "%s has revoked the division for free name changes from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iFreeNameChangeDiv] = listitem;
- format(string, sizeof(string), "%s has set the division for free name changes to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iFreeNameChange], arrGroupDivisions[iGroupID][arrGroupData[iGroupID][g_iFreeNameChange]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_SPIKES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iSpikeStrips] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked spikes (/deploy spikes) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iSpikeStrips] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for spikes (/deploy spikes) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iSpikeStrips], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iSpikeStrips]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_CADES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iBarricades] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked cades (/deploy cades) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iBarricades] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for cades (/deploy cades) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iBarricades], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iBarricades]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_CONES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iCones] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked cones (/deploy cone) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iCones] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for cones (/deploy cone) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iCones], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iCones]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_FLARES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iFlares] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked flares (/deploy flares) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iFlares] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for flares (/deploy flares) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iFlares], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iFlares]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_BARRELS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iBarrels] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked barrels (/deploy barrel) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iBarrels] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for barrels (/deploy barrel) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iBarrels], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iBarrels]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_LADDERS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iLadders] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked ladders (/deploy ladder) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iLadders] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for ladders (/deploy ladder) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iLadders], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iLadders]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_TAPES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iTapes] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked tapes (/deploy tape) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iTapes] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for tapes (/deploy tape) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iTapes], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iTapes]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_CRATE: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iCrateIsland] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked Crate Island Control from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iCrateIsland] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for Crate Island Control to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iCrateIsland], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iCrateIsland]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_DUTYCOL: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN],
- hColour;
- if(strlen(inputtext) > 6 || !ishex(inputtext)) {
- format(szTitle, sizeof szTitle, "Edit Group Duty Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_DUTYCOL, DIALOG_STYLE_INPUT, szTitle, "Invalid value specified.\n\nEnter a colour in hexadecimal format (for example, BCA3FF). This colour will be used to identify the group.", "Confirm", "Cancel");
- }
- sscanf(inputtext, "h", hColour);
- if (hColour == 0xFFFFFF) {
- format(szTitle, sizeof szTitle, "Edit Group Duty Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_DUTYCOL, DIALOG_STYLE_INPUT, szTitle, "You cannot use white as the value.\n\nEnter a colour in hexadecimal format (for example, BCA3FF). This colour will be used to identify the group.", "Confirm", "Cancel");
- }
- arrGroupData[iGroupID][g_hDutyColour] = hColour;
- foreach(new i: Player)
- {
- if (PlayerInfo[i][pMember] == iGroupID) SetPlayerToTeamColor(i);
- }
- format(string, sizeof(string), "%s has set the duty color to %x in %s (%d)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_hDutyColour], arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_RADIOCOL: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN],
- hColour;
- if(strlen(inputtext) > 6 || !ishex(inputtext)) {
- format(szTitle, sizeof szTitle, "Edit Group Radio Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_RADIOCOL, DIALOG_STYLE_INPUT, szTitle, "Invalid value specified.\n\nEnter a colour in hexadecimal format (for example, BCA3FF). This colour will be used for the group's in-character radio chat.", "Confirm", "Cancel");
- }
- sscanf(inputtext, "h", hColour);
- arrGroupData[iGroupID][g_hRadioColour] = hColour;
- format(string, sizeof(string), "%s has set the radio color to %x in %s (%d)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_hRadioColour], arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITSTOCK: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN],
- iValue = strval(inputtext);
- if(isnull(inputtext) || iValue <= -1) {
- format(szTitle, sizeof szTitle, "Edit Group Locker Stock {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITSTOCK, DIALOG_STYLE_INPUT, szTitle, "Invalid value specified.\n\nSpecify a value. Locker stock is used for weapons, and can be replenished using crates.", "Confirm", "Cancel");
- }
- arrGroupData[iGroupID][g_iLockerStock] = iValue;
- format(string, sizeof(string), "%s has set the locker stock to %d in %s (%d)", GetPlayerNameEx(playerid), strval(inputtext), arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITWEPS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- szTitle[32 + GROUP_MAX_NAME_LEN];
- if(response) {
- SetPVarInt(playerid, "Group_EditWep", listitem);
- format(szTitle, sizeof szTitle, "Edit Group Weapon (%i) {%s}(%s)", listitem + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITWEPID, DIALOG_STYLE_INPUT, szTitle, "Specify a weapon ID (zero to remove this weapon).", "Select", "Cancel");
- }
- else return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITWEPID: {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN],
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iWepID = GetPVarInt(playerid, "Group_EditWep");
- format(szTitle, sizeof szTitle, "Edit Group Weapon (%i) {%s}(%s)", iWepID + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- if(response) {
- new
- iValue = strval(inputtext);
- if(isnull(inputtext) || !(0 <= iValue <= 46)) {
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITWEPID, DIALOG_STYLE_INPUT, szTitle, "Invalid weapon specified.\n\nSpecify a weapon ID (zero to remove this weapon).", "Select", "Cancel");
- }
- for (new i; i < MAX_GROUP_WEAPONS; i++) {
- if (arrGroupData[iGroupID][g_iLockerGuns][i] == iValue && iValue != 0)
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITWEPID, DIALOG_STYLE_INPUT, szTitle, "This weapon already exists in the locker.\n\nSpecify a weapon ID (zero to remove this weapon).", "Select", "Cancel");
- }
- arrGroupData[iGroupID][g_iLockerGuns][iWepID] = iValue;
- format(string, sizeof(string), "%s has changed the locker weapon (slot %d) to %d (%s) in %s (%d)", GetPlayerNameEx(playerid), iWepID, iValue, Weapon_ReturnName(iValue), arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- if(iValue >= 1) {
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITCOST, DIALOG_STYLE_INPUT, szTitle, "Specify an (optional) cost for this weapon. This value will be charged in locker stock (or cash, where specified).", "Select", "Back");
- }
- }
- new
- szDialog[(32 + 8) * MAX_GROUP_WEAPONS];
- arrGroupData[iGroupID][g_iLockerCost][iWepID] = 0;
- for(new i = 0; i != MAX_GROUP_WEAPONS; ++i) {
- if(arrGroupData[iGroupID][g_iLockerGuns][i]) format(szDialog, sizeof szDialog, "%s\n(%i) %s (cost: %i)", szDialog, arrGroupData[iGroupID][g_iLockerGuns][i], Weapon_ReturnName(arrGroupData[iGroupID][g_iLockerGuns][i]), arrGroupData[iGroupID][g_iLockerCost][i]);
- else strcat(szDialog, "\n(empty)");
- }
- DeletePVar(playerid, "Group_EditWep");
- format(szTitle, sizeof szTitle, "Edit Group Weapons {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITWEPS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case DIALOG_GROUP_EDITCOST: {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN],
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iWepID = GetPVarInt(playerid, "Group_EditWep");
- DeletePVar(playerid, "Group_EditWep");
- if(response) {
- new
- iValue = strval(inputtext);
- if(isnull(inputtext) || iValue <= -1) {
- format(szTitle, sizeof szTitle, "Edit Group Weapon (%i) {%s}(%s)", iWepID + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITCOST, DIALOG_STYLE_INPUT, szTitle, "Invalid value specified.\n\nSpecify an (optional) cost for this weapon. This value will be charged in locker stock (or cash, where specified).", "Select", "Back");
- }
- arrGroupData[iGroupID][g_iLockerCost][iWepID] = iValue;
- format(string, sizeof(string), "%s has changed the weapon cost to %d in %s (%d)", GetPlayerNameEx(playerid), strval(inputtext));
- Log("logs/editgroup.log", string);
- }
- new
- szDialog[(32 + 8) * MAX_GROUP_WEAPONS];
- for(new i = 0; i != MAX_GROUP_WEAPONS; ++i) {
- if(arrGroupData[iGroupID][g_iLockerGuns][i]) format(szDialog, sizeof szDialog, "%s\n(%i) %s (cost: %i)", szDialog, arrGroupData[iGroupID][g_iLockerGuns][i], Weapon_ReturnName(arrGroupData[iGroupID][g_iLockerGuns][i]), arrGroupData[iGroupID][g_iLockerCost][i]);
- else strcat(szDialog, "\n(empty)");
- }
- format(szTitle, sizeof szTitle, "Edit Group Weapons {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITWEPS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- case DIALOG_GROUP_EDITDIVS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN];
- SetPVarInt(playerid, "Group_EditDiv", listitem);
- format(szTitle, sizeof szTitle, "Edit Group Division (%i) {%s}(%s)", listitem + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITDIV, DIALOG_STYLE_INPUT, szTitle, "Specify a division name (or none to disable it).", "Confirm", "Cancel");
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITDIV: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iDivID = GetPVarInt(playerid, "Group_EditDiv"),
- szTitle[32 + GROUP_MAX_NAME_LEN];
- if(response) {
- if(strlen(inputtext) >= GROUP_MAX_DIV_LEN) {
- format(szTitle, sizeof szTitle, "Edit Group Division (%i) {%s}(%s)", iDivID + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITDIV, DIALOG_STYLE_INPUT, szTitle, "The specified name must be less than "#GROUP_MAX_DIV_LEN" characters in length.\n\nSpecify a division name (or none to disable it).", "Confirm", "Cancel");
- }
- arrGroupDivisions[iGroupID][iDivID][0] = 0;
- if(!isnull(inputtext)) mysql_escape_string(inputtext, arrGroupDivisions[iGroupID][iDivID]);
- }
- new
- szDialog[(GROUP_MAX_DIV_LEN + 8) * MAX_GROUP_DIVS];
- for(new i = 0; i != MAX_GROUP_DIVS; ++i) {
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i + 1, ((arrGroupDivisions[iGroupID][i][0]) ? (arrGroupDivisions[iGroupID][i]) : ("{AAAAAA}(undefined){FFFFFF}")));
- }
- format(szTitle, sizeof szTitle, "Edit Group Divisions {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITDIVS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- DeletePVar(playerid, "Group_EditDiv");
- }
- case DIALOG_GROUP_LOCKERS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- szTitle[32 + GROUP_MAX_NAME_LEN];
- if(response)
- {
- format(szTitle, sizeof szTitle, "Edit Group Locker Position {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- if (listitem == MAX_GROUP_LOCKERS)
- {
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LOCKERDELETECONF, DIALOG_STYLE_MSGBOX, szTitle, "{FFFFFF}Are you sure you want to delete ALL of the lockers for this group?", "Cancel", "Confirm");
- return 1;
- }
- else
- {
- SetPVarInt(playerid, "Group_EditLocker", listitem);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LOCKERACTION, DIALOG_STYLE_LIST, szTitle, "Go to Locker\nMove Locker (to your current position)\nDelete Locker", "Select", "Cancel");
- return 1;
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_LOCKERACTION: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iLocker = GetPVarInt(playerid, "Group_EditLocker");
- if(response)
- {
- if (listitem == 0)
- {
- Player_StreamPrep(playerid, arrGroupLockers[iGroupID][iLocker][g_fLockerPos][0], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][1], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][2], FREEZE_TIME);
- SetPlayerVirtualWorld(playerid, arrGroupLockers[iGroupID][iLocker][g_iLockerVW]);
- }
- if (listitem == 1)
- {
- GetPlayerPos(playerid, arrGroupLockers[iGroupID][iLocker][g_fLockerPos][0], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][1], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][2]);
- arrGroupLockers[iGroupID][iLocker][g_iLockerVW] = GetPlayerVirtualWorld(playerid);
- DestroyDynamic3DTextLabel(arrGroupLockers[iGroupID][iLocker][g_tLocker3DLabel]);
- DestroyDynamicArea(arrGroupLockers[iGroupID][iLocker][g_iLockerAreaID]);
- format(szMiscArray, sizeof szMiscArray, "%s Locker\n{1FBDFF}Press ~k~~CONVERSATION_YES~ {FFFF00} to use\n ID: %i", arrGroupData[iGroupID][g_szGroupName], arrGroupLockers[iGroupID][iLocker]);
- arrGroupLockers[iGroupID][iLocker][g_tLocker3DLabel] = CreateDynamic3DTextLabel(szMiscArray, arrGroupData[iGroupID][g_hDutyColour] * 256 + 0xFF, arrGroupLockers[iGroupID][iLocker][g_fLockerPos][0], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][1], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][2], 15.0, .testlos = 1, .worldid = arrGroupLockers[iGroupID][iLocker][g_iLockerVW]);
- arrGroupLockers[iGroupID][iLocker][g_iLockerAreaID] = CreateDynamicSphere(arrGroupLockers[iGroupID][iLocker][g_fLockerPos][0], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][1], arrGroupLockers[iGroupID][iLocker][g_fLockerPos][2], 3.0, .worldid = arrGroupLockers[iGroupID][iLocker][g_iLockerVW]);
- // Streamer_SetIntData(STREAMER_TYPE_AREA, arrGroupLockers[iGroupID][iLocker][g_iLockerAreaID], E_STREAMER_EXTRA_ID, iLocker);
- }
- else if (listitem == 2)
- {
- arrGroupLockers[iGroupID][iLocker][g_fLockerPos][0] = 0;
- arrGroupLockers[iGroupID][iLocker][g_fLockerPos][1] = 0;
- arrGroupLockers[iGroupID][iLocker][g_fLockerPos][2] = 0;
- arrGroupLockers[iGroupID][iLocker][g_iLockerVW] = 0;
- DestroyDynamic3DTextLabel(arrGroupLockers[iGroupID][iLocker][g_tLocker3DLabel]);
- format(string, sizeof(string), "You have deleted locker %d of %s", iLocker, arrGroupData[iGroupID][g_szGroupName]);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_LISTPAY: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN];
- SetPVarInt(playerid, "Group_EditRank", listitem);
- format(szTitle, sizeof szTitle, "Edit Group Rank (%i) {%s}(%s)", listitem, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITPAY, DIALOG_STYLE_INPUT, szTitle, "Specify a paycheck amount for this rank.", "OK", "Cancel");
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITPAY: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iRankID = GetPVarInt(playerid, "Group_EditRank");
- if(response) {
- new szTitle[128];
- arrGroupData[iGroupID][g_iPaycheck][iRankID] = strval(inputtext);
- new
- szDialog[(GROUP_MAX_RANK_LEN + 8) * MAX_GROUP_RANKS];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szDialog, sizeof szDialog, "%s\nRank %i (%s): $%s", szDialog, i, arrGroupRanks[iGroupID][i], number_format(arrGroupData[iGroupID][g_iPaycheck][i]));
- }
- format(szTitle, sizeof szTitle, "Edit Group Paychecks {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LISTPAY, DIALOG_STYLE_LIST, szTitle, szDialog, "Edit", "Cancel");
- format(string, sizeof(string), "%s has changed the paycheck for rank %d (%s) to $%d in %s (%d)", GetPlayerNameEx(playerid), iRankID, arrGroupRanks[iGroupID][iRankID], strval(inputtext), iGroupID + 1);
- Log("logs/editgroup.log", string);
- return 1;
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITRANKS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN];
- SetPVarInt(playerid, "Group_EditRank", listitem);
- format(szTitle, sizeof szTitle, "Edit Group Rank (%i) {%s}(%s)", listitem + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITRANK, DIALOG_STYLE_INPUT, szTitle, "Specify a rank name (or none to disable it).", "Confirm", "Cancel");
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITRANK: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iRankID = GetPVarInt(playerid, "Group_EditRank"),
- szTitle[32 + GROUP_MAX_NAME_LEN];
- if(response) {
- if(strlen(inputtext) >= GROUP_MAX_RANK_LEN) {
- format(szTitle, sizeof szTitle, "Edit Group Rank (%i) {%s}(%s)", iRankID + 1, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITRANK, DIALOG_STYLE_INPUT, szTitle, "The specified name must be less than "#GROUP_MAX_RANK_LEN" characters in length.\n\nSpecify a rank name (or none to disable it).", "Confirm", "Cancel");
- }
- arrGroupRanks[iGroupID][iRankID][0] = 0;
- if(!isnull(inputtext)) mysql_escape_string(inputtext, arrGroupRanks[iGroupID][iRankID]);
- }
- new
- szDialog[(GROUP_MAX_RANK_LEN + 8) * MAX_GROUP_RANKS];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szDialog, sizeof szDialog, "%s\n(%i) %s", szDialog, i + 1, ((arrGroupRanks[iGroupID][i][0]) ? (arrGroupRanks[iGroupID][i]) : ("{BBBBBB}(undefined){FFFFFF}")));
- }
- format(szTitle, sizeof szTitle, "Edit Group Ranks {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITRANKS, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- DeletePVar(playerid, "Group_EditRank");
- }
- case DIALOG_GROUP_CRATEPOS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(!response) {
- new
- szText[84];
- GetPlayerPos(playerid, arrGroupData[iGroupID][g_fCratePos][0], arrGroupData[iGroupID][g_fCratePos][1], arrGroupData[iGroupID][g_fCratePos][2]);
- DestroyDynamic3DTextLabel(arrGroupData[iGroupID][g_tCrate3DLabel]);
- if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_CRIMINAL)
- {
- format(szText, sizeof(szText), "%s Shipment Delivery Point\n{1FBDFF}/gdelivercrate", arrGroupData[iGroupID][g_szGroupName]);
- }
- else
- {
- format(szText, sizeof szText, "%s Crate Delivery Point\n{1FBDFF}/delivercrate", arrGroupData[iGroupID][g_szGroupName]);
- }
- arrGroupData[iGroupID][g_tCrate3DLabel] = CreateDynamic3DTextLabel(szText, arrGroupData[iGroupID][g_hDutyColour] * 256 + 0xFF, arrGroupData[iGroupID][g_fCratePos][0], arrGroupData[iGroupID][g_fCratePos][1], arrGroupData[iGroupID][g_fCratePos][2], 10.0, .testlos = 1, .streamdistance = 20.0);
- format(string, sizeof(string), "%s has changed the crate/shipment position to X:%f, Y:%f, Z:%f in %s (%d)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_fCratePos][0], arrGroupData[iGroupID][g_fCratePos][1], arrGroupData[iGroupID][g_fCratePos][2], arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_COSTTYPE: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- format(string, sizeof(string), "%s has changed the locker cost type to %s in %s (%d)", GetPlayerNameEx(playerid), inputtext, arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- arrGroupData[iGroupID][g_iLockerCostType] = listitem;
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_DISBAND: {
- if(!response && PlayerInfo[playerid][pAdmin] >= 1337) {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- format(string, sizeof(string), "%s has disbanded %s (%d)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- Group_DisbandGroup(iGroupID);
- }
- return Group_ListGroups(playerid);
- }
- case DIALOG_GROUP_LOCKERDELETECONF: {
- if(!response) {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- for (new i; i < MAX_GROUP_LOCKERS; i++)
- {
- arrGroupLockers[iGroupID][i][g_fLockerPos][0] = 0;
- arrGroupLockers[iGroupID][i][g_fLockerPos][1] = 0;
- arrGroupLockers[iGroupID][i][g_fLockerPos][2] = 0;
- DestroyDynamic3DTextLabel(arrGroupLockers[iGroupID][i][g_tLocker3DLabel]);
- }
- SendClientMessage(playerid, COLOR_WHITE, "You have deleted all lockers of this group.");
- format(string, sizeof(string), "%s has deleted all lockers of %s", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- return Group_ListGroups(playerid);
- }
- case DIALOG_GROUP_JURISDICTION_ADD: {
- SetPVarInt(playerid, "Group_EditID", listitem);
- new iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response)
- {
- if(arrGroupData[iGroupID][g_iJCount] >= MAX_GROUP_JURISDICTIONS) return SendClientMessage(playerid, COLOR_GRAD2, "Error: Cannot add anymore jurisdictions.");
- new szTitle[128], szDialog[2500];
- for(new i = 0; i < 161; ++i)
- {
- strcat(szDialog, "\n"), strcat(szDialog, AreaName[i]);
- }
- format(szTitle, sizeof szTitle, "Add Group Jurisdiction {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_JURISDICTION_ADD2, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Go Back");
- }
- else return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_JURISDICTION_ADD2: {
- new iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response)
- {
- new query[256];
- mysql_format(MainPipeline, query, sizeof(query), "INSERT INTO `jurisdictions` (`id`, `GroupID`, `JurisdictionID`, `AreaName`) VALUES (NULL, %d, %d, '%s')", iGroupID, listitem,AreaName[listitem]);
- mysql_tquery(MainPipeline, query, "OnQueryFinish", "i", SENDDATA_THREAD);
- mysql_tquery(MainPipeline, "SELECT * FROM `jurisdictions`", "Group_QueryFinish", "ii", GROUP_QUERY_JURISDICTIONS, 0);
- format(string, sizeof(string), "You have successfully assigned %s to %s.", AreaName[listitem], arrGroupData[iGroupID][g_szGroupName]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "%s has assigned %s to %s", GetPlayerNameEx(playerid), AreaName[listitem], arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- else return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_GARAGEPOS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(!response) {
- GetPlayerPos(playerid, arrGroupData[iGroupID][g_fGaragePos][0], arrGroupData[iGroupID][g_fGaragePos][1], arrGroupData[iGroupID][g_fGaragePos][2]);
- SendClientMessageEx(playerid, COLOR_WHITE, "You've changed the garage position to your current location.");
- format(string, sizeof(string), "%s has changed the garage position to X:%f, Y:%f, Z:%f in %s (%d)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_fGaragePos][0], arrGroupData[iGroupID][g_fGaragePos][1], arrGroupData[iGroupID][g_fGaragePos][2], arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_TACKLEACCESS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iTackleAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has revoked tackle (/tackle) from group %d (%s)", GetPlayerNameEx(playerid), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- default: {
- arrGroupData[iGroupID][g_iTackleAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for tackle (/tackle) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iTackleAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iTackleAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- }
- }
- Log("logs/editgroup.log", string);
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_WHEELCLAMPS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iWheelClamps] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for wheel clamps (/wheelclamp) to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iWheelClamps], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][g_iWheelClamps] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for wheel clamps (/wheelclamp) to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iWheelClamps], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iWheelClamps]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_DOCACCESS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iDoCAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for DoC Access to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iDoCAccess], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][g_iDoCAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for DoC Access to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iDoCAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iDoCAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_MEDICACCESS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_DIVS: {
- if(arrGroupData[iGroupID][g_iMedicAccess] == INVALID_DIVISION) return 1;
- format(string, sizeof(string), "%s has revoked Medic Access from division %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iMedicAccess], arrGroupDivisions[iGroupID][arrGroupData[iGroupID][g_iMedicAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- arrGroupData[iGroupID][g_iMedicAccess] = INVALID_DIVISION;
- }
- default: {
- arrGroupData[iGroupID][g_iMedicAccess] = listitem;
- format(string, sizeof(string), "%s has set the division for Medic Access to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iMedicAccess], arrGroupDivisions[iGroupID][arrGroupData[iGroupID][g_iMedicAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_DMVACCESS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iDMVAccess] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for DMV Access to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iDMVAccess], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][g_iDMVAccess] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for DMV Access to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iDMVAccess], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iDMVAccess]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_TEMPNUMACCESS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][gTempNum] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for Temporary Number Access to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][gTempNum], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][gTempNum] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for Temporary Number Access to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][gTempNum], arrGroupRanks[iGroupID][arrGroupData[iGroupID][gTempNum]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_LEOARRESTACCESS: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][gLEOArrest] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for LEO Arrest Access to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][gLEOArrest], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][gLEOArrest] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for LEO Arrest Access to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][gLEOArrest], arrGroupRanks[iGroupID][arrGroupData[iGroupID][gLEOArrest]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_OOCCHAT: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iOOCChat] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for OOC Chat Access to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iOOCChat], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][g_iOOCChat] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for OOC Chat Access to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iOOCChat], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iOOCChat]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_OOCCOLOR: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN],
- hColour;
- if(strlen(inputtext) > 6 || !ishex(inputtext)) {
- format(szTitle, sizeof szTitle, "Edit Group OOC Chat Color {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_RADIOCOL, DIALOG_STYLE_INPUT, szTitle, "Invalid value specified.\n\nEnter a color in hexadecimal format (for example, BCA3FF). This color will be that of their OOC Chat.", "Confirm", "Cancel");
- }
- sscanf(inputtext, "h", hColour);
- arrGroupData[iGroupID][g_hOOCColor] = hColour;
- format(string, sizeof(string), "%s has set the OOC Chat color to %x in %s (%d)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_hOOCColor], arrGroupData[iGroupID][g_szGroupName], iGroupID+1);
- Log("logs/editgroup.log", string);
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_LISTCLOTHES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- new
- szTitle[32 + GROUP_MAX_NAME_LEN];
- SetPVarInt(playerid, "Group_EditRank", listitem);
- format(szTitle, sizeof szTitle, "Edit Group Rank (%i) {%s}(%s)", listitem, Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_EDITCLOTHES, DIALOG_STYLE_INPUT, szTitle, "Specify a skin ID for this rank.", "OK", "Cancel");
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_EDITCLOTHES: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID"),
- iRankID = GetPVarInt(playerid, "Group_EditRank");
- if(response) {
- new szTitle[128];
- arrGroupData[iGroupID][g_iClothes][iRankID] = strval(inputtext);
- new
- szDialog[(GROUP_MAX_RANK_LEN + 8) * MAX_GROUP_RANKS];
- for(new i = 0; i != MAX_GROUP_RANKS; ++i) {
- format(szDialog, sizeof szDialog, "%s\nRank %i (%s): Skin ID:%i", szDialog, i, arrGroupRanks[iGroupID][i], arrGroupData[iGroupID][g_iClothes][i]);
- }
- format(szTitle, sizeof szTitle, "Edit Group Clothes {%s}(%s)", Group_NumToDialogHex(arrGroupData[iGroupID][g_hDutyColour]), arrGroupData[iGroupID][g_szGroupName]);
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_LISTCLOTHES, DIALOG_STYLE_LIST, szTitle, szDialog, "Edit", "Cancel");
- format(string, sizeof(string), "%s has changed the skin ID for rank %d (%s) to $%d in %s (%d)", GetPlayerNameEx(playerid), iRankID, arrGroupRanks[iGroupID][iRankID], strval(inputtext), iGroupID + 1);
- Log("logs/editgroup.log", string);
- return 1;
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_TURFCAP: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iTurfCapRank] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for turf capping to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iTurfCapRank], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][g_iTurfCapRank] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for turf capping to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iTurfCapRank], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iTurfCapRank]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_POINTCAP: {
- new
- iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) switch(listitem) {
- case MAX_GROUP_RANKS: {
- arrGroupData[iGroupID][g_iPointCapRank] = INVALID_RANK;
- format(string, sizeof(string), "%s has set the minimum rank for point capping to %d (Disabled) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iPointCapRank], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- default: {
- arrGroupData[iGroupID][g_iPointCapRank] = listitem;
- format(string, sizeof(string), "%s has set the minimum rank for point capping to %d (%s) in group %d (%s)", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_iPointCapRank], arrGroupRanks[iGroupID][arrGroupData[iGroupID][g_iPointCapRank]], iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- return Group_DisplayDialog(playerid, iGroupID);
- }
- case DIALOG_GROUP_CRIMETYPE:
- {
- new iGroupID = GetPVarInt(playerid, "Group_EditID");
- if(response) {
- arrGroupData[iGroupID][g_iCrimeType] = listitem;
- format(string, sizeof(string), "%s has set the crime group type to %s in group %d (%s)", GetPlayerNameEx(playerid), ReturnCrimeGroupType(listitem), iGroupID+1, arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/editgroup.log", string);
- }
- }
- case G_LOCKER_DRUGS: {
- if(!response) return DeletePVar(playerid, "GSafe_Opt"), cmd_locker(playerid, "");
- else {
- SetPVarInt(playerid, "GLocker_SID", listitem);
- format(szMiscArray, sizeof(szMiscArray), "Gang Safe | Editing: {FFFF00}%s", Drugs[listitem]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_LIST, szMiscArray, "Deposit\nWithdraw", "Select", "Back");
- }
- }
- /*case G_LOCKER_INGREDIENTS: {
- if(!response) return DeletePVar(playerid, "GSafe_Opt"), cmd_locker(playerid, "");
- else {
- SetPVarInt(playerid, "GLocker_SID", listitem);
- format(szMiscArray, sizeof(szMiscArray), "Gang Safe | Editing: {FFFF00}%s", szIngredients[listitem]);
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_LIST, szMiscArray, "Deposit\nWithdraw", "Select", "Back");
- }
- }*/
- case DIALOG_GROUP_SACTIONTYPE:
- {
- if(!response)
- {
- return cmd_locker(playerid, "");
- }
- switch(listitem)
- {
- case 0:
- {
- SetPVarInt(playerid, "GSafe_Action", 1);
- format(szMiscArray, sizeof(szMiscArray), "Please type an amount to deposit.");
- }
- case 1:
- {
- new iTemp = GetPVarInt(playerid, "GSafe_Opt");
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iWithdrawRank][GetSafeTakePerm(iTemp)])
- {
- SetPVarInt(playerid, "GSafe_Action", 2);
- format(szMiscArray, sizeof(szMiscArray), "Please type an amount to withdraw.");
- }
- else
- {
- DeletePVar(playerid, "GSafe_Opt");
- return SendClientMessageEx(playerid, COLOR_GREY, "You are not authorized to withdraw from the locker.");
- }
- }
- }
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONEXEC, DIALOG_STYLE_INPUT, "Gang Safe", szMiscArray, "Input", "Cancel");
- }
- case DIALOG_GROUP_SACTIONEXEC:
- {
- new iGroupID = PlayerInfo[playerid][pMember];
- if(!response)
- {
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- return cmd_locker(playerid, "");
- }
- if(response)
- {
- if(strval(inputtext) <= 0) return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONEXEC, DIALOG_STYLE_INPUT, "Gang Safe", "The amount cannot be less than or 0.", "Input", "Cancel");
- switch(GetPVarInt(playerid, "GSafe_Opt")) {
- case 0:
- {
- new amount = strval(inputtext);
- switch(GetPVarInt(playerid, "GSafe_Action"))
- {
- case 1:
- {
- if(strval(inputtext) <= GetPlayerCash(playerid))
- {
- arrGroupData[iGroupID][g_iBudget] += strval(inputtext);
- GivePlayerCash( playerid, -amount);
- format(szMiscArray, sizeof(szMiscArray), "%s has deposited $%i into the safe.", GetPlayerNameEx(playerid), strval(inputtext));
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have deposited $%i into the safe.", strval(inputtext));
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- OnPlayerStatsUpdate(playerid);
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONEXEC, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that that you have on you.\nPlease input another amount.", "Input", "Cancel");
- }
- case 2:
- {
- if(strval(inputtext) <= arrGroupData[iGroupID][g_iBudget])
- {
- new iMoney = strval(inputtext);
- arrGroupData[iGroupID][g_iBudget] -= iMoney;
- GivePlayerCash(playerid, amount);
- format(szMiscArray, sizeof(szMiscArray), "%s has withdrawn $%s from the safe.", GetPlayerNameEx(playerid), number_format(iMoney));
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have withdrawn $%s from the safe.", number_format(iMoney));
- format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s has withdrawn $%s of the group money from their gang vault", GetPlayerNameEx(playerid), number_format(iMoney));
- ABroadCast(COLOR_YELLOW, string, 2);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that in the safe.\nPlease input another amount.", "Input", "Cancel");
- }
- }
- }
- case 1:
- {
- switch(GetPVarInt(playerid, "GSafe_Action"))
- {
- case 1:
- {
- if(strval(inputtext) <= PlayerInfo[playerid][pMats])
- {
- arrGroupData[iGroupID][g_iMaterials] += strval(inputtext);
- PlayerInfo[playerid][pMats] -= strval(inputtext);
- format(szMiscArray, sizeof(szMiscArray), "%s has deposited %i materials into the safe.", GetPlayerNameEx(playerid), strval(inputtext));
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have deposited %i materials into the safe.", strval(inputtext));
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONEXEC, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that that you have on you.\nPlease input another amount.", "Input", "Cancel");
- }
- case 2:
- {
- if(strval(inputtext) <= arrGroupData[iGroupID][g_iMaterials])
- {
- arrGroupData[iGroupID][g_iMaterials] -= strval(inputtext);
- PlayerInfo[playerid][pMats] += strval(inputtext);
- format(szMiscArray, sizeof(szMiscArray), "%s has withdrawn %i materials from the safe.", GetPlayerNameEx(playerid), strval(inputtext));
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have withdrawn %i materials from the safe.", strval(inputtext));
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that in the safe.\nPlease input another amount.", "Input", "Cancel");
- }
- }
- }
- case 2: {
- new iDrugID = GetPVarInt(playerid, "GLocker_SID");
- switch(GetPVarInt(playerid, "GSafe_Action")) {
- case 1: {
- if(strval(inputtext) <= PlayerInfo[playerid][pDrugs][iDrugID]) {
- arrGroupData[iGroupID][g_iDrugs][iDrugID] += strval(inputtext);
- PlayerInfo[playerid][pDrugs][iDrugID] -= strval(inputtext);
- format(szMiscArray, sizeof(szMiscArray), "%s has deposited %i grams of %s into the safe.", GetPlayerNameEx(playerid), strval(inputtext), Drugs[iDrugID]);
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have deposited %i grams of %s into the safe.", strval(inputtext), Drugs[iDrugID]);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- SaveGroup(iGroupID);
- cmd_locker(playerid, "");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONEXEC, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that that you have on you.\nPlease input another amount.", "Input", "Cancel");
- }
- case 2:
- {
- if(strval(inputtext) <= arrGroupData[iGroupID][g_iDrugs][iDrugID])
- {
- arrGroupData[iGroupID][g_iDrugs][iDrugID] -= strval(inputtext);
- PlayerInfo[playerid][pDrugs][iDrugID] += strval(inputtext);
- format(szMiscArray, sizeof(szMiscArray), "%s has withdrawn %i grams of %s from the safe.", GetPlayerNameEx(playerid), strval(inputtext), Drugs[iDrugID]);
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have withdrawn %i grams of %s from the safe.", strval(inputtext), Drugs[iDrugID]);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- SaveGroup(iGroupID);
- cmd_locker(playerid, "");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that in the safe.\nPlease input another amount.", "Input", "Cancel");
- }
- }
- }
- /*case 3: {
- new iIngredientID = GetPVarInt(playerid, "GLocker_SID");
- switch(GetPVarInt(playerid, "GSafe_Action")) {
- case 1: {
- if(strval(inputtext) <= PlayerInfo[playerid][p_iIngredient][iIngredientID]) {
- arrGroupData[iGroupID][g_iIngredients][iIngredientID] += strval(inputtext);
- PlayerInfo[playerid][p_iIngredient][iIngredientID] -= strval(inputtext);
- format(szMiscArray, sizeof(szMiscArray), "%s has deposited %i grams of %s into the safe.", GetPlayerNameEx(playerid), strval(inputtext), szIngredients[iIngredientID]);
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have deposited %i grams of %s into the safe.", strval(inputtext), szIngredients[iIngredientID]);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `groups` SET `%s` = '%d' WHERE `id` = '%d'", DS_Ingredients_GetSQLName(iIngredientID), arrGroupData[iGroupID][g_iIngredients][iIngredientID], iGroupID + 1);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- cmd_locker(playerid, "");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONEXEC, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that that you have on you.\nPlease input another amount.", "Input", "Cancel");
- }
- case 2:
- {
- if(strval(inputtext) <= arrGroupData[iGroupID][g_iIngredients][iIngredientID]) {
- arrGroupData[iGroupID][g_iIngredients][iIngredientID] -= strval(inputtext);
- PlayerInfo[playerid][p_iIngredient][iIngredientID] += strval(inputtext);
- format(szMiscArray, sizeof(szMiscArray), "%s has withdrawn %i grams of %s from the safe.", GetPlayerNameEx(playerid), strval(inputtext), szIngredients[iIngredientID]);
- GroupLog(iGroupID, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have withdrawn %i grams of %s from the safe.", strval(inputtext), szIngredients[iIngredientID]);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- DeletePVar(playerid, "GSafe_Action");
- DeletePVar(playerid, "GSafe_Opt");
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `groups` SET `%s` = '%d' WHERE `id` = '%d'", DS_Ingredients_GetSQLName(iIngredientID), arrGroupData[iGroupID][g_iIngredients][iIngredientID], iGroupID + 1);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- cmd_locker(playerid, "");
- }
- else return ShowPlayerDialogEx(playerid, DIALOG_GROUP_SACTIONTYPE, DIALOG_STYLE_INPUT, "Gang Safe", "The amount specified exceeds that in the safe.\nPlease input another amount.", "Input", "Cancel");
- }
- }
- }*/
- }
- SaveGroup(iGroupID);
- }
- }
- case DIALOG_GROUP_WEAPONSAFE: {
- //new iGroupID = PlayerInfo[playerid][pMember];
- //if(!response) return 1;
- if(response) {
- if(strcmp(inputtext, "Deposit Weapon", true) == 0) {
- for(new g = 0; g < 12; g++) {
- if(PlayerInfo[playerid][pGuns][g] != 0 && PlayerInfo[playerid][pAGuns][g] == 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%i)", szMiscArray, Weapon_ReturnName(PlayerInfo[playerid][pGuns][g]), PlayerInfo[playerid][pGuns][g]);
- }
- }
- DeletePVar(playerid, "GRW_Count");
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_WEAPONSAFE_DEPOSIT, DIALOG_STYLE_LIST, "Safe Weapon Deposit", szMiscArray, "Deposit", "Cancel");
- }
- /*if(strcmp(inputtext, "Next Page", true) == 0) {
- SetPVarInt(playerid, "GRW_Count", GetPVarInt(playerid, "GRW_Count") + (listitem-2));
- ShowGroupWeapons(playerid, PlayerInfo[playerid][pMember]);
- return 1;
- }*/
- else {
- new gid;
- if(listitem <= 18) gid = listitem + 1;
- else if(listitem > 18) gid = listitem + 4;
- if(gid == 21) gid++; // TODO: a real fix? i guess?
- SetPVarInt(playerid, "GLGunTake", gid);
- new str[9];
- new stpos = strfind(inputtext, "(");
- new fpos = strfind(inputtext, ")");
- strmid(str, inputtext, stpos+1, fpos);
- new id = strval(str);
- if(id < 1) return SendClientMessageEx(playerid, COLOR_WHITE, "There are none left.");
- //WithdrawGroupSafeWeapon(playerid, iGroupID, id);
- // add another dialog to see whether to place in crate or take
- ShowPlayerDialogEx(playerid, DIALOG_WEAPONSAFE_WITHDRAW, DIALOG_STYLE_LIST, "Safe Withdraw", "Equip\nTransfer To Crate", "Select", "Cancel");
- return 1;
- }
- }
- else DeletePVar(playerid, "GRW_Count");
- }
- case DIALOG_WEAPONSAFE_WITHDRAW: {
- new
- iGroupID = PlayerInfo[playerid][pMember],
- iWepID = GetPVarInt(playerid, "GLGunTake");
- if(!response) {
- DeletePVar(playerid, "GLGunTake");
- return cmd_locker(playerid, "");
- }
- switch(listitem) {
- case 0: { // equip
- DeletePVar(playerid, "GLGunTake");
- WithdrawGroupSafeWeapon(playerid, iGroupID, iWepID);
- }
- case 1: { // transfer to crate
- //TransferItemToCrate(playerid, itemid, iAmount, iCrateID)
- ShowPlayerDialogEx(playerid, DIALOG_WEAPONSAFE_WITHDRAW_T, DIALOG_STYLE_INPUT, "Transfer To Crate", "Enter the crate ID you wish to transfer the item to", "Select", "Cancel");
- }
- }
- }
- case DIALOG_WEAPONSAFE_WITHDRAW_T: {
- /*
- new
- iWepID = GetPVarInt(playerid, "GLGunTake"),
- iCrateID = strval(inputtext);
- if(!response) {
- DeletePVar(playerid, "GLGunTake");
- return cmd_locker(playerid, "");
- }
- if(!IsValidDynamicObject(arrGCrateData[iCrateID][gcr_iObject])) return SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid crate ID.");
- if(CanTransferToCrate(iWepID)) TransferItemToCrate(playerid, ReturnSlotForCrate(iWepID), 1, iCrateID);
- else return SendClientMessageEx(playerid, COLOR_WHITE, "This item cannot be transfered to crates");*/
- return SendClientMessageEx(playerid, COLOR_WHITE, "This has been disabled due to a re-work!");
- }
- case DIALOG_GROUP_WEAPONSAFE_DEPOSIT: {
- if(!response) return 1;
- new iGroupID = PlayerInfo[playerid][pMember];
- new stpos = strfind(inputtext, "(");
- new fpos = strfind(inputtext, ")");
- new str[4], id;
- strmid(str, inputtext, stpos+1, fpos);
- id = strval(str);
- AddGroupSafeWeapon(playerid, iGroupID, id);
- }
- case DIALOG_GROUP_TURNOUT:
- {
- if(!response) return 1;
- new closestCar = GetClosestCar(playerid, .fRange = 8.0);
- if(closestCar == INVALID_VEHICLE_ID) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near any vehicle!");
- ClearAnimationsEx(playerid);
- if(listitem == 0)
- {
- if(IsACop(playerid) && IsACopCar(closestCar)) SetPlayerSkin(playerid, 285); // SWAT
- else if(IsAMedic(playerid) && IsAnAmbulance(closestCar)) SetPlayerSkin(playerid, 277); // LS Fire
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near a group vehicle!");
- }
- if(listitem == 1 || listitem == 3)
- {
- if(IsACop(playerid) || listitem == 3) // Original Clothes
- {
- if(!GetPVarType(playerid, "turnoutVeh")) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not wearing any turnout clothes!");
- if(!IsPlayerInRangeOfVehicle(playerid, GetPVarInt(playerid, "turnoutVeh"), 8.0)) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near the vehicle you changed clothes from.");
- DeletePVar(playerid, "turnoutVeh");
- SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
- SendClientMessageEx(playerid, -1, "You have returned to your original clothing.");
- return 1;
- }
- if(IsAnAmbulance(closestCar)) SetPlayerSkin(playerid, 279); // SF Fire
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near a group vehicle!");
- }
- if(listitem == 2)
- {
- if(IsAnAmbulance(closestCar)) SetPlayerSkin(playerid, 278); // LV Fire
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near a group vehicle!");
- }
- SetPVarInt(playerid, "turnoutVeh", closestCar);
- return 1;
- }
- // END DYNAMIC GROUP CODE
- }
- return 0;
- }
- hook OnVehicleSpawn(vehicleid)
- {
- if(GetGVarType("VehSiren", vehicleid)) ToggleSiren(vehicleid, 1);
- }
- public OnVehicleSirenStateChange(playerid, vehicleid, newstate)
- {
- if(DynVeh[vehicleid] != -1)
- {
- for(new i = 0; i != MAX_DV_OBJECTS; i++)
- {
- ToggleDVSiren(DynVeh[vehicleid], i, newstate);
- }
- }
- switch(newstate)
- {
- case 0: ToggleSiren(vehicleid, 1);
- case 1:
- {
- if(!GetGVarType("VehSiren", vehicleid)) ToggleSiren(vehicleid, 0);
- }
- }
- return 1;
- }
- stock EditDV(playerid, iDvSlotID, params[], name[], Float:value, &slot)
- {
- new string[128];
- format(string, sizeof(string), "%s has edited DV Slot %d - %s.", GetPlayerNameEx(playerid), iDvSlotID, params);
- Log("logs/dv.log", string);
- if(strcmp(name, "siren", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iSiren] = !DynVehicleInfo[iDvSlotID][gv_iSiren];
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, DynVehicleInfo[iDvSlotID][gv_iSiren] ? ("You have enabled the siren on the dynamic vehicle."):("You have disabled the siren on the dynamic vehicle."));
- return 1;
- }
- if(strcmp(name, "delete", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iModel] = 0;
- DynVehicleObjInfo[iDvSlotID][0][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleObjInfo[iDvSlotID][1][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleObjInfo[iDvSlotID][2][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleObjInfo[iDvSlotID][3][gv_iAttachedObjectModel] = INVALID_OBJECT_ID;
- DynVehicleInfo[iDvSlotID][gv_igID] = INVALID_GROUP_ID;
- DynVehicleInfo[iDvSlotID][gv_igDivID] = 0;
- DynVehicleInfo[iDvSlotID][gv_fMaxHealth] = 1000;
- DynVehicleInfo[iDvSlotID][gv_iUpkeep] = 0;
- DynVehicleInfo[iDvSlotID][gv_iSiren] = 0;
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have deleted the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "vw", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iVW] = floatround(value);
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the virtual world of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "disabled", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iDisabled] = floatround(value);
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have disabled the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "vmodel", true) == 0)
- {
- if(!(400 < value < 612)) return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid Model ID");
- DynVehicleInfo[iDvSlotID][gv_iModel] = floatround(value);
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the vehicle model of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "vcol1", true) == 0)
- {
- if(!(0 <= value <= 255)) {
- return SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid color specified (IDs start at 0, and end at 255).");
- }
- DynVehicleInfo[iDvSlotID][gv_iCol1] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the color (1) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "vcol2", true) == 0)
- {
- if(!(0 <= value <= 255)) {
- return SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid color specified (IDs start at 0, and end at 255).");
- }
- DynVehicleInfo[iDvSlotID][gv_iCol2] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the color (2) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "groupid", true) == 0)
- {
- if(value == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_igID] = INVALID_GROUP_ID;
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have removed the group id flag of the dynamic vehicle");
- return 1;
- }
- if(!(0 <= value < MAX_GROUPS)) return SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid group specified (Start at 1, end at "#MAX_GROUPS")");
- DynVehicleInfo[iDvSlotID][gv_igID] = floatround(value-1);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the group id flag of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "divid", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_igDivID] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the division id of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "rank", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_irID] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the rank id of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "loadmax", true) == 0)
- {
- if(!(0 < value < 6)) return SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid group specified (Start at 1, end at 6)");
- DynVehicleInfo[iDvSlotID][gv_iLoadMax] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the load max of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "maxhealth", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_fMaxHealth] = (value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the maximum health of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "upkeep", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iUpkeep] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the up keep of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "vtype", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iType] = floatround(value);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the vehicle type of the dynamic vehicle");
- return 1;
- }
- if(1 <= slot <= MAX_DV_OBJECTS)
- {
- if(strcmp(name, "objmodel", true) == 0)
- {
- if(slot == 3 || slot == 4)
- {
- if(floatround(value) != 0 && !IsABlankTexture(floatround(value))) return SendClientMessageEx(playerid, COLOR_GREY, "DV Object slots 3 and 4 can only be assigned models 19475-19483");
- }
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_iAttachedObjectModel] = floatround(value);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object model of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objx", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectX] = value;
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object position (X) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objy", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectY] = value;
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object position (Y) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objz", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectZ] = value;
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object position (Z) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objrx", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectRX] = value;
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object rotation (X) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objry", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectRY] = value;
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object rotation (Y) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objrz", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectRZ] = value;
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object rotation (Z) of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objmatsize", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectMatSize] = floatround(value);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object material size of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "objsize", true) == 0)
- {
- DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectSize] = floatround(value);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object text size of the dynamic vehicle");
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "Slot ID Must be between 1 and "#MAX_DV_OBJECTS"!");
- return 1;
- }
- stock IsABlankTexture(modelid)
- {
- switch(modelid)
- {
- case 19475, 19476, 19477, 19478, 19479, 19480, 19481, 19482, 19483: return 1;
- }
- return 0;
- }
- CMD:clearbugs(playerid, params[])
- {
- if(IsACop(playerid))
- {
- if(PlayerInfo[playerid][pLeader] == PlayerInfo[playerid][pMember] && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBugAccess]) // has leader flag
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "All agency bugs destroyed.");
- foreach(new i : Player)
- {
- if(PlayerInfo[i][pBugged] == PlayerInfo[playerid][pMember]){
- PlayerInfo[i][pBugged] = INVALID_GROUP_ID;
- }
- }
- new query[256];
- mysql_format(MainPipeline, query, sizeof(query), "UPDATE accounts SET `Bugged` = %d WHERE `Bugged` > %d AND `Online` = 0", INVALID_GROUP_ID, INVALID_GROUP_ID);
- mysql_tquery(MainPipeline, query, "OnQueryFinish", "i", SENDDATA_THREAD);
- return 1;
- }
- }
- return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- }
- CMD:listbugs(playerid, params[])
- {
- if(IsACop(playerid))
- {
- if(PlayerInfo[playerid][pLeader] == PlayerInfo[playerid][pMember] && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBugAccess]) // has leader flag
- {
- SendClientMessageEx(playerid, COLOR_GREEN, "List of deployed Bugs:");
- foreach(new i : Player)
- {
- if(PlayerInfo[i][pBugged] == PlayerInfo[playerid][pMember]){
- SendClientMessageEx(playerid, COLOR_GREEN, GetPlayerNameEx(i));
- }
- }
- new query[256];
- mysql_format(MainPipeline, query, sizeof(query), "SELECT `Username`, `Bugged` FROM `accounts` WHERE `Bugged` = %d AND `Online` = 0", PlayerInfo[playerid][pMember]);
- mysql_tquery(MainPipeline, query, "OnQueryFinish", "iii", BUG_LIST_THREAD, playerid, g_arrQueryHandle{playerid});
- return 1;
- }
- }
- return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- }
- CMD:online(playerid, params[]) {
- if(PlayerInfo[playerid][pLeader] >= 0 || PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 1 || IsACriminal(playerid))
- {
- if(PlayerInfo[playerid][pMember] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, -1, "You are not a member of any group!");
- szMiscArray[0] = 0;
- new badge[11];
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pAdmin] >= 2 && PlayerInfo[i][pTogReports] == 0) goto end;
- if(strcmp(PlayerInfo[i][pBadge], "None", true) != 0) format(badge, sizeof(badge), "[%s] ", PlayerInfo[i][pBadge]);
- else format(badge, sizeof(badge), "");
- if(IsAnFTSDriver(playerid) && IsAnFTSDriver(i)) switch(TransportDuty[i]) {
- case 1: format(szMiscArray, sizeof(szMiscArray), "%s\n* %s%s (on duty), %i calls accepted", szMiscArray, badge, GetPlayerNameEx(i), PlayerInfo[i][pCallsAccepted]);
- default: format(szMiscArray, sizeof(szMiscArray), "%s\n* %s%s (off duty), %i calls accepted", szMiscArray, badge, GetPlayerNameEx(i), PlayerInfo[i][pCallsAccepted]);
- }
- else if(IsAMedic(playerid) && IsAMedic(i) && (arrGroupData[PlayerInfo[playerid][pMember]][g_iAllegiance] == arrGroupData[PlayerInfo[i][pMember]][g_iAllegiance])) switch(PlayerInfo[i][pDuty]) {
- case 1: format(szMiscArray, sizeof(szMiscArray), "%s\n* %s%s (on duty), %i calls accepted, %i patients delivered.", szMiscArray, badge, GetPlayerNameEx(i), PlayerInfo[i][pCallsAccepted], PlayerInfo[i][pPatientsDelivered]);
- default: format(szMiscArray, sizeof(szMiscArray), "%s\n* %s%s (off duty), %i calls accepted, %i patients delivered.", szMiscArray, badge, GetPlayerNameEx(i), PlayerInfo[i][pCallsAccepted], PlayerInfo[i][pPatientsDelivered]);
- }
- else if(IsACriminal(playerid) && PlayerInfo[i][pMember] == PlayerInfo[playerid][pMember]) {
- format(szMiscArray, sizeof(szMiscArray), "* %s | Rank: %s (%d) | Division: %s", GetPlayerNameEx(i), arrGroupRanks[PlayerInfo[i][pMember]][PlayerInfo[i][pRank]], PlayerInfo[i][pRank], PlayerInfo[i][pDivision] != INVALID_DIVISION ? arrGroupDivisions[PlayerInfo[i][pMember]][PlayerInfo[i][pDivision]] : ("N/A"));
- SendClientMessageEx(playerid, -1, szMiscArray);
- }
- else if(PlayerInfo[i][pMember] == PlayerInfo[playerid][pMember]) switch(PlayerInfo[i][pDuty]) {
- case 1: format(szMiscArray, sizeof(szMiscArray), "%s\n* %s%s (on duty)", szMiscArray, badge, GetPlayerNameEx(i));
- default: format(szMiscArray, sizeof(szMiscArray), "%s\n* %s%s (off duty)", szMiscArray, badge, GetPlayerNameEx(i));
- }
- end:
- }
- if(!isnull(szMiscArray)) {
- if(!IsACriminal(playerid)) strdel(szMiscArray, 0, 1), ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_LIST, "Online Members", szMiscArray, "Select", "Cancel");
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "No members are online at this time.");
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "Only group leaders may use this command.");
- return 1;
- }
- CMD:badge(playerid, params[]) {
- if(PlayerInfo[playerid][pMember] >= 0 && arrGroupData[PlayerInfo[playerid][pMember]][g_hDutyColour] != 0xFFFFFF && arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] != GROUP_TYPE_CRIMINAL)
- {
- if(GetPVarType(playerid, "IsInArena") || PlayerInfo[playerid][pJailTime] > 0 || GetPVarInt(playerid, "EventToken") != 0)
- {
- SendClientMessageEx(playerid, COLOR_GREY, "You can't use your badge now.");
- return 1;
- }
- #if defined zombiemode
- if(zombieevent == 1 && GetPVarType(playerid, "pIsZombie")) return SendClientMessageEx(playerid, COLOR_GREY, "Zombies can't use this.");
- #endif
- if(PlayerInfo[playerid][pDuty]) {
- PlayerInfo[playerid][pDuty] = 0;
- SetPlayerToTeamColor(playerid);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have hidden your badge, and will now be identified as being off-duty.");
- if(IsAMedic(playerid) || IsFirstAid(playerid))
- {
- Medics -= 1;
- }
- }
- else {
- PlayerInfo[playerid][pDuty] = 1;
- SetPlayerToTeamColor(playerid);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have shown your badge, and will now be identified as being on-duty.");
- if(IsAMedic(playerid) || IsFirstAid(playerid))
- {
- Medics += 1;
- }
- }
- }
- return 1;
- }
- CMD:viewbudget(playerid, params[])
- {
- new i = PlayerInfo[playerid][pMember];
- new string[128];
- if(arrGroupData[i][g_iGroupType] == GROUP_TYPE_GOV ||arrGroupData[i][g_iGroupType] == GROUP_TYPE_LEA || arrGroupData[i][g_iGroupType] == GROUP_TYPE_MEDIC || arrGroupData[i][g_iGroupType] == GROUP_TYPE_JUDICIAL || arrGroupData[i][g_iGroupType] == GROUP_TYPE_TAXI || arrGroupData[i][g_iGroupType] == GROUP_TYPE_NEWS || arrGroupData[i][g_iGroupType] == GROUP_TYPE_CONTRACT || arrGroupData[i][g_iGroupType] == GROUP_TYPE_TOWING)
- {
- SendClientMessage(playerid, 0x008EFC00, " BALANCE SHEET ");
- if(arrGroupData[i][g_szGroupName][0] && arrGroupData[i][g_hDutyColour] != 0) format(string, sizeof(string), "{%6x}%s {AFAFAF} [Balance: $%s] [Hourly Payments: $%s]| ", arrGroupData[i][g_hDutyColour], arrGroupData[i][g_szGroupName], number_format(arrGroupData[i][g_iBudget]), number_format(arrGroupData[i][g_iBudgetPayment]));
- else if(arrGroupData[i][g_szGroupName][0]) format(string, sizeof(string), "%s [Balance: $%s] [Hourly Payments: $%s]| ", arrGroupData[i][g_szGroupName], number_format(arrGroupData[i][g_iBudget]), number_format(arrGroupData[i][g_iBudgetPayment]));
- SendClientMessage(playerid, COLOR_YELLOW, string);
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "Your agency does not receive government payments.");
- return 1;
- }
- CMD:setbudget(playerid, params[])
- {
- szMiscArray[0] = 0;
- new iGroupID;
- if(arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_GOV)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iTreasuryAccess] && IsGroupLeader(playerid))
- {
- new
- iBudgetAmt,
- string[128];
- if(sscanf(params, "iii", iGroupID, iBudgetAmt))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /setbudget [Group ID] [$ Per Budget Payment (Hourly)]");
- for(new i = 0; i < MAX_GROUPS; i++)
- {
- if(arrGroupData[PlayerInfo[playerid][pMember]][g_iAllegiance] == arrGroupData[i][g_iAllegiance])
- {
- if(arrGroupData[i][g_iGroupType] == GROUP_TYPE_LEA || arrGroupData[i][g_iGroupType] == GROUP_TYPE_MEDIC || arrGroupData[i][g_iGroupType] == GROUP_TYPE_JUDICIAL || arrGroupData[i][g_iGroupType] == GROUP_TYPE_TAXI || arrGroupData[i][g_iGroupType] == GROUP_TYPE_TOWING)
- {
- if(arrGroupData[i][g_szGroupName][0] && arrGroupData[i][g_hDutyColour] != 0) format(string, sizeof(string), "%d - {%6x}%s {AFAFAF} [Balance: $%s] [Current Budget: $%s]| ", i, arrGroupData[i][g_hDutyColour], arrGroupData[i][g_szGroupName], number_format(arrGroupData[i][g_iBudget]), number_format(arrGroupData[i][g_iBudgetPayment]));
- else if(arrGroupData[i][g_szGroupName][0]) format(string, sizeof(string), "%d - %s [Balance: $%s] [Current Budget: $%s]| ", i, arrGroupData[i][g_szGroupName], number_format(arrGroupData[i][g_iBudget]), number_format(arrGroupData[i][g_iBudgetPayment]));
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- return 1;
- }
- if(0 <= iGroupID < MAX_GROUPS && (arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_MEDIC || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_JUDICIAL || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_TAXI || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_TOWING))
- {
- if(arrGroupData[PlayerInfo[playerid][pMember]][g_iAllegiance] == arrGroupData[iGroupID][g_iAllegiance])
- {
- arrGroupData[iGroupID][g_iBudgetPayment] = iBudgetAmt;
- format(string, sizeof(string), "You have set %s's Budget Payment to $%s. This will be issued hourly to pay for their vehicles, weapons and staffing", arrGroupData[iGroupID][g_szGroupName], number_format(iBudgetAmt));
- SendClientMessage(playerid, COLOR_GRAD1, string);
- format(szMiscArray, sizeof(szMiscArray), "%s has changed %s's hourly pay to $%s", GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName], number_format(iBudgetAmt));
- GroupPayLog(PlayerInfo[playerid][pMember], szMiscArray);
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "This agency is not under your government.");
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "Invalid Group ID");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You must be a group leader and hold the minimum rank required for treasury access.");
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "You're not a Government Official!");
- return 1;
- }
- CMD:gwithdraw(playerid, params[])
- {
- new iGroupID;
- new string[128], amount, reason[64];
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1)
- {
- if(sscanf(params, "dds[64]", iGroupID, amount, reason))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /gwithdraw [groupid] [amount] [reason]");
- return 1;
- }
- if(!(-1 < iGroupID <= MAX_GROUPS))
- {
- SendClientMessageEx(playerid, COLOR_RED, "* Invalid Group ID");
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /gwithdraw [groupid] [amount] [reason]");
- return 1;
- }
- }
- else if(-1 < PlayerInfo[playerid][pLeader] <= MAX_GROUPS)
- {
- iGroupID = PlayerInfo[playerid][pLeader];
- if(sscanf(params, "ds[64]", amount, reason))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /gwithdraw [amount] [reason]");
- format(string, sizeof(string), "* VAULT BALANCE: $%s.", number_format(arrGroupData[iGroupID][g_iBudget]));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
- return 1;
- }
- }
- else return SendClientMessage(playerid, COLOR_GRAD3, " You are not a group leader or an authorized admin. ");
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pLeader] != iGroupID) iGroupID--;
- if(amount < 0)
- {
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Invalid amount specified.");
- return 1;
- }
- if( arrGroupData[iGroupID][g_iBudget] > amount )
- {
- arrGroupData[iGroupID][g_iBudget] -= amount;
- new str[128];
- format(str, sizeof(str), "%s has withdrawn $%d from %s's Budget Fund - reason: %s", GetPlayerNameEx(playerid), amount, arrGroupData[iGroupID][g_szGroupName], reason);
- GroupPayLog(iGroupID, str);
- Misc_Save();
- SaveGroup(iGroupID);
- GivePlayerCash( playerid, amount );
- format( string, sizeof( string ), "You have withdrawn $%d from the group vault.", amount );
- SendClientMessageEx( playerid, COLOR_WHITE, string );
- format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s has withdrawn $%s of the group money from their vault, reason: %s.", GetPlayerNameEx(playerid), number_format(amount), reason);
- ABroadCast( COLOR_YELLOW, string, 2);
- format(string,sizeof(string),"%s(%d) has withdrawn $%s of the group money from %s's vault, reason: %s.",GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), number_format(amount),arrGroupData[iGroupID][g_szGroupName],reason);
- Log("logs/rpspecial.log", string);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Insufficient funds are available.");
- }
- return 1;
- }
- CMD:gdonate(playerid, params[])
- {
- new iGroupID = PlayerInfo[playerid][pMember];
- if((0 <= iGroupID <= MAX_GROUPS))
- {
- if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_MEDIC || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_JUDICIAL || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_TAXI || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_NEWS || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_TOWING || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_CONTRACT || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_GOV)
- {
- new string[128], moneys;
- if(sscanf(params, "d", moneys)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /gdonate [amount]");
- if(moneys < 1)
- {
- SendClientMessageEx(playerid, COLOR_GRAD1, "That is not enough.");
- return 1;
- }
- if(GetPlayerCash(playerid) < moneys)
- {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You don't have that much money.");
- return 1;
- }
- GivePlayerCash(playerid, -moneys);
- arrGroupData[iGroupID][g_iBudget] += moneys;
- new str[128];
- format(str, sizeof(str), "%s has donated $%s to %s budget fund.", GetPlayerNameEx(playerid), number_format(moneys), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- SaveGroup(iGroupID);
- OnPlayerStatsUpdate(playerid);
- format(string, sizeof(string), "%s, you have donated $%s to your agency's budget.",GetPlayerNameEx(playerid), number_format(moneys));
- PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
- SendClientMessageEx(playerid, COLOR_GRAD1, string);
- format(string, sizeof(string), "%s(%d) has donated $%s to %s's budget vault.",GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), number_format(moneys), arrGroupData[iGroupID][g_szGroupName]);
- Log("logs/pay.log", string);
- return 1;
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not in a government agency!");
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not in a group.");
- }
- return 1;
- }
- CMD:dvtrackcar(playerid, params[])
- {
- new iGroupID = PlayerInfo[playerid][pMember];
- if((0 <= iGroupID <= MAX_GROUPS))
- {
- new vstring[2500];
- for(new i; i < MAX_DYNAMIC_VEHICLES; i++) {
- new iModelID = DynVehicleInfo[i][gv_iModel];
- if(400 <= iModelID < 612 && DynVehicleInfo[i][gv_igID] == iGroupID) {
- if(DynVehicleInfo[i][gv_iDisabled] == 1) {
- format(vstring, sizeof(vstring), "%s\n(%d)%s (Upkeep: $%s) (repo'd)", vstring, i, VehicleName[iModelID - 400], number_format(DynVehicleInfo[i][gv_iUpkeep]));
- }
- else if(DynVehicleInfo[i][gv_iDisabled] == 2) {
- format(vstring, sizeof(vstring), "%s\n(%d)%s (Upkeep: $%s) (stored)", vstring, i, VehicleName[iModelID - 400], number_format(DynVehicleInfo[i][gv_iUpkeep]));
- }
- else if(DynVehicleInfo[i][gv_iSpawnedID] != INVALID_VEHICLE_ID) {
- format(vstring, sizeof(vstring), "%s\n(%d) %s (Upkeep: $%s) (VID: %d)", vstring, i, VehicleName[iModelID - 400], number_format(DynVehicleInfo[i][gv_iUpkeep]), DynVehicleInfo[i][gv_iSpawnedID]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DV_TRACKCAR, DIALOG_STYLE_LIST, "Vehicle GPS Tracking", vstring, "Track", "Cancel");
- }
- return 1;
- }
- CMD:grepocars(playerid, params[])
- {
- new iGroupID = PlayerInfo[playerid][pMember], string[128];
- if((0 <= iGroupID <= MAX_GROUPS) && PlayerInfo[playerid][pRank] == Group_GetMaxRank(iGroupID))
- {
- SendClientMessageEx(playerid, COLOR_GREEN, "Repossessed Agency Vehicles:");
- SendClientMessageEx(playerid, COLOR_GRAD4, "NOTE: Type /gvbuyback to purchase these cars back when your agency can afford it.");
- for(new iDvSlotID = 0; iDvSlotID < MAX_DYNAMIC_VEHICLES; iDvSlotID++)
- {
- if(DynVehicleInfo[iDvSlotID][gv_igID] != INVALID_GROUP_ID && DynVehicleInfo[iDvSlotID][gv_igID] == iGroupID)
- {
- if(DynVehicleInfo[iDvSlotID][gv_iModel] != 0 && (400 < DynVehicleInfo[iDvSlotID][gv_iModel] < 612))
- {
- if(DynVehicleInfo[iDvSlotID][gv_iDisabled] == 1)
- {
- format(string, sizeof(string), "Vehicle ID: %d - %s - Buyback Cost $%d.", iDvSlotID, VehicleName[DynVehicleInfo[iDvSlotID][gv_iModel] - 400], floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2), floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] / 2));
- SendClientMessageEx(playerid, COLOR_GRAD1, string);
- }
- }
- }
- }
- }
- else SendClientMessage(playerid, COLOR_GRAD2, " You're not authorized to use this command.");
- return 1;
- }
- CMD:gvbuyback(playerid, params[])
- {
- new iVehicle[6];
- new iGroupID = PlayerInfo[playerid][pLeader], string[128];
- if((0 <= iGroupID <= MAX_GROUPS) && PlayerInfo[playerid][pRank] == Group_GetMaxRank(iGroupID))
- {
- if(sscanf(params, "s[6]", iVehicle)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /gvbuyback [ID/all] *You may buy an individual car back, or all of your repo'd cars.");
- return SendClientMessageEx(playerid, COLOR_GREY, "Note: ID is indicated under /grepocars");
- }
- if(strcmp(iVehicle, "all", true) == 0)
- {
- for(new iDvSlotID = 0; iDvSlotID < MAX_DYNAMIC_VEHICLES; iDvSlotID++)
- {
- if(DynVehicleInfo[iDvSlotID][gv_igID] != INVALID_GROUP_ID && DynVehicleInfo[iDvSlotID][gv_igID] == iGroupID)
- {
- if(DynVehicleInfo[iDvSlotID][gv_iModel] != 0 && (400 < DynVehicleInfo[iDvSlotID][gv_iModel] < 612))
- {
- if(DynVehicleInfo[iDvSlotID][gv_iDisabled] == 1)
- {
- if(arrGroupData[iGroupID][g_iBudget] > floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2))
- {
- arrGroupData[iGroupID][g_iBudget] -= floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2);
- SaveGroup(iGroupID);
- DynVehicleInfo[iDvSlotID][gv_iDisabled] = 0;
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- format(string, sizeof(string), "You have bought back your %s with ID %d for $%d", VehicleName[DynVehicleInfo[iDvSlotID][gv_iModel]-400], iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
- new str[128];
- format(str, sizeof(str), "Vehicle Slot ID %d buyback fee cost $%d to %s's budget fund.",iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- }
- else
- {
- format(string, sizeof(string), "Your agency could not afford to buy back your %s with ID %d for $%d", VehicleName[DynVehicleInfo[iDvSlotID][gv_iModel]-400], iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
- return 1;
- }
- }
- }
- }
- }
- return 1;
- }
- else if((0 <= strval(iVehicle) <= MAX_DYNAMIC_VEHICLES))
- {
- new iDvSlotID = strval(iVehicle);
- if(DynVehicleInfo[iDvSlotID][gv_iDisabled] == 1 && DynVehicleInfo[iDvSlotID][gv_igID] == iGroupID)
- {
- if(arrGroupData[iGroupID][g_iBudget] > floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2))
- {
- arrGroupData[iGroupID][g_iBudget] -= floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2);
- SaveGroup(iGroupID);
- DynVehicleInfo[iDvSlotID][gv_iDisabled] = 0;
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- format(string, sizeof(string), "You have bought back your %s with ID %d for $%d", VehicleName[DynVehicleInfo[iDvSlotID][gv_iModel]-400], iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
- new str[128];
- format(str, sizeof(str), "Vehicle Slot ID %d buyback fee cost $%d to %s's budget fund.",iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2), arrGroupData[iGroupID][g_szGroupName]);
- GroupPayLog(iGroupID, str);
- return 1;
- }
- else
- {
- format(string, sizeof(string), "Your agency could not afford to buy back your %s with ID %d for $%d", VehicleName[DynVehicleInfo[iDvSlotID][gv_iModel]-400], iDvSlotID, floatround(DynVehicleInfo[iDvSlotID][gv_iUpkeep] * 2));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "That car has either not been repossessed or does not belong to your agency.");
- }
- else SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Invalid ID");
- }
- else SendClientMessage(playerid, COLOR_GRAD2, " You're not authorized to use this command.");
- return 1;
- }
- CMD:dvadjust(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GREY, "You are not part of a group!");
- if(PlayerInfo[playerid][pMember] != PlayerInfo[playerid][pLeader]) return SendClientMessageEx(playerid, COLOR_GREY, "You do not have leadership!");
- new vehicleid, opt[5], rank;
- if(sscanf(params, "ds[5]d", vehicleid, opt, rank))
- {
- SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /dvadjust [vehicle id] [rank/div] [value]");
- SendClientMessageEx(playerid, COLOR_GREY, "NOTE: Use /dl to get the vehicle ID");
- SendClientMessageEx(playerid, COLOR_GREY, "NOTE: Value of 0 = Disabled");
- return 1;
- }
- new iDvSlotID = DynVeh[vehicleid];
- if(iDvSlotID == -1 || iDvSlotID > MAX_DYNAMIC_VEHICLES || DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != vehicleid) return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid dynamic vehicle ID provided!");
- if(DynVehicleInfo[iDvSlotID][gv_igID] != PlayerInfo[playerid][pMember]) return SendClientMessageEx(playerid, COLOR_GRAD1, "This vehicle is not owned by your group!");
- //if(DynVehicleInfo[iDvSlotID][gv_igID] != INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD1, "This Vehicle is owned by a faction!");
- if(strcmp(opt, "rank", true) == 0)
- {
- if(rank > 9 || rank < 0) return SendClientMessageEx(playerid, COLOR_GREY, "Ranks can't go below 0 or above 9!");
- DynVehicleInfo[iDvSlotID][gv_irID] = rank;
- new string[128];
- format(string, sizeof(string), "You have adjusted the rank of this vehicle to %s (%d).", arrGroupRanks[DynVehicleInfo[iDvSlotID][gv_igID]][DynVehicleInfo[iDvSlotID][gv_irID]], rank);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "%s has adjusted the rank to %s (%d) on DV Slot %d.", GetPlayerNameEx(playerid), arrGroupRanks[DynVehicleInfo[iDvSlotID][gv_igID]][DynVehicleInfo[iDvSlotID][gv_irID]], rank, iDvSlotID);
- Log("logs/dv.log", string);
- }
- else if(strcmp(opt, "div", true) == 0)
- {
- if(rank > 9 || rank < 0) return SendClientMessageEx(playerid, COLOR_GREY, "Divisions can't go below 0 or above 9!");
- DynVehicleInfo[iDvSlotID][gv_igDivID] = rank;
- new string[128];
- format(string, sizeof(string), "You have adjusted the division of this vehicle to %s (%d).", arrGroupDivisions[DynVehicleInfo[iDvSlotID][gv_igID]][rank - 1], rank);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "%s has adjusted the division to %s (%d) on DV Slot %d.", GetPlayerNameEx(playerid), arrGroupDivisions[DynVehicleInfo[iDvSlotID][gv_igID]][rank - 1], rank, iDvSlotID);
- Log("logs/dv.log", string);
- }
- DynVeh_Save(iDvSlotID);
- return 1;
- }
- CMD:dvpark(playerid, params[])
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid), iDvSlotID = DynVeh[vehicleid];
- if(iDvSlotID == -1 || iDvSlotID > MAX_DYNAMIC_VEHICLES || DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != vehicleid)
- {
- return SendClientMessageEx(playerid, COLOR_GRAD1, " Invalid Dynamic Vehicle ID Provided!" );
- }
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || (PlayerInfo[playerid][pLeader] == DynVehicleInfo[iDvSlotID][gv_igID]) && DynVehicleInfo[iDvSlotID][gv_igID] != INVALID_GROUP_ID) {
- GetVehiclePos(vehicleid, DynVehicleInfo[iDvSlotID][gv_fX], DynVehicleInfo[iDvSlotID][gv_fY], DynVehicleInfo[iDvSlotID][gv_fZ]);
- GetVehicleZAngle(vehicleid, DynVehicleInfo[iDvSlotID][gv_fRotZ]);
- DynVehicleInfo[iDvSlotID][gv_iVW] = GetPlayerVirtualWorld(playerid);
- DynVehicleInfo[iDvSlotID][gv_iInt] = GetPlayerInterior(playerid);
- DynVeh_Save(iDvSlotID);
- DynVeh_Spawn(iDvSlotID);
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You can't park this vehicle.");
- }
- return 1;
- }
- CMD:gotodv(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- new moneys;
- if(sscanf(params, "i", moneys)) {
- return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /gotodv [slot ID]");
- }
- if(DynVeh[DynVehicleInfo[moneys][gv_iSpawnedID]] != -1 && (0 <= moneys < MAX_DYNAMIC_VEHICLES))
- {
- new Float:cwx2,Float:cwy2,Float:cwz2;
- GetVehiclePos(DynVehicleInfo[moneys][gv_iSpawnedID], cwx2, cwy2, cwz2);
- if (GetPlayerState(playerid) == 2)
- {
- new tmpcar = GetPlayerVehicleID(playerid);
- SetVehiclePos(tmpcar, cwx2, cwy2+1, cwz2);
- SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(DynVehicleInfo[moneys][gv_iSpawnedID]));
- SetPlayerInterior(playerid, DynVehicleInfo[moneys][gv_iInt]);
- fVehSpeed[playerid] = 0.0;
- }
- else
- {
- SetPlayerPos(playerid, cwx2, cwy2+1, cwz2);
- SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(DynVehicleInfo[moneys][gv_iSpawnedID]));
- SetPlayerInterior(playerid, DynVehicleInfo[moneys][gv_iInt]);
- }
- SendClientMessageEx(playerid, COLOR_GRAD1, " You have been teleported!");
- SetPlayerInterior(playerid, 0);
- return 1;
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "That dynamic vehicle does not exist or is not spawned.");
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- }
- CMD:dvstatus(playerid, params[])
- {
- new iDvSlotID, vehicleid;
- if(sscanf(params, "i", vehicleid))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /dvstatus [vehicleid]");
- return 1;
- }
- iDvSlotID = DynVeh[vehicleid];
- if (PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2)
- {
- if(iDvSlotID != -1)
- {
- new string[128];
- format(string,sizeof(string),"|___________ Dynamic Vehicle Status (ID: %d | Slot ID: %d) ___________|", vehicleid, iDvSlotID);
- SendClientMessageEx(playerid, COLOR_GREEN, string);
- format(string, sizeof(string), "X: %f | Y: %f | Z: %f | Model: %d | Upkeep: $%d | Maxhealth: %f", DynVehicleInfo[iDvSlotID][gv_fX], DynVehicleInfo[iDvSlotID][gv_fY], DynVehicleInfo[iDvSlotID][gv_fZ], DynVehicleInfo[iDvSlotID][gv_iModel], DynVehicleInfo[iDvSlotID][gv_iUpkeep], DynVehicleInfo[iDvSlotID][gv_fMaxHealth]);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "Group: %d | Division: %d | Rank: %d | Type: %d | VW: %d | Int: %d | Disabled: %d", DynVehicleInfo[iDvSlotID][gv_igID], DynVehicleInfo[iDvSlotID][gv_igDivID], DynVehicleInfo[iDvSlotID][gv_irID], DynVehicleInfo[iDvSlotID][gv_iType], DynVehicleInfo[iDvSlotID][gv_iVW], DynVehicleInfo[iDvSlotID][gv_iInt], DynVehicleInfo[iDvSlotID][gv_iDisabled]);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "Obj Model 1: %d | Obj Model 2: %d | Obj Model 3: %d | Obj Model 4: %d | LoadMax: %d | Siren: %d", DynVehicleObjInfo[iDvSlotID][0][gv_iAttachedObjectModel], DynVehicleObjInfo[iDvSlotID][1][gv_iAttachedObjectModel], DynVehicleObjInfo[iDvSlotID][2][gv_iAttachedObjectModel], DynVehicleObjInfo[iDvSlotID][3][gv_iAttachedObjectModel], DynVehicleInfo[iDvSlotID][gv_iLoadMax], DynVehicleInfo[iDvSlotID][gv_iSiren]);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid Dynamic Vehicle Slot ID.");
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command.");
- }
- return 1;
- }
- CMD:dvcreate(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2 || PlayerInfo[playerid][pGangModerator] >= 2)
- {
- new
- iVehicle,
- iColors[2],
- string[128];
- if(sscanf(params, "iii", iVehicle, iColors[0], iColors[1])) {
- return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /dvcreate [model ID] [color 1] [color 2]");
- }
- if(!(400 < iVehicle < 612)) return SendClientMessage(playerid, COLOR_GRAD2, "Invalid Model ID");
- else if(IsATrain(iVehicle)) {
- SendClientMessageEx(playerid, COLOR_GREY, "Trains cannot be spawned during runtime.");
- }
- else if(!(0 <= iColors[0] <= 255 && 0 <= iColors[1] <= 255)) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid color specified (IDs start at 0, and end at 255).");
- }
- mysql_tquery(MainPipeline, "SELECT id from `groupvehs` WHERE vModel = 0 LIMIT 1;", "DynVeh_CreateDVQuery", "iiii", playerid, iVehicle, iColors[0], iColors[1]);
- format(string, sizeof(string), "%s has created a dynamic vehicle.", GetPlayerNameEx(playerid));
- Log("logs/dv.log", string);
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- return 1;
- }
- CMD:dvrespawnall(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1337)
- {
- if(GetPVarInt(playerid, "dvRespawnAll") == 0)
- {
- new
- szString[128];
- SendClientMessageEx(playerid, COLOR_WHITE, "Respawning all current dynamic vehicles...");
- for(new i = 0; i < MAX_DYNAMIC_VEHICLES; i++)
- {
- SetPVarInt(playerid, "dvRespawnAll", 1);
- DynVeh_Spawn(i);
- }
- format(szString, sizeof(szString), "{AA3333}AdmWarning{FFFF00}: %s has respawned all dynamic vehicles loaded on the server.", GetPlayerNameEx(playerid));
- ABroadCast(COLOR_YELLOW, szString, 2);
- format(szString, sizeof(szString), "Administrator %s has respawned all dynamic vehicles loaded on the server.", GetPlayerNameEx(playerid));
- Log("logs/admin.log", szString);
- SetPVarInt(playerid, "dvRespawnAll", 0);
- }
- else
- return SendClientMessageEx(playerid, COLOR_GREY, "There is already a dynamic vehicle respawn request in progress.");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You're not authorized to use this command!");
- return 1;
- }
- CMD:freedvrespawn(playerid, params[]) return cmd_dvrespawn(playerid, "1");
- CMD:dvrespawn(playerid, params[])
- {
- new szString[128],
- iGroupID = PlayerInfo[playerid][pMember];
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 1 || PlayerInfo[playerid][pGangModerator] >= 1)
- {
- if((0 <= iGroupID <= MAX_GROUPS))
- {
- for(new i; i < MAX_DYNAMIC_VEHICLES; i++)
- {
- new iModelID = DynVehicleInfo[i][gv_iModel];
- if(400 <= iModelID < 612 && DynVehicleInfo[i][gv_igID] == iGroupID)
- {
- if(!IsVehicleOccupied(DynVehicleInfo[i][gv_iSpawnedID]))
- {
- if(strval(params) == 1) DynVeh_Spawn(i, 1); else DynVeh_Spawn(i);
- }
- }
- }
- format(szString, sizeof(szString), "** Respawning all dynamic group vehicles%s...",(strval(params) == 1)?(" at no charge"):(""));
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pMember] == iGroupID)
- {
- SendClientMessageEx(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, szString);
- }
- }
- format(szString, sizeof(szString), "%s has respawned group ID %d dynamic group vehicles.", GetPlayerNameEx(playerid), iGroupID+1);
- Log("logs/group.log", szString);
- }
- }
- return 1;
- }
- CMD:dvedit(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2 || PlayerInfo[playerid][pGangModerator] >= 2)
- {
- new vehicleid, name[24], Float:value, slot;
- if(sscanf(params, "is[24]F(0)D(0)", vehicleid, name, value, slot))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /dvedit [vehicleid] [v parameter] [value] [slot] (if applicable - indicated by *)");
- SendClientMessageEx(playerid, COLOR_GREY, "Parameters: vmodel vcol1 vcol2 groupid divid loadmax maxhealth upkeep vtype vw delete");
- SendClientMessageEx(playerid, COLOR_GREY, "Parameters: disabled rank siren objmodel* objx* objy* objz* objrx* objry* objrz*");
- SendClientMessageEx(playerid, COLOR_GREY, "Parameters: objmatsize* objsize* (Object Offsets)");
- return 1;
- }
- new iDvSlotID = DynVeh[vehicleid];
- if(iDvSlotID == -1 || iDvSlotID > MAX_DYNAMIC_VEHICLES || DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != vehicleid) return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid Dynamic Vehicle ID provided!" );
- EditDV(playerid, iDvSlotID, params, name, value, slot);
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- return 1;
- }
- CMD:dveditslot(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2 || PlayerInfo[playerid][pGangModerator] >= 2)
- {
- new iDvSlotID, name[24], Float:value, slot;
- if(sscanf(params, "is[24]F(0)D(0)", iDvSlotID, name, value, slot)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /dveditslot [dv slot id] [v parameter] [value] [slot] (if applicable - indicated by *)");
- SendClientMessageEx(playerid, COLOR_GREY, "Parameters: vmodel vcol1 vcol2 groupid divid loadmax maxhealth upkeep vtype vw delete");
- SendClientMessageEx(playerid, COLOR_GREY, "Parameters: disabled rank siren objmodel* objx* objy* objz* objrx* objry* objrz*");
- SendClientMessageEx(playerid, COLOR_GREY, "Parameters: objmatsize* objsize* (Object Offsets)");
- return 1;
- }
- if(iDvSlotID > MAX_DYNAMIC_VEHICLES || DynVehicleInfo[iDvSlotID][gv_iModel] == 0) return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid Dynamic Vehicle ID provided!" );
- EditDV(playerid, iDvSlotID, params, name, value, slot);
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- return 1;
- }
- CMD:dvtextobj(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2 || PlayerInfo[playerid][pGangModerator] >= 2)
- {
- new vehicleid, name[24], value[32], slot, string[128];
- if(sscanf(params, "ids[8]s[32]", vehicleid, slot, name, value)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /dvtextobj [vehicleid] [object slot] [text/font/color/bgcolor] [value]");
- new iDvSlotID = DynVeh[vehicleid];
- if(iDvSlotID == -1 || iDvSlotID > MAX_DYNAMIC_VEHICLES || DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != vehicleid) return SendClientMessageEx(playerid, COLOR_GRAD1, " Invalid Dynamic Vehicle ID Provided " );
- format(string, sizeof(string), "%s has edited DV Slot %d - %s.", GetPlayerNameEx(playerid), iDvSlotID, params);
- Log("logs/dv.log", string);
- if(1 <= slot <= MAX_DV_OBJECTS)
- {
- if(DynVehicleObjInfo[iDvSlotID][slot-1][gv_iAttachedObjectModel] == INVALID_OBJECT_ID || !IsABlankTexture(DynVehicleObjInfo[iDvSlotID][slot-1][gv_iAttachedObjectModel])) return SendClientMessageEx(playerid, COLOR_GREY, "The object slot given is not valid with this command!");
- if(strcmp(name, "text", true) == 0)
- {
- format(DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectText], 32, "%s", value);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object text of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "font", true) == 0)
- {
- format(DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectFont], 32, "%s", value);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object font face of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "color", true) == 0)
- {
- sscanf(value, "h", DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectColor]);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object text color of the dynamic vehicle");
- return 1;
- }
- if(strcmp(name, "bgcolor", true) == 0)
- {
- sscanf(value, "h", DynVehicleObjInfo[iDvSlotID][slot-1][gv_fObjectBGColor]);
- DynVeh_Spawn(iDvSlotID);
- DynVeh_Save(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the object background color of the dynamic vehicle");
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "Slot ID Must be between 1 and "#MAX_DV_OBJECTS"!");
- }
- else return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
- return 1;
- }
- CMD:dvplate(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2 || PlayerInfo[playerid][pGangModerator] >= 2)
- {
- new vehicleid, plate[32];
- if(sscanf(params, "ds[32]", vehicleid, plate))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /dvplate [vehicleid] [plate/remove]");
- SendClientMessageEx(playerid, COLOR_GREY, "COLORS: (black/white/blue/red/green/purple/yellow/lightblue/navy/beige/darkgreen/darkblue/darkgrey/gold/brown/darkbrown/darkred");
- SendClientMessageEx(playerid, COLOR_GREY, "/pink) USAGE: (red)Hi(white)how are you? NOTE: Each color counts for 8 characters");
- return 1;
- }
- new iDvSlotID = DynVeh[vehicleid];
- if(iDvSlotID == -1 || iDvSlotID > MAX_DYNAMIC_VEHICLES || DynVehicleInfo[iDvSlotID][gv_iSpawnedID] != vehicleid) return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid Dynamic Vehicle ID provided!");
- format(plate, sizeof(plate), "%s", str_replace("(black)", "{000000}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(white)", "{FFFFFF}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(blue)", "{0000FF}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(red)", "{FF0000}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(green)", "{008000}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(purple)", "{800080}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(yellow)", "{FFFF00}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(lightblue)", "{ADD8E6}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(navy)", "{000080}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(beige)", "{F5F5DC}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(darkgreen)", "{006400}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(darkblue)", "{00008B}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(darkgrey)", "{A9A9A9}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(gold)", "{FFD700}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(brown)", "{A52A2A}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(darkbrown)", "{5C4033}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(darkred)", "{8B0000}", plate));
- format(plate, sizeof(plate), "%s", str_replace("(pink)", "{FF5B77}", plate));
- if(strcmp(plate, "remove", true) == 0)
- {
- DynVehicleInfo[iDvSlotID][gv_iPlate] = 0;
- SendClientMessageEx(playerid, COLOR_WHITE, "You have removed the custom plate of the dynamic vehicle");
- }
- else
- {
- format(DynVehicleInfo[iDvSlotID][gv_iPlate], 32, "%s", plate);
- DynVeh_Spawn(iDvSlotID);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have modified the custom plate of the dynamic vehicle");
- }
- DynVeh_Save(iDvSlotID);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command.");
- }
- return 1;
- }
- CMD:siren(playerid, params[])
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(IsACop(playerid) || IsAHitman(playerid) || IsAGovernment(playerid) || IsAMedic(playerid))
- {
- if(GetGVarType("VehSiren", GetPlayerVehicleID(playerid))) ToggleSiren(GetPlayerVehicleID(playerid), 1);
- else ToggleSiren(GetPlayerVehicleID(playerid), 0);
- }
- if(DynVeh[GetPlayerVehicleID(playerid)] != -1)
- {
- for(new i = 0; i != MAX_DV_OBJECTS; i++)
- {
- switch(DynVehicleObjInfo[DynVeh[GetPlayerVehicleID(playerid)]][i][gv_iAttachedObjectModel])
- {
- case 1899, 19300, 19420: ToggleDVSiren(DynVeh[GetPlayerVehicleID(playerid)], i, 1);
- case 18646, 19294, 19419: ToggleDVSiren(DynVeh[GetPlayerVehicleID(playerid)], i, 0);
- }
- }
- }
- }
- return 1;
- }
- CMD:deploy(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID)
- {
- if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessageEx(playerid, COLOR_WHITE, "You cannot do this right now.");
- if(GetPVarType(playerid, "IsInArena")) return SendClientMessageEx(playerid, COLOR_WHITE, "You can't do this right now, you are in an arena!");
- new type, object[12], string[128];
- if(sscanf(params, "s[12]D(0)", object, type))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /deploy [object] [type (option for barricades/signs)]");
- SendClientMessageEx(playerid, COLOR_GRAD1, "Objects: Cade, Spikes, Flare, Cone, Barrel, Ladder, Sign, Tape");
- return 1;
- }
- else if(IsPlayerInAnyVehicle(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, "You must be on foot to use this command.");
- new iGroup = PlayerInfo[playerid][pMember];
- if(strcmp(object, "cade", true) == 0) {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarricades]) {
- new aCades[12] = {981, 4504, 4505, 4514, 4526, 978, 979, 3091, 1459, 1423, 1424, 981};
- ShowModelSelectionMenuEx(playerid, aCades, sizeof(aCades), "Cades", 1500, -16.0, 0.0, -55.0);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "spikes", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iSpikeStrips])
- {
- for(new i; i < MAX_SPIKES; i++)
- {
- if(SpikeStrips[iGroup][i][sX] == 0 && SpikeStrips[iGroup][i][sY] == 0 && SpikeStrips[iGroup][i][sZ] == 0)
- {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, SpikeStrips[iGroup][i][sX], SpikeStrips[iGroup][i][sY], SpikeStrips[iGroup][i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- SpikeStrips[iGroup][i][sObjectID] = CreateDynamicObject(2899, SpikeStrips[iGroup][i][sX], SpikeStrips[iGroup][i][sY], SpikeStrips[iGroup][i][sZ]-0.8, 0.0, 0.0, f_TempAngle);
- SpikeStrips[iGroup][i][sPickupID] = CreateDynamicPickup(19300, 14, SpikeStrips[iGroup][i][sX], SpikeStrips[iGroup][i][sY], SpikeStrips[iGroup][i][sZ]);
- GetPlayer3DZone(playerid, SpikeStrips[iGroup][i][sDeployedAt], MAX_ZONE_NAME);
- SpikeStrips[iGroup][i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) SpikeStrips[iGroup][i][sDeployedByStatus] = 1;
- else SpikeStrips[iGroup][i][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Spike ID: %d successfully created.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- /*format(string, sizeof(string), "** HQ: A spike has been deployed by %s at %s **", GetPlayerNameEx(playerid), SpikeStrips[iGroup][i][sDeployedAt]);
- foreach(new x: Player)
- {
- if(PlayerInfo[x][pToggledChats][12] == 0)
- {
- if(PlayerInfo[x][pMember] == iGroup) SendClientMessageEx(x, arrGroupData[iGroup][g_hRadioColour] * 256 + 255, string);
- if(GetPVarInt(x, "BigEar") == 4 && GetPVarInt(x, "BigEarGroup") == iGroup)
- {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", string);
- SendClientMessageEx(x, arrGroupData[iGroup][g_hRadioColour] * 256 + 255, szBigEar);
- }
- }
- }*/
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more spike strips, limit is " #MAX_SPIKES# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "flare", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iFlares])
- {
- for(new i; i < MAX_FLARES; i++)
- {
- if(Flares[iGroup][i][sX] == 0 && Flares[iGroup][i][sY] == 0 && Flares[iGroup][i][sZ] == 0)
- {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, Flares[iGroup][i][sX], Flares[iGroup][i][sY], Flares[iGroup][i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- Flares[iGroup][i][sObjectID] = CreateDynamicObject(18728, Flares[iGroup][i][sX], Flares[iGroup][i][sY], Flares[iGroup][i][sZ]-2.4, 0.0, 0.0, f_TempAngle);
- GetPlayer3DZone(playerid, Flares[iGroup][i][sDeployedAt], MAX_ZONE_NAME);
- Flares[iGroup][i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) Flares[iGroup][i][sDeployedByStatus] = 1;
- else Flares[iGroup][i][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Flare ID: %d successfully created.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more flares, limit is " #MAX_FLARES# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "cone", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iCones])
- {
- for(new i; i < MAX_CONES; i++)
- {
- if(Cones[iGroup][i][sX] == 0 && Cones[iGroup][i][sY] == 0 && Cones[iGroup][i][sZ] == 0)
- {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, Cones[iGroup][i][sX], Cones[iGroup][i][sY], Cones[iGroup][i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- Cones[iGroup][i][sObjectID] = CreateDynamicObject(1238, Cones[iGroup][i][sX], Cones[iGroup][i][sY], Cones[iGroup][i][sZ]-0.7, 0.0, 0.0, f_TempAngle);
- GetPlayer3DZone(playerid, Cones[iGroup][i][sDeployedAt], MAX_ZONE_NAME);
- Cones[iGroup][i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) Cones[iGroup][i][sDeployedByStatus] = 1;
- else Cones[iGroup][i][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Cone ID: %d successfully created.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more cones, limit is " #MAX_CONES# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "barrel", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarrels])
- {
- for(new i; i < MAX_BARRELS; i++)
- {
- if(Barrels[iGroup][i][sX] == 0 && Barrels[iGroup][i][sY] == 0 && Barrels[iGroup][i][sZ] == 0)
- {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, Barrels[iGroup][i][sX], Barrels[iGroup][i][sY], Barrels[iGroup][i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- Barrels[iGroup][i][sObjectID] = CreateDynamicObject(1237, Barrels[iGroup][i][sX], Barrels[iGroup][i][sY], Barrels[iGroup][i][sZ]-1, 0.0, 0.0, f_TempAngle);
- GetPlayer3DZone(playerid, Barrels[iGroup][i][sDeployedAt], MAX_ZONE_NAME);
- Barrels[iGroup][i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) Barrels[iGroup][i][sDeployedByStatus] = 1;
- else Barrels[iGroup][i][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Barrel ID: %d successfully created.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more barrels limit is " #MAX_BARRELS# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "ladder", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iLadders])
- {
- for(new i; i < MAX_LADDERS; i++)
- {
- if(Ladders[iGroup][i][sX] == 0 && Ladders[iGroup][i][sY] == 0 && Ladders[iGroup][i][sZ] == 0)
- {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, Ladders[iGroup][i][sX], Ladders[iGroup][i][sY], Ladders[iGroup][i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- Ladders[iGroup][i][sObjectID] = CreateDynamicObject(1437, Ladders[iGroup][i][sX], Ladders[iGroup][i][sY], Ladders[iGroup][i][sZ] + 0.20, 340.0, 0.0, f_TempAngle);
- GetPlayer3DZone(playerid, Ladders[iGroup][i][sDeployedAt], MAX_ZONE_NAME);
- SetPlayerPos(playerid, Ladders[iGroup][i][sX], Ladders[iGroup][i][sY], Ladders[iGroup][i][sZ] + 0.50);
- Ladders[iGroup][i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) Ladders[iGroup][i][sDeployedByStatus] = 1;
- else Ladders[iGroup][i][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Ladder ID: %d successfully created.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more ladders, limit is " #MAX_LADDERS# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "sign", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iCones])
- {
- for(new i; i < MAX_SIGNS; i++)
- {
- if(Signs[iGroup][i][sX] == 0 && Signs[iGroup][i][sY] == 0 && Signs[iGroup][i][sZ] == 0)
- {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- switch(type)
- {
- case 0:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19966, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 1:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19976, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 2:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19967, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 3:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19972, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 4:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19975, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 5:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19973, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 6:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19974, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 7:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(1425, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 0.40, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 2, Signs[iGroup][i][sY] + 2, Signs[iGroup][i][sZ]);
- }
- case 8:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19960, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 9:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19961, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 10:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19951, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 11:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19952, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 12:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19953, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 13:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19954, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- case 14:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(1233, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- default:
- {
- Signs[iGroup][i][sObjectID] = CreateDynamicObject(19966, Signs[iGroup][i][sX], Signs[iGroup][i][sY], Signs[iGroup][i][sZ] - 1.0, 0.0, 0.0, f_TempAngle);
- SetPlayerPos(playerid, Signs[iGroup][i][sX] + 1, Signs[iGroup][i][sY] + 1, Signs[iGroup][i][sZ]);
- }
- }
- GetPlayer3DZone(playerid, Signs[iGroup][i][sDeployedAt], MAX_ZONE_NAME);
- Signs[iGroup][i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) Signs[iGroup][i][sDeployedByStatus] = 1;
- else Signs[iGroup][i][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Sign ID: %d successfully created.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more signs, limit is " #MAX_SIGNS# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "tape", true) == 0) {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iTapes]) {
- if(GetPVarType(playerid, "DeployingTapeID")) {
- for(new i; i < sizeof(Tapes); i++) {
- if(Tapes[i][sX] == 0 && Tapes[i][sY] == 0 && Tapes[i][sZ] == 0) {
- new Float: f_TempAngle;
- GetPlayerPos(playerid, Tapes[i][sX], Tapes[i][sY], Tapes[i][sZ]);
- GetPlayerFacingAngle(playerid, f_TempAngle);
- Tapes[i][sObjectID] = CreateDynamicObject(19834, Tapes[i][sX], Tapes[i][sY], Tapes[i][sZ], 0.0, 0.0, f_TempAngle);
- GetPlayer3DZone(playerid, Tapes[i][sDeployedAt], MAX_ZONE_NAME);
- Tapes[i][sDeployedBy] = GetPlayerNameEx(playerid);
- if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pTogReports] != 1) Tapes[i][sDeployedByStatus] = 1;
- else Tapes[i][sDeployedByStatus] = 0;
- format(szMiscArray,sizeof(szMiscArray),"Tape ID: %d successfully created. You may edit its location using the controls on-screen.", i);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- SendClientMessage(playerid, COLOR_WHITE, "Once done, you can save the tape position by clicking the disc. To cancel, press ESC.");
- SetPlayerPos(playerid, Tapes[i][sX], Tapes[i][sY]-0.4, Tapes[i][sZ]); // Force streamer.
- SetPVarInt(playerid, "DeployingTapeID", i);
- EditDynamicObject(playerid, Tapes[i][sObjectID]);
- return 1;
- }
- }
- SendClientMessageEx(playerid, COLOR_WHITE, "Unable to spawn more tapes, limit is " #MAX_TAPES# ".");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are already editing a tape.");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- return 1;
- }
- CMD:destroy(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID)
- {
- new type, object[12];
- if(sscanf(params, "s[12]d", object, type))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /destroy [object] [ID]");
- SendClientMessageEx(playerid, COLOR_GRAD1, "Objects: Cade, Spikes, Flare, Cone, Barrel, Ladder, Sign, Tape");
- return 1;
- }
- else if(IsPlayerInAnyVehicle(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, "You must be on foot to use this command.");
- new iGroup = PlayerInfo[playerid][pMember];
- if(strcmp(object, "cade", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarricades])
- {
- if(!(0 <= type < MAX_BARRICADES) || (Barricades[iGroup][type][sX] == 0 && Barricades[iGroup][type][sY] == 0 && Barricades[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid barricade ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Barricades[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a barricade that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(Barricades[iGroup][type][sObjectID])) DestroyDynamicObject(Barricades[iGroup][type][sObjectID]);
- Barricades[iGroup][type][sX] = 0;
- Barricades[iGroup][type][sY] = 0;
- Barricades[iGroup][type][sZ] = 0;
- Barricades[iGroup][type][sObjectID] = -1;
- Barricades[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- Barricades[iGroup][type][sDeployedByStatus] = 0;
- format(string, sizeof(string), "Barricade ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "** HQ: A barricade has been destroyed by %s at %s **", GetPlayerNameEx(playerid), Barricades[iGroup][type][sDeployedAt]);
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pToggledChats][12] == 0)
- {
- if(PlayerInfo[i][pMember] == iGroup) SendClientMessageEx(i, arrGroupData[iGroup][g_hRadioColour] * 256 + 255, string);
- if(GetPVarInt(i, "BigEar") == 4 && GetPVarInt(i, "BigEarGroup") == iGroup)
- {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", string);
- SendClientMessageEx(i, arrGroupData[iGroup][g_hRadioColour] * 256 + 255, szBigEar);
- }
- }
- }
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "spikes", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iSpikeStrips])
- {
- if(!(0 <= type < MAX_SPIKES) || (SpikeStrips[iGroup][type][sX] == 0 && SpikeStrips[iGroup][type][sY] == 0 && SpikeStrips[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid spike ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && SpikeStrips[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a spikestrip that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(SpikeStrips[iGroup][type][sObjectID])) DestroyDynamicObject(SpikeStrips[iGroup][type][sObjectID]);
- DestroyDynamicPickup(SpikeStrips[iGroup][type][sPickupID]);
- SpikeStrips[iGroup][type][sX] = 0;
- SpikeStrips[iGroup][type][sY] = 0;
- SpikeStrips[iGroup][type][sZ] = 0;
- SpikeStrips[iGroup][type][sObjectID] = -1;
- SpikeStrips[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- SpikeStrips[iGroup][type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Spike %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- /*format(string, sizeof(string), "** HQ: A spike has been destroyed by %s at %s **", GetPlayerNameEx(playerid), SpikeStrips[iGroup][type][sDeployedAt]);
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pToggledChats][12] == 0)
- {
- if(PlayerInfo[i][pMember] == iGroup) SendClientMessageEx(i, arrGroupData[iGroup][g_hRadioColour] * 256 + 255, string);
- if(GetPVarInt(i, "BigEar") == 4 && GetPVarInt(i, "BigEarGroup") == iGroup)
- {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", string);
- SendClientMessageEx(i, arrGroupData[iGroup][g_hRadioColour] * 256 + 255, szBigEar);
- }
- }
- }*/
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "flare", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iFlares])
- {
- if(!(0 <= type < MAX_FLARES) || (Flares[iGroup][type][sX] == 0 && Flares[iGroup][type][sY] == 0 && Flares[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid flare ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Flares[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a flare that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(Flares[iGroup][type][sObjectID])) DestroyDynamicObject(Flares[iGroup][type][sObjectID]);
- Flares[iGroup][type][sX] = 0;
- Flares[iGroup][type][sY] = 0;
- Flares[iGroup][type][sZ] = 0;
- Flares[iGroup][type][sObjectID] = -1;
- Flares[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- Flares[iGroup][type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Flare ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "cone", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iCones])
- {
- if(!(0 <= type < MAX_CONES) || (Cones[iGroup][type][sX] == 0 && Cones[iGroup][type][sY] == 0 && Cones[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid cone ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Cones[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a cone that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(Cones[iGroup][type][sObjectID])) DestroyDynamicObject(Cones[iGroup][type][sObjectID]);
- Cones[iGroup][type][sX] = 0;
- Cones[iGroup][type][sY] = 0;
- Cones[iGroup][type][sZ] = 0;
- Cones[iGroup][type][sObjectID] = -1;
- Cones[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- Cones[iGroup][type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Cone ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "barrel", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarrels])
- {
- if(!(0 <= type < MAX_BARRELS) || (Barrels[iGroup][type][sX] == 0 && Barrels[iGroup][type][sY] == 0 && Barrels[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid barrel ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Barrels[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a barrel that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(Barrels[iGroup][type][sObjectID])) DestroyDynamicObject(Barrels[iGroup][type][sObjectID]);
- Barrels[iGroup][type][sX] = 0;
- Barrels[iGroup][type][sY] = 0;
- Barrels[iGroup][type][sZ] = 0;
- Barrels[iGroup][type][sObjectID] = -1;
- Barrels[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- Barrels[iGroup][type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Barrel ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "ladder", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iLadders])
- {
- if(!(0 <= type < MAX_LADDERS) || (Ladders[iGroup][type][sX] == 0 && Ladders[iGroup][type][sY] == 0 && Ladders[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid ladder ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Barrels[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a ladder that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(Ladders[iGroup][type][sObjectID])) DestroyDynamicObject(Ladders[iGroup][type][sObjectID]);
- Ladders[iGroup][type][sX] = 0;
- Ladders[iGroup][type][sY] = 0;
- Ladders[iGroup][type][sZ] = 0;
- Ladders[iGroup][type][sObjectID] = -1;
- Ladders[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- Ladders[iGroup][type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Ladder ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "sign", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarrels])
- {
- if(!(0 <= type < MAX_SIGNS) || (Signs[iGroup][type][sX] == 0 && Signs[iGroup][type][sY] == 0 && Signs[iGroup][type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid sign ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Signs[iGroup][type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a sign that an Administrator deployed.");
- else
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- if(IsValidDynamicObject(Signs[iGroup][type][sObjectID])) DestroyDynamicObject(Signs[iGroup][type][sObjectID]);
- Signs[iGroup][type][sX] = 0;
- Signs[iGroup][type][sY] = 0;
- Signs[iGroup][type][sZ] = 0;
- Signs[iGroup][type][sObjectID] = -1;
- Signs[iGroup][type][sDeployedBy] = INVALID_PLAYER_ID;
- Signs[iGroup][type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Sign ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- else if(strcmp(object, "tape", true) == 0)
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iTapes])
- {
- if(!(0 <= type < sizeof(Tapes)) || (Tapes[type][sX] == 0 && Tapes[type][sY] == 0 && Tapes[type][sZ] == 0)) return SendClientMessageEx(playerid, COLOR_WHITE, "Invalid tape ID.");
- else if(PlayerInfo[playerid][pAdmin] < 2 && Tapes[type][sDeployedByStatus] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot destroy a tape that an Administrator deployed.");
- else
- {
- if(PlayerInfo[playerid][pMember] == Tapes[type][iDeployedByGroup])
- {
- new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
- DestroyDynamicObject(Tapes[type][sObjectID]);
- Tapes[type][sX] = 0;
- Tapes[type][sY] = 0;
- Tapes[type][sZ] = 0;
- Tapes[type][sObjectID] = INVALID_OBJECT_ID;
- Tapes[type][sDeployedBy] = INVALID_PLAYER_ID;
- Tapes[type][sDeployedByStatus] = 0;
- format(string,sizeof(string),"Tape ID: %d successfully deleted.", type);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- return 1;
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "* You can not delete other groups tape *");
- }
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- return 1;
- }
- CMD:acades(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iCade; iCade < MAX_BARRICADES; iCade++) {
- if(Barricades[iGroupID][iCade][sX] != 0 && Barricades[iGroupID][iCade][sY] != 0 && Barricades[iGroupID][iCade][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iCade, Barricades[iGroupID][iCade][sDeployedAt], Barricades[iGroupID][iCade][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Barricades", szMiscArray, "Close", "");
- return 1;
- }
- CMD:cades(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && arrGroupData[PlayerInfo[playerid][pMember]][g_iBarricades] != -1 && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarricades])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed barricades:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_BARRICADES; i++)
- {
- if(Barricades[iGroup][i][sX] != 0 && Barricades[iGroup][i][sY] != 0 && Barricades[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Barricade #%d | Deployed location: %s | Deployed by: %s", i, Barricades[iGroup][i][sDeployedAt], Barricades[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:aspikes(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iSpike; iSpike < MAX_SPIKES; iSpike++) {
- if(SpikeStrips[iGroupID][iSpike][sX] != 0 && SpikeStrips[iGroupID][iSpike][sY] != 0 && SpikeStrips[iGroupID][iSpike][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iSpike, SpikeStrips[iGroupID][iSpike][sDeployedAt], SpikeStrips[iGroupID][iSpike][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Spikes", szMiscArray, "Close", "");
- return 1;
- }
- CMD:spikes(playerid, params[])
- {
- if (PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iSpikeStrips])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed spikes:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_SPIKES; i++)
- {
- if(SpikeStrips[iGroup][i][sX] != 0 && SpikeStrips[iGroup][i][sY] != 0 && SpikeStrips[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Spike ID: %d | Deployed location: %s | Deployed by: %s", i, SpikeStrips[iGroup][i][sDeployedAt], SpikeStrips[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- } else SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- return 1;
- }
- CMD:aflares(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iFlare; iFlare < MAX_FLARES; iFlare++) {
- if(Flares[iGroupID][iFlare][sX] != 0 && Flares[iGroupID][iFlare][sY] != 0 && Flares[iGroupID][iFlare][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iFlare, Flares[iGroupID][iFlare][sDeployedAt], Flares[iGroupID][iFlare][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Flares", szMiscArray, "Close", "");
- return 1;
- }
- CMD:flares(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iFlares])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed flares:");
- for(new i, string[58 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_FLARES; i++)
- {
- if(Flares[iGroup][i][sX] != 0 && Flares[iGroup][i][sY] != 0 && Flares[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Flare ID: %d | Deployed location: %s | Deployed by: %s", i, Flares[iGroup][i][sDeployedAt], Flares[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:acones(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iCone; iCone < MAX_CONES; iCone++) {
- if(Cones[iGroupID][iCone][sX] != 0 && Cones[iGroupID][iCone][sY] != 0 && Cones[iGroupID][iCone][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iCone, Cones[iGroupID][iCone][sDeployedAt], Cones[iGroupID][iCone][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Cones", szMiscArray, "Close", "");
- return 1;
- }
- CMD:cones(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iCones])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed cones:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_CONES; i++)
- {
- if(Cones[iGroup][i][sX] != 0 && Cones[iGroup][i][sY] != 0 && Cones[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Cone ID: %d | Deployed location: %s | Deployed by: %s", i, Cones[iGroup][i][sDeployedAt], Cones[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:abarrels(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iBarrel; iBarrel < MAX_BARRELS; iBarrel++) {
- if(Barrels[iGroupID][iBarrel][sX] != 0 && Barrels[iGroupID][iBarrel][sY] != 0 && Barrels[iGroupID][iBarrel][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iBarrel, Barrels[iGroupID][iBarrel][sDeployedAt], Barrels[iGroupID][iBarrel][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Barrels", szMiscArray, "Close", "");
- return 1;
- }
- CMD:barrels(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarrels])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed barrels:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_BARRELS; i++)
- {
- if(Barrels[iGroup][i][sX] != 0 && Barrels[iGroup][i][sY] != 0 && Barrels[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Barrel ID: %d | Deployed location: %s | Deployed by: %s", i, Barrels[iGroup][i][sDeployedAt], Barrels[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:aladders(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iLadder; iLadder < MAX_LADDERS; iLadder++) {
- if(Ladders[iGroupID][iLadder][sX] != 0 && Ladders[iGroupID][iLadder][sY] != 0 && Ladders[iGroupID][iLadder][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iLadder, Ladders[iGroupID][iLadder][sDeployedAt], Ladders[iGroupID][iLadder][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Ladders", szMiscArray, "Close", "");
- return 1;
- }
- CMD:ladders(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iLadders])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed ladders:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_LADDERS; i++)
- {
- if(Ladders[iGroup][i][sX] != 0 && Ladders[iGroup][i][sY] != 0 && Ladders[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Ladder ID: %d | Deployed location: %s | Deployed by: %s", i, Ladders[iGroup][i][sDeployedAt], Ladders[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:asigns(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pASM] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- szMiscArray[0] = 0;
- szMiscArray = "Group\tID\tLocation\tDeployer";
- for(new iGroupID = 0; iGroupID < MAX_GROUPS; iGroupID++) {
- for(new iSign; iSign < MAX_SIGNS; iSign++) {
- if(Signs[iGroupID][iSign][sX] != 0 && Signs[iGroupID][iSign][sY] != 0 && Signs[iGroupID][iSign][sZ] != 0) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s(%d)\t%d\t%s\t%s", szMiscArray, arrGroupData[iGroupID][g_szGroupName], iGroupID, iSign, Signs[iGroupID][iSign][sDeployedAt], Signs[iGroupID][iSign][sDeployedBy]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Server Signs", szMiscArray, "Close", "");
- return 1;
- }
- CMD:signs(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBarrels])
- {
- new iGroup = PlayerInfo[playerid][pMember];
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed signs:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < MAX_BARRELS; i++)
- {
- if(Signs[iGroup][i][sX] != 0 && Signs[iGroup][i][sY] != 0 && Signs[iGroup][i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Sign ID: %d | Deployed location: %s | Deployed by: %s", i, Signs[iGroup][i][sDeployedAt], Signs[iGroup][i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:tapes(playerid, params[]) {
- if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && arrGroupData[PlayerInfo[playerid][pMember]][g_iTapes] != -1 && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iTapes])
- {
- SendClientMessageEx(playerid, COLOR_WHITE, "Current deployed tapes:");
- for(new i, string[56 + MAX_ZONE_NAME + MAX_PLAYER_NAME]; i < sizeof(Tapes); i++)
- {
- if(Tapes[i][sX] != 0 && Tapes[i][sY] != 0 && Tapes[i][sZ] != 0) // Checking for next available ID.
- {
- format(string, sizeof(string), "HQ: Tape #%d | Deployed location: %s | Deployed by: %s", i, Tapes[i][sDeployedAt], Tapes[i][sDeployedBy]);
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized.");
- }
- return 1;
- }
- CMD:quitgroup(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)
- {
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You have quit your group, you are now a civilian again.");
- new string[128];
- format(string, sizeof(string), "%s (%d) has quit the %s as a rank %i", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), arrGroupData[PlayerInfo[playerid][pMember]][g_szGroupName], PlayerInfo[playerid][pRank]);
- GroupLog(PlayerInfo[playerid][pMember], string);
- if(arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] != GROUP_TYPE_CRIMINAL) ResetPlayerWeaponsEx(playerid);
- PlayerInfo[playerid][pMember] = INVALID_GROUP_ID;
- PlayerInfo[playerid][pRank] = INVALID_RANK;
- PlayerInfo[playerid][pDuty] = 0;
- PlayerInfo[playerid][pLeader] = INVALID_GROUP_ID;
- PlayerInfo[playerid][pDivision] = INVALID_DIVISION;
- strcpy(PlayerInfo[playerid][pBadge], "None", 9);
- if(!IsValidSkin(GetPlayerSkin(playerid)))
- {
- new rand = random(sizeof(CIV));
- SetPlayerSkin(playerid,CIV[rand]);
- PlayerInfo[playerid][pModel] = CIV[rand];
- }
- SetPlayerToTeamColor(playerid);
- player_remove_vip_toys(playerid);
- pTazer{playerid} = 0;
- DeletePVar(playerid, "HidingKnife");
- if(GetPVarType(playerid, "RepFam_TL")) Rivalry_Toggle(playerid, false);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You're not in a group.");
- }
- return 1;
- }
- CMD:dvstorage(playerid, params[])
- {
- new iGroupID = PlayerInfo[playerid][pMember];
- if((0 <= iGroupID <= MAX_GROUPS))
- {
- if(PlayerInfo[playerid][pLeader] == iGroupID)
- {
- if(IsPlayerInRangeOfPoint(playerid, 100.0, arrGroupData[iGroupID][g_fGaragePos][0], arrGroupData[iGroupID][g_fGaragePos][1], arrGroupData[iGroupID][g_fGaragePos][2]))
- {
- new vstring[3000];
- for(new i; i < MAX_DYNAMIC_VEHICLES; i++)
- {
- new iModelID = DynVehicleInfo[i][gv_iModel];
- if(400 <= iModelID < 612 && DynVehicleInfo[i][gv_igID] == iGroupID)
- {
- if(DynVehicleInfo[i][gv_iDisabled] == 1) {
- format(vstring, sizeof(vstring), "%s\n(%d)%s (Disabled)", vstring, i, VehicleName[iModelID - 400]);
- }
- else if(DynVehicleInfo[i][gv_iDisabled] == 2) {
- format(vstring, sizeof(vstring), "%s\n(%d) %s (Stored)", vstring, i, VehicleName[iModelID - 400], DynVehicleInfo[i][gv_iSpawnedID]);
- }
- else if(DynVehicleInfo[i][gv_iSpawnedID] != INVALID_VEHICLE_ID) {
- format(vstring, sizeof(vstring), "%s\n(%d) %s (Spawned) [VehicleID : %d]", vstring, i, VehicleName[iModelID - 400], DynVehicleInfo[i][gv_iSpawnedID]);
- }
- }
- }
- ShowPlayerDialogEx(playerid, DV_STORAGE, DIALOG_STYLE_LIST, "Dynamic Group Vehicle Storage", vstring, "Track", "Cancel");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not in range of your group garage!");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not a group leader!");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not in a group!");
- return 1;
- }
- CMD:bug(playerid, params[])
- {
- if (PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBugAccess])
- {
- new
- iTargetID;
- if(sscanf(params, "u", iTargetID)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /bug [player]");
- }
- else if(PlayerInfo[iTargetID][pAdmin] >= 2) {
- SendClientMessageEx(playerid, COLOR_GREY, "You cannot place a bug on this person.");
- }
- else if(GetPVarInt(iTargetID, "AdvisorDuty") == 1 && (GetPVarType(iTargetID, "HelpingSomeone") || GetPVarType(iTargetID, "pGodMode"))) {
- SendClientMessageEx(playerid, COLOR_GREY, "You cannot place bugs on advisors while they are on duty.");
- }
- else if(PlayerInfo[iTargetID][pBugged] != INVALID_GROUP_ID) {
- new
- szMessage[32 + MAX_PLAYER_NAME];
- PlayerInfo[iTargetID][pBugged] = INVALID_GROUP_ID;
- format(szMessage,sizeof(szMessage),"The bug on %s has been disabled.", GetPlayerNameEx(iTargetID));
- SendClientMessageEx(playerid, COLOR_GRAD1, szMessage);
- }
- else if(ProxDetectorS(4.0, playerid, iTargetID)) {
- new
- szMessage[28 + MAX_PLAYER_NAME];
- PlayerInfo[iTargetID][pBugged] = PlayerInfo[playerid][pMember];
- format(szMessage,sizeof(szMessage),"You have placed a bug on %s.",GetPlayerNameEx(iTargetID));
- SendClientMessageEx(playerid, COLOR_GRAD1, szMessage);
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "You need to be close to the person.");
- } else SendClientMessageEx(playerid, COLOR_GREY, "You do not have access to this radio frequency.");
- return 1;
- }
- CMD:gov(playerid, params[])
- {
- new
- iGroupID = PlayerInfo[playerid][pLeader],
- iRank = PlayerInfo[playerid][pRank];
- if ((0 <= iGroupID < MAX_GROUPS) && iRank >= arrGroupData[iGroupID][g_iGovAccess]) {
- if(!isnull(params)) {
- new string[128];
- format(string, sizeof(string), "** %s %s %s: %s **", arrGroupData[iGroupID][g_szGroupName], arrGroupRanks[iGroupID][iRank], GetPlayerNameEx(playerid), params);
- SendClientMessageToAllEx(COLOR_WHITE, "|___________ Government News Announcement ___________|");
- SendClientMessageToAllEx(arrGroupData[iGroupID][g_hDutyColour] * 256 + 255, string);
- format(string, sizeof(string), "** %s %s %s(%d): %s **", arrGroupData[iGroupID][g_szGroupName], arrGroupRanks[iGroupID][iRank], GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), params);
- Log("logs/gov.log", string);
- } else SendClientMessageEx(playerid, COLOR_GREY, "USAGE: (/gov)ernment [text]");
- } else SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
- return 1;
- }
- CMD:switchgroup(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] || PlayerInfo[playerid][pFactionModerator] >= 4) {
- Group_ListGroups(playerid, DIALOG_SWITCHGROUP);
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "You are not authorized.");
- return 1;
- }
- CMD:groupcsfban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 1)
- {
- new string[128], giveplayerid;
- if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /groupcsfban [player]");
- if(IsPlayerConnected(giveplayerid))
- {
- if( PlayerInfo[giveplayerid][pMember] >= 0 || PlayerInfo[giveplayerid][pLeader] >= 0 )
- {
- PlayerInfo[giveplayerid][pCSFBanned] = 1;
- format(string, sizeof(string), "You have been group-banned, by %s, from ALL Civil Service Groups.", GetPlayerNameEx( playerid ));
- SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
- PlayerInfo[giveplayerid][pMember] = INVALID_GROUP_ID;
- PlayerInfo[giveplayerid][pLeader] = INVALID_GROUP_ID;
- PlayerInfo[giveplayerid][pDivision] = INVALID_DIVISION;
- strcpy(PlayerInfo[giveplayerid][pBadge], "None", 9);
- PlayerInfo[giveplayerid][pRank] = INVALID_RANK;
- PlayerInfo[giveplayerid][pDuty] = 0;
- PlayerInfo[giveplayerid][pModel] = NOOB_SKIN;
- SetPlayerToTeamColor(giveplayerid);
- SetPlayerSkin(giveplayerid, NOOB_SKIN);
- format(string, sizeof(string), "You have faction-banned %s from all CSF groups.", GetPlayerNameEx(giveplayerid));
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_WHITE, "You can't kick someone from a faction if they're not a leader / member.");
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Player not connected.");
- }
- }
- return 1;
- }
- CMD:groupunban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1337)
- {
- new giveplayerid, group;
- if(sscanf(params, "ud", giveplayerid, group)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /groupunban [player] [groupid]");
- if(IsPlayerConnected(giveplayerid))
- {
- new string[256];
- SetPVarInt(playerid, "GroupUnBanningPlayer", giveplayerid);
- SetPVarInt(playerid, "GroupUnBanningGroup", group);
- mysql_format(MainPipeline, string,sizeof(string),"DELETE FROM `groupbans` WHERE `PlayerID` = %d AND `GroupBan` = %d", GetPlayerSQLId(giveplayerid), group);
- mysql_tquery(MainPipeline, string, "Group_QueryFinish", "ii", GROUP_QUERY_UNBAN, playerid);
- format(string, sizeof(string), "Attempting to unban %s from group %d...", GetPlayerNameEx(giveplayerid), group);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Player not connected.");
- }
- }
- return 1;
- }
- CMD:groupcsfunban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1337)
- {
- new string[128], giveplayerid;
- if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /faccsfunban [player]");
- if(IsPlayerConnected(giveplayerid))
- {
- if( PlayerInfo[giveplayerid][pCSFBanned] == 0 ) return SendClientMessageEx( playerid, COLOR_WHITE, "That person isn't banned from Civil Service Groups." );
- PlayerInfo[giveplayerid][pCSFBanned] = 0;
- format(string, sizeof(string), "You have unbanned person %s from all Civil Service Groups.", GetPlayerNameEx(giveplayerid));
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "You have been unbanned from Civil Service Groups, by %s.", GetPlayerNameEx(playerid));
- SendClientMessageEx(giveplayerid, COLOR_WHITE, string);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Player not connected.");
- }
- }
- return 1;
- }
- CMD:groupban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 1)
- {
- new giveplayerid, group , reason[64];
- if(sscanf(params, "uds[64]", giveplayerid, group, reason))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /groupban [player] [group id] [reason]");
- return 1;
- }
- if(IsPlayerConnected(giveplayerid))
- {
- if( group >= 0 && group < MAX_GROUPS )
- {
- SetPVarInt(playerid, "GroupBanningPlayer", giveplayerid);
- SetPVarInt(playerid, "GroupBanningGroup", group);
- new string[256];
- mysql_format(MainPipeline, string,sizeof(string),"INSERT INTO `groupbans` (`PlayerID`, `GroupBan`, `BanReason`, `BanDate`) VALUES (%d, %d, '%e', NOW())", GetPlayerSQLId(giveplayerid), group, reason);
- mysql_tquery(MainPipeline, string, "Group_QueryFinish", "ii", GROUP_QUERY_ADDBAN, playerid);
- format(string, sizeof(string), "Attempting to ban %s from group %d...", GetPlayerNameEx(giveplayerid), group);
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Invalid group id.");
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Player not connected.");
- }
- }
- return 1;
- }
- CMD:showbadge(playerid, params[])
- {
- if(0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] != GROUP_TYPE_CRIMINAL && arrGroupData[PlayerInfo[playerid][pMember]][g_iCrimeType] != GROUP_CRIMINAL_TYPE_RACE))
- {
- new string[128], giveplayerid;
- if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /showbadge [player]");
- if(giveplayerid != INVALID_PLAYER_ID) {
- if(ProxDetectorS(5.0, playerid, giveplayerid)) {
- new infoArrays[3][GROUP_MAX_NAME_LEN], badge[11];
- GetPlayerGroupInfo(playerid, infoArrays[0], infoArrays[1], infoArrays[2]);
- if(strcmp(PlayerInfo[playerid][pBadge], "None", true) != 0) format(badge, sizeof(badge), "[%s] ", PlayerInfo[playerid][pBadge]);
- SendClientMessageEx(giveplayerid, COLOR_GRAD2, "----------------------------------------------------------------------------------------------------");
- format(string, sizeof(string), "%s%s %s is a duly sworn member of the %s.", badge, infoArrays[0], GetPlayerNameEx(playerid), infoArrays[2]);
- SendClientMessageEx(giveplayerid, COLOR_WHITE, string);
- format(string, sizeof(string), "Current Assignment: %s.", infoArrays[1]);
- SendClientMessageEx(giveplayerid, COLOR_WHITE, string);
- switch(arrGroupData[PlayerInfo[playerid][pMember]][g_iAllegiance]) {
- case 1: SendClientMessageEx(giveplayerid, COLOR_WHITE, "Under the Authority of the San Andreas Government.");
- case 2: SendClientMessageEx(giveplayerid, COLOR_WHITE, "Under the Authority of the Nation of New Robada.");
- }
- if(IsACop(playerid)) SendClientMessageEx(giveplayerid, COLOR_WHITE, "Official has the authority to arrest.");
- else if(arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] != 2) SendClientMessageEx(giveplayerid, COLOR_WHITE, "Official has the authority to assist in arrests.");
- SendClientMessageEx(giveplayerid, COLOR_GRAD2, "----------------------------------------------------------------------------------------------------");
- format(string, sizeof(string), "* %s shows their badge to %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
- ProxChatBubble(playerid, string);
- // ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- } else SendClientMessageEx(playerid, COLOR_GREY, "That person isn't near you.");
- } else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
- } else SendClientMessageEx(playerid, COLOR_WHITE, "You are not in a civil service group.");
- return 1;
- }
- CMD:groupkick(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 1)
- {
- new string[128], giveplayerid;
- if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /groupkick [player]");
- if(IsPlayerConnected(giveplayerid))
- {
- if(PlayerInfo[giveplayerid][pMember] >= 0 || PlayerInfo[giveplayerid][pLeader] >= 0)
- {
- format(string, sizeof(string), "Administrator %s has group-kicked %s (%d) from %s (%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), GetPlayerSQLId(giveplayerid), arrGroupData[PlayerInfo[giveplayerid][pMember]][g_szGroupName], PlayerInfo[giveplayerid][pMember]+1);
- GroupLog(PlayerInfo[giveplayerid][pMember], string);
- format(string, sizeof(string), "You have been faction-kicked, by %s.", GetPlayerNameEx( playerid ));
- SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
- arrGroupData[PlayerInfo[giveplayerid][pMember]][g_iMemberCount]--;
- PlayerInfo[giveplayerid][pDuty] = 0;
- PlayerInfo[giveplayerid][pMember] = INVALID_GROUP_ID;
- PlayerInfo[giveplayerid][pRank] = INVALID_RANK;
- PlayerInfo[giveplayerid][pLeader] = INVALID_GROUP_ID;
- PlayerInfo[giveplayerid][pDivision] = INVALID_DIVISION;
- strcpy(PlayerInfo[giveplayerid][pBadge], "None", 9);
- if(!IsValidSkin(GetPlayerSkin(giveplayerid)))
- {
- new rand = random(sizeof(CIV));
- SetPlayerSkin(giveplayerid,CIV[rand]);
- PlayerInfo[giveplayerid][pModel] = CIV[rand];
- }
- player_remove_vip_toys(giveplayerid);
- pTazer{giveplayerid} = 0;
- DeletePVar(giveplayerid, "HidingKnife");
- SetPlayerToTeamColor(giveplayerid);
- format(string, sizeof(string), "You have group-kicked %s.", GetPlayerNameEx(giveplayerid));
- SendClientMessageEx(playerid, COLOR_WHITE, string);
- if(GetPVarType(giveplayerid, "RepFam_TL")) Rivalry_Toggle(giveplayerid, false);
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_WHITE, "You can't kick someone from a group if they're not a member.");
- }
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
- }
- }
- return 1;
- }
- CMD:m(playerid, params[]) {
- if(PlayerInfo[playerid][pJailTime] && strfind(PlayerInfo[playerid][pPrisonReason], "[OOC]", true) != -1) return SendClientMessageEx(playerid, COLOR_GREY, "OOC prisoners are restricted to only speak in /b");
- if(!isnull(params)) {
- if(IsACop(playerid) || IsAMedic(playerid) || IsAHitman(playerid) || IsAGovernment(playerid) || IsAJudge(playerid) || (IsATowman(playerid) && PlayerInfo[playerid][pRank] > 1)) {
- new
- szMessage[128];
- format(szMessage, sizeof(szMessage), "(megaphone) %s: %s", GetPlayerNameEx(playerid), params);
- ProxDetector(60.0, playerid, szMessage, COLOR_YELLOW, COLOR_YELLOW, COLOR_YELLOW, COLOR_YELLOW, COLOR_YELLOW,1);
- }
- else SendClientMessageEx(playerid, COLOR_GRAD2, " You do not have authority to use the megaphone.");
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "USAGE: (/m)egaphone [megaphone chat]");
- return 1;
- }
- CMD:radio(playerid, params[]) {
- return cmd_r(playerid, params);
- }
- CMD:r(playerid, params[]) {
- if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0 || PlayerInfo[playerid][pJailTime] > 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot do this at this time.");
- if(PlayerInfo[playerid][pJailTime] && strfind(PlayerInfo[playerid][pPrisonReason], "[OOC]", true) != -1) return SendClientMessageEx(playerid, COLOR_GREY, "OOC prisoners are restricted to only speak in /b");
- new
- iGroupID = PlayerInfo[playerid][pMember],
- iRank = PlayerInfo[playerid][pRank];
- if (0 <= iGroupID < MAX_GROUPS) {
- if (iRank >= arrGroupData[iGroupID][g_iRadioAccess]) {
- if(PlayerInfo[playerid][pToggledChats][12] == 0) {
- if(!isnull(params))
- {
- new string[128], employer[GROUP_MAX_NAME_LEN], rank[GROUP_MAX_RANK_LEN], division[GROUP_MAX_DIV_LEN];
- format(string, sizeof(string), "(radio) %s", params);
- SetPlayerChatBubble(playerid, string, COLOR_WHITE, 15.0, 5000);
- GetPlayerGroupInfo(playerid, rank, division, employer);
- if(strcmp(PlayerInfo[playerid][pBadge], "None", true) != 0) format(string, sizeof(string), "** [%s] %s %s: %s **", PlayerInfo[playerid][pBadge], rank, GetPlayerNameEx(playerid), params);
- else format(string, sizeof(string), "** %s (%s) %s: %s **", rank, division, GetPlayerNameEx(playerid), params);
- foreach(new i: Player)
- {
- if(PlayerInfo[playerid][pToggledChats][12] == 0)
- {
- if(PlayerInfo[i][pMember] == iGroupID && iRank >= arrGroupData[iGroupID][g_iRadioAccess]) {
- ChatTrafficProcess(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, string, 12);
- }
- if(GetPVarInt(i, "BigEar") == 4 && GetPVarInt(i, "BigEarGroup") == iGroupID) {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", string);
- ChatTrafficProcess(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, szBigEar, 12);
- }
- }
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: (/r)adio [radio chat]");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "Your radio is currently turned off, type /tog radio to turn it back on.");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You do not have access to this radio frequency.");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You are not in a group.");
- return 1;
- }
- CMD:int(playerid, params[])
- {
- return cmd_international(playerid, params);
- }
- CMD:togint(playerid, params[]) {
- if(PlayerInfo[playerid][pToggledChats][21]) {
- PlayerInfo[playerid][pToggledChats][21] = 0;
- SendClientMessageEx(playerid, COLOR_GRAD1, "You toggled the international chat on.");
- }
- else {
- PlayerInfo[playerid][pToggledChats][21] = 1;
- SendClientMessageEx(playerid, COLOR_GRAD1, "You toggled the international chat off.");
- }
- return 1;
- }
- CMD:international(playerid, params[])
- {
- if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0 || PlayerInfo[playerid][pJailTime] > 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot do this at this time.");
- if(PlayerInfo[playerid][pJailTime] && strfind(PlayerInfo[playerid][pPrisonReason], "[OOC]", true) != -1) return SendClientMessageEx(playerid, COLOR_GREY, "OOC prisoners are restricted to only speak in /b");
- new iGroupID = PlayerInfo[playerid][pMember],
- iRank = PlayerInfo[playerid][pRank];
- if(PlayerInfo[playerid][pToggledChats][21]) return SendClientMessageEx(playerid, COLOR_GRAD1, "You have the international chat toggled.");
- if(0 <= iGroupID < MAX_GROUPS)
- {
- if(iRank >= arrGroupData[iGroupID][g_iIntRadioAccess])
- {
- if(!isnull(params))
- {
- new szRadio[128], szEmployer[GROUP_MAX_NAME_LEN], szRank[GROUP_MAX_RANK_LEN], szDivision[GROUP_MAX_DIV_LEN];
- GetPlayerGroupInfo(playerid, szRank, szDivision, szEmployer);
- format(szRadio, sizeof(szRadio), "** %s %s (%s) %s: %s **", szEmployer, szRank, szDivision, GetPlayerNameEx(playerid), params);
- foreach(new i: Player)
- {
- if((0 <= PlayerInfo[i][pMember] < MAX_GROUPS) && PlayerInfo[i][pRank] >= arrGroupData[PlayerInfo[i][pMember]][g_iIntRadioAccess]) {
- ChatTrafficProcess(i, 0x869688FF, szRadio, 21);
- }
- }
- format(szRadio, sizeof(szRadio), "(radio) %s", params);
- SetPlayerChatBubble(playerid, szRadio, COLOR_WHITE, 15.0, 5000);
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: (/int(ernational) [text]");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You do not have access to this radio frequency!");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You're not in a group!");
- return 1;
- }
- CMD:togdept(playerid, params[])
- {
- if(PlayerInfo[playerid][pToggledChats][10] == 0)
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You have toggled off your department radio, you may re-enable it by typing this command again.");
- PlayerInfo[playerid][pToggledChats][10] = 1;
- }
- else {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You have toggled on your department radio.");
- PlayerInfo[playerid][pToggledChats][10] = 0;
- } return 1;
- }
- CMD:dept(playerid, params[])
- {
- if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0 || PlayerInfo[playerid][pJailTime] > 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot do this at this time.");
- if(PlayerInfo[playerid][pJailTime] && strfind(PlayerInfo[playerid][pPrisonReason], "[OOC]", true) != -1) return SendClientMessageEx(playerid, COLOR_GREY, "OOC prisoners are restricted to only speak in /b");
- new
- iGroupID = PlayerInfo[playerid][pMember],
- iRank = PlayerInfo[playerid][pRank];
- if(0 <= iGroupID < MAX_GROUPS)
- {
- if(iRank >= arrGroupData[iGroupID][g_iDeptRadioAccess])
- {
- if(PlayerInfo[playerid][pToggledChats][10] == 0)
- {
- if(!isnull(params))
- {
- new szRadio[128], RadioBubble[128], szEmployer[GROUP_MAX_NAME_LEN], szRank[GROUP_MAX_RANK_LEN], szDivision[GROUP_MAX_DIV_LEN];
- GetPlayerGroupInfo(playerid, szRank, szDivision, szEmployer);
- if(strcmp(PlayerInfo[playerid][pBadge], "None", true) != 0) format(szRadio, sizeof(szRadio), "** [%s] %s %s %s: %s **", PlayerInfo[playerid][pBadge], szEmployer, szRank, GetPlayerNameEx(playerid), params);
- else format(szRadio, sizeof(szRadio), "** %s %s (%s) %s: %s **", szEmployer, szRank, szDivision, GetPlayerNameEx(playerid), params);
- format(RadioBubble, sizeof(RadioBubble), "(radio) %s",params);
- SetPlayerChatBubble(playerid, RadioBubble, COLOR_WHITE, 15.0, 5000);
- foreach(new i: Player)
- {
- if(PlayerInfo[playerid][pToggledChats][10] == 0)
- {
- if((0 <= PlayerInfo[i][pMember] < MAX_GROUPS) && PlayerInfo[i][pRank] >= arrGroupData[PlayerInfo[i][pMember]][g_iDeptRadioAccess] && arrGroupData[iGroupID][g_iAllegiance] == arrGroupData[PlayerInfo[i][pMember]][g_iAllegiance])
- {
- ChatTrafficProcess(i, DEPTRADIO, szRadio, 10);
- }
- else if(GetPVarInt(i, "BigEar") == 4 && GetPVarInt(i, "BigEarGroup") == iGroupID)
- {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", szRadio);
- ChatTrafficProcess(i, iGroupID, szBigEar, 10);
- }
- else if((PlayerInfo[i][pMember] == INVALID_GROUP_ID || (0 <= PlayerInfo[i][pMember] < MAX_GROUPS) && PlayerInfo[i][pRank] < arrGroupData[PlayerInfo[i][pMember]][g_iDeptRadioAccess]) && PlayerInfo[i][pReceiver] > 0)
- {
- if(GetPVarType(i, "pReceiverOn"))
- {
- if(GetPVarInt(i, "pReceiverMLeft") > 0)
- {
- format(szRadio, sizeof(szRadio), "** (receiver) %s: %s", GetPlayerNameEx(playerid), params);
- ChatTrafficProcess(i, DEPTRADIO, szRadio, 10);
- SetPVarInt(i, "pReceiverMLeft", GetPVarInt(i, "pReceiverMLeft") - 1);
- }
- else
- {
- PlayerInfo[i][pReceiver]--;
- SetPVarInt(i, "pReceiverMLeft", 4);
- return SendClientMessageEx(i, DEPTRADIO, "Your receiver ran out of batteries!");
- }
- }
- }
- }
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: (/dept) [department chat]");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "Your department radio is currently turned off, turn it on by typing /togdept.");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You do not have access to this radio frequency.");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You are not in a group.");
- return 1;
- }
- CMD:togradio(playerid, params[])
- {
- if(PlayerInfo[playerid][pToggledChats][12] == 0)
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You have toggled off your radio, you may re-enable it by typing this command again.");
- PlayerInfo[playerid][pToggledChats][12] = 1;
- }
- else {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You have toggled on your radio.");
- PlayerInfo[playerid][pToggledChats][12] = 0;
- } return 1;
- }
- CMD:makeleader(playerid, params[])
- {
- if (PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2)
- {
- new giveplayerid;
- if(sscanf(params, "u", giveplayerid)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /makeleader [player]");
- }
- else {
- if(IsPlayerConnected(giveplayerid)) {
- SetPVarInt(playerid, "MakingLeader", giveplayerid);
- SetPVarInt(playerid, "MakingLeaderSQL", GetPlayerSQLId(giveplayerid));
- Group_ListGroups(playerid, DIALOG_MAKELEADER);
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
- }
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command.");
- return 1;
- }
- CMD:leaders(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3 || PlayerInfo[playerid][pFactionModerator] >= 1) {
- SendClientMessageEx(playerid, COLOR_WHITE, "Group leaders online:");
- new string[128], sz_FacInfo[3][64];
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pLeader] >= 0) {
- GetPlayerGroupInfo(i, sz_FacInfo[0], sz_FacInfo[1], sz_FacInfo[2]);
- format(string, sizeof(string), "(%s) %s %s", sz_FacInfo[2], sz_FacInfo[0], GetPlayerNameEx(i));
- SendClientMessageEx(playerid, COLOR_GRAD2, string);
- }
- }
- } else SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command.");
- return 1;
- }
- CMD:hfind(playerid, params[])
- {
- if (IsAHitman(playerid) || (PlayerInfo[playerid][pMember] != INVALID_GROUP_ID && PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iFindAccess]) || (PlayerInfo[playerid][pAdmin] >= 2 && PlayerInfo[playerid][pTogReports] != 1))
- {
- if(GetPVarType(playerid, "HfindCount")) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "Tracing interrupted.");
- DeletePVar(playerid, "HfindCount");
- return 1;
- }
- if(GetPVarType(playerid, "hFind")) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "Stopped Updating");
- DeletePVar(playerid, "hFind");
- DisablePlayerCheckpoint(playerid);
- }
- else
- {
- new iTargetID;
- if(CheckPointCheck(playerid)) {
- return SendClientMessageEx(playerid, COLOR_GREY, "You cannot use this command as of this moment!");
- }
- if(sscanf(params, "u", iTargetID)) {
- return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /hfind [player]");
- }
- else if(iTargetID == playerid) {
- return SendClientMessageEx(playerid, COLOR_GREY, "You can't use this command on yourself.");
- }
- else if(!IsPlayerConnected(iTargetID)) {
- return SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
- }
- else if(GetPlayerInterior(iTargetID) != 0) {
- return SendClientMessageEx(playerid, COLOR_GREY, "That person is inside an interior.");
- }
- else if((PlayerInfo[iTargetID][pAdmin] >= 2 || PlayerInfo[iTargetID][pWatchdog] >= 2) && PlayerInfo[iTargetID][pTogReports] != 1) {
- return SendClientMessageEx(playerid, COLOR_GREY, "You are unable to find this person.");
- }
- else if (GetPVarInt(playerid, "_SwimmingActivity") >= 1) {
- return SendClientMessageEx(playerid, COLOR_GRAD2, "You are unable to find people while swimming.");
- }
- if (GetPVarInt(playerid, "_SwimmingActivity") >= 1)
- {
- SendClientMessageEx(playerid, COLOR_GRAD2, " You must stop swimming first! (/stopswimming)");
- return 1;
- }
- if(PhoneOnline[iTargetID] == 0 && PlayerInfo[iTargetID][pPnumber] != 0 || (PlayerInfo[iTargetID][pBugged] == PlayerInfo[playerid][pMember] || (PlayerInfo[playerid][pAdmin] >= 2 && PlayerInfo[playerid][pTogReports] != 1)))
- {
- SetPVarInt(playerid, "HfindCount", 15);
- SendClientMessageEx(playerid, COLOR_WHITE, "You have started a trace, type /hfind again to stop this.");
- SetTimerEx("HitmanTrace", 1000, false, "ii", playerid, iTargetID);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You are unable to get a trace on this person.");
- }
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command.");
- return 1;
- }
- forward HitmanTrace(playerid, iTargetID);
- public HitmanTrace(playerid, iTargetID) {
- new iTraceCount = GetPVarInt(playerid, "HfindCount");
- if(PlayerInfo[iTargetID][pBugged] == PlayerInfo[playerid][pMember]) iTraceCount = 0;
- if(CheckPointCheck(playerid)) return SendClientMessageEx(playerid, COLOR_GREY, "You cannot use this command as of this moment!");
- if(!IsPlayerConnected(iTargetID)) return SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
- if(GetPlayerInterior(iTargetID) != 0) return SendClientMessageEx(playerid, COLOR_GREY, "That person is inside an interior.");
- if((PlayerInfo[iTargetID][pAdmin] >= 2 || PlayerInfo[iTargetID][pWatchdog] >= 2) && PlayerInfo[iTargetID][pTogReports] != 1) return SendClientMessageEx(playerid, COLOR_GREY, "You are unable to find this person.");
- if(GetPVarInt(playerid, "_SwimmingActivity") >= 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are unable to find people while swimming.");
- if (GetPVarInt(playerid, "_SwimmingActivity") >= 1) return SendClientMessageEx(playerid, COLOR_GRAD2, " You must stop swimming first! (/stopswimming)");
- if((PhoneOnline[iTargetID] > 0 || PlayerInfo[iTargetID][pPnumber] == 0 ) && PlayerInfo[iTargetID][pBugged] != PlayerInfo[playerid][pMember]) return SendClientMessageEx(playerid, COLOR_GREY, "The trace was interrupted.");
- if(!GetPVarType(playerid, "HfindCount")) return SendClientMessageEx(playerid, COLOR_WHITE, "An error occured!");
- if(iTraceCount >= 1) {
- SetPVarInt(playerid, "HfindCount", --iTraceCount);
- format(szMiscArray, sizeof(szMiscArray), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~r~Correlating Signal: %d seconds left", iTraceCount);
- GameTextForPlayer(playerid, szMiscArray, 1100, 3);
- SetTimerEx("HitmanTrace", 1000, false, "ii", playerid, iTargetID);
- }
- else if(iTraceCount == 0) {
- GameTextForPlayer(playerid, "Trace established", 1100, 3);
- new
- szZone[MAX_ZONE_NAME],
- szMessage[108];
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(iTargetID, X, Y, Z);
- DisablePlayerCheckpoint(playerid);
- SetPlayerCheckpoint(playerid, X, Y, Z, 4.0);
- GetPlayer3DZone(iTargetID, szZone, sizeof(szZone));
- format(szMessage, sizeof(szMessage), "Tracking on %s, last seen at %s.", GetPlayerNameEx(iTargetID), szZone);
- SendClientMessageEx(playerid, COLOR_GRAD2, szMessage);
- SendClientMessageEx(playerid, COLOR_GRAD2, "Type /hfind again to stop tracking.");
- SetPVarInt(playerid, "hFind", iTargetID);
- DeletePVar(playerid, "HfindCount");
- }
- return 1;
- }
- CMD:f(playerid, params[]) return cmd_g(playerid, params);
- CMD:g(playerid, params[])
- {
- if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0 || PlayerInfo[playerid][pJailTime] > 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot do this at this time.");
- if(PlayerInfo[playerid][pJailTime] && strfind(PlayerInfo[playerid][pPrisonReason], "[OOC]", true) != -1) return SendClientMessageEx(playerid, COLOR_GREY, "OOC prisoners are restricted to only speak in /b");
- new iGroupID = PlayerInfo[playerid][pMember],
- iRank = PlayerInfo[playerid][pRank];
- if(isnull(params)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: (/g)roup [group chat]");
- if(iGroupID == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not a part of a group!");
- if(iRank >= arrGroupData[iGroupID][g_iOOCChat])
- {
- new string[128];
- format(string, sizeof(string), "** (%d) %s (%s) %s: %s **", iRank, arrGroupRanks[iGroupID][iRank], (0 <= PlayerInfo[playerid][pDivision] < MAX_GROUP_DIVS && arrGroupDivisions[iGroupID][PlayerInfo[playerid][pDivision]][0] ? arrGroupDivisions[iGroupID][PlayerInfo[playerid][pDivision]]:("None")), GetPlayerNameEx(playerid), params);
- foreach(new i: Player) {
- if(PlayerInfo[i][pMember] == iGroupID && GetPVarInt(i, "OOCRadioTogged") == 0) {
- ChatTrafficProcess(i, arrGroupData[iGroupID][g_hOOCColor] * 256 + 255, string, 11);
- }
- }
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "You cannot use this command.");
- return 1;
- }
- CMD:togfam(playerid, params[])
- {
- if(PlayerInfo[playerid][pToggledChats][11] == 1)
- {
- DeletePVar(playerid, "OOCRadioTogged");
- SendClientMessageEx(playerid, COLOR_WHITE, "You have enabled your OOC group chat. ");
- PlayerInfo[playerid][pToggledChats][11] = 0;
- }
- else
- {
- SetPVarInt(playerid, "OOCRadioTogged", 1);
- SendClientMessage(playerid, COLOR_WHITE, "You have disabled your OOC group chat.");
- PlayerInfo[playerid][pToggledChats][11] = 1;
- }
- return 1;
- }
- CMD:locker(playerid, params[]) {
- new
- iGroupID = PlayerInfo[playerid][pMember],
- szTitle[18 + GROUP_MAX_NAME_LEN],
- szDialog[172];
- if(PlayerInfo[playerid][pWRestricted] != 0 || PlayerInfo[playerid][pConnectHours] < 2) return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot use this command while having a weapon restriction.");
- if(HungerPlayerInfo[playerid][hgInEvent] != 0) return SendClientMessageEx(playerid, COLOR_GREY, " You cannot do this while being in the Hunger Games Event!");
- if(zombieevent && GetPVarType(playerid, "pIsZombie")) return SendClientMessageEx(playerid, COLOR_GREY, "You cannot use this as a Zombie.");
- if(0 <= iGroupID < MAX_GROUPS)
- {
- for(new i; i < MAX_GROUPS; i++)
- {
- for(new j; j < MAX_GROUP_LOCKERS; j++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, arrGroupLockers[i][j][g_fLockerPos][0], arrGroupLockers[i][j][g_fLockerPos][1], arrGroupLockers[i][j][g_fLockerPos][2]) && arrGroupLockers[i][j][g_iLockerVW] == GetPlayerVirtualWorld(playerid))
- {
- if(i == iGroupID || (arrGroupData[i][g_iGroupType] == arrGroupData[iGroupID][g_iGroupType] && arrGroupLockers[i][j][g_iLockerShare]))
- {
- format(szTitle, sizeof(szTitle), "%s Locker Menu", arrGroupData[iGroupID][g_szGroupName]);
- if(arrGroupData[iGroupID][g_iLockerCostType] == 0) {
- if(arrGroupData[iGroupID][g_iLockerStock] > 100)
- {
- format(szTitle, sizeof(szTitle), "%s - Locker Stock: %d", szTitle, arrGroupData[iGroupID][g_iLockerStock]);
- }
- else
- {
- format(szTitle, sizeof(szTitle), "%s - {AA3333}Locker Stock: %d", szTitle, arrGroupData[iGroupID][g_iLockerStock]);
- }
- }
- if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_CRIMINAL /*|| arrGroupData[iGroupID][g_iGroupType] == GROUP_CRIMINAL_TYPE_RACE*/)
- {
- format(szDialog, sizeof(szDialog), "Clothes\nWeapons\nCrate Transfer\nDrugs\nMaterials (%i)\nVault ($%s)",
- arrGroupData[iGroupID][g_iMaterials],
- number_format(arrGroupData[iGroupID][g_iBudget])
- );
- return ShowPlayerDialogEx(playerid, G_LOCKER_MAIN, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }
- /* if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_CRIMINAL || arrGroupData[iGroupID][g_iGroupType] == GROUP_CRIMINAL_TYPE_RACE)
- {
- format(szDialog, sizeof(szDialog), "Clothes\nWeapons\nCannabis (%i)\nCrack (%i)\nHeroin (%i)\nSyringes (%i)\nOpium (%i)\nMaterials (%i)\nVault ($%s)\nAmmo",
- arrGroupData[iGroupID][g_iPot],
- arrGroupData[iGroupID][g_iCrack],
- arrGroupData[iGroupID][g_iHeroin],
- arrGroupData[iGroupID][g_iSyringes],
- arrGroupData[iGroupID][g_iOpium],
- arrGroupData[iGroupID][g_iMaterials],
- number_format(arrGroupData[iGroupID][g_iBudget])
- );
- return ShowPlayerDialogEx(playerid, G_LOCKER_MAIN, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- }*/
- if(PlayerInfo[playerid][pRank] >= arrGroupData[iGroupID][g_iFreeNameChange] && (PlayerInfo[playerid][pDivision] == arrGroupData[iGroupID][g_iFreeNameChangeDiv] || arrGroupData[iGroupID][g_iFreeNameChangeDiv] == INVALID_DIVISION)) // name-change point in faction lockers for free namechange factions
- {
- format(szDialog, sizeof(szDialog), "Duty\nWeapons\nCrate Transfer\nUniform%s", (arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA) ? ("\nClear Suspect\nFirst Aid & Kevlar\nPortable Medkit & Vest Kit\nTazer & Cuffs\nName Change\nAccessories") : ((arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_MEDIC || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_GOV) ? ("\nPortable Medkit & Vest Kit\nFirst Aid & Kevlar\nName Change") : ("")));
- }
- else if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_GOV) {
- format(szDialog, sizeof(szDialog), "Duty\nWeapons\nCrate Transfer\nUniform\nPortable Medkit & Vest Kit\nFirst Aid & Kevlar");
- }
- else
- {
- format(szDialog, sizeof(szDialog), "Duty\nWeapons\nCrate Transfer\nUniform%s", (arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA) ? ("\nClear Suspect\nFirst Aid & Kevlar\nPortable Medkit & Vest Kit\nTazer & Cuffs\nAccessories") : ((arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_MEDIC || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_NEWS || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_GOV || arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_TOWING) ? ("\nPortable Medkit & Vest Kit\nFirst Aid & Kevlar") : ("")));
- }
- ShowPlayerDialogEx(playerid, G_LOCKER_MAIN, DIALOG_STYLE_LIST, szTitle, szDialog, "Select", "Cancel");
- return 1;
- }
- else
- {
- SendClientMessageEx(playerid, COLOR_GREY, "You can't access this locker.");
- return 1;
- }
- }
- }
- }
- }
- SendClientMessageEx(playerid, COLOR_GREY, "You're not near a locker!");
- return 1;
- }
- CMD:editgroup(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFactionModerator] >= 2)
- {
- Group_ListGroups(playerid);
- }
- return 1;
- }
- CMD:groupaddjurisdiction(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pFactionModerator] >= 2) Group_ListGroups(playerid, DIALOG_GROUP_JURISDICTION_ADD);
- return 1;
- }
- CMD:uninvite(playerid, params[]) {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS) {
- new
- iTargetID,
- iGroupID = PlayerInfo[playerid][pLeader];
- if(sscanf(params, "u", iTargetID)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /uninvite [player]");
- }
- else if(IsPlayerConnected(iTargetID)) {
- if(iGroupID == PlayerInfo[iTargetID][pMember]) {
- if(playerid == iTargetID) {
- SendClientMessageEx(playerid, COLOR_GREY, "You can't uninvite yourself.");
- }
- else if(PlayerInfo[playerid][pRank] > PlayerInfo[iTargetID][pRank] || PlayerInfo[playerid][pRank] >= Group_GetMaxRank(iGroupID)) {
- new
- szMessage[128],
- iRank = PlayerInfo[playerid][pRank];
- format(szMessage, sizeof szMessage, "%s %s has kicked you out of %s.", arrGroupRanks[iGroupID][iRank], GetPlayerNameEx(playerid), arrGroupData[iGroupID][g_szGroupName]);
- SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage);
- SendClientMessageEx(iTargetID, COLOR_WHITE, "You are now a civilian again.");
- format(szMessage, sizeof szMessage, "You have kicked %s out of the group.", GetPlayerNameEx(iTargetID));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof szMessage, "%s %s (%d) (rank %i) has uninvited %s (%d) (rank %i) from %s (%i).", arrGroupRanks[iGroupID][iRank], GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), iRank, GetPlayerNameEx(iTargetID), GetPlayerSQLId(iTargetID), PlayerInfo[iTargetID][pRank], arrGroupData[iGroupID][g_szGroupName], iGroupID + 1);
- GroupLog(iGroupID, szMessage);
- arrGroupData[iGroupID][g_iMemberCount]--;
- PlayerInfo[iTargetID][pMember] = INVALID_GROUP_ID;
- PlayerInfo[iTargetID][pDivision] = -1;
- strcpy(PlayerInfo[iTargetID][pBadge], "None", 9);
- PlayerInfo[iTargetID][pLeader] = INVALID_GROUP_ID;
- PlayerInfo[iTargetID][pDuty] = 0;
- PlayerInfo[iTargetID][pRank] = INVALID_RANK;
- PlayerInfo[iTargetID][pModel] = NOOB_SKIN;
- SetPlayerSkin(iTargetID, NOOB_SKIN);
- SetPlayerToTeamColor(iTargetID);
- pTazer{iTargetID} = 0;
- if(GetPVarType(iTargetID, "RepFam_TL")) Rivalry_Toggle(iTargetID, false);
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "You can't do this to a person of equal or higher rank.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "That person is not in your group.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Only group leaders may use this command.");
- return 1;
- }
- CMD:ouninvite(playerid, params[]) {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS) {
- if(!isnull(params)) {
- if (IsPlayerConnected(ReturnUser(params)))
- {
- return SendClientMessageEx(playerid, COLOR_GREY, "That person is currently online - use /uninvite.");
- }
- new
- szQuery[96],
- szName[MAX_PLAYER_NAME],
- iPos;
- mysql_escape_string(params, szName);
- mysql_format(MainPipeline, szQuery, sizeof szQuery, "SELECT `Member`, `Rank`, `id` FROM `accounts` WHERE `Username` = '%s'", szName);
- mysql_tquery(MainPipeline, szQuery, "Group_QueryFinish", "ii", GROUP_QUERY_UNCHECK, playerid);
- while((iPos = strfind(szName, "_", false, iPos)) != -1) szName[iPos] = ' ';
- SetPVarString(playerid, "Group_Uninv", szName);
- format(szQuery, sizeof szQuery, "Attempting to remove %s from the group, please wait...", szName);
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szQuery);
- }
- else SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /ouninvite [account name]");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Only group leaders may use this command.");
- return 1;
- }
- CMD:giverank(playerid, params[]) {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS) {
- new
- iTargetID,
- iRank,
- iGroupID = PlayerInfo[playerid][pLeader],
- szMessage[128];
- if(sscanf(params, "ui", iTargetID, iRank)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /giverank [player] [rank]");
- }
- else if(!(0 <= iRank <= Group_GetMaxRank(iGroupID))) {
- format(szMessage, sizeof(szMessage), "Invalid rank specified (must be between 0 and %d)", Group_GetMaxRank(iGroupID));
- SendClientMessageEx(playerid, COLOR_GREY, szMessage);
- }
- else if(IsPlayerConnected(iTargetID)) {
- if(iGroupID == PlayerInfo[iTargetID][pMember]) {
- if(iRank == PlayerInfo[iTargetID][pRank]) {
- SendClientMessageEx(playerid, COLOR_GREY, "That person is already of that rank.");
- }
- else if(playerid == iTargetID) {
- SendClientMessageEx(playerid, COLOR_GREY, "You can't change your own rank!");
- }
- if(PlayerInfo[iTargetID][pRank] > PlayerInfo[playerid][pRank])
- {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot perform this command on a higher rank than you!");
- return 1;
- }
- else if(PlayerInfo[playerid][pRank] > PlayerInfo[iTargetID][pRank] || PlayerInfo[playerid][pRank] >= Group_GetMaxRank(iGroupID) || PlayerInfo[playerid][pAdmin] >= 4) {
- format(szMessage, sizeof szMessage, "%s %s has %s you to the rank of %s.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid), ((iRank > PlayerInfo[iTargetID][pRank]) ? ("promoted") : ("demoted")), arrGroupRanks[iGroupID][iRank]);
- SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof szMessage, "You have %s %s to the rank of %s.", ((iRank > PlayerInfo[iTargetID][pRank]) ? ("promoted") : ("demoted")), GetPlayerNameEx(iTargetID), arrGroupRanks[iGroupID][iRank]);
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof szMessage, "%s %s (%d) (rank %i) has given %s (%d) rank %i (%s) in %s (%i).", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), PlayerInfo[playerid][pRank], GetPlayerNameEx(iTargetID), GetPlayerSQLId(iTargetID), iRank, arrGroupRanks[iGroupID][iRank], arrGroupData[iGroupID][g_szGroupName], iGroupID + 1);
- GroupLog(iGroupID, szMessage);
- PlayerInfo[iTargetID][pRank] = iRank;
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "You can't do this to a person of equal or higher rank.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "That person is not in your group.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Only group leaders may use this command.");
- return 1;
- }
- CMD:setdivname(playerid, params[])
- {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS)
- {
- new
- iDiv,
- iName[GROUP_MAX_DIV_LEN],
- iGroupID = PlayerInfo[playerid][pLeader],
- szMessage[128];
- if(sscanf(params, "is[16]", iDiv, iName))
- {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /setdivname [division] [name] -- Use 'none' as name to remove division");
- format(szMessage, sizeof(szMessage), "%s", "0 (None), ");
- for(new i; i < MAX_GROUP_DIVS; i++)
- {
- if(arrGroupDivisions[iGroupID][i][0]) format(szMessage, sizeof(szMessage), "%s%d (%s), ", szMessage, i+1, arrGroupDivisions[iGroupID][i]);
- if(strlen(szMessage) > 64 || i == (MAX_GROUP_DIVS -1) && strlen(szMessage)) { SendClientMessageEx(playerid, COLOR_GRAD2, szMessage); szMessage[0] = 0; }
- }
- }
- else if(!(1 <= iDiv <= Group_GetMaxDiv(iGroupID)+1))
- {
- format(szMessage, sizeof(szMessage), "Invalid division specified! Must be between 1 and %d.", Group_GetMaxDiv(iGroupID) + 1);
- return SendClientMessageEx(playerid, COLOR_GREY, szMessage);
- }
- else if(strlen(iName) > sizeof(iName))
- {
- format(szMessage, sizeof(szMessage), "Division name must be less than %d characters!", sizeof(iName));
- return SendClientMessageEx(playerid, COLOR_GREY, szMessage);
- }
- else
- {
- iDiv = iDiv - 1;
- if(strcmp(iName, "none", true) == 0)
- {
- format(szMessage, sizeof(szMessage), "** %s has removed the %s division (#%i) **", GetPlayerNameEx(playerid), arrGroupDivisions[iGroupID][iDiv], iDiv + 1);
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pToggledChats][12] == 0)
- {
- if(PlayerInfo[i][pMember] == iGroupID) SendClientMessageEx(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, szMessage);
- if(GetPVarInt(i, "BigEar") == 4 && GetPVarInt(i, "BigEarGroup") == iGroupID)
- {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", szMessage);
- SendClientMessageEx(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, szBigEar);
- }
- }
- }
- format(szMessage, sizeof szMessage, "%s (%d) has removed the %s division (#%i)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), arrGroupDivisions[iGroupID][iDiv], iDiv + 1);
- GroupLog(iGroupID, szMessage);
- }
- else
- {
- format(szMessage, sizeof(szMessage), "** %s has renamed division %s (#%i) to %s **", GetPlayerNameEx(playerid), arrGroupDivisions[iGroupID][iDiv], iDiv + 1, iName);
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pToggledChats][12] == 0)
- {
- if(PlayerInfo[i][pMember] == iGroupID) SendClientMessageEx(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, szMessage);
- if(GetPVarInt(i, "BigEar") == 4 && GetPVarInt(i, "BigEarGroup") == iGroupID)
- {
- new szBigEar[128];
- format(szBigEar, sizeof(szBigEar), "(BE) %s", szMessage);
- SendClientMessageEx(i, arrGroupData[iGroupID][g_hRadioColour] * 256 + 255, szBigEar);
- }
- }
- }
- format(szMessage, sizeof szMessage, "%s (%d) has renamed the %s division (#%i) to %s", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), arrGroupDivisions[iGroupID][iDiv], iDiv + 1, iName);
- GroupLog(iGroupID, szMessage);
- }
- mysql_escape_string(iName, arrGroupDivisions[iGroupID][iDiv]);
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You're not authorized to use this command!");
- return 1;
- }
- CMD:setdiv(playerid, params[]) {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS) {
- new
- iTargetID,
- iDiv,
- iGroupID = PlayerInfo[playerid][pLeader],
- szMessage[128];
- if(sscanf(params, "ui", iTargetID, iDiv)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /setdiv [player] [div]");
- format(szMessage, sizeof(szMessage), "%s", "0 (None), ");
- for(new i; i < MAX_GROUP_DIVS; i++)
- {
- if(arrGroupDivisions[iGroupID][i][0]) format(szMessage, sizeof(szMessage), "%s%d (%s), ", szMessage, i+1, arrGroupDivisions[iGroupID][i]);
- if(strlen(szMessage) > 64 || i == (MAX_GROUP_DIVS -1) && strlen(szMessage)) { SendClientMessageEx(playerid, COLOR_GRAD2, szMessage); szMessage[0] = 0; }
- }
- }
- else if(!(0 <= iDiv <= Group_GetMaxDiv(iGroupID)+1)) {
- format(szMessage, sizeof(szMessage), "Invalid division specified (must be between 0 and %d)", Group_GetMaxDiv(iGroupID) + 1);
- SendClientMessageEx(playerid, COLOR_GREY, szMessage);
- }
- else if(IsPlayerConnected(iTargetID)) {
- if(iGroupID == PlayerInfo[iTargetID][pMember]) {
- if(iDiv - 1 == PlayerInfo[iTargetID][pDivision]) {
- if (iDiv == 0) SendClientMessageEx(playerid, COLOR_GREY, "That person already has no division.");
- else SendClientMessageEx(playerid, COLOR_GREY, "That person is already in that division.");
- }
- else if(PlayerInfo[playerid][pLeader] == iGroupID || PlayerInfo[playerid][pDivision] == PlayerInfo[iTargetID][pDivision] || PlayerInfo[playerid][pRank] >= (Group_GetMaxRank(iGroupID) - 3)) {
- if(iDiv == 0)
- {
- format(szMessage, sizeof(szMessage), "You have been kicked out of your current division by %s.", GetPlayerNameEx(playerid));
- SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof(szMessage), "You have kicked %s from their division.", GetPlayerNameEx(iTargetID));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof szMessage, "%s %s (%d) has kicked %s (%d) out of their division in %s (%d).", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), GetPlayerNameEx(iTargetID), GetPlayerSQLId(iTargetID), arrGroupData[iGroupID][g_szGroupName], iGroupID + 1);
- GroupLog(iGroupID, szMessage);
- }
- else
- {
- format(szMessage, sizeof szMessage, "%s %s has set you to the %s division.", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid), arrGroupDivisions[iGroupID][iDiv-1]);
- SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof szMessage, "You have set %s to the %s division.", GetPlayerNameEx(iTargetID), arrGroupDivisions[iGroupID][iDiv-1]);
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof szMessage, "%s %s (%d) has set %s's (%d) division to %s in %s (%d).", arrGroupRanks[iGroupID][PlayerInfo[playerid][pRank]], GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), GetPlayerNameEx(iTargetID), GetPlayerSQLId(iTargetID), arrGroupDivisions[iGroupID][iDiv-1], arrGroupData[iGroupID][g_szGroupName], iGroupID + 1);
- GroupLog(iGroupID, szMessage);
- }
- PlayerInfo[iTargetID][pDivision] = iDiv-1;
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "You're not authorized to make that division change.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "That person is not in your group.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
- }
- else
- return SendClientMessageEx(playerid, COLOR_GREY, "You're not authorized to use this command!");
- return 1;
- }
- CMD:setbadge(playerid, params[])
- {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS && arrGroupData[PlayerInfo[playerid][pLeader]][g_iGroupType] != GROUP_TYPE_CRIMINAL)
- {
- new
- iTargetID,
- iBadge[9],
- iGroupID = PlayerInfo[playerid][pLeader],
- szMessage[128],
- tmp[9];
- if(sscanf(params, "us[8]", iTargetID, iBadge)) SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /setbadge [player] [number] -- Use 'none' as number to remove badge");
- else if(IsPlayerConnected(iTargetID))
- {
- if(iGroupID == PlayerInfo[iTargetID][pMember])
- {
- if(strcmp(iBadge, "none", true) == 0)
- {
- format(szMessage, sizeof(szMessage), "Your badge has been removed by %s.", GetPlayerNameEx(playerid));
- SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof(szMessage), "You have removed %s's badge.", GetPlayerNameEx(iTargetID));
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof(szMessage), "%s (%d) has removed %s's (%d) badge.", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), GetPlayerNameEx(iTargetID), GetPlayerSQLId(iTargetID));
- GroupLog(iGroupID, szMessage);
- }
- else
- {
- format(szMessage, sizeof(szMessage), "Your badge has been set to %s by %s.", iBadge, GetPlayerNameEx(playerid));
- SendClientMessageEx(iTargetID, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof(szMessage), "You have set %s's badge to %s.", GetPlayerNameEx(iTargetID), iBadge);
- SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMessage);
- format(szMessage, sizeof(szMessage), "%s (%d) has set %s's (%d) badge to %s.", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), GetPlayerNameEx(iTargetID), GetPlayerSQLId(iTargetID), iBadge);
- GroupLog(iGroupID, szMessage);
- }
- mysql_escape_string(iBadge, tmp);
- strcat((PlayerInfo[iTargetID][pBadge][0] = 0, PlayerInfo[iTargetID][pBadge]), tmp, 9);
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "That person is not in your group.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
- }
- else return SendClientMessageEx(playerid, COLOR_GREY, "You're not authorized to use this command!");
- return 1;
- }
- CMD:invite(playerid, params[]) {
- if(0 <= PlayerInfo[playerid][pLeader] < MAX_GROUPS) {
- new
- iTargetID;
- if(sscanf(params, "u", iTargetID)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /invite [player]");
- }
- else if(IsPlayerConnected(iTargetID)) {
- if (iTargetID != playerid) {
- if(!(0 <= PlayerInfo[iTargetID][pLeader] < MAX_GROUPS) && !(0 <= PlayerInfo[iTargetID][pMember] < MAX_GROUPS)) {
- new
- szQuery[128],
- iGroupID = PlayerInfo[playerid][pLeader];
- mysql_format(MainPipeline, szQuery, sizeof szQuery, "SELECT `TypeBan` FROM `groupbans` WHERE `PlayerID` = %i AND (`TypeBan` = %i OR `GroupBan` = %i)", GetPlayerSQLId(iTargetID), arrGroupData[iGroupID][g_iGroupType], iGroupID);
- mysql_tquery(MainPipeline, szQuery, "Group_QueryFinish", "ii", GROUP_QUERY_INVITE, playerid);
- SendClientMessage(playerid, COLOR_WHITE, "Checking group ban list, please wait...");
- SetPVarInt(playerid, "Group_Invited", iTargetID);
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "The person you're trying to invite is already in another group.");
- }
- else SendClientMessageEx(playerid, COLOR_GREY, "You cannot use this command on yourself.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "Only group leaders may use this command.");
- return 1;
- }
- CMD:lastdriver(playerid, params[])
- {
- new vehid, string[128];
- if(sscanf(params, "d", vehid)) return SendClientMessageEx(playerid, COLOR_GRAD2, "USAGE: /lastdriver [vehicle id]");
- if(isnull(VehInfo[vehid][vLastDriver])) format(VehInfo[vehid][vLastDriver], MAX_PLAYER_NAME, "nobody");
- if(GetVehicleModel(vehid) != 0)
- {
- if(PlayerInfo[playerid][pAdmin] > 1)
- {
- format(string, sizeof(string), "Vehicle %d's last known driver was {AA3333}%s", vehid, VehInfo[vehid][vLastDriver]);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- }
- else if(PlayerInfo[playerid][pLeader] != INVALID_GROUP_ID)
- {
- if(DynVeh[vehid] != -1)
- {
- if(DynVehicleInfo[DynVeh[vehid]][gv_igID] == PlayerInfo[playerid][pLeader])
- {
- format(string, sizeof(string), "Vehicle %d's last known driver was {AA3333}%s", vehid, VehInfo[vehid][vLastDriver]);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- }
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "That vehicle does not belong to your group");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not authorized to use this command!");
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "Invalid Vehicle ID");
- return 1;
- }
- CMD:togbr(playerid, params[])
- {
- if(PlayerInfo[playerid][pRank] >= arrGroupData[PlayerInfo[playerid][pMember]][g_iBugAccess]) {
- if (gBug{playerid} == 1)
- {
- gBug{playerid} = 1;
- SendClientMessageEx(playerid, COLOR_GRAD2, "Bug chat channel enabled. You will now be able to hear transmissions from all active bugs.");
- PlayerInfo[playerid][pToggledChats][13] = 0;
- }
- else
- {
- gBug{playerid} = 0;
- SendClientMessageEx(playerid, COLOR_GRAD2, "Bug chat channel disabled.");
- PlayerInfo[playerid][pToggledChats][13] = 1;
- }
- }
- return 1;
- }
- CMD:sanrank(playerid, params[])
- {
- new
- iGroupID = PlayerInfo[playerid][pMember];
- szMiscArray[0] = 0;
- /*
- Camera (1)
- Show Host (2)
- Broadcast Editor/Director(2)
- Executive Commands
- */
- if(arrGroupData[iGroupID][g_iGroupType] != GROUP_TYPE_NEWS) return SendClientMessageEx(playerid, COLOR_GREY, "You are not authorized to use this command.");
- if(PlayerInfo[playerid][pLeader] == iGroupID)
- {
- new iRank,
- iChoice;
- if(sscanf(params, "dd", iChoice, iRank)) {
- format(szMiscArray, sizeof(szMiscArray), "CURRENTLY: Cameraman (Rank: %d) | Show Host (Rank: %d) | Broadcast Editor/Director (Rank: %d) | All Priviledges (Rank: %d)",
- arrGroupData[iGroupID][g_iWithdrawRank][0], arrGroupData[iGroupID][g_iWithdrawRank][1], arrGroupData[iGroupID][g_iWithdrawRank][2],
- arrGroupData[iGroupID][g_iWithdrawRank][3]);
- SendClientMessageEx(playerid, COLOR_GREY, szMiscArray);
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /sanrank [choice] [rank]");
- return SendClientMessageEx(playerid, COLOR_GREY, "CHOICES: Cameraman(0) Show Host(1) Broadcast Editor/Director(2) All(3)");
- }
- if(!(0 <= iChoice <= 3)) {
- return SendClientMessageEx(playerid, COLOR_GREY, "Specify a valid choice!");
- }
- else
- {
- if(0 <= iRank <= MAX_GROUP_RANKS-1 || iRank == INVALID_RANK)
- {
- arrGroupData[iGroupID][g_iWithdrawRank][iChoice] = iRank;
- format(szMiscArray, sizeof(szMiscArray), "You have adjusted the rank permission to %i.", iRank);
- SendClientMessageEx(playerid, COLOR_GREY, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "%s has adjusted the rank permission for choice %d to %i.", GetPlayerNameEx(playerid), iChoice, iRank);
- GroupLog(iGroupID, szMiscArray);
- SaveGroup(iGroupID);
- }
- else SendClientMessage(playerid, COLOR_GREY, "Please specify a valid rank");
- }
- }
- else SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
- return 1;
- }
- CMD:adjustwithdrawrank(playerid, params[])
- {
- new
- iGroupID = PlayerInfo[playerid][pMember];
- szMiscArray[0] = 0;
- /*
- Money(1)
- Materials(2)
- Drugs(3)
- Weapons(4)
- Ammo(5)
- */
- if(arrGroupData[iGroupID][g_iGroupType] != GROUP_TYPE_CRIMINAL && arrGroupData[iGroupID][g_iCrimeType] != GROUP_CRIMINAL_TYPE_RACE) return SendClientMessageEx(playerid, COLOR_GREY, "You are not authorized to use this command.");
- if(PlayerInfo[playerid][pLeader] == iGroupID)
- {
- new iRank,
- iChoice;
- if(sscanf(params, "dd", iChoice, iRank)) {
- SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /adjustwithdrawrank [choice] [rank]");
- SendClientMessageEx(playerid, COLOR_GREY, "Choice: Money - 0 | Materials - 1 | Drugs - 2");
- format(szMiscArray, sizeof(szMiscArray), "CURRENTLY: Money (Rank: %d) | Materials (Rank: %d) | Drugs (Rank: %d)",
- arrGroupData[iGroupID][g_iWithdrawRank][0], arrGroupData[iGroupID][g_iWithdrawRank][1], arrGroupData[iGroupID][g_iWithdrawRank][2]);
- return SendClientMessageEx(playerid, COLOR_GREY, szMiscArray);
- }
- if(!(0 <= iChoice <= 2)) {
- return SendClientMessageEx(playerid, COLOR_GREY, "Specify a valid choice!");
- }
- else
- {
- if(0 <= iRank <= MAX_GROUP_RANKS-1 || iRank == INVALID_RANK)
- {
- arrGroupData[iGroupID][g_iWithdrawRank][iChoice] = iRank;
- format(szMiscArray, sizeof(szMiscArray), "You have adjusted the withdraw rank to %i.", iRank);
- SendClientMessageEx(playerid, COLOR_GREY, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "%s has adjusted the withdraw rank for item %d to %i.", GetPlayerNameEx(playerid), iChoice, iRank);
- GroupLog(iGroupID, szMiscArray);
- }
- else SendClientMessage(playerid, COLOR_GREY, "Please specify a valid rank");
- }
- }
- else SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
- return 1;
- }
- CMD:families(playerid, params[])
- {
- if(!IsACriminal(playerid) && PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You need to be in a family / gang to use this command.");
- if(isnull(params))
- {
- szMiscArray[0] = 0;
- SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /families [id]");
- for(new i = 0; i < MAX_GROUPS; i++)
- {
- if(arrGroupData[i][g_iGroupType] == GROUP_TYPE_CRIMINAL && strlen(arrGroupData[i][g_szGroupName]) > 0)
- {
- new iMemberCount = 0;
- foreach(new x: Player)
- {
- if(PlayerInfo[x][pMember] == i) iMemberCount++;
- }
- format(szMiscArray, sizeof szMiscArray, "** %s (%d) | Total Members: %d | Members Online: %d", arrGroupData[i][g_szGroupName], i, arrGroupData[i][g_iMemberCount], iMemberCount);
- SendClientMessage(playerid, COLOR_GRAD1, szMiscArray);
- }
- }
- }
- else
- {
- new grp = strval(params);
- if(grp < 0 || grp > MAX_GROUPS || strlen(arrGroupData[grp][g_szGroupName]) == 0) return SendClientMessage(playerid, COLOR_GRAD2, "Invalid group ID specified.");
- if(arrGroupData[grp][g_iGroupType] != GROUP_TYPE_CRIMINAL) return SendClientMessage(playerid, COLOR_GRAD2, "That group is not a family / gang.");
- new iCount = 0;
- foreach(new i: Player)
- {
- if(PlayerInfo[i][pMember] == grp)
- {
- format(szMiscArray, sizeof szMiscArray, "** %s (ID: %d) - %s (%d)", GetPlayerNameEx(i), i, arrGroupRanks[grp][PlayerInfo[i][pRank]], PlayerInfo[i][pRank]);
- SendClientMessage(playerid, COLOR_GRAD1, szMiscArray);
- iCount++;
- }
- }
- if(iCount == 0) SendClientMessage(playerid, COLOR_GRAD3, "There are no players online in this gang.");
- }
- return 1;
- }
- //CMD:families(playerid, params[]) return cmd_orgs(playerid, params);
- CMD:orgs(playerid, params[])
- {
- szMiscArray[0] = 0;
- for(new i = 0; i < MAX_GROUPS; i++)
- {
- if(arrGroupData[i][g_iGroupType] == GROUP_TYPE_CRIMINAL && strlen(arrGroupData[i][g_szGroupName]) > 0)
- {
- new iMemberCount = 0;
- foreach(new x: Player)
- {
- if(PlayerInfo[x][pMember] == i) iMemberCount++;
- }
- format(szMiscArray, sizeof(szMiscArray), "** %s | Total Members: %d | Members Online: %i", arrGroupData[i][g_szGroupName], arrGroupData[i][g_iMemberCount], iMemberCount);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- }
- }
- return 1;
- }
- CMD:clothes(playerid, params[])
- {
- new biz = InBusiness(playerid);
- if(!IsACriminal(playerid)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not in a Family/Gang!");
- if (biz != INVALID_BUSINESS_ID && Businesses[biz][bType] == BUSINESS_TYPE_CLOTHING)
- {
- new fSkin[MAX_GROUP_RANKS];
- for(new i = 0; i < MAX_GROUP_RANKS; i++)
- {
- fSkin[i] = arrGroupData[PlayerInfo[playerid][pMember]][g_iClothes][i];
- }
- ShowModelSelectionMenuEx(playerid, fSkin, MAX_GROUP_RANKS, "Change your clothes.", DYNAMIC_FAMILY_CLOTHES, 0.0, 0.0, -55.0);
- }
- else return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not in a clothing shop.");
- return true;
- }
- stock ShowPlayerCrimeDialog(playerid)
- {
- new szCrime[1200];
- format(szCrime, sizeof(szCrime), "----Misdemeanors----\n");
- for(new i = 0; i < sizeof(SuspectCrimes); i++)
- {
- if(SuspectCrimeInfo[i][0] == 0)
- {
- strcat(szCrime, "{FFFF00}");
- strcat(szCrime, SuspectCrimes[i]);
- strcat(szCrime, "\n");
- }
- }
- strcat(szCrime, "----Felonies----\n");
- for(new i = 0; i < sizeof(SuspectCrimes); i++)
- {
- if(SuspectCrimeInfo[i][0] == 1)
- {
- strcat(szCrime, "{AA3333}");
- strcat(szCrime, SuspectCrimes[i]);
- strcat(szCrime, "\n");
- }
- }
- //strcat(szCrime, "Other (Not Listed)");
- return ShowPlayerDialogEx(playerid, DIALOG_SUSPECTMENU, DIALOG_STYLE_LIST, "Select a committed crime", szCrime, "Select", "Exit");
- }
- CMD:lockerbalance(playerid, params[])
- {
- if(0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS && (arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_CRIMINAL || arrGroupData[PlayerInfo[playerid][pMember]][g_iCrimeType] == GROUP_CRIMINAL_TYPE_RACE))
- {
- new weps, GroupID = PlayerInfo[playerid][pMember];
- for(new s = 0; s != 50; s++)
- {
- if(arrGroupData[GroupID][g_iWeapons][s] != 0) weps++;
- }
- szMiscArray[0] = 0;
- format(szMiscArray, sizeof(szMiscArray), "Locker: Weapons: %d/50 | Cash: $%s | Pot: %d | Crack: %d | Meth: %d | Ecstasy: %d | Heroin: %d | Syringes: %d | Materials: %d ", weps, number_format(arrGroupData[GroupID][g_iBudget]), arrGroupData[GroupID][g_iPot], arrGroupData[GroupID][g_iCrack],
- arrGroupData[GroupID][g_iMeth], arrGroupData[GroupID][g_iEcstasy], arrGroupData[GroupID][g_iHeroin], arrGroupData[GroupID][g_iSyringes], arrGroupData[GroupID][g_iMaterials]);
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- }
- else SendClientMessageEx(playerid, COLOR_GRAD1, "You're not in a criminal group.");
- return 1;
- }
- CMD:turnout(playerid, params[])
- {
- if(!IsACop(playerid) && !IsAMedic(playerid)) return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not a Law Enforcement Officer/Medic.");
- new closestCar = GetClosestCar(playerid, .fRange = 8.0);
- if(closestCar == INVALID_VEHICLE_ID) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near any vehicle!");
- if(!IsACopCar(closestCar) && !IsAnAmbulance(closestCar)) return SendClientMessageEx(playerid, COLOR_GRAD2, "You are not near a group vehicle!");
- return ShowPlayerDialogEx(playerid, DIALOG_GROUP_TURNOUT, DIALOG_STYLE_LIST, "Turnout", IsFirstAid(playerid) ? ("SWAT\nLS Fire\nSF Fire\nLV Fire\nOriginal Clothes"):("SWAT\nOriginal Clothes"), "Select", "Cancel");
- }
- MemberCount(groupID)
- {
- szMiscArray[0] = 0;
- mysql_format(MainPipeline, szMiscArray, sizeof(szMiscArray), "SELECT NULL FROM `accounts` WHERE `Member` = %d", groupID);
- mysql_tquery(MainPipeline, szMiscArray, "OnMemberCount", "i", groupID);
- }
- forward OnMemberCount(groupID);
- public OnMemberCount(groupID)
- {
- new rows;
- cache_get_row_count(rows);
- arrGroupData[groupID][g_iMemberCount] = rows;
- }
- /*
- ShowGroupWeapons(playerid, iGroupID) {
- format(szMiscArray, sizeof(szMiscArray), "SELECT * FROM `gWeaponsNew` WHERE `Group_ID` = '%d'", iGroupID+1);
- mysql_tquery(MainPipeline, szMiscArray, true, "OnShowGroupWeapons", "ii", playerid, iGroupID+1);
- return 1;
- }*/
- forward OnShowGroupWeapons(playerid, iGroupID);
- public OnShowGroupWeapons(playerid, iGroupID) {
- szMiscArray[0] = 0;
- new
- tempWep[3],
- iCount;
- for(new i = 1; i <= 18; i++) {
- valstr(tempWep, i);
- cache_get_value_name_int(0, tempWep, iCount);
- format(szMiscArray, sizeof(szMiscArray), "%s\n[%d]%s (%d)", szMiscArray, i, Weapon_ReturnName(i), iCount);
- }
- for(new i = 22; i <= 46; i++) {
- valstr(tempWep, i);
- cache_get_value_name_int(0, tempWep, iCount);
- format(szMiscArray, sizeof(szMiscArray), "%s\n[%d]%s (%d)",szMiscArray, i, Weapon_ReturnName(i), iCount);
- }
- strcat(szMiscArray, "\nDeposit Weapon");
- ShowPlayerDialogEx(playerid, DIALOG_GROUP_WEAPONSAFE, DIALOG_STYLE_LIST, "Gang Weapon Safe", szMiscArray, "Select", "Cancel");
- return 1;
- }
- WithdrawGroupSafeWeapon(playerid, iGroupID, iWeaponID, iAmount = 1) {
- szMiscArray[0] = 0;
- if(PlayerInfo[playerid][pRank] < arrGroupData[iGroupID][g_iWithdrawRank][3] && playerid != INVALID_PLAYER_ID) return SendClientMessageEx(playerid, COLOR_WHITE, "You are not authorized to withdraw weapons from the locker!");
- mysql_format(MainPipeline, szMiscArray, sizeof(szMiscArray), "UPDATE `gWeaponsNew` SET `%d` = `%d` - %d WHERE `id` = '%d'", iWeaponID, iWeaponID, iAmount, iGroupID+1);
- //format(szMiscArray, sizeof(szMiscArray), "DELETE FROM `gWeapons` WHERE `Group_ID` = '%d' AND `Weapon_ID` = '%d' LIMIT 1", iGroupID, iWeaponID);
- mysql_tquery(MainPipeline, szMiscArray, "OnWithdrawGroupWeapons", "iiii", playerid, iGroupID+1, iWeaponID, iAmount);
- return 1;
- }
- forward OnWithdrawGroupWeapons(playerid, iGroupID, iWeaponID, iAmount);
- public OnWithdrawGroupWeapons(playerid, iGroupID, iWeaponID, iAmount) {
- szMiscArray[0] = 0;
- if(playerid != INVALID_PLAYER_ID) {
- GivePlayerValidWeapon(playerid, iWeaponID);
- format(szMiscArray, sizeof(szMiscArray), "%s has withdrawn a %s from the locker.", GetPlayerNameEx(playerid), Weapon_ReturnName(iWeaponID));
- GroupLog(iGroupID-1, szMiscArray);
- if(iWeaponID != 22 && iWeaponID != 19){
- format(szMiscArray, sizeof(szMiscArray), "You have withdrawn a %s from the locker.", Weapon_ReturnName(iWeaponID));
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "You have withdrawn a Colt from the locker.");
- }
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "A %s has been transfered from the locker (x%d).", Weapon_ReturnName(iWeaponID), iAmount);
- GroupLog(iGroupID-1, szMiscArray);
- }
- return 1;
- }
- AddGroupSafeWeapon(playerid, iGroupID, iWeaponID, iAmount = 1) {
- szMiscArray[0] = 0;
- if(playerid != INVALID_PLAYER_ID && PlayerInfo[playerid][pGuns][GetWeaponSlot(iWeaponID)] == 0) return 1;
- mysql_format(MainPipeline, szMiscArray, sizeof(szMiscArray), "UPDATE `gWeaponsNew` SET `%d` = `%d` + %d WHERE `id` = '%d'", iWeaponID, iWeaponID, iAmount, iGroupID+1);
- //mysql_format(MainPipeline, szMiscArray, sizeof(szMiscArray), "INSERT INTO `gWeapons` (`Group_ID`, `Weapon_ID`) VALUES ('%d', '%d') ", iGroupID, iWeaponID);
- mysql_tquery(MainPipeline, szMiscArray, "OnAddGroupSafeWeapon", "iiii", playerid, iGroupID+1, iWeaponID, iAmount);
- return 1;
- }
- forward OnAddGroupSafeWeapon(playerid, iGroupID, iWeaponID, iAmount);
- public OnAddGroupSafeWeapon(playerid, iGroupID, iWeaponID, iAmount) {
- szMiscArray[0] = 0;
- if(playerid != INVALID_PLAYER_ID) {
- PlayerInfo[playerid][pGuns][GetWeaponSlot(iWeaponID)] = 0;
- SetPlayerWeaponsEx(playerid);
- format(szMiscArray, sizeof(szMiscArray), "%s has deposited a %s into the locker.", GetPlayerNameEx(playerid), Weapon_ReturnName(iWeaponID));
- GroupLog(iGroupID-1, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "You have deposited a %s into the locker.", Weapon_ReturnName(iWeaponID));
- SendClientMessageEx(playerid, COLOR_WHITE, szMiscArray);
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "A %s has been deposited into the locker (x%d).", Weapon_ReturnName(iWeaponID), iAmount);
- GroupLog(iGroupID-1, szMiscArray);
- }
- return 1;
- }
- GetSafeTakePerm(iOpt) {
- new iSlot;
- switch(iOpt) {
- case 0: iSlot = 0;
- case 1: iSlot = 1;
- case 2 .. 3: iSlot = 2;
- case 4: iSlot = 3;
- case 5: iSlot = 4;
- }
- return iSlot;
- }
- /*
- Money(1)
- Materials(2)
- Drugs(3)
- Weapons(4)
- Ammo(5)
- */
- forward ValidGroup(groupid);
- public ValidGroup(groupid) {
- if((0 <= groupid < MAX_GROUPS)) return 1;
- else return 0;
- }
- forward IsGroupLeader(playerid);
- public IsGroupLeader(playerid) {
- if(ValidGroup(PlayerInfo[playerid][pMember]) && PlayerInfo[playerid][pMember] == PlayerInfo[playerid][pLeader]) return 1;
- else return 0;
- }
- // Remove Money: SetGroupBudget(groupid, -amount).
- forward SetGroupBudget(groupid, amount);
- public SetGroupBudget(groupid, amount) {
- if(ValidGroup(groupid)) {
- arrGroupData[groupid][g_iBudget] += floatround(amount);
- }
- return 1;
- }
- forward GetGroupBudget(groupid);
- public GetGroupBudget(groupid) {
- if(ValidGroup(groupid)) {
- return arrGroupData[groupid][g_iBudget];
- }
- return 0;
- }
|