| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061 |
- //admin commands
- CMD:gotopos(playerid,params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- {
- new Float:x, Float:y, Float:z;
- if(sscanf(params, "fff", x, y, z))
- {
- SendClientMessage(playerid,COLOR_BLUE,"[ADMIN]{FFFFFF} /gotopos <X> <Y> <Z>");
- return 1;
- }
- SetPlayerPos(playerid, x, y, z);
- //Log_Write("logs/admin.txt", "[%s] %s se teleportou para posição : x=%f y=%f z=%f", ReturnDate(), GetName(playerid), x, y, z);
- }
- return 1;
- }
- CMD:biztypes(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- SendClientMessage(playerid, COLOR_GRAD2, "0:STATIC");
- SendClientMessage(playerid, COLOR_GRAD2, "1:GENERALSHOP_S");
- SendClientMessage(playerid, COLOR_GRAD2, "2:CLOTHES_BINCO");
- SendClientMessage(playerid, COLOR_GRAD2, "3:WEAPONS_1FLOOR");
- SendClientMessage(playerid, COLOR_GRAD2, "4:CAFE");
- SendClientMessage(playerid, COLOR_GRAD2, "5:PIZZA");
- SendClientMessage(playerid, COLOR_GRAD2, "6:RESTUARANT");
- SendClientMessage(playerid, COLOR_GRAD2, "7:CLUCKINBELL");
- SendClientMessage(playerid, COLOR_GRAD2, "8:GENERALSHOP_M");
- SendClientMessage(playerid, COLOR_GRAD2, "9:GENERALSHOP_L");
- SendClientMessage(playerid, COLOR_GRAD2, "10:CLOTHES_SUBU");
- SendClientMessage(playerid, COLOR_GRAD2, "11:CLOTHES_RICH");
- SendClientMessage(playerid, COLOR_GRAD2, "12:WEAPONS_2FLOOR");
- SendClientMessage(playerid, COLOR_GRAD2, "13:BARBERS");
- SendClientMessage(playerid, COLOR_GRAD2, "14:CLOTHES_PROLAPS");
- SendClientMessage(playerid, COLOR_GRAD2, "15:ELECTRONICS");
- SendClientMessage(playerid, COLOR_GRAD2, "16:SEX");
- SendClientMessage(playerid, COLOR_GRAD2, "17:PLEASUREDOME");
- SendClientMessage(playerid, COLOR_GRAD2, "18:DRUGSHOP");
- SendClientMessage(playerid, COLOR_GRAD2, "19:CASINO");
- SendClientMessage(playerid, COLOR_GRAD2, "20:STRIPCLUB");
- SendClientMessage(playerid, COLOR_GRAD2, "21:POSTOFFICE");
- SendClientMessage(playerid, COLOR_GRAD2, "22:FURNITURE");
- SendClientMessage(playerid, COLOR_GRAD2, "23:CLOTHES_ZIP");
- SendClientMessage(playerid, COLOR_GRAD2, " ");
- return 1;
- }
- CMD:removeskin(playerid, params[]) return cmd_removeskin(playerid, params);
- CMD:rskin(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, slot;
- if(sscanf(params, "ui", playa, slot)) return SysMsg(playerid, "Use: /rskin [playerID ou name] [skin slot 1-5]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(playa == playerid) return SysMsg(playerid, "Não pode ser você mesmo.");
- if(slot > 5 || slot < 1) return SysMsg(playerid, "Slot inválido. Por favor, insira 1-5.");
- slot --;
- if(Clothes[playa][slot] == 0) return SysMsg(playerid, "Esse player não tem skin neste slot");
- if(Clothes[playa][slot] == cPlayersSkin[playa]) return SysMsg(playerid, "Atualmente ele está usando esta skin.");
- Clothes[playa][slot] = 0;
- slot ++;
- new str[10];
- format(str,sizeof(str),"SkinSet%i",slot);
- MySQLUpdateInt(SQLID[playa], str, Clothes[playa][slot-1], "players");
- SendClientMessageF(playerid, COLOR_RED, "Você removeu a skin de %s do slot %i.", NameEx(playa), slot);
- SendClientMessageF(playa, COLOR_RED, "Admin %s removeu sua skin do slot %i.", NameEx(playerid), slot);
- return true;
- }
- CMD:verskins(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /verskins [playerID ou name]");
- if(InvalidPlayer(playerid)) return SysMsg(playerid, NOPLAYER);
- new tempstr[50];
- format(gstr, sizeof(gstr), "Inventário de roupas: ");
- for(new i = 0; i < 4; i++)
- {
- if(Clothes[playa][i] > 0)
- {
- format(tempstr, 50, "[Slot %i: %i] ", i+1, Clothes[playa][i]);
- strcat(gstr, tempstr);
- }
- else
- {
- format(tempstr, 50, "[Slot %i: Vazio] ", i+1);
- strcat(gstr, tempstr);
- }
- }
- if(Clothes[playa][4] > 0)
- {
- format(tempstr, 50, "[Facção: %i] ", Clothes[playa][4]);
- strcat(gstr, tempstr);
- }
- else strcat(gstr, "[Facção: Vazio] ");
- SendClientMessage(playerid, COLOR_WHITE, gstr);
- return true;
- }
- CMD:listavigiados(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /listavigiados [ver/add/remover]");
- if(strcmp(params, "ver", true) == 0)
- {
- mysql_pquery(conn, "SELECT * FROM watchlist", "ShowWatchlistInfo", "i", playerid);
- }
- else if(strfind(params, "add", true) != -1)
- {
- new option[12], maname[25], info[150];
- if(sscanf(params, "s[12]s[25]s[150]", option, maname, info)) return SysMsg(playerid, "Use: /listavigiados add [Nome da conta Master] [informação]");
- if(!strlen(maname)) return SysMsg(playerid, "Por favor, coloque o nome da Conta Master.");
- if(!strlen(info)) return SysMsg(playerid, "Você deve inserir informações sobre a entrada da lista de observação.");
- new sqlid = MySQLCheckMaster_AgainstName(maname);
- if(sqlid == 0) return SysMsg(playerid, "Não é possível encontrar um MA com esse nome");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT NULL FROM watchlist WHERE Player = %i", sqlid);
- mysql_pquery(conn, mquery, "AddUserToWatchlist", "iiss", playerid, sqlid, maname, info);
- return true;
- }
- else if(strfind(params, "remover", true) != -1)
- {
- new option[12], id;
- if(sscanf(params, "s[12]i", option, id)) return SysMsg(playerid, "Use: /listavigiados remove [ID da /listavigiados ver]");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT NULL FROM watchlist WHERE id = %i", id);
- mysql_pquery(conn, mquery, "ProcessWatchlistRemoval", "ii", playerid, id);
- }
- return true;
- }
- RCRP::ShowWatchlistInfo(playerid)
- {
- if(!cache_num_rows()) return SysMsg(playerid, "A lista de vigilância está atualmente vazia.");
- SendClientMessage(playerid, COLOR_WHITE, "[Watchlist]");
- new reason[30][150], id[30], player[30];
- for(new i = 0, x = cache_num_rows(); i < x; i++)
- {
- id[i] = cache_get_field_content_int(i, "id");
- player[i] = cache_get_field_content_int(i, "Player");
- cache_get_field_content(i, "Reason", reason[i], conn, 150);
- }
- for(new i = 0, x = cache_num_rows(); i < x; i++)
- {
- SendSplitMessageF(playerid, COLOR_WHITE, "Entrada %i: [%s - %s]", id[i], GetMasterName(player[i]), reason[i]);
- }
- return true;
- }
- RCRP::ProcessWatchlistRemoval(playerid, id)
- {
- if(!cache_num_rows()) return SendClientMessage(playerid, COLOR_WHITE, "Não foi encontrada nenhuma entrada na lista de observação.");
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM watchlist WHERE id = %i", id);
- mysql_pquery(conn, mquery);
- SendClientMessage(playerid, COLOR_WHITE, "Entrada da lista de vigilância removida.");
- return true;
- }
- RCRP::AddUserToWatchlist(playerid, sqlid, maname[], info[])
- {
- if(cache_num_rows()) return SendClientMessage(playerid, COLOR_WHITE, "Este usuário já está na lista de vigilância.");
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO watchlist (Player, Reason, AdminSQLID) VALUES (%i, '%e', %i)", sqlid, info, SQLID[playerid]);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_WHITE, "Você adicionou %s para lista de Jogadores Vigiados.", maname);
- return true;
- }
- CMD:usarnota(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new accountname[25], note[150];
- if(sscanf(params, "s[25]s[150]", accountname, note)) return SysMsg(playerid, "Use: /usarnota [Nome da Conta Master] [Nota]");
- if(!strlen(accountname)) return SysMsg(playerid, "Você deve inserir um nome de MA");
- if(!strlen(note)) return SysMsg(playerid, "Você deve inserir uma nota.");
- new sqlid = MySQLCheckMaster_AgainstName(accountname);
- if(sqlid == 0) return SysMsg(playerid, "Não foi possível encontrar um MA com esse nome");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET UserNote = '%e' WHERE id = %i", note, sqlid);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_WHITE, "Você adicionou uma nota para conta %s.", accountname);
- return true;
- }
- CMD:removerusernota(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /removerusernota [Nome da Conta Master]");
- new sqlid = MySQLCheckMaster_AgainstName(params);
- if(sqlid == 0) return SysMsg(playerid, "não conseguiu encontrar um MA com esse nome.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET UserNote = '' WHERE id = %i", sqlid);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_WHITE, "Removeu a noda da conta %s.", params);
- return true;
- }
- /*CMD:reconnectbot(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- format(sgstr, sizeof(sgstr), "Admin %s is reconnecting the bot.", NameEx(playerid));
- IRC_Quit(IRCBot, sgstr);
- IRCBot = IRC_Connect("irc.tl", 6667, "RCRPBot", "The Holy Light of Hegebe", "Hegebe123", false);
- SendClientMessage(playerid, COLOR_RED, "[Admin] Bot reconnected.");
- return true;
- }*/
- CMD:jogadoresabatidos(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new downedcount = 0;
- foreach(new i: Player)
- {
- if(Dead{i})
- {
- downedcount ++;
- SendClientMessageF(playerid, COLOR_WHITE, "%s (ID %i) Esta abatido. Tempo de morte: %i segundos.", NameEx(i), i, DeathTimer[i]);
- }
- }
- if(downedcount == 0) SendClientMessage(playerid, COLOR_WHITE, "Nenhum jogador está abatido no momento.");
- return true;
- }
- CMD:cadaveres(playerid)//cadáveres
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- gstr[0] = EOS;
- new corpsecount = 0;
- for(new x = 0; x < MAX_CORPSES; x++)
- {
- if(CorpseData[x][CorpseUsed])
- {
- corpsecount ++;
- format(sgstr, sizeof(sgstr), "ID %i - %s\n", x, GetSQLName(CorpseData[x][CorpseOwner]));
- strcat(gstr, sgstr);
- }
- }
- if(corpsecount == 0) return SysMsg(playerid, "Nenhum cadável encontrado.");
- else Dialog_Show(playerid, CorpseList, DIALOG_STYLE_LIST, "Todos cadáveres", gstr, "Teleporte", "Cancelar");
- return true;
- }
- CMD:fazercadavel(playerid)//fazercadavel
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- CreateCorpse(playerid);
- SendClientMessage(playerid, -1, "ok");
- return true;
- }
- CMD:anticheat(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdminLevelOK(playerid, 4)) ShowAntiCheatSettings(playerid);
- return true;
- }
- CMD:paint(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, CMDFMSG);
- if(!UsingPaint{playerid})
- {
- if(ADuty[playerid] != 1) return SysMsg(playerid, "Você deve estar administrando para usar esse comando.");
- foreach(new i: Player)
- {
- if(Logged{i})
- {
- format(tgstr, sizeof(tgstr), "%s (%i)", NameEx(i), i);
- PaintLabels[playerid][i] = CreateDynamic3DTextLabel(tgstr, COLOR_ORANGE, PlayerPosX(i), PlayerPosY(i), PlayerPosZ(i), 500, i, INVALID_VEHICLE_ID, 0, -1, -1, playerid, 500.0);
- }
- }
- Streamer_Update(playerid);
- UsingPaint{playerid} = true;
- SendClientMessage(playerid, COLOR_RED, "[Admin] Você ativou os Text Labels para todos os jogadores.");
- }
- else
- {
- for(new x = 0; x < MAX_PLAYERS; x++)
- {
- if(PaintLabels[playerid][x] != Text3D:INVALID_3DTEXT_ID)
- {
- DestroyDynamic3DTextLabel(PaintLabels[playerid][x]);
- PaintLabels[playerid][x] = Text3D:INVALID_3DTEXT_ID;
- }
- }
- UsingPaint{playerid} = false;
- SendClientMessage(playerid, COLOR_RED, "[Admin] Você desativou os Text Labels para todos os jogadores.");
- }
- return true;
- }
- CMD:pvars(playerid)//revisar
- {
- new varname[128], varcount = GetPVarsUpperIndex(playerid);
- if(varcount == 0) return SendClientMessage(playerid, -1, "Nenhum PV encontrado no seu ID de jogador.");
- for(new i = 0; i < varcount; i++)
- {
- GetPVarNameAtIndex(playerid, i, varname, 128);
- switch(GetPVarType(playerid, varname))
- {
- case PLAYER_VARTYPE_NONE: format(sgstr, sizeof(sgstr), "pVar %i: {FF0000}NÃO UTILIZADO", i);
- case PLAYER_VARTYPE_INT: format(sgstr, sizeof(sgstr), "pVar %i: %s - %i", i, varname, GetPVarInt(playerid, varname));
- case PLAYER_VARTYPE_STRING:
- {
- new pvarstring[128];
- GetPVarString(playerid, varname, pvarstring, 128);
- format(sgstr, sizeof(sgstr), "pVar %i: %s - %s", i, varname, pvarstring);
- }
- case PLAYER_VARTYPE_FLOAT: format(sgstr, sizeof(sgstr), "pVar %i: %s - %f", i, varname, GetPVarFloat(playerid, varname));
- }
- SendSplitMessage(playerid, -1, sgstr);
- }
- return true;
- }
- CMD:reportes(playerid, params[])//reportares
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdminLevelOK(playerid, 1))
- {
- gstr[0] = EOS;
- for(new x = 0; x < MAX_REPORTS; x++)
- {
- if(strlen(Reports[x][ReporterName]))
- {
- format(sgstr, sizeof(sgstr), "Reporte de %s sobre %s. {FF0000}Clique para ver a razão{FFFFFF}\n", Reports[x][ReporterName], Reports[x][ReportedName], Reports[x][ReportReason]);
- strcat(gstr, sgstr);
- }
- }
- if(!strlen(gstr)) return SysMsg(playerid, "Não nenhum reporte ativo.");
- Dialog_Show(playerid, ReportsList, DIALOG_STYLE_LIST, "Reportes ativos", gstr, "Detalhes", "Fechar");
- }
- return true;
- }
- CMD:limparmdc(playerid, params[])//limparmdc
- {
- if(!IsPlayerAdmin(playerid)) return true;
- mysql_pquery(conn, "SELECT SuspectSQLID FROM mdc GROUP BY SuspectSQLID", "MDCCleanup", "d", playerid);
- return true;
- }
- RCRP::MDCCleanup(playerid)
- {
- new c = 0, account1, account2;
- for(new x = 0, i = cache_num_rows(); x < i; x++)
- {
- account1 = cache_get_field_content_int(x, "SuspectSQLID");
- account2 = MySQLCheckAccountBanned(account1);
- if(account2 == 0)
- {
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM mdc WHERE SuspectSQLID = %i", account1);
- mysql_pquery(conn, mquery);
- c++;
- }
- }
- SysMsgF(playerid, "%i contas removidas do MDC.", c);
- return true;
- }
- CMD:aj(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- SendClientMessage(playerid, COLOR_RED, "Ajuda > Admin Ajuda");
- SendClientMessage(playerid, COLOR_WHITE, "Comandos admin Trial:");
- SendClientMessage(playerid, COLOR_ORANGE, "/aduty /a /kick /ban /tban /view(t|d)bans /dateban /(un)mute /dooc(un)mute /mutes /stats [id] /ip [id] /aa /aboombox /confirmnome");
- SendClientMessage(playerid, COLOR_ORANGE, "/ajudar /assistencias /fassistencia(Para finalizar) /cars /togamsg /afklista /estranhos /veiculos /vid /checkguns /checkplayer /checkconta /removedateban");
- SendClientMessage(playerid, COLOR_ORANGE, "/ajail /inajail /ujail /trazer /ir /irveh /getv /spec /specoff /rspec /vdamage /slap /slapdown /adminrecord /puniroff /tunban");
- SendClientMessage(playerid, COLOR_ORANGE, "/avisar /avisarings /ipcheck /vspec /reefer /avabrir /avfechar /delv /localadmin /quemspawn /queme /unban /setunbandate /acceptra /revive /removerfogo");
- SendClientMessage(playerid, COLOR_ORANGE, "/freeze /unfreeze /set /inventario [id] /ircasa /irnegocio /checkallguns /tp /removermascara /xyz /acars /quemspec /vget /acars");
- SendClientMessage(playerid, COLOR_ORANGE, "/aesconder /playerareas /armaslocal /veiculosarea /precisao /object /paint /jogadoresabatidos /clientid /guninfo /userlog");
- SendClientMessage(playerid, COLOR_ORANGE, "/rskin /removercadaver /limparcadaveres /cadaveres");
- if(IsPlayerAdminLevelOK(playerid, 2))
- {
- SendClientMessage(playerid, COLOR_WHITE, "Admin Comandos:");
- SendClientMessage(playerid, COLOR_ORANGE, "/desabilitarconta /habilitaconta /v /flip /fazerhelper /disarm /infodinheiro /createstillfire /fids /respawnvf");
- }
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- SendClientMessage(playerid, COLOR_WHITE, "Lead Admin Comandos:");
- SendClientMessage(playerid, COLOR_ORANGE, "/anuncioadm /kill [id] /bc /contagemr /iniciarevento /pararevento /gmx /cancelgmx /dararma /vreparar");
- SendClientMessage(playerid, COLOR_ORANGE, "/(un)freezeall /darlicenca /removelicenca /mudartelefone /refunddrogas");
- SendClientMessage(playerid, COLOR_ORANGE, "/(un)banip /disableaccid /doubleslap /criarfogo /tooc");
- }
- if(IsPlayerAdminLevelOK(playerid, 4))
- {
- SendClientMessage(playerid, COLOR_WHITE, "Management Comandos:");
- SendClientMessage(playerid, COLOR_ORANGE, "/vehattach /settime /anim /fedit /cfv /dfv /rbanip /reloadfactions /refundodinheiro /mudarsenha /kickping /xyz /gtoghc /addfuel");
- SendClientMessage(playerid, COLOR_WHITE, "Os comandos adicionais via RCON podem ser encontrados por using /rch");
- }
- SendClientMessage(playerid, COLOR_WHITE, "Todos os comandos abaixo do seu ranking também podem ser usados.");
- return true;
- }
- CMD:adminajuda(playerid, params[]) return cmd_aj(playerid);
- CMD:aajuda(playerid, params[]) return cmd_aj(playerid);
- CMD:mudarsenha(playerid, params[])
- {
- //if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- new accountname[MAX_PLAYER_NAME], password[50], hashpass[150], sqlid;
- if(sscanf(params, "s[20]s[50]", accountname, password)) return SysMsg(playerid,"Use: /mudarsenha [Conta Master] [Nova Senha]");
- sqlid = MySQLCheckMaster_AgainstName(accountname);
- if(sqlid <= 1) return SysMsg(playerid,"Este nome não foi encontrado.");
- WP_Hash(hashpass, 150, password);
- MySQLUpdateString(sqlid, "Password", hashpass, "masters");
- format(gstr, sizeof(gstr), "Você mudou a senha da conta para '%s'", GetSQLName(sqlid), password);
- SendClientMessage(playerid, COLOR_RED, gstr);
- AdminLog(playerid, sqlid, accountname, "Senha da conta Alterado.");
- return true;
- }
- CMD:addfuel(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new fuelamount, fuelplace[6], fueltype[7];
- if(sscanf(params, "s[6]s[7]i", fuelplace, fueltype, fuelamount)) return SysMsg(playerid,"Use: /addfuel [mont,pc,dil,bce,bcw,elq,fc,ap,aps,flint,aper] [petroler/diesel] [Quantidade]");
- new fidx = -1;
- if(!strcmp(fuelplace, "mont")) fidx = 0;
- else if(!strcmp(fuelplace, "pc")) fidx = 1;
- else if(!strcmp(fuelplace, "dil")) fidx = 2;
- else if(!strcmp(fuelplace, "fc")) fidx = 3;
- else if(!strcmp(fuelplace, "bce")) fidx = 4;
- else if(!strcmp(fuelplace, "elq")) fidx = 5;
- else if(!strcmp(fuelplace, "bcw")) fidx = 6;
- else if(!strcmp(fuelplace, "flint")) fidx = 7;
- else if(!strcmp(fuelplace, "aps")) fidx = 8;
- else if(!strcmp(fuelplace, "ap")) fidx = 9;
- else if(!strcmp(fuelplace, "aper")) fidx = 10;
- if(!strcmp(fueltype, "gasolina"))
- {
- if(FuelStations[fidx][PetrolAmount] + fuelamount > FuelStations[fidx][PetrolAmountMax]) return SysMsg(playerid,"A estação não pode suportar muito combustível.");
- FuelStations[fidx][PetrolAmount] += fuelamount;
- UpdateFuelStationSign(fidx);
- format(gstr, sizeof(gstr), "Admin %s adicionou %i Galões de gasolina para o posto de gasolina %s.", NameEx(playerid), fuelamount, FuelStations[fidx][StationDescription]);
- SendClientMessageToAllLogged(COLOR_OOC, gstr);
- format(gstr, sizeof(gstr), "Você adicionou %i Galões de gasolina para o posto de gasolina %s", fuelamount, FuelStations[fidx][StationDescription]);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(!strcmp(fueltype, "diesel"))
- {
- if(FuelStations[fidx][DieselAmount] + fuelamount > FuelStations[fidx][DieselAmountMax]) return SysMsg(playerid,"Station cannot hold this much fuel.");
- FuelStations[fidx][DieselAmount] += fuelamount;
- UpdateFuelStationSign(fidx);
- format(gstr, sizeof(gstr), "Admin %s adicionou %i Galões de Diesel para o posto de gasolina %s.", NameEx(playerid), fuelamount, FuelStations[fidx][StationDescription]);
- SendClientMessageToAllLogged(COLOR_OOC, gstr);
- format(gstr, sizeof(gstr), "Você adicionou %i Galões de gasolina para o posto de gasolina %s", fuelamount, FuelStations[fidx][StationDescription]);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- SysMsg(playerid,"Erro com parâmetros.");
- return true;
- }
- CMD:gtogdooc(playerid)
- {
- if(!Logged{playerid}) return SysMsg(playerid,"Faça o login primeiro.");
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- GlobalDOOCMute = !GlobalDOOCMute;
- if(!GlobalDOOCMute) SendClientMessageToAllLogged(COLOR_DONATE, "O canal de bate-papo Donator OOC foi ativado.");
- else SendClientMessageToAllLogged(COLOR_DONATE, "O canal de bate-papo Donator OOC foi desativado.");
- return true;
- }
- CMD:togamsg(playerid)
- {
- if(!Logged{playerid}) return SysMsg(playerid,"Faça o login primeiro.");
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(ADuty[playerid] == 1) return SysMsg(playerid,"Você não pode modificar isso enquanto estiver de plantão.");
- AdminMsgToggle{playerid} = !AdminMsgToggle{playerid};
- if(AdminMsgToggle{playerid}) SendClientMessage(playerid, COLOR_WHITE, "Certas mensagens de administrador não estão habilitadas para você.");
- else SendClientMessage(playerid, COLOR_WHITE, "Certas mensagens de administrador agora estão desativadas para você.");
- return true;
- }
- CMD:togip(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- IPTog{playerid} = !IPTog{playerid};
- if(IPTog{playerid}) SysMsg(playerid, "Os endereços IP não aparecerão mais para você ao juntar mensagens.");
- else SysMsg(playerid, "Os endereços IP não serão exibidos para você ao juntar mensagens.");
- return true;
- }
- CMD:afklista(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- gstr[0] = EOS;
- foreach(new i: Player)
- {
- if(Logged{i} && IsAFK{i})
- {
- format(sgstr, sizeof(sgstr), "%s(%i) - %i minutos (Razão: %s)\n", NameEx(i), i, AwayMinutes[i], AFKReason[i]);
- strcat(gstr, sgstr);
- }
- }
- if(!strlen(gstr)) return SysMsg(playerid, "Sem jogadores AFK.");
- else ShowMessage(playerid, "Server AFK", gstr, "Ok");
- return true;
- }
- CMD:estranhos(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new sub[60], count = 0;
- gstr[0] = EOS;
- foreach(new i: Player)
- {
- if(Logged{i} && IsPlayerMasked{i} && MaskHideName{i})
- {
- if(count > 0) format(sub, sizeof(sub), "\nEstranho_%i - %s(ID %i)", MaskLabelNumber[i], NameEx(i), i);
- else format(sub, sizeof(sub), "Estranho_%i - %s(ID %i)", MaskLabelNumber[i], NameEx(i), i);
- count ++;
- strcat(gstr, sub);
- }
- }
- if(count > 0) ShowMessage(playerid, "Lista de mascarados", gstr, "Ok");
- return true;
- }
- CMD:rch(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendClientMessage(playerid, COLOR_RED, "Ajuda > RCON Admin Ajuda");
- SendClientMessage(playerid, COLOR_WHITE, "RCON comandos:");
- SendClientMessage(playerid, COLOR_ORANGE, "/setdonate /dlevelup /venderoldassets /venderbanassets /pagarday /setgravity");
- SendClientMessage(playerid, COLOR_ORANGE, "/kickall /healall /vlabel /delvlabel /gt /msgall /playsound /msgp /bone /sdo /plantbomb /explode /disarmbomb");
- SendClientMessage(playerid, COLOR_ORANGE, "/maths /attach /uberslap /queimadinheiro /stopqueimardinheiro /explodir /setserversenha /tc /fach");
- SendClientMessage(playerid, COLOR_ORANGE, "/saction /fakeme /recordbot /stoprecord /criarcasa /editarcasa /reloadhouses /fazerveh /editveh");
- SendClientMessage(playerid, COLOR_ORANGE, "/makepickup /makebizz /editbizz /reloadbizz /reloadpickups /cquarto /darxp /delacc /reloadweaponinfo");
- return true;
- }
- CMD:veiculos(playerid)
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new vehDone[212];
- gstr[0] = EOS;
- for(new vid = 1, x = GetVehiclePoolSize(); vid <= x; vid++)
- {
- if(IsVehicleSpawned(vid))
- {
- new model = GetVehicleModel(vid);
- new Count = 0;
- for(new v = 1, x2 = GetVehiclePoolSize(); v <= x2; v++)
- {
- if(GetVehicleModel(v) == model && vehDone[model-400] == 0)
- {
- Count++;
- }
- }
- if(Count > 0 && vehDone[model-400] == 0)
- {
- new subStr[128];
- if(Count == 1) format(subStr,128,"\n1 %s",GetVehicleNameEx(model));
- else format(subStr,128,"\n%i %s's",Count,GetVehicleNameEx(model));
- format(gstr, sizeof(gstr),"%s\n%s",gstr,subStr);
- }
- vehDone[model-400] = 1;
- }
- }
- Dialog_Show(playerid,DIALOG_NONE,DIALOG_STYLE_LIST,"Dados do veículo",gstr,"Pronto","");
- return true;
- }
- CMD:mysqlstats(playerid, params)
- {
- if(IsPlayerAdminLevelOK(playerid, 4))
- {
- gstr[0] = EOS;
- mysql_stat(gstr);
- SendSplitMessage(playerid, COLOR_WHITE, gstr);
- SendClientMessageF(playerid, COLOR_WHITE, "Unpro Queries: %i", mysql_unprocessed_queries());
- }
- else return SysMsg(playerid, CMDFMSG);
- return true;
- }
- CMD:v(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- if(IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid, "Você não pode spawnar um veiculo estando dentro de um.");
- new vehiclename[20];
- if(sscanf(params, "s[20]", vehiclename)) return SysMsg(playerid,"Use: /v [nome do model] [Optional: cor 1] [Optional: cor 2]");
- if(GetVehiclePoolSize()+1 > MAX_VEHICLES) return SysMsg(playerid,"Error: Língua de aproximação do veículo.");
- new Car = GetVehicleModelIdFromName(vehiclename);
- if(Car == -1)
- {
- Car = strval(vehiclename);
- if(Car < 400 || Car > 611) return SysMsg(playerid,"Isso não parece ser um veículo válido. Use o nome do modelo ou ID.");
- }
- if(!IsPlayerAdmin(playerid))
- {
- new restrictedModels[12] = {406, 425, 432, 447, 537, 538, 569, 570, 577, 590, 592, 520};
- for(new i = 0; i < sizeof(restrictedModels); i++) if(Car == restrictedModels[i]) return SysMsg(playerid, "O veículo está restrito de spawn.");
- }
- new Float:X, Float:Y, Float:Z, Float:A, interior, vw;
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerFacingAngle(playerid, A);
- X += (5 * floatsin(-A, degrees));
- Y += (5 * floatcos(-A, degrees));
- interior = GetPlayerInterior(playerid);
- vw = GetPlayerVirtualWorld(playerid);
- new carid = CreateVehicleEx(Car, X, Y, Z, A, 7, 7, -1);
- aspawned{carid} = true;
- ToggleVehicleEngine(carid, 1);
- EngineStatus[carid] = 1;
- PutPlayerInVehicle(playerid, carid, 0);
- Locked{carid} = false;
- AdminLocked{carid} = false;
- foreach(new i: Player) Objective[carid][i] = 0;
- ToggleVehicleLock(carid, 0);
- if(interior > 0)
- {
- LinkVehicleToInteriorEx(carid, interior);
- }
- if(vw > 0)
- {
- SetVehicleVirtualWorld(carid, vw);
- }
- if(!VehicleHasEngine(carid))
- {
- EngineStatus[carid] = 1;
- Fuel[carid] = 100;
- }
- VehicleSpawnedBy[carid][0] = SQLID[playerid];
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Veiculo spawnado: {FFFFFF}%s{00FF00} (ID {FFFFFF}%i{00FF00}, Model {FFFFFF}%i{00FF00})", GetVehicleName(carid), carid, Car);
- format(sgstr, sizeof(sgstr), "Veiculo spawnado: %s (ID %i, Model %i)", GetVehicleName(carid), carid, Car);
- AdminLog(playerid, 0, "", sgstr);
- return true;
-
- }
- CMD:veh(playerid, params[]) return cmd_v(playerid, params);
- CMD:quemspawn(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new vehid = GetPlayerVehicleID(playerid);
- if(vehid == 0) if(sscanf(params, "i", vehid)) return SysMsg(playerid,"Use: /quemspawn [veiculo ID] || /quemspawn se você estiver em um veículo");
- new whospawned[MAX_PLAYER_NAME], h, m, diff = gettime() - VehicleSpawnedBy[vehid][1];
- if(VehicleSpawnedBy[vehid][0] == 0) format(whospawned, MAX_PLAYER_NAME, "Servidor");
- else format(whospawned, MAX_PLAYER_NAME, GetSQLName(VehicleSpawnedBy[vehid][0]));
- while(diff > 3600)
- {
- diff -= 3600;
- h++;
- }
- while(diff > 60)
- {
- diff -= 60;
- m++;
- }
- SendClientMessageF(playerid, COLOR_WHITE, "[%s, ID %i] Spawnado por %s %ih e %im atrás.", GetVehicleName(vehid), vehid, whospawned, h, m);
- return true;
- }
- CMD:vehattach(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- new Float:pX,Float:pY,Float:pZ;
- new Float:vX,Float:vY,Float:vZ;
- GetPlayerPos(playerid,pX,pY,pZ);
- new Found = 0;
- new vid = 1;
- new vehicleid = GetPlayerVehicleID(playerid);
- new x = GetVehiclePoolSize();
- while(vid <= x && !Found)
- {
- vid++;
- GetVehiclePos(vid,vX,vY,vZ);
- if(floatabs(pX-vX) < 7.0 && floatabs(pY-vY) < 7.0 && floatabs(pZ-vZ) < 7.0 && vid != vehicleid)
- {
- Found = 1;
- if(IsTrailerAttachedToVehicle(vehicleid)) DetachTrailerFromVehicle(vehicleid);
- else AttachTrailerToVehicle(vid,vehicleid);
- }
- }
- return true;
- }
- CMD:acars(playerid, params[])
- {
- new count = 0;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid,"Você não está autorizado a usar esse comando.");
- gstr[0] = EOS;
- for(new v = 1, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(VehicleSpawnedBy[v][0] != 0)
- {
- format(gstr, sizeof(gstr), "%s%i - %s - Spawnado por: %s\n", gstr, v, GetVehicleName(v), GetSQLName(VehicleSpawnedBy[v][0]));
- count++;
- }
- }
- if(count == 0) return SysMsg(playerid,"Não há nenhum veiculo spawnado por administradores no momento.");
- Dialog_Show(playerid, AdminCarList, DIALOG_STYLE_LIST, "Veiculos admin", gstr, "Despawn", "Cancelar");
- return true;
- }
- CMD:delv(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1) && !IsHelper{playerid}) return SysMsg(playerid, AUTHMSG);
- new id[12];
- if(IsPlayerInAnyVehicle(playerid)) format(id, 12, "%i", GetPlayerVehicleID(playerid));
- else if(sscanf(params, "s[12]", id)) return SysMsg(playerid, "Use: /delv [Veiculo ID / All]");
- if(IsNumeric(id))
- {
- new v = strval(id);
- if(v < 1 || v > MAX_VEHICLES || !IsVehicleSpawned(v)) return SysMsg(playerid, "Veiculo ID inválido");
- if(v > MAX_VEHICLES) return SysMsg(playerid, "Você não pode deletar veiculos do servidor.");
- new faction = IsFactionVehicle(v);
- if(faction > 0) return SysMsg(playerid,"Você não pode deletar veiculos de uma facção. (/dfv)");
- if(IsServerCar(v)) return SysMsg(playerid,"Você não pode deletar esse veiculo do servidor.");
- if(IsHelper{playerid} && IsAssisting[playerid] == -1) return SysMsg(playerid,"Você precisa está prestando assistência para usar esse comando");
- if(VehicleData[v][IdVehicle] == v) return SysMsg(playerid,"Você não pode deletar um veiculo que tem dono.");
- if(IsRentalCar(v)) return SysMsg(playerid, "Você não pode deletar um veiculo de aluguél.");
- CarColor[v][0] = 1;
- CarColor[v][1] = 1;
- AdminLocked{v} = false;
- JustDeletedVehicle{playerid} = true;
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Veiculo destruido: {FFFFFF}%s{00FF00} (ID {FFFFFF}%i{00FF00})", GetVehicleName(v), v);
- format(sgstr, sizeof(sgstr), "Veiculo destruido: %s (ID %i)", GetVehicleName(v), v);
- VehicleSpawnedBy[v][0] = 0;
- DestroyVehicleEx(v, "0");
- ClearVehicleData(v);
- AdminLog(playerid, 0, "", sgstr);
- }
- else if(strmatch("all", id))
- {
- if(IsPlayerAdminLevelOK(playerid, 2))
- {
- new count = 0, opp = 0;
- for(new v = 0, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(aspawned{v})
- {
- if(!IsVehicleOccupied(v))
- {
- CarColor[v][0] = 1;
- CarColor[v][1] = 1;
- AdminLocked{v} = false;
- count++;
- VehicleSpawnedBy[v][0] = 0;
- DestroyVehicleEx(v, "v 1");
- ClearVehicleData(v);
- }
- opp++;
- }
- }
- if(count == 0)
- {
- if(opp == 0) SendClientMessage(playerid, COLOR_RED, "Não há nenhum veiculo administrativo para despawn.");
- else SendClientMessage(playerid, COLOR_RED, "Todos os veiculos administrativos estão atualmente ocupados.");
- return true;
- }
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você despawnou %i fora de %i veiculos spawnados.", count, opp);
- format(gstr, sizeof(gstr), "[Admin] %s despawno um veiculo %i out of %i admin spawned vehicles.", NameEx(playerid), count, opp);
- AdminBroadcast(gstr, 1);
- }
- else return SysMsg(playerid, AUTHMSG);
- }
- else return SysMsg(playerid, "Use: /delv [Veiculo ID / ALL]");
- return true;
- }
- CMD:delveh(playerid, params[]) return cmd_delv(playerid, params);
- CMD:setvh(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new vid = GetPlayerVehicleID(playerid);
- if(vid > 0)
- {
- SetVehicleHealthEx(vid, strval(params));
- SysMsgF(playerid, "Saúde do veículo definida para %i.", strval(params));
- }
- return true;
- }
- CMD:ln(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendClientMessageF(playerid, COLOR_WHITE, "Desenhar: %i", WinningLotteryNumber);
- return true;
- }
- CMD:fl(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- if(IsPlayerInAnyVehicle(playerid))
- {
- new id = GetPlayerVehicleID(playerid), Float:a;
- GetVehicleZAngle(id,a);
- SetVehicleZAngle(id,a);
- format(gstr, sizeof(gstr), "Veiculo capotado: %s(%i)", GetVehicleName(id),id);
- SendClientMessage(playerid, COLOR_LIGHTGREEN, gstr);
- }
- else return SysMsg(playerid,"Você não está em um veículo.");
- return true;
- }
- CMD:flip(playerid, params[]) return cmd_fl(playerid, params);
- CMD:dararma(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, gunid[30], reason[8];
- if(sscanf(params, "us[30]s[8]", playa, gunid, reason)) return SysMsg(playerid,"Use: /dararma [ID ou nome do jogador] [arman id/parte do nome] [evento/refundo/facção]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(GetFreeWeaponObjectIndex(playa) == -1) return SysMsg(playerid, "Esse jogador não pode ter outra arma agora.");
- new wid;
- if(!IsNumeric(gunid)) wid = GetWeaponIdFromName(gunid);
- else wid = strval(gunid);
- if(wid == -1) return SysMsg(playerid,"Arma inválida.");
- if(wid < 0 || wid > 47) return SysMsg(playerid,"Arma inválida.");
- if(wid == 19 || wid == 20 || wid == 21) return SysMsg(playerid,"Arma inválida.");
- new ammo = GetDefaultWeaponAmmo(wid);
- if(!IsPlayerAdmin(playa) && IsBanWeapon(wid)) return SysMsg(playerid,"Esse jogador não pode ter uma arma");
- new wname[30];
- wname = GetWeaponNameFromID(wid);
- if(!WeaponCheck(playa, wid) && IsActualGun(wid)) return SysMsg(playerid, "Este jogador não pode pegar esta arma.");
- if(WeaponData[playa][GetWeaponSlot(wid)][Weapon] >= 1) return SysMsg(playerid, "Este jogador já possui uma arma nesse slot.");
- if(strcmp("refundo", reason, true) == 0)
- {
- GivePlayerWeaponEx(playa, wid, ammo, 1, -1, 1, SQLID[playerid]);
- format(sgstr, sizeof(sgstr),"Admin %s refundou uma arma: %s(Id:%i) Munições: %i", NameEx(playerid), wname, wid, ammo);
- SendClientMessage(playa, COLOR_LIGHTGREEN, sgstr);
- format(sgstr, sizeof(sgstr),"[Admin] %s refundou %s uma arma: %s(Id:%i) Munições: %i", NameEx(playerid), NameEx(playa), wname, wid, ammo);
- AdminBroadcast(sgstr, 1);
- format(sgstr, sizeof(sgstr), "Give weapon %s, ammo=%i, reason=Refund", wname, ammo);
- AdminLog(playerid, SQLID[playa], GetName(playa), sgstr);
- }
- else if(strcmp("evento", reason, true) == 0)
- {
- GivePlayerWeapon(playa, wid, ammo);
- HasEventWeapon{playa} = true;
- PauseAC(playerid);
- format(sgstr, sizeof(sgstr),"Admin %s te deu uma arma para evento: %s(Id:%i) Munições: %i", NameEx(playerid), wname, wid, ammo);
- SendClientMessage(playa, COLOR_LIGHTGREEN, sgstr);
- format(sgstr, sizeof(sgstr),"[Admin] %s deu a %s uma arma para evento: %s(Id:%i) Munições: %i", NameEx(playerid), NameEx(playa), wname, wid, ammo);
- AdminBroadcast(sgstr, 1);
- format(sgstr, sizeof(sgstr), "Give weapon %s, ammo=%i, reason=Event", wname, ammo);
- AdminLog(playerid, SQLID[playa], GetName(playa), sgstr);
- format(sgstr, sizeof(sgstr), "[%s] %s (%i) has been given %s with %i ammo. [EVENT]", GetServerTimeString(), NameEx(playa), playa, weaponstring[wid], ammo);
- AddToLog("cheat", sgstr);
- }
- else if(strcmp("fac", reason, true) == 0)
- {
- GivePlayerWeaponEx(playa, wid, ammo, 3, -1, 1, SQLID[playerid]);
- format(sgstr, sizeof(sgstr),"Admin %s refundou sua arma da facção: %s(Id:%i) Munições: %i", NameEx(playerid), wname, wid, ammo);
- SendClientMessage(playa, COLOR_LIGHTGREEN, sgstr);
- format(sgstr, sizeof(sgstr),"[Admin] %s refundou %s uma arma de facção: %s(Id:%i) Munições: %i", NameEx(playerid), NameEx(playa), wname, wid, ammo);
- AdminBroadcast(sgstr, 1);
- format(sgstr, sizeof(sgstr), "Give weapon %s, ammo=%i, reason=Faction Wep", wname, ammo);
- AdminLog(playerid, SQLID[playa], GetName(playa), sgstr);
- }
- else SysMsg(playerid,"Use: /dararma [ID ou nome do jogador] [arma id/parte do nome] [evento/refundo/fac]");
- return true;
- }
- CMD:guninfo(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /guninfo [playerID ou name]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM weapons WHERE WeaponPossession = 1 AND OwnerSQLID = %i AND Deleted = 0", SQLID[playa]);
- mysql_pquery(conn, mquery, "ShowWeaponInfo", "i", playerid);
- return true;
- }
- RCRP::ShowWeaponInfo(playerid)
- {
- if(!cache_num_rows()) return SysMsg(playerid, "Este jogador está desarmado.");
- new creator[15], timestamp[15], origin[15], weaponid[15], ammo[15], id[15], count;
- for(new i = 0, x = cache_num_rows(); i < x; i++)
- {
- id[i] = cache_get_field_content_int(i, "id");
- creator[i] = cache_get_field_content_int(i, "CreatorSQLID");
- timestamp[i] = cache_get_field_content_int(i, "Timestamp");
- origin[i] = cache_get_field_content_int(i, "WeaponOrigin");
- weaponid[i] = cache_get_field_content_int(i, "WeaponID");
- ammo[i] = cache_get_field_content_int(i, "WeaponAmmo");
- count ++;
- }
- for(new i = 0; i < count; i++)
- {
- SendSplitMessageF(playerid, COLOR_BLUE, "([Arma ID %i (%s, %i munições)] Nome do criador: %s, Origem: %s, Timestamp %s)", id[i], GetWeaponNameFromID(weaponid[i]), ammo[i], GetSQLName(creator[i]), GetWeaponOrigin(origin[i]), UnixDate(timestamp[i], 0, 0));
- }
- return true;
- }
- stock GetWeaponOrigin(origin)
- {
- new worigin[32];
- switch(origin)
- {
- case 1: worigin = "Refundo Admin";
- case 2: worigin = "Arma ilegal";
- case 3: worigin = "Arma de facção";
- case 4: worigin = "Arma legal";
- case 7: worigin = "Loja Item Comprado";
- }
- return worigin;
- }
- CMD:cg(playerid, params[]) return cmd_checkguns(playerid, params);
- CMD:checkguns(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /checkguns [playerid/name]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- new clientID, clientAmmo, wCount = 0;
- for(new w = 0; w < MAX_TOTAL_WEAPONS; w++)
- {
- GetPlayerWeaponData(playa, w, clientID, clientAmmo);
- if(clientID == WEAPON_SILENCED && HasTaser{playa}) continue;
- if(clientID > 0 || WeaponData[playa][w][Weapon] > 0)
- {
- if(clientID == WeaponData[playa][w][Weapon] && WeaponData[playa][w][WeaponID] != 0)
- {
- SendClientMessageF(playerid, 0x63FF2DFF, "[SERVER & CLIENTE] %s(ID %i) Slot %i | %s(ID %i - %i C.Mun - %i S.Mun)", NameEx(playa), playa, w, GetWeaponNameFromID(clientID), clientID, clientAmmo, WeaponData[playa][w][WeaponAmmo]);
- wCount ++;
- }
- else if(clientID != WeaponData[playa][w][Weapon] && WeaponData[playa][w][Weapon] == 0 && clientAmmo > 0 && WeaponData[playa][w][WeaponID] == 0)
- {
- SendClientMessageF(playerid, 0xF2CD3BFF, "[SOMENTE CLIENTE] %s(ID %i) Slot %i | %s(ID %i - %i C.Mun - %i S.Mun)", NameEx(playa), playa, w, GetWeaponNameFromID(clientID), clientID, clientAmmo, WeaponData[playa][w][WeaponAmmo]);
- wCount ++;
- }
- else if(clientID != WeaponData[playa][w][Weapon] && clientID == 0)
- {
- SendClientMessageF(playerid, 0xF2CD3BFF, "[SOMENTE SERVIDOR] %s(ID %i) Slot %i | %s(ID %i - %i C.Mun - %i S.Mun)", NameEx(playa), playa, w, GetWeaponNameFromID(WeaponData[playa][w][Weapon]), WeaponData[playa][w][Weapon], clientAmmo, WeaponData[playa][w][WeaponAmmo]);
- wCount ++;
- }
- }
- }
- if(wCount == 0) SendClientMessage(playerid, COLOR_LIGHTBLUE, "Este jogador não tem arma para mostrar.");
- return true;
- }
- CMD:checkallguns(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new w, clientID, clientAmmo;
- foreach(new i: Player)
- {
- if(IsPlayerNPC(i) || !Logged{i}) continue;
- for(w = 0; w < MAX_TOTAL_WEAPONS; w++)
- {
- GetPlayerWeaponData(i, w, clientID, clientAmmo);
- if(clientID == WEAPON_SILENCED && HasTaser{i}) continue;
- if(clientID > 0 && clientAmmo > 0)
- {
- if(WeaponData[i][w][Weapon] != clientID)
- {
- format(gstr, sizeof(gstr),"%s (ID %i) Possivel Hack - Slot %i, Arma %s(ID %i), %i Munições", NameEx(i), i, w, GetWeaponNameFromID(clientID), clientID, clientAmmo);
- SendClientMessage(playerid, COLOR_DARKBLUE, gstr);
- }
- }
- }
- }
- SendClientMessage(playerid, COLOR_DARKBLUE, "Verificou todos os jogadores por armas pirateadas.");
- return true;
- }
- CMD:refunddrogas(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new pname[MAX_PLAYER_NAME], playa = -1, drug[10], amount;
- if(sscanf(params, "s[24]s[10]i", pname, drug, amount)) return SysMsg(playerid,"Use: /refunddrogas [player id ou nome completo] [marijuana/cocaina/moonshine] [Quantidade]");
- new sqlid = -1;
- if(IsNumeric(pname))
- {
- if(!IsPlayerConnected(strval(pname)) || !Logged{strval(pname)}) return SysMsg(playerid, "O ID do jogador não foi conectado e conectado.");
- playa = strval(pname);
- sqlid = SQLID[playa];
- }
- else
- {
- sqlid = MySQLCheckAccount(pname, playerid);
- if(sqlid <= 0) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- }
- if(sqlid == -1) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- if(sqlid == SQLID[playerid] && !IsPlayerAdmin(playerid)) return SysMsg(playerid, "Não pode ser você mesmo.");
- if(playa >= 0)
- {
- if(strcmp("marijuana", drug, true) == 0)
- {
- if(amount < 1) return SysMsg(playerid,"Essa quantidade é inválida.");
- if(amount + Inventory[playa][Weed] > DRUG_MAX_WEED) return SysMsgF(playerid, "Quantidade Inválida, %s não seria capaz de carregar tanta marijuana. Você pode dar um máximo de %i gramas.", NameEx(playa), DRUG_MAX_WEED - Inventory[playa][Weed]);
- Inventory[playa][Weed] += amount;
- MySQLUpdateInt(SQLID[playa], "Weed", Inventory[playa][Weed], "players");
- format(gstr, sizeof(gstr),"Admin %s refundou a você %i gramas de marijuana.", NameEx(playerid), amount);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s %i gramas de marijuana.", NameEx(playerid), NameEx(playa), amount);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Refundo Drogas %i x %s", amount, drug);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(strcmp("cocaina", drug, true) == 0)
- {
- if(amount < 1) return SysMsg(playerid,"Essa quantidade é inválida.");
- if(amount + Inventory[playa][Cocaine] > DRUG_MAX_COCAINE) return SysMsgF(playerid, "Quantidade Inválida, %s não poderia levar tanto cocaína. Você pode dar um máximo de %i gramas.", NameEx(playa), DRUG_MAX_COCAINE - Inventory[playa][Cocaine]);
- Inventory[playa][Cocaine] += amount;
- MySQLUpdateInt(SQLID[playa], "Cocaine", Inventory[playa][Cocaine], "players");
- format(gstr, sizeof(gstr),"Admin %s refundou a você %i gramas de Cocaina.", NameEx(playerid), amount);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s %i gramas de Cocaina.", NameEx(playerid), NameEx(playa), amount);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Refundo Drogas %i x %s", amount, drug);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(strcmp("moonshine", drug, true) == 0)
- {
- if(amount < 1) return SysMsg(playerid,"Essa quantidade é inválida.");
- if(amount + Inventory[playa][MoonShine] > DRUG_MAX_MOONSHINE) return SysMsgF(playerid, "Quantidade Inválida, %s não seria capaz de carregar essa quantidad de MoonShine. Você pode dar um máximo de %i litro(s).", NameEx(playa), DRUG_MAX_MOONSHINE - Inventory[playa][MoonShine]);
- Inventory[playa][MoonShine] += amount;
- MySQLUpdateInt(SQLID[playa], "MoonShine", Inventory[playa][MoonShine], "players");
- format(gstr, sizeof(gstr),"Admin %s refundou a você %i litro(s) de MoonShine.", NameEx(playerid), amount);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s %i litro(s) de MoonShine.", NameEx(playerid), NameEx(playa), amount);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Refundo Drogas %i x %s", amount, drug);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- }
- else
- {
- foreach(new i: Player) if(sqlid == SQLID[i]) return SysMsg(playerid, "O nome completo do jogador não foi encontrado, tente usar o ID.");
- if(strcmp("marijuana", drug, true) == 0)
- {
- if(amount < 1) return SysMsg(playerid,"Essa quantidade é inválida.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE players SET Weed = Weed + %i WHERE id = %i", amount, sqlid);
- mysql_pquery(conn, mquery);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s %i gramas de marijuana.", NameEx(playerid), GetSQLName(sqlid), amount);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Refundo Drogas %i x %s", amount, drug);
- AdminLog(playerid, sqlid, GetSQLName(sqlid), gstr);
- return true;
- }
- if(strcmp("cocaina", drug, true) == 0)
- {
- if(amount < 1) return SysMsg(playerid,"Essa quantidade é inválida.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE players SET Cocaine = Cocaine + %i WHERE id = %i", amount, sqlid);
- mysql_pquery(conn, mquery);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s %i gramas de Cocaina.", NameEx(playerid), GetSQLName(sqlid), amount);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Refundo Drogas %i x %s", amount, drug);
- AdminLog(playerid, sqlid, GetSQLName(sqlid), gstr);
- return true;
- }
- if(strcmp("moonshine", drug, true) == 0)
- {
- if(amount < 1) return SysMsg(playerid,"Essa quantidade é inválida.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE players SET MoonShine = MonnShine + %i WHERE id = %i", amount, sqlid);
- mysql_pquery(conn, mquery);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s %i listro de MoonShine.", NameEx(playerid), GetSQLName(sqlid), amount);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Refundo Drogas %i x %s", amount, drug);
- AdminLog(playerid, sqlid, GetSQLName(sqlid), gstr);
- return true;
- }
- }
- return true;
- }
- CMD:checkplayer(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /checkplayer [playerid/name]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- new id = playa;
- new Float:Health, Float:Armour, Float:X, Float:Y, Float:Z, Float:Ang, Interior, World, GPM = GetPlayerMoney(id), armedWeapon = GetPlayerWeapon(id), zone[MAX_ZONE_NAME], tutstatus[12];
- GetPlayerHealth(id, Health);
- GetPlayerArmour(id, Armour);
- GetPlayerPos(id, X, Y, Z);
- GetPlayerFacingAngle(id, Ang);
- Interior = GetPlayerInterior(id);
- World = GetPlayerVirtualWorld(id);
- GetPlayer3DZone(id, zone, MAX_ZONE_NAME);
- if(CompletedTutorial{id}) format(tutstatus, sizeof(tutstatus), "Yes");
- else format(tutstatus, sizeof(tutstatus), "No");
- SendClientMessageF(playerid, COLOR_LIGHTBLUE, "Player Data - %s ID:%i - Stats: %s - Tutorial completado: %s",NameEx(id),id, GetPlayerStateEx(id), tutstatus);
- SendClientMessageF(playerid, COLOR_WHITE, "Health: %.0f(Server:%f) - Colete: %.0f(Server:%f) - Armado: %s(%i)",Health,HealthVar[id],Armour,ArmourVar[id],GetWeaponNameFromID(armedWeapon),armedWeapon);
- SendClientMessageF(playerid, COLOR_WHITE, "Dinheiro Server: %i - Dinheiro Client: %i",Cash[id],GPM);
- SendClientMessageF(playerid,COLOR_WHITE, "Localização: %s (%f[X], %f[Y], %f[Z], %f[RA]) - Interior ID: %i - VW: %i", zone, X, Y, Z, Ang, Interior, World);
- if(IsPlayerInAnyVehicle(id)) SendClientMessageF(playerid, COLOR_WHITE, "Veiculo INFO: %s - %i", GetVehicleName(GetPlayerVehicleID(id)), GetPlayerVehicleID(id));
- return true;
- }
- CMD:cp(playerid, params[]) return cmd_checkplayer(playerid, params);
- CMD:darlicenca(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, licensename[6];
- if(sscanf(params, "us[6]", playa, licensename)) return SysMsg(playerid,"Use: /darlicenca [ID ou nome do jogador] [car/bike/boat/plane/heli/large]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- new lic = -1, sqlname[24];
- if(strcmp("car", licensename, true) == 0) { lic = 0; sqlname = "LicenseCar"; }
- else if(strcmp("large", licensename, true) == 0) { lic = 1; sqlname = "LicenseLargeVehicle"; }
- else if(strcmp("bike", licensename, true) == 0) { lic = 2; sqlname = "LicenseBike"; }
- else if(strcmp("boat", licensename, true) == 0) { lic = 3; sqlname = "LicenseBoat"; }
- else if(strcmp("heli", licensename, true) == 0) { lic = 4; sqlname = "LicenseHelicopter"; }
- else if(strcmp("plane", licensename, true) == 0) { lic = 5; sqlname = "LicensePlane"; }
- else return SysMsg(playerid,"Não há nenhuma licença desse tipo.");
- if(Licenses[playa][lic] == 1) return SysMsg(playerid,"Este jogador já tem essa carteira.");
- Licenses[playa][lic] = 1;
- MySQLUpdateInt(SQLID[playa], sqlname, Licenses[playa][lic], "players");
- for(new tu = 0; tu < sizeof(licensename); tu++) licensename[tu] = toupper(licensename[tu]);
- format(gstr, sizeof(gstr),"Admin %s te deu uma lincensa de %s.", NameEx(playerid), licensename);
- SendClientMessage(playa,COLOR_WHITE, gstr);
- format(gstr, sizeof(gstr),"Você deu a %s uma lincesa de %s.", NameEx(playa), licensename);
- SendClientMessage(playerid,COLOR_WHITE, gstr);
- format(gstr, sizeof(gstr), "Deu uma lincesa de %s", licensename);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- CMD:removelicence(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, licensename[6];
- if(sscanf(params, "us[6]", playa, licensename)) return SysMsg(playerid,"Use: /removelicenca [ID ou nome do jogador] [car/bike/boat/plane/heli/large]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- new lic = -1, sqlname[24];
- if(strcmp("car", licensename, true) == 0) { lic = 0; sqlname = "LicenseCar"; }
- else if(strcmp("large", licensename, true) == 0) { lic = 1; sqlname = "LicenseLargeVehicle"; }
- else if(strcmp("bike", licensename, true) == 0) { lic = 2; sqlname = "LicenseBike"; }
- else if(strcmp("boat", licensename, true) == 0) { lic = 3; sqlname = "LicenseBoat"; }
- else if(strcmp("heli", licensename, true) == 0) { lic = 4; sqlname = "LicenseHelicopter"; }
- else if(strcmp("plane", licensename, true) == 0) { lic = 5; sqlname = "LicensePlane"; }
- else return SysMsg(playerid,"Nenhuma dessas licenças.");
- if(Licenses[playa][lic] == 0) return SysMsg(playerid,"They don't have this license.");
- Licenses[playa][lic] = 0;
- MySQLUpdateInt(SQLID[playa], sqlname, Licenses[playa][lic], "players");
- for(new tu = 0; tu < sizeof(licensename); tu++) licensename[tu] = toupper(licensename[tu]);
- SendClientMessageF(playa,COLOR_WHITE, "Admin %s removeu sua lincensa de %s.", NameEx(playerid), licensename);
- SendClientMessageF(playerid,COLOR_WHITE, "Você removeu a licensa do jogador %s a licensa de %s.", NameEx(playa), licensename);
- format(gstr, sizeof(gstr), "Remove %s license", licensename);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- CMD:checkconta(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /checkconta [Nome_Sobrenome]");
- new sqlid = -1, maid = -1;
- if(IsNumeric(params))
- {
- new pid = strval(params);
- if(pid < 0 || pid >= MAX_PLAYERS) return SysMsg(playerid,"ID inválido");
- if(!IsPlayerConnected(pid)) return SysMsg(playerid,"PlayerID desconectado.");
- if(!Logged{pid}) return SysMsg(playerid,"ID do jogador não está logado, o SQLID não pôde ser encontrado.");
- sqlid = SQLID[pid];
- maid = MasterAccount[pid];
- }
- else
- {
- sqlid = MySQLCheckAccount(params, playerid);
- maid = MySQLCheckMaster_AgainstSQLID(sqlid);
- }
- if(sqlid <= 0) return SysMsg(playerid, "O nome não foi encontrado. Inclua primeiro nome, sobrenome e um título de destaque ou apenas use a ID do jogo.");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT RegisterDate, IP, RecentIP, RecentSerial, AccountDisabled, Online FROM players WHERE id = %i", sqlid);
- mysql_pquery(conn, mquery, "CheckAccountData", "iii", playerid, sqlid, maid);
- return true;
- }
- CMD:queme(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /queme [Nome_Sobrenome / MA Nome ou in-game id]");
- new sqlid = -1;
- if(IsNumeric(params))
- {
- new pid = strval(params);
- if(pid < 0 || pid >= MAX_PLAYERS) return SysMsg(playerid,"ID inválido");
- if(!IsPlayerConnected(pid)) return SysMsg(playerid,"PlayerID desconectado.");
- if(!Logged{pid}) return SysMsg(playerid,"ID do jogador não está logado, esta ID SQL não pôde ser encontrada.");
- sqlid = SQLID[pid];
- }
- else sqlid = MySQLCheckAccount(params, playerid);
- new masterID;
- if(sqlid <= 0) masterID = MySQLCheckMaster_AgainstName(params);
- else masterID = MySQLCheckMaster_AgainstSQLID(sqlid);
- if(masterID <= 0) return SysMsg(playerid, "O nome não foi encontrado. Inclua primeiro nome, sobrenome e um título de destaque ou apenas use a ID do jogo.");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT Username,EMail,GeoDetails,RegTimeStamp FROM masters WHERE id=%i LIMIT 1", masterID);
- mysql_pquery(conn, mquery, "WhoIsPrime", "ddd", playerid, sqlid, masterID);
- return true;
- }
- CMD:aduty(playerid, params[])
- {
- if(!Logged{playerid}) return SysMsg(playerid,"Faça o login primeiro.");
- if(!IsPlayerAdminLevelOK(playerid, 1)) return true;
- if(isnull(params)) return SysMsg(playerid,"Use: /aduty ['on' / 'off' / 'dnd']");
- if(strcmp("on",params,true) == 0)
- {
- if(ADuty[playerid] == 1) return SysMsg(playerid, "Você já está Aduty ON.");
- if(IsAFK{playerid}) return SysMsg(playerid, "Você esta AFK.");
- if(AdminHidden[playerid]) return SysMsg(playerid, "Você esta incógnito.");
- if(!LocalOOCEnabled{playerid}) cmd_togb(playerid);
- ADuty[playerid] = 1;
- foreach(new i: Player)
- {
- if(IsPlayerMasked{i})
- {
- ShowPlayerNameTagForPlayer(playerid, i, 1);
- FormatHealthLabelText(i, HealthVar[i], ArmourVar[i], 2);
- }
- }
- AdminMsgToggle{playerid} = true;
- SetPlayerColor(playerid, 0x00A6FF00);
- SysMsg(playerid,"Admin Duty on.");
- AdminLog(playerid, 0, "", "Admin duty on");
- return true;
- }
- else if(strcmp("off",params,true) == 0)
- {
- if(ADuty[playerid] == 0) return SysMsg(playerid, "Você já está Aduty OFF.");
- ADuty[playerid] = 0;
- foreach(new i: Player)
- {
- if(IsPlayerMasked{i})
- {
- ShowPlayerNameTagForPlayer(playerid, i, 0);
- FormatHealthLabelText(i, HealthVar[i], ArmourVar[i], 2);
- }
- }
- if(UsingPaint{playerid}) cmd_paint(playerid);
- SetPlayerColor(playerid, 0xFFFFFF00);
- SysMsg(playerid,"Admin Duty off, divirta-se.");
- AdminLog(playerid, 0, "", "Admin duty off");
- return true;
- }
- else if(strcmp("dnd",params,true) == 0)
- {
- if(ADuty[playerid] == 1) cmd_aduty(playerid, "off");
- if(ADuty[playerid] == 2) return SysMsg(playerid, "Admin Duty já esta DND.");
- ADuty[playerid] = 2;
- SetPlayerColor(playerid, 0xFFFFFF00);
- SysMsg(playerid,"Definir para não incomodar.");
- AdminLog(playerid, 0, "", "Admin duty DND");
- return true;
- }
- SysMsg(playerid,"Use: /aduty ['on' / 'off' / 'dnd']");
- return true;
- }
- CMD:adminrecord(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /adminrecord [Nome_Sobrenome Ou PlayerID]");
- new sqlid = -1;
- if(IsNumeric(params))
- {
- if(!IsPlayerConnected(strval(params)) || !Logged{strval(params)}) return SysMsg(playerid, "O ID do jogador não foi conectado e conectado.");
- sqlid = SQLID[strval(params)];
- }
- else
- {
- sqlid = MySQLCheckAccount(params, playerid);
- }
- if(sqlid <= 0) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- ViewAdminRecord[playerid] = sqlid;
- Dialog_Show(playerid, AdminRecordMenu, DIALOG_STYLE_LIST, "Admin Record", "{FFFFFF}{FFCE2E}VER RECORDE GERAL{FFFFFF}\n{FFFFFF}Logs de {FFCE2E}Kick{FFFFFF}\n{FFFFFF}Logs de {FFCE2E}Ban perm{FFFFFF}\n{FFFFFF}Logs de {FFCE2E}Ban temporário{FFFFFF}\n{FFFFFF}Logs de {FFCE2E}Ban por Data{FFFFFF}\n{FFFFFF}Logs de {FFCE2E}Admin Jail{FFFFFF}\n{FFFFFF}Logs de {FFCE2E}Mute{FFFFFF}", "Selecionar", "Cancelar");
- return true;
- }
- CMD:meuadminrecord(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- mysql_format(conn, mquery, sizeof(mquery), "SELECT COUNT(*) AS punishments, RecordType FROM adminrecord WHERE PlayerSQLID = %i GROUP BY RecordType", SQLID[playerid]);
- mysql_pquery(conn, mquery, "LoadMyAdminRecord", "i", playerid);
- return true;
- }
- RCRP::LoadMyAdminRecord(playerid)
- {
- gstr[0] = EOS;
- new punishments[7];
- for(new i = 0, r = cache_num_rows(); i < r; i++)
- {
- punishments[cache_get_field_content_int(i, "RecordType")] = cache_get_field_content_int(i, "punishments");
- }
- strcat(gstr, "{B42E26}MEU ADMIN RECORD\n\n{FFFFFF}Abaixo, você pode encontrar uma versão básica do seu Registro de Administrador.\n");
- strcat(gstr, "Não inclui detalhes como motivos e datas, uma vez que se destina apenas a ser uma visão geral rápida para participar de facções, etc..\n\n\n");
- format(sgstr, sizeof(sgstr), "{FFFFFF}Total de vezes kickado: {249CFF}%i\n", punishments[ADMIN_RECORD_TYPE_KICK]);
- strcat(gstr, sgstr);
- format(sgstr, sizeof(sgstr), "{FFFFFF}Total de banimentos permanentes: {249CFF}%i\n", punishments[ADMIN_RECORD_TYPE_PERMBAN]);
- strcat(gstr, sgstr);
- format(sgstr, sizeof(sgstr), "{FFFFFF}Total de banimentos temporários: {249CFF}%i\n", punishments[ADMIN_RECORD_TYPE_TEMPBAN]);
- strcat(gstr, sgstr);
- format(sgstr, sizeof(sgstr), "{FFFFFF}Total de banimentos por dia: {249CFF}%i\n", punishments[ADMIN_RECORD_TYPE_DATEBAN]);
- strcat(gstr, sgstr);
- format(sgstr, sizeof(sgstr), "{FFFFFF}Total de Admin Jailed: {249CFF}%i\n", punishments[ADMIN_RECORD_TYPE_AJAIL]);
- strcat(gstr, sgstr);
- format(sgstr, sizeof(sgstr), "{FFFFFF}Total punições por mute: {249CFF}%i\n", punishments[ADMIN_RECORD_TYPE_MUTE]);
- strcat(gstr, sgstr);
- ShowMessage(playerid, "Admin Record", gstr, "OK");
- return true;
- }
- CMD:avisar(playerid, params[])//avisar
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, reason[100];
- if(sscanf(params, "us[100]", playa, reason)) return SysMsg(playerid,"Use: /avisar [ID ou nome do jogador] [razão]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsPlayerAdminLevelOK(playa, 1)) return SysMsg(playerid,"Não é possível avisar um Admin.");
- if(SQLID[playa] > 0)
- {
- new datestring[12], y, m, d;
- getdate(y, m, d);
- format(datestring, sizeof(datestring), "%i/%i/%i", d, m, y);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO warnings (PlayerSQLID,AdminName,Reason,Datestamp) VALUES (%i,'%e','%e','%e')", SQLID[playa], NameEx(playerid), reason, datestring);
- mysql_pquery(conn, mquery, "");
- }
- format(gstr, sizeof(gstr),"* AVISO ADMIN de %s: %s", NameEx(playerid), reason);
- SendClientMessage(playa, COLOR_RED, gstr);
- SendClientMessage(playa, COLOR_WHITE, "* Mais uma violação das regras do servidor vai forçar a equipe admin para tomar medidas.");
- format(gstr, sizeof(gstr),"[Admin] %s avisa %s (%s)", NameEx(playerid), NameEx(playa), reason);
- AdminBroadcast(gstr, 1);
- format(gstr, sizeof(gstr), "Aviso por '%s'", reason);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- CMD:avisarings(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /avisarings [Nome_Sobrenome Ou PlayerID]");
- new sqlid = -1;
- if(IsNumeric(params))
- {
- if(!IsPlayerConnected(strval(params)) || !Logged{strval(params)}) return SysMsg(playerid, "PlayerID desconectado e conectado.");
- sqlid = SQLID[strval(params)];
- }
- else
- {
- sqlid = MySQLCheckAccount(params, playerid);
- }
- if(sqlid <= 0) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT AdminName,Datestamp,Reason FROM warnings WHERE PlayerSQLID = %i ORDER BY id DESC LIMIT 15", sqlid);
- mysql_pquery(conn, mquery, "AdminWarnings", "dd", playerid, sqlid);
- return true;
- }
- CMD:sqlid(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /sqlid [Nome_Sobrenome Ou PlayerID]");
- new sqlid = -1, playa;
- if(IsNumeric(params))
- {
- playa = strval(params);
- if(!IsPlayerConnected(playa) || !Logged{playa}) return SysMsg(playerid, "O ID do jogador não foi conectado e conectado.");
- sqlid = SQLID[playa];
- format(gstr, sizeof(gstr), "%s(ID %i) SQLID %i", GetName(playa), playa, sqlid);
- SendClientMessage(playerid, COLOR_WHITE, gstr);
- }
- else
- {
- sqlid = MySQLCheckAccount(params, playerid);
- if(sqlid <= 0) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- format(gstr, sizeof(gstr), "%s SQLID %i", params, sqlid);
- SendClientMessage(playerid, COLOR_WHITE, gstr);
- }
- return true;
- }
- CMD:reefer(playerid, params[])
- {
- new option[12];
- if(sscanf(params, "s[12]", option))
- {
- SysMsg(playerid, "Use: /reefer [opção] | Opções disponíveis: Respawn, Spec");
- SendClientMessageF(playerid, COLOR_WHITE, "Identificação do Reefer {00CDC6}%i", ReeferID());
- return true;
- }
- if(strmatch("respawn", option))
- {
- new Float:vP[3], vR = 0;
- GetVehiclePos(ReeferID(), vP[0], vP[1], vP[2]);
- foreach(new p: Player)
- {
- if(IsPlayerInRangeOfPoint(p, 3.0, vP[0], vP[1], vP[2]))
- {
- if(!IsPlayerAdminLevelOK(playerid, 1) && !IsHelper{playerid}) return SysMsg(playerid, AUTHMSG);
- if(IsHelper{playerid} && IsAssisting[playerid] == -1) return SysMsg(playerid, "Você só pode usar esse comando enquanto estiver ajudando alguém.");
- vR = 1;
- }
- }
- if(vR == 0)
- {
- SetVehicleToRespawnEx(ReeferID());
- format(gstr, sizeof(gstr), "Você respawno o barco de pesca (ID:%i)", ReeferID());
- SendClientMessage(playerid, COLOR_LIGHTGREEN, gstr);
- }
- else
- {
- format(gstr, sizeof(gstr), "Você não pode respawn o barco de pesca (ID:%i) enquanto as pessoas estão usando.", ReeferID());
- SendClientMessage(playerid, COLOR_RED, gstr);
- }
- }
- else if(strmatch("spec", option))
- {
- if(IsSpectating[playerid] == -1)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- TempInfo[playerid][tmX] = X;
- TempInfo[playerid][tmY] = Y;
- TempInfo[playerid][tmZ] = Z;
- TempInfo[playerid][tSkin] = GetPlayerSkin(playerid);
- TempInfo[playerid][tInt] = GetPlayerInterior(playerid);
- TempInfo[playerid][tVW] = GetPlayerVirtualWorld(playerid);
- }
- TogglePlayerSpectating(playerid, 1);
- SetPlayerVirtualWorldEx(playerid, GetVehicleVirtualWorld(ReeferID()));
- PlayerSpectateVehicle(playerid, ReeferID(), SPECTATE_MODE_NORMAL);
- SysMsgF(playerid, "Agora você está spectando o barco %i (%s). Use /specoff para retornar ao normal.", ReeferID(), GetVehicleName(ReeferID()));
- IsSpectating[playerid] = 1000;
- }
- return true;
- }
- CMD:contagemr(playerid, params[])//contagemr
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(IsCounting > 0) return true;
- CountdownTimer = SetTimer("Countdown",1000,1);
- IsCounting = 6;
- format(gstr, sizeof(gstr),"%s Has Started A Countdown.",NameEx(playerid));
- SendClientMessageToAllLogged(COLOR_WHITE, gstr);
- AdminLog(playerid, 0, "", "Inicia uma contagem regressiva");
- return true;
- }
- CMD:fazerhelper(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 2))
- {
- new playa[32], level;
- if(sscanf(params, "s[32]", playa)) return SysMsg(playerid,"Use: /fazerhelper [Nome_Sobrenome / ID]");
- new player = GetPlayerIDs(playa);
- if(player != INVALID_PLAYER_ID)
- {
- if(IsPlayerNPC(player)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{player}) return SysMsg(playerid,"Esse jogador ainda não esta logado.");
- switch(IsHelper{player})
- {
- case 1:
- {
- format(gstr, sizeof(gstr),"Admin %s removeu você para Helper team.",NameEx(playerid));
- SendClientMessage(player,COLOR_LIGHTBLUE,gstr);
- format(gstr, sizeof(gstr),"Você removeu com sucesso %s da Helper team.",NameEx(player));
- AdminLog(playerid, SQLID[player], GetName(player), "removido da Helper team");
- IsHelper{player} = false;
- SendClientMessage(playerid,COLOR_RED,gstr);
- MySQLUpdateInt(MasterAccount[player], "Helper", IsHelper{player}, "masters");
- }
- default:
- {
- format(gstr, sizeof(gstr),"Admin %s colocou você na Helper team.",NameEx(playerid));
- SendClientMessage(player,COLOR_LIGHTBLUE,gstr);
- format(gstr, sizeof(gstr),"Você colocou %s na Helper team.",NameEx(player));
- AdminLog(playerid, SQLID[player], GetName(player), "Adicionado na Help Team");
- IsHelper{player} = true;
- SendClientMessage(playerid,COLOR_RED,gstr);
- MySQLUpdateInt(MasterAccount[player], "Helper", IsHelper{player}, "masters");
- }
- }
- }
- else if(strfind(playa, "_", true) != -1)
- {
- new sid = MySQLCheckMaster_AgainstName(playa);
- MySQLFetchInt(sid, "Helper", level, "masters");
- switch(level)
- {
- case 0:
- {
- format(gstr, sizeof(gstr),"Removeu %s da Helper team.", playa);
- AdminLog(playerid, sid, playa, "removido da helper team.");
- MySQLUpdateInt(sid, "Helper", 1, "masters");
- SendClientMessage(playerid,COLOR_RED,gstr);
- }
- default:
- {
- format(gstr, sizeof(gstr),"Você adicionou %s na Helper team.", playa);
- AdminLog(playerid, sid, playa, "adicionado a helper team.");
- MySQLUpdateInt(sid, "Helper", 0, "masters");
- SendClientMessage(playerid,COLOR_RED,gstr);
- }
- }
- }
- else return SysMsg(playerid, "Para usar offline, certifique-se de inserir seus Nome_Sobrenome.");
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:setadmin(playerid, params[])//setadmin
- {
- #if DB_SERVER != DB_SERVER_MAIN
- AdminLevel[playerid] = 4;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET AdminLevel = %i, Helper = 0, HasRCON = 1 WHERE id = %i", AdminLevel[playerid], MasterAccount[playerid]);
- mysql_pquery(conn, mquery);
- SendClientMessage(playerid, -1, "Grats seu nível admin 4.");
- return true;
- #else
- SendClientMessage(playerid, -1, "Este não é o servidor dev você pequena merda.");
- return true;
- #endif
- }
- CMD:admucp(playerid, params[])//setadmin
- {
- #if DB_SERVER != DB_SERVER_MAIN
- AdminLevel[playerid] = 4;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE players SET Admin = %i, Helper = 0, HasRCON = 1 WHERE id = %i", AdminLevel[playerid], MasterAccount[playerid]);
- mysql_pquery(conn, mquery);
- SendClientMessage(playerid, -1, "Grats seu nível admin 4.");
- return true;
- #else
- SendClientMessage(playerid, -1, "Este não é o servidor dev você pequena merda.");
- return true;
- #endif
- }
- CMD:addjornal(playerid, params[])//setadmin
- {
- #if DB_SERVER != DB_SERVER_MAIN
- AdminLevel[playerid] = 1;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET uJorn = %i, Helper = 0, HasRCON = 1 WHERE id = %i", AdminLevel[playerid], MasterAccount[playerid]);
- mysql_pquery(conn, mquery);
- SendClientMessage(playerid, -1, "Grats seu nível admin 4.");
- return true;
- #else
- SendClientMessage(playerid, -1, "Este não é o servidor dev você pequena merda.");
- return true;
- #endif
- }
- CMD:setdonate(playerid, params[])
- {
- if(IsPlayerAdmin(playerid))
- {
- new playa = -1, level;
- if(sscanf(params, "ui", playa, level)) return SysMsg(playerid,"Use: /setdonate [ID ou nome do jogador] [0 - 4]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"Esse jogador ainda não esta logado.");
- if(level < 0 || level > 4) return SysMsg(playerid,"Level must be 0 - 4.");
- if(IsDonator[playa] == level) return SysMsg(playerid,"Essa pessoa já possui esse tipo de Donate.");
- IsDonator[playa] = level;
- MySQLUpdateInt(SQLID[playa], "IsDonator", IsDonator[playa], "players");
- if(IsDonator[playa] > 0)
- {
- format(gstr, sizeof(gstr),"Parabéns para %s. Agora ele é Donator level %i.",NameEx(playa),IsDonator[playa]);
- SendClientMessageToAllLogged(COLOR_DONATE, gstr);
- UnlockAchievement(playa, 31);
- }
- else
- {
- SendClientMessageF(playa, COLOR_LIGHTBLUE, "Admin %s removeu seu Donator rank.", NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você removeu o Donate de %s.", NameEx(playa));
- }
- format(gstr, sizeof(gstr), "Definiu o level de donate para %i", level);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- if(IsDonator[playa] < 1)
- {
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM `ignore` WHERE PlayerSQLID=%i", SQLID[playerid]);
- mysql_pquery(conn, mquery, "");
- }
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:dlevelup(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, level[10];
- if(sscanf(params, "us[10]", playa, level)) return SysMsg(playerid,"Use: /dlevelup [ID ou nome do jogador] [arma/level]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"Esse jogador ainda não esta logado.");
- if(strcmp("weapon", level, true) == 0)
- {
- if(WeaponSkillLevel[playa] == 10) return SysMsg(playerid,"Há habilidade é estourado.");
- WeaponSkillLevel[playa] ++;
- MySQLUpdateInt(SQLID[playerid], "WeaponSkill", WeaponSkillLevel[playerid], "players");
- SendClientMessageF(playa, COLOR_LIGHTBLUE, "Admin %s aumentou sua habilidade arma por 1.", NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você adicionou 1 habilidade arma para %s.", NameEx(playa));
- format(gstr, sizeof(gstr), "Deu um nível de habilidade doador arma livre, agora é %i", WeaponSkillLevel[playa]);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(strcmp("level", level, true) == 0)
- {
- PlayerLevel[playa] ++;
- MySQLUpdateInt(SQLID[playa], "PlayerLevel", PlayerLevel[playa], "players");
- SendClientMessageF(playa, COLOR_LIGHTBLUE, "Admin %s aumentou o seu nível de 1.", NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você adicionou 1 nível para %s.", NameEx(playa));
- format(gstr, sizeof(gstr), "Deixou um nível de jogador donador gratuito, agora é %i", PlayerLevel[playa]);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- SysMsg(playerid,"Invalid option");
- return true;
- }
- CMD:puniroff(playerid, params[])//punir off
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new sqlid = -1, reason[128], punishment[6], playername[MAX_PLAYER_NAME], time = -1, adminLvl;
- if(sscanf(params, "s[24]s[6]is[128]", playername, punishment, time, reason)) return SysMsg(playerid,"Use: /puniroff [Nome_Sobrenome] [ajail/ban/tban/dban] [time | use 0 for 'ban' option | ajail = minutes | tban = hours | dban = days] [razão]");
- sqlid = MySQLCheckAccount(playername, playerid);
- if(sqlid <= 0) return SysMsg(playerid,"O nome da conta não foi encontrado.");
- foreach(new i: Player) if(SQLID[i] == sqlid) return SysMsg(playerid,"Esse jogador está online, use os comandos de administração regulares.");
- MySQLFetchInt(sqlid, "AdminLevel", adminLvl, "masters");
- if(adminLvl > 0 && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Você não pode punir um administrador.");
- if(strcmp("ajail", punishment, true) == 0)
- {
- if(time == -1) return SysMsg(playerid,"Use: /puniroff [Nome] [ajail] [tempo em minutos] [razão]");
- if(time < 10 || time > 90) return SysMsg(playerid,"O tempo deve ser entre 10 e 90 minutos.");
- new currentTime = 0;
- MySQLFetchInt(sqlid, "AdminJailTime", currentTime, "players");
- currentTime += time;
- if(currentTime > 200) return SysMsg(playerid,"Esta conta já tem um tempo de prisão de administração longo, você pode não adicionar mais.");
- MySQLUpdateInt(sqlid, "AdminJailTime", currentTime, "players");
- AddToAdminRecord(sqlid, SQLID[playerid], ADMIN_RECORD_TYPE_AJAIL, time, reason);
- if(currentTime > time) format(gstr, sizeof(gstr), "[Admin] %s adicionou a %i minutos de Admin Jail time para a conta %s [Razão: %s]", NameEx(playerid), time, playername, reason);
- else format(gstr, sizeof(gstr), "[Admin] %s colocou %s na prisão administrativa por %i minutos [Razão: %s]", NameEx(playerid), playername, time, reason);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "[/puniroff] Admin jailed por %i min '%s'", time, reason);
- AdminLog(playerid, sqlid, playername, gstr);
- return true;
- }
- if(strcmp("ban", punishment, true) == 0)
- {
- new pIP[18];
- MySQLFetchString(sqlid, "RecentIP", pIP, "players");
- if(MySQLCheckIPBanned(pIP) == 1) return SysMsg(playerid,"Este IP já está banido.");
- if(MySQLCheckAccountBanned(sqlid) == 1) return SysMsg(playerid,"Essa conta já está banida.");
- new datestring[50];
- format(datestring, sizeof(datestring), "%s %s", GetDateString(), GetTimeStringAndSec());
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO bans (PSQLID, BannedIP, PlayerName, BanDate, BannedBy, Reason, MasterAccount) VALUES (%i, '%e', '%e', '%e', '%e', '%e', %i)", sqlid, pIP, GetSQLName(sqlid), datestring, MasterAccountName[playerid], reason, MySQLCheckMaster_AgainstSQLID(sqlid));
- mysql_pquery(conn, mquery, "");
- AddToAdminRecord(sqlid, SQLID[playerid], ADMIN_RECORD_TYPE_PERMBAN, -1, reason);
- format(gstr, sizeof(gstr), "[Admin] %s baniu off a conta %s [Razão: %s]", NameEx(playerid), playername, reason);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "[/puniroff] Banimento permanente por '%s'", reason);
- AdminLog(playerid, sqlid, playername, gstr);
- return true;
- }
- if(strcmp("tban", punishment, true) == 0)
- {
- if(time == -1) return SysMsg(playerid,"Use: /puniroff [player name] [tban] [tempo em horas] [razão]");
- if(time < 1 || time > 24) return SysMsg(playerid,"O tempo deve estar entre 1 e 24 horas.");
- if(strlen(reason) > 150) return SysMsg(playerid,"Por favor, encurte sua razão.");
- new pIP[18];
- MySQLFetchString(sqlid, "RecentIP", pIP, "players");
- for(new ban = 0; ban < MAX_TEMPBANS; ban++)
- {
- if(TempBans[ban][TempBanActive] == 0)
- {
- TempBans[ban][TempBanSQLID] = sqlid;
- TempBans[ban][TempBanActive] = 1;
- TempBans[ban][TempBanTime] = time * 60;
- format(TempBans[ban][TempBanIP], 18, pIP);
- format(TempBans[ban][TempBanReason], 150, reason);
- AddToAdminRecord(sqlid, SQLID[playerid], ADMIN_RECORD_TYPE_TEMPBAN, time, reason);
- format(gstr, sizeof(gstr), "[Admin] %s baniu a conta %s por %i hora(s) [Razãp: %s]", NameEx(playerid), playername, time, reason);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "[/puniroff] Temporariamente banido por %i horas '%s'", time, reason);
- AdminLog(playerid, sqlid, playername, gstr);
- return true;
- }
- }
- SysMsg(playerid, "O banimento de temp não executou.");
- return true;
- }
- if(strcmp("dban", punishment, true) == 0)
- {
- new pIP[18];
- MySQLFetchString(sqlid, "RecentIP", pIP, "players");
- if(MySQLCheckTempBanned(sqlid, pIP) > 0) return SysMsg(playerid,"Esse IP, conta, ou conta Master já está banido.");
- if(time == -1) return SysMsg(playerid,"Use: /puniroff [nome] [dban] [quantidade de dias] [razão]");
- if(time < 2 || time > 14) return SysMsg(playerid,"Dias devem ser entre 2 e 14.");
- new datestr[30], cd, cm, cy, thstndrd[4], tempdays = time;
- getdate(cy, cm, cd);
- do
- {
- tempdays --;
- cd ++;
- if(cd > LastDayInMonth(cm))
- {
- cm ++;
- cd = 1;
- cd += tempdays;
- tempdays = 0;
- }
- if(cm > 12)
- {
- cm = 1;
- cy ++;
- }
- }
- while(tempdays > 0);
- switch(cd)
- {
- case 1,21,31: format(thstndrd, sizeof(thstndrd), "");//st
- case 2,22: format(thstndrd, sizeof(thstndrd), "");//nd
- case 3,23: format(thstndrd, sizeof(thstndrd), "");//rd
- default: format(thstndrd, sizeof(thstndrd), "");//th
- }
- format(datestr, sizeof(datestr), "%i%s %s %i", cd, thstndrd, GetMonthName(cm), cy);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO tbans (PlayerName,BannedBy,BannedIP,BanReason,PlayerSQLID,UnbanDate,UnbanD,UnbanM,UnbanY,DaysBanned,MasterAccount) VALUES ('%e','%e','%e','%e',%i,'%e',%i,%i,%i,%i,%i)", GetSQLName(sqlid), GetName(playerid), pIP, reason, sqlid, datestr, cd, cm, cy, time, MySQLCheckMaster_AgainstSQLID(sqlid));
- mysql_pquery(conn, mquery, "");
- AddToAdminRecord(sqlid, SQLID[playerid], ADMIN_RECORD_TYPE_DATEBAN, time, reason);
- format(gstr, sizeof(gstr), "[Admin] %s baniu a conta %s até %s (%i dias) [Razão: %s]", NameEx(playerid), playername, datestr, time, reason);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "[/puniroff] Banido por %i dias '%s'", time, reason);
- AdminLog(playerid, sqlid, playername, gstr);
- return true;
- }
- SysMsg(playerid,"Tipo de punição inválida.");
- return true;
- }
- CMD:kick(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, reason[150];
- if(sscanf(params, "uS(Não especificado)[150]", playa, reason)) return SysMsg(playerid,"Use: /kick [ID ou nome do jogador] [razão]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa) && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(playa == playerid) return SysMsg(playerid,"Você não pode usar esse comando em si mesmo.");
- if(IsPlayerAdminLevelOK(playa,1) && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Você não pode kicka outro admin.");
- format(sgstr, sizeof(sgstr), "Admin %s kickou %s do servidor [Razão: %s]", NameEx(playerid), NameEx(playa), reason);
- SendClientMessageToAllLogged(COLOR_RED,sgstr);
- KickPlayer(playa, 7);
- AddToAdminRecord(SQLID[playa], SQLID[playerid], ADMIN_RECORD_TYPE_KICK, -1, reason);
- format(sgstr, sizeof(sgstr), "Kickado por '%s'", reason);
- AdminLog(playerid, SQLID[playa], GetName(playa), sgstr);
- return true;
- }
- CMD:kickall(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendClientMessageToAllF(COLOR_RED,"Admin %s kickou todos os jogados do servidor.",NameEx(playerid),params);
- foreach(new i: Player) if(i != playerid) KickPlayer(i, 8);
- AdminLog(playerid, 0, "", "Kick todos jogadores");
- return true;
- }
- CMD:revive(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /revive [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(!Dead{playa}) return SysMsg(playerid,"Esse jogador não está ferrido.");
- RevivePlayer(playa);
- SendClientMessageF(playerid, COLOR_RED,"Você reviveu %s.", NameEx(playa));
- SendClientMessageF(playa, COLOR_RED, "Admin %s reviveu você.", NameEx(playerid));
- return true;
- }
- CMD:removercadaver(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new corpse;
- if(sscanf(params, "i", corpse)) return SysMsg(playerid, "Use: /removercadaver [corpse ID]");
- if(corpse < 0 || corpse > MAX_CORPSES) return SysMsg(playerid, "Cadáver inválido.");
- if(!CorpseData[corpse][CorpseUsed]) return SysMsg(playerid, "Cadáver inválido.");
- SendClientMessageF(playerid, COLOR_RED, "Você destruiu o cadáver de %s", GetSQLName(CorpseData[corpse][CorpseOwner]));
- DestroyCorpse(corpse);
- return true;
- }
- CMD:limparcadaveres(playerid)//limparcadaveres
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new count = 0;
- for(new c = 0; c < MAX_CORPSES; c++)
- {
- if(!CorpseData[c][CorpseUsed]) continue;
- DestroyCorpse(c);
- count ++;
- }
- SendClientMessageF(playerid, COLOR_RED, "[Admin] Você destruiu %i cadáveres.", count);
- return true;
- }
- CMD:ban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, reason[150];
- if(sscanf(params, "uS(Não especificado)[150]", playa, reason)) return SysMsg(playerid,"Use: /ban [ID ou nome do jogador] [razão]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsPlayerAdmin(playa)) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: Acesso negado");
- if(IsPlayerAdminLevelOK(playa,1) > 0 && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Você não pode banir outro admin.");
- if(playa == playerid) return SysMsg(playerid,"Você não pode se banir.");
- format(sgstr, sizeof(sgstr),"Admin %s baniu %s [Razão: %s]",NameEx(playerid),NameEx(playa),reason);
- SendClientMessageToAllLogged(COLOR_RED, sgstr);
- UnlockAchievement(playa, 73);
- MySQLBanPlayer(playa, MasterAccountName[playerid], reason);
- AddToAdminRecord(SQLID[playa], SQLID[playerid], ADMIN_RECORD_TYPE_PERMBAN, -1, reason);
- format(sgstr, sizeof(sgstr), "Banimento permanente por '%s'", reason);
- AdminLog(playerid, SQLID[playa], GetName(playa), sgstr);
- return true;
- }
- CMD:tban(playerid, params[])//parei aqui
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, hours, reason[150];
- if(sscanf(params, "uiS()[150]", playa, hours, reason)) return SysMsg(playerid,"Use: /tban [ID ou nome do jogador] [tempo (em horas)] [razão]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsPlayerAdmin(playa)) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: Acesso negado");
- if(IsPlayerAdminLevelOK(playa,1) && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Você não pode banir outro admin.");
- if(playa == playerid) return SysMsg(playerid,"Você não pode usar esse comando em si mesmo.");
- if(!Logged{playa}) return SendClientMessage(playerid, COLOR_WHITE, "Esse jogador não está logado no servidor.");
- if(hours < 1 || hours > 24) return SysMsg(playerid,"Você precisa colocar entre 1 e 24 horas.");
- if(isnull(reason)) format(reason, sizeof(reason), "Não especificado");
- for(new ban = 0; ban < MAX_TEMPBANS; ban++)
- {
- if(TempBans[ban][TempBanActive] == 0)
- {
- format(gstr, sizeof(gstr),"Admin %s baniu %s por %i hora(s) [Razão: %s]", NameEx(playerid), NameEx(playa), hours, reason);
- SendClientMessageToAllLogged(COLOR_RED,gstr);
- TempBans[ban][TempBanSQLID] = SQLID[playa];
- TempBans[ban][TempBanActive] = 1;
- TempBans[ban][TempBanTime] = hours * 60;
- TempBans[ban][BanningAdmin] = SQLID[playerid];
- format(TempBans[ban][TempBanIP], 16, PlayerIP[playa]);
- format(TempBans[ban][TempBanReason], 150, reason);
- KickPlayer(playa, 9);
- AddToAdminRecord(SQLID[playa], SQLID[playerid], ADMIN_RECORD_TYPE_TEMPBAN, hours, reason);
- format(gstr, sizeof(gstr), "O tempo de banidomento foi de %i horas '%s'", hours, reason);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- }
- SysMsg(playerid, "Temp ban failed to execute.");
- return true;
- }
- CMD:tunban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /tunban [Player_Name]");
- for(new ban = 0; ban < MAX_TEMPBANS; ban++)
- {
- if(TempBans[ban][TempBanActive] == 1)
- {
- if(strcmp(GetSQLName(TempBans[ban][TempBanSQLID]), params, true) == 0)
- {
- format(gstr, sizeof(gstr), "[Admin] %s desbaniu a conta %s da lista de banimentos temporários.", NameEx(playerid), GetSQLName(TempBans[ban][TempBanSQLID]));
- AdminBroadcast(gstr, 0);
- AdminLog(playerid, TempBans[ban][TempBanSQLID], GetSQLName(TempBans[ban][TempBanSQLID]), "Banimento temporário removido");
- TempBans[ban][TempBanSQLID] = 0;
- TempBans[ban][TempBanActive] = 0;
- TempBans[ban][TempBanTime] = 0;
- TempBans[ban][BanningAdmin] = 0;
- TempBans[ban][TempBanIP][0] = 0;
- TempBans[ban][TempBanReason][0] = 0;
- return true;
- }
- }
- }
- SysMsg(playerid, "Esse jogador não está banido, use: Nome_Sobrenome.");
- return true;
- }
- CMD:removedateban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /removedateban [Player_Name]");
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM tbans WHERE PlayerName = '%e' AND Unbanned = 0", params);
- mysql_pquery(conn, mquery, "");
- SysMsgF(playerid, "Date ban for %s has been deleted.", params);
- AdminLog(playerid, 0, params, "Removed date ban");
- return true;
- }
- CMD:verdbans(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- mysql_pquery(conn, "SELECT PlayerName,BannedIP,BanReason,UnbanDate FROM tbans WHERE Unbanned = 0 ORDER BY UnbanDate DESC", "ViewDateBans", "d", playerid);
- return true;
- }
- CMD:setunbandate(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playername[MAX_PLAYER_NAME], days;
- if(sscanf(params, "s[20]i", playername, days)) return SysMsg(playerid,"Use: /setunbandate [Player_Name] [Days until unban]");
- if(days < 1 || days > 30) return SysMsg(playerid,"Days must be between 1 and 30.");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT id FROM bans WHERE PlayerName = '%e'", playername);
- new Cache:result = mysql_query(conn, mquery);
- new bancount = cache_num_rows(), banID;
- if(bancount > 0)
- {
- banID = cache_get_field_content_int(0, "id");
- cache_delete(result);
- }
- else
- {
- SysMsg(playerid,"Nenhum banimento foi encontrado com esse nome.");
- cache_delete(result);
- return true;
- }
- new datestr[30], thstndrd[4], cd, cm, cy;
- new tempdays = days;
- getdate(cy, cm, cd);
- do
- {
- tempdays --;
- cd ++;
- if(cd > LastDayInMonth(cm))
- {
- cm ++;
- cd = 1;
- cd += tempdays;
- tempdays = 0;
- }
- if(cm > 12)
- {
- cm = 1;
- cy ++;
- }
- }
- while(tempdays > 0);
- switch(cd)
- {
- case 1,21,31: format(thstndrd, sizeof(thstndrd), "st");
- case 2,22: format(thstndrd, sizeof(thstndrd), "nd");
- case 3,23: format(thstndrd, sizeof(thstndrd), "rd");
- default: format(thstndrd, sizeof(thstndrd), "th");
- }
- format(datestr, sizeof(datestr), "%i%s %s %i", cd, thstndrd, GetMonthName(cm), cy);
- new bannedby[20], banreason[40], bannedip[20], bannedsqlid;
- MySQLFetchString(banID, "BannedIP", bannedip, "bans");
- MySQLFetchString(banID, "BannedBy", bannedby, "bans");
- MySQLFetchString(banID, "Reason", banreason, "bans");
- MySQLFetchInt(banID, "PSQLID", bannedsqlid, "bans");
- format(gstr, sizeof(gstr), "[Admin] %s definiu o banimento permanente de %s para expirar em %s(%i dias)", NameEx(playerid), playername, datestr, days);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Set perm ban to expire in %i days", days);
- AdminLog(playerid, bannedsqlid, playername, gstr);
- DeleteBan(banID);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO tbans (PlayerName,BannedBy,BannedIP,BanReason,PlayerSQLID,UnbanDate,UnbanD,UnbanM,UnbanY,DaysBanned,MasterAccount) VALUES ('%e','%e','%e','%e',%i,'%e',%i,%i,%i,%i,%i)", playername, bannedby, bannedip, banreason, bannedsqlid, datestr, cd, cm, cy, days, MySQLCheckMaster_AgainstSQLID(bannedsqlid));
- mysql_pquery(conn, mquery, "");
- return true;
- }
- CMD:vertbans(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new count = 0;
- gstr[0] = EOS;
- for(new ban = 0; ban < MAX_TEMPBANS; ban++)
- {
- if(TempBans[ban][TempBanActive] == 1)
- {
- new sub[90];
- format(sub, 90, "%s [%s, %i minutos, Razão: '%s']\n", GetSQLName(TempBans[ban][TempBanSQLID]), TempBans[ban][TempBanIP], TempBans[ban][TempBanTime], TempBans[ban][TempBanReason]);
- strcat(gstr, sub);
- count ++;
- }
- }
- if(count == 0) return SysMsg(playerid, "Ninguem está temporariamente banido.");
- ShowMessage(playerid, "Banimentos temporários", gstr, "pronto");
- return true;
- }
- CMD:dban(playerid, params[]) return cmd_dateban(playerid, params);
- CMD:dateban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, days, reason[150];
- if(sscanf(params, "uis[150]", playa, days, reason)) return SysMsg(playerid,"Use: /dateban [ID ou nome do jogador] [dias] [razão]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsPlayerAdmin(playa)) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: Acesso negado");
- if(IsPlayerAdminLevelOK(playa,1) && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Você não pode banir outro admin.");
- if(playa == playerid) return SysMsg(playerid,"Você não pode banir a si mesmo.");
- if(!Logged{playa}) return SendClientMessage(playerid, COLOR_WHITE, "Esse jogador não está logado no servidor.");
- if((days < 2 || days > 14) && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Days must be between 2 and 14.");
- if(strlen(reason) > 149) return SysMsg(playerid,"Sua razão está muito grande, max de 150 letras.");
- new datestr[30], cd, cm, cy, thstndrd[4], tempdays = days;
- getdate(cy, cm, cd);
- do
- {
- tempdays --;
- cd ++;
- if(cd > LastDayInMonth(cm))
- {
- cm ++;
- cd = 1;
- /*cd += tempdays;
- tempdays = 0;*/
- }
- if(cm > 12)
- {
- cm = 1;
- cy ++;
- }
- }
- while(tempdays > 0);
- switch(cd)
- {
- case 1,21,31: format(thstndrd, sizeof(thstndrd), "st");
- case 2,22: format(thstndrd, sizeof(thstndrd), "nd");
- case 3,23: format(thstndrd, sizeof(thstndrd), "rd");
- default: format(thstndrd, sizeof(thstndrd), "th");
- }
- format(datestr, sizeof(datestr), "%i%s %s %i", cd, thstndrd, GetMonthName(cm), cy);
- format(gstr, sizeof(gstr), "Admin %s baniu %s até %s (%i days) [Razão: %s]", NameEx(playerid), NameEx(playa), datestr, days, reason);
- SendClientMessageToAllLogged(COLOR_RED, gstr);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO tbans (PlayerName,BannedBy,BannedIP,BanReason,PlayerSQLID,UnbanDate,UnbanD,UnbanM,UnbanY,DaysBanned,MasterAccount) VALUES ('%e','%e','%e','%e',%i,'%e',%i,%i,%i,%i,%i)", GetName(playa), MasterAccountName[playerid], PlayerIP[playa], reason, SQLID[playa], datestr, cd, cm, cy, days, MySQLCheckMaster_AgainstSQLID(SQLID[playa]));
- mysql_pquery(conn, mquery, "");
- format(gstr, sizeof(gstr), "Date banned for %i days", days);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- KickPlayer(playa, 10);
- AddToAdminRecord(SQLID[playa], SQLID[playerid], ADMIN_RECORD_TYPE_DATEBAN, days, reason);
- return true;
- }
- CMD:rban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdmin(playerid))
- {
- new playa = -1, reason[40];
- if(sscanf(params, "us[40]", playa, reason)) return SysMsg(playerid,"Use: /rban [ID ou nome do jogador] [razão]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(playa == playerid) return SysMsg(playerid,"Você não pode usar esse comando em si mesmo.");
- if(isnull(reason)) format(reason, sizeof(reason), "Não especificado");
- new ip1, ip2, ip3, ip4;
- sscanf(PlayerIP[playa], "p<.>iiii", ip1, ip2, ip3, ip4);
- format(gstr, sizeof(gstr), "banip %i.%i.*.*", ip1, ip2);
- SendRconCommand(gstr);
- format(gstr, sizeof(gstr),"Admin %s Range Banned %s [Razão: %s]",NameEx(playerid),NameEx(playa),reason);
- SendClientMessageToAllLogged(COLOR_RED,gstr);
- format(gstr, sizeof(gstr), "Range banned, reason=%s", reason);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- KickPlayer(playa, 11);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:rbanip(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdminLevelOK(playerid, 4))
- {
- if(isnull(params)) return SysMsg(playerid,"Use: /rbanip [ip]");
- format(gstr, sizeof(gstr),"Admin %s range banned IP %s.",NameEx(playerid),params);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Range banned %s", params);
- AdminLog(playerid, 0, "", gstr);
- format(gstr, sizeof(gstr), "banip %s", params);
- SendRconCommand(gstr);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:banip(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- new ip[16], reason[150];
- if(sscanf(params, "s[16]S()[150]", ip, reason)) return SysMsg(playerid,"Use: /banip [IP] [reason] *DO NOT USE AN IP WILDCARD*");
- if(strfind(reason, "*") != -1) return SysMsg(playerid, "YOU USED A WILDCARD.");
- if(isnull(reason)) format(reason, sizeof(reason), "Não especificado");
- format(gstr, sizeof(gstr),"Admin %s banned IP %s [Razão: %s]",NameEx(playerid),ip,reason);
- SendClientMessageToAllLogged(COLOR_RED,gstr);
- format(gstr, sizeof(gstr), "Banned IP %s for '%s'", ip, reason);
- AdminLog(playerid, 0, "", gstr);
- MySQLBanIP(ip, NameEx(playerid), reason);
- foreach(new i: Player)
- {
- if(strcmp(PlayerIP[i], ip, true) == 0)
- {
- KickPlayer(i, 12);
- break;
- }
- }
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:banhost(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdmin(playerid))
- {
- if(isnull(params)) return SysMsg(playerid,"Use: /banhost [hostname]");
- format(gstr, sizeof(gstr),"Admin %s Banned the host '%s'",NameEx(playerid),params);
- AdminBroadcast(gstr, 0);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO hostbans (BannedHost) VALUES ('%e')", params);
- mysql_pquery(conn, mquery, "");
- format(HostBans[HostBanIDX], 128, params);
- format(gstr, sizeof(gstr), "Blocked hostname %s", params);
- AdminLog(playerid, 0, "", gstr);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:banhosts(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdmin(playerid))
- {
- for(new b = 0; b < 15; b++)
- {
- HostBans[b][0] = 0;
- }
- HostBanIDX = 0;
- mysql_pquery(conn, "SELECT BannedHost FROM hostbans", "ReloadBanHosts", "d", playerid);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:unbanip(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- if(isnull(params)) return SysMsg(playerid,"Use: /unbanip [IP]");
- if(MySQLCheckIPBanned(params) == 0) return SysMsg(playerid,"That IP is not banned so cannot be unbanned.");
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM bans WHERE BannedIP = '%e'", params);
- mysql_pquery(conn, mquery, "");
- format(gstr, sizeof(gstr),"[Admin] %s removeu todos os banimentos com IP: %s",NameEx(playerid),params);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Unbanned IP %s", params);
- AdminLog(playerid, 0, "", gstr);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:unban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /unban [Nome_Sobrenome]");
- new banid = GetBanID(params);
- if(banid > 0)
- {
- DeleteBan(banid);
- format(gstr, sizeof(gstr),"[Admin] %s unbanned %s.", NameEx(playerid), params);
- AdminBroadcast(gstr, 0);
- AdminLog(playerid, 0, params, "Conta desbanida");
- }
- else SendClientMessage(playerid, COLOR_WHITE, "Nenhum banimento foi encontrado com esse nome.");
- return true;
- }
- CMD:desabilitarconta(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /desabilitarconta [player id]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(!Logged{playa}) return SysMsg(playerid,"Esse jogador não está logado no servidor.");
- if(playa == playerid) return SysMsg(playerid, "Você não pode desabilitar sua propria conta.");
- MySQLUpdateInt(SQLID[playa], "AccountDisabled", 1, "players");
- format(gstr, sizeof(gstr),"Admin %s desabilitou sua conta.", NameEx(playerid));
- SendClientMessage(playa, COLOR_RED, gstr);
- SendClientMessage(playa, COLOR_RED, "Você não poderá mais acessar esta conta.");
- AdminLog(playerid, SQLID[playa], GetName(playa), "Conta desabilitada");
- format(gstr, sizeof(gstr),"Admin %s desabilitou a conta de %s.", NameEx(playerid), NameEx(playa));
- KickPlayer(playa, 13);
- SendClientMessageToAllLogged(COLOR_RED, gstr);
- return true;
- }
- CMD:habilitaconta(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /habilitaconta [Nome_Sobrenome]");
- new sqlid = MySQLCheckAccount(params, playerid);
- if(sqlid <= 0) return SysMsg(playerid,"Este nome não pode ser encontrado.");
- new status;
- MySQLFetchInt(sqlid, "AccountDisabled", status, "players");
- if(status == 0) return SysMsg(playerid,"Essa conta já está habilitada.");
- MySQLUpdateInt(sqlid, "AccountDisabled", 0, "players");
- format(gstr, sizeof(gstr),"[Admin] %s re-habilitou a conta de %s.", NameEx(playerid), GetSQLName(sqlid));
- AdminBroadcast(gstr, 0);
- AdminLog(playerid, sqlid, GetSQLName(sqlid), "Conta habilitada");
- return true;
- }
- CMD:disableaccid(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /disableaccid [account id]");
- if(!IsNumeric(params)) return SysMsg(playerid,"Conta inválida.");
- new account = strval(params);
- if(account < 0) return SysMsg(playerid,"Conta inválida.");
- MySQLUpdateInt(account, "AccountDisabled", 1, "players");
- format(gstr, sizeof(gstr),"A conta %i foi desativada.", account);
- SendClientMessage(playerid, COLOR_RED, gstr);
- AdminLog(playerid, account, GetSQLName(account), "Conta desabilitada");
- return true;
- }
- CMD:gt(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, towho[20], style, secTime, text[75];
- if(sscanf(params, "s[20]iis[75]", towho, style, secTime, text)) return SysMsg(playerid,"Use: /gt [playerid/nome /todos] [estilo] [time(segundos)] [texto]");
- if(strcmp(towho,"todos",true) == 0) playa = 1000;
- else
- {
- if(!IsNumeric(towho)) playa = GetPlayerID(playerid, towho); else playa = strval(towho);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- }
- if(style < 0 || style > 6) return SysMsg(playerid,"Estilo inválido.");
- if(secTime < 1 || secTime > 10) return SysMsg(playerid,"Tempo inválido.");
- if(playa == 1000) GameTextForAll(text, secTime*1000, style);
- else GameTextForPlayer(playa, text, secTime*1000, style);
- return true;
- }
- CMD:bc(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(ToggleBC == 0) return SysMsg(playerid,"Broadcast está desabilitado.");
- if(isnull(params)) return SysMsg(playerid,"Use: /bc [mensagem]");
- GameTextForAll(params, 10000, 3);
- format(gstr, sizeof(gstr), "Broadcast: %s", params);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- CMD:anuncioadm(playerid, params[])// /an
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: (Anúncio OOC) /anuncioadm [mensagem]");
- new anMsg[196];
- format(anMsg,196,"Anúncio de %s: %s", NameEx(playerid), params);
- SendClientMessageToAllLogged(0x00FFFFFF,anMsg);
- strins(anMsg, "11", 0);
- //IRC_Say(IRCBot, IRC_CHANNEL, anMsg);
- //IRC_Say(IRCBot, IRC_ADMIN_CHANNEL, anMsg);
- format(anMsg, sizeof(anMsg), "Anúncio: %s", params);
- AdminLog(playerid, 0, "", anMsg);
- return true;
- }
- CMD:aa(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /aa [mensagem]");
- format(sgstr, sizeof(sgstr),"* Admin %s: %s", NameEx(playerid), params);
- SendClientMessageToAllLogged(0xC520FFFF, sgstr);
- strins(sgstr, "6", 0);
- //IRC_Say(IRCBot, IRC_CHANNEL, sgstr);
- //IRC_Say(IRCBot, IRC_ADMIN_CHANNEL, sgstr);
- format(sgstr, sizeof(sgstr), "Diz: %s", params);
- AdminLog(playerid, 0, "", sgstr);
- return true;
- }
- CMD:dizarea(playerid, params[])//falar em área
- {
- if(IsPlayerAdminLevelOK(playerid, 1))
- {
- new playa = -1, range, message[196];
- if(sscanf(params, "iis[196]", playa, range, message)) return SysMsg(playerid,"Use: /dizarea [playerid] [área] [mensagem]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"Esse jogador não está logado.");
- if(range == 0) return SysMsg(playerid, "Digite um intervalo maior que 0.");
- foreach(new i: Player)
- {
- if(Logged{i} && IsPlayerInRangeOfPoint(i, range, PlayerPosX(playa), PlayerPosY(playa), PlayerPosZ(playa)) || i == playerid)
- {
- SendClientMessageF(i, 0xC520FFFF, "* [AREA] Admin %s: %s", NameEx(playerid), message);
- }
- }
- format(gstr, sizeof(gstr), "Área: %s", params);
- AdminLog(playerid, 0, "", gstr);
- }
- else SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:kickping(playerid, params[])//kicka por ping
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, toggle;
- if(sscanf(params, "ui", playa, toggle)) return SysMsg(playerid,"Use: Ping King Exemption /kickping [playerid/name] [0/1]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"Esse jogador ainda não esta logado.");
- if(toggle < 0 || toggle > 1) return SysMsg(playerid, "Toggle deve ser 0 ou 1.");
- if(toggle == 0) PingKickExemption{playa} = false;
- else PingKickExemption{playerid} = true;
- MySQLUpdateInt(SQLID[playa], "PingKickExemption", toggle, "players");
- if(toggle == 0)
- {
- SendClientMessageF(playa, COLOR_RED, "Admin %s tornou-se responsável por altos golpes de ping.", NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você permitiu %s para ser chutado.", NameEx(playa));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Ping Kick Exemption configurado para 0");
- }
- else
- {
- SendClientMessageF(playa, COLOR_RED, "Admin %s kickou você pode ping alto.", NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você fez %s ser kickado por ping alto.", NameEx(playa));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Ping Kick Exemption set to 1");
- }
- return true;
- }
- CMD:msgall(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new caption[30], message[200], button1[20], button2[20];
- if(sscanf(params, "s[30]s[20]s[20]s[200]", caption, button1, button2, message)) return SysMsg(playerid, "Use: /msgall [Legenda] [button1] [button2] [mensagem]");
- foreach(new i: Player) if(Logged{i}) Dialog_Show(i, DIALOG_NONE, DIALOG_STYLE_MSGBOX, caption, message, button1, button2);
- return true;
- }
- CMD:playsound(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new towho[20], playa, soundid;
- if(sscanf(params, "s[20]i", towho, soundid)) return SysMsg(playerid, "Use: /playsound [playerid/name] [sound id]");
- if(strcmp("all", towho, true) == 0)
- {
- foreach(new i: Player) PlayerPlaySound(i, soundid, 0.0, 0.0, 0.0);
- }
- else
- {
- if(!IsNumeric(towho)) playa = GetPlayerID(playerid, towho); else playa = strval(towho);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- PlayerPlaySound(playa, soundid, 0.0, 0.0, 0.0);
- }
- return true;
- }
- CMD:aboombox(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 1))
- {
- new option[12], playa = -1;
- if(sscanf(params, "s[64]I(-1)", option, playa)) return SysMsg(playerid, "Use: /aboombox [ban / delete] [Optional: ID]");
- if(playa == -1)
- {
- foreach(new p: Player)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, Boomboxes[p][BoomPos][0], Boomboxes[p][BoomPos][1], Boomboxes[p][BoomPos][2]))
- {
- if(strmatch(option, "delete"))
- {
- SetPVarInt(playerid, "bbID", p);
- format(gstr, sizeof(gstr), "Tem certeza que deseja deletar a boombox de %s ?", NameRP(p));
- return Dialog_Show(playerid, BoomboxDelete, DIALOG_STYLE_MSGBOX, "Boombox Menu", gstr, "Sim", "Cancelar");
- }
- else if(strmatch(option, "ban"))
- {
- SetPVarInt(playerid, "bbID", p);
- format(gstr, sizeof(gstr), "Tem certeza que deseja banir a boombox de %s, ele não podera usar mais boombox ?", NameRP(p));
- return Dialog_Show(playerid, BoomboxBan, DIALOG_STYLE_MSGBOX, "Boombox Menu", gstr, "Sim", "Cancelar");
- }
- }
- }
- return SysMsg(playerid, "Nenhuma boombox encontrada, use /aboombox [playerid].");
- }
- else if(IsPlayerConnected(playa))
- {
- if(strmatch(option, "delete"))
- {
- if(Boomboxes[playa][BoomOID] == SQLID[playa])
- {
- SetPVarInt(playerid, "bbID", playa);
- format(gstr, sizeof(gstr), "Tem certeza que deseja deletar a boombox de %s ?", NameRP(playa));
- return Dialog_Show(playerid, BoomboxDelete, DIALOG_STYLE_MSGBOX, "Boombox Menu", gstr, "Sim", "Cancelar");
- }
- else return SysMsg(playerid, "Esse jogador não possui boombox ativo.");
- }
- else if(strmatch(option, "ban"))
- {
- SetPVarInt(playerid, "bbID", playa);
- format(gstr, sizeof(gstr), "Tem certeza que deseja banir a boombox de %s, ele não podera usar mais boombox ?", NameRP(playa));
- return Dialog_Show(playerid, BoomboxBan, DIALOG_STYLE_MSGBOX, "Boombox Menu", gstr, "Sim", "Cancelar");
- }
- }
- else return SysMsg(playerid, NOPLAYER);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:bmxban(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 1))
- {
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /bmxban [playerID ou name]");
- if(!IsNumeric(params)) return SysMsg(playerid,"Você deve inserir uma identificação de jogador.");
- if(BMXBanned[playa] == 1) return SysMsg(playerid, "O privilégio de bicicleta desse jogador já foi removido.");
- if(playerid == playa) return SysMsg(playerid, "Você não pode usar esse comando em si mesmo.");
- if(IsPlayerAdminLevelOK(playa, 1)) return SysMsg(playerid, "Você não pode usar esse comando em outro administradores.");
- SysMsgF(playa, "Administrator %s removeu sua permissão de usar Bmx.", NameEx(playerid));
- SysMsgF(playerid, "Você removeu a permissão de %s de usar Bmx.", NameEx(playa));
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET BMXBanned = 1 WHERE id = %i", MasterAccount[playerid]);
- mysql_pquery(conn, mquery);
- BMXBanned[playa] = 1;
- }
- return true;
- }
- CMD:playmusic(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- new towho[24], playa, musicLink[200];
- if(sscanf(params, "s[24]s[200]", towho, musicLink)) return SysMsg(playerid, "Use: /playmusic (for) [[playerid/name]/todos/admins] [link/stop]");
- if(strcmp(musicLink, "stop") == 0)
- {
- if(strcmp("todos", towho, true) == 0)
- {
- foreach(new i: Player) if(Logged{i}) StopAudioStreamForPlayer(i);
- }
- else if(strcmp("admins", towho, true) == 0)
- {
- foreach(new i: Player) if(IsPlayerAdminLevelOK(i, 1)) StopAudioStreamForPlayer(i);
- }
- else
- {
- if(!IsNumeric(towho)) playa = GetPlayerID(playerid, towho); else playa = strval(towho);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- StopAudioStreamForPlayer(playa);
- }
- }
- else
- {
- if(strcmp("todos", towho, true) == 0)
- {
- foreach(new i: Player)
- {
- if(Logged{i})
- {
- StopAudioStreamForPlayer(i);
- PlayAudioStreamForPlayerEx(i, musicLink);
- SendClientMessageF(i, COLOR_RED, "DJ %s esta tocando algumas musicas.", GetPlayersFirstName(playerid));
- ListeningBoom[i] = -1;
- }
- }
- }
- else if(strcmp("admins", towho, true) == 0)
- {
- foreach(new i: Player)
- {
- if(IsPlayerAdminLevelOK(i, 1))
- {
- StopAudioStreamForPlayer(i);
- PlayAudioStreamForPlayerEx(i, musicLink);
- SendClientMessageF(i, COLOR_RED, "DJ %s esta tocando algumas musicas.", GetPlayersFirstName(playerid));
- ListeningBoom[i] = -1;
- }
- }
- }
- else
- {
- if(!IsNumeric(towho)) playa = GetPlayerID(playerid, towho);
- else playa = strval(towho);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- PlayAudioStreamForPlayerEx(playa, musicLink);
- SendClientMessageF(playa, COLOR_RED, "DJ %s esta tocando algumsa musicas.", GetPlayersFirstName(playerid));
- }
- }
- return true;
- }
- CMD:ahangout(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- SetPlayerPos(playerid, 1452.110717, -1059.402343, 213.411880);
- SetPlayerFacingAngle(playerid, 0.0);
- SetPlayerVirtualWorldEx(playerid, 1337);
- SetPlayerInterior(playerid, 0);
- SendClientMessage(playerid, COLOR_BLUEGREEN, "Bem-vindo ao admin Lounge!");
- return true;
- }
- CMD:msgp(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, caption[30], message[200], button1[20], button2[20];
- if(sscanf(params, "us[30]s[20]s[20]s[200]", playa, caption, button1, button2, message)) return SysMsg(playerid, "Use: /msgp [playerid/name] [caption] [button1] [button2] [mensagem]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- Dialog_Show(playa, DIALOG_NONE, DIALOG_STYLE_MSGBOX, caption, message, button1, button2);
- return true;
- }
- CMD:maths(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new Number1, Number2, chara[2];
- if(sscanf(params, "is[2]i", Number1, chara, Number2)) return SysMsg(playerid,"Use: /maths [número 1] [operator '+' or '-'] [número 2]");
- if(strcmp(chara, "+", true) == 0)
- {
- format(gstr, sizeof(gstr), "Questão: O que é %i + %i ? Use /responder.", Number1, Number2);
- SendClientMessageToAllLogged(COLOR_LIGHTRED, gstr);
- MathsStarted = 1;
- MathsAnswer = Number1 + Number2;
- }
- else if(strcmp(chara, "-", true) == 0)
- {
- format(gstr, sizeof(gstr), "Questão: O que é %i - %i ? Use /responder.", Number1, Number2);
- SendClientMessageToAllLogged(COLOR_LIGHTRED, gstr);
- MathsStarted = 1;
- MathsAnswer = Number1 - Number2;
- }
- return true;
- }
- CMD:iniciarevento(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(EventOpen == 1) return SysMsg(playerid,"Já existe um evento.");
- if(isnull(params)) return SysMsg(playerid, "Use: /iniciarevento [Nome do envento]");
- new Float:EventPos[3];
- new Int, VW;
- GetPlayerPos(playerid, EventPos[0], EventPos[1], EventPos[2]);
- Int = GetPlayerInterior(playerid);
- VW = GetPlayerVirtualWorld(playerid);
- EventData[EventX] = EventPos[0];
- EventData[EventY] = EventPos[1];
- EventData[EventZ] = EventPos[2];
- EventData[EventInterior] = Int;
- EventData[EventVW] = VW;
- format(EventData[EventName], 50, params);
- EventOpen = 1;
- format(gstr, sizeof(gstr), "%s iniciou um evento, use /entrarevento para entrar! [Descrição: %s]", NameEx(playerid), params);
- SendClientMessageToAllLogged(COLOR_PINK, gstr);
- format(gstr, sizeof(gstr), "Evento iniciado: %s", params);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- CMD:pararevento(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);//pararevento
- if(EventOpen == 0) return SysMsg(playerid,"Não há evento que ocorrendo.");
- EventData[EventX] = 0.0;
- EventData[EventY] = 0.0;
- EventData[EventZ] = 0.0;
- EventData[EventInterior] = 0;
- EventData[EventVW] = 0;
- format(EventData[EventName], 50, " ");
- EventOpen = 0;
- format(gstr, sizeof(gstr), "%s finalizou o evento. É tarde demais para se juntar.", NameEx(playerid));
- SendClientMessageToAllLogged(COLOR_PINK, gstr);
- AdminLog(playerid, 0, "", "Closed an event");
- return true;
- }
- CMD:bone(playerid, params[])
- {
- if(!Logged{playerid} || !IsPlayerAdmin(playerid)) return true;
- new objectid, boneid, index, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:sX = 1, Float:sY = 1, Float:sZ = 1;
- if(sscanf(params, "iiiF(0)F(0)F(0)F(0)F(0)F(0)F(1)F(1)F(1)", objectid, boneid, index, X, Y, Z, rX, rY, rZ, sX, sY, sZ)) return SysMsg(playerid,"Use: /bone [object] [bone] [index] [Float:X] [Float:Y] [Float:Z] [Float:rX] [Float:rY] [Float:rZ] [Float:sX] [Float:sY] [Float:sZ]");
- SetPlayerAttachedObject(playerid, index, objectid, boneid, X, Y, Z, rX, rY, rZ, sX, sY, sZ);
- return true;
- }
- CMD:vobj(playerid, params[])
- {
- if(!Logged{playerid} || !IsPlayerAdmin(playerid) || !IsPlayerInAnyVehicle(playerid)) return true;
- new objectid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, vehicleid = GetPlayerVehicleID(playerid);
- if(sscanf(params, "iF(0)F(0)F(0)F(0)F(0)F(0)", objectid, X, Y, Z, rX, rY, rZ)) return SysMsg(playerid,"Use: /vobj [object] [Float:X] [Float:Y] [Float:Z] [Float:rX] [Float:rY] [Float:rZ]");
- if(VehObject[vehicleid] != INVALID_OBJECT_ID)
- {
- DestroyDynamicObjectEx(VehObject[vehicleid], "VehObject[vehicleid] 1");
- VehObject[vehicleid] = INVALID_OBJECT_ID;
- }
- VehObject[vehicleid] = CreateVehicleObject(objectid, vehicleid, X, Y, Z, rX, rY, rZ);
- return true;
- }
- CMD:delvobj(playerid, params[])
- {
- if(!Logged{playerid} || !IsPlayerAdmin(playerid) || GetPlayerVehicleID(playerid) < 1) return true;
- new Vehicleid = GetPlayerVehicleID(playerid);
- if(VehObject[Vehicleid] != INVALID_OBJECT_ID)
- {
- DestroyDynamicObjectEx(VehObject[Vehicleid], "VehObject[vehicleid] 2");
- VehObject[Vehicleid] = INVALID_OBJECT_ID;
- }
- return true;
- }
- CMD:mute(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, minutes;
- if(sscanf(params, "ui", playa, minutes)) return SysMsg(playerid,"Use: /mute [ID ou nome do jogador] [time in minutes]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(Muted[playa] > 0) return SysMsg(playerid,"Esse jogador já está silenciado.");
- if(minutes < 1 || minutes > 60) return SysMsg(playerid,"Os minutos só podem ser de 1 a 60 minutos");
- Muted[playa] = minutes;
- MySQLUpdateInt(SQLID[playa], "Muted", Muted[playa], "players");
- SysMsgF(playerid,"Você silenciou %s por %i minutos.",NameEx(playa), minutes);
- SysMsgF(playa, "Você foi silenciado por %s por %i minutos. Você não pode falar.",NameEx(playerid),minutes);
- format(gstr, sizeof(gstr), "Silenciado por %i min", minutes);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- AddToAdminRecord(SQLID[playa], SQLID[playerid], ADMIN_RECORD_TYPE_MUTE, minutes, "");
- return true;
- }
- CMD:unmute(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /unmute [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(Muted[playa] == 0) return SysMsg(playerid,"Esse player não está silenciado.");
- Muted[playa] = 0;
- MySQLUpdateInt(SQLID[playa], "Muted", Muted[playa], "players");
- SysMsgF(playerid, "Você desmulto %s",NameEx(playa));
- SysMsgF(playa, "Você foi desmutado por %s. Agora você pode falar.",NameEx(playerid));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Unmuted");
- return true;
- }
- CMD:doocmute(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, minutes;
- if(sscanf(params, "ui", playa, minutes)) return SysMsg(playerid,"Use: /doocmute [ID ou nome do jogador] [time in minutes]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(playa == playerid) return SysMsg(playerid, "Você não pode usar esse comando em si mesmo.");
- if(IsPlayerAdminLevelOK(playa, 1)) return SysMsg(playerid, "Você não pode usar esse comando em outro admin.");
- if(DOOCMuted[playa] > 0) return SysMsg(playerid,"Este jogador já está desmutado.");
- if(minutes < 1 || minutes > 60) return SysMsg(playerid,"Os minutos só podem ser de 1 a 60 minutos");
- DOOCMuted[playa] = minutes;
- MySQLUpdateInt(SQLID[playa], "DOOCMuted", DOOCMuted[playa], "players");
- SysMsgF(playerid,"Você foi mutado por %s por %i minutos do DOOC.",NameEx(playa), minutes);
- SysMsgF(playa,"Você foi silenciado do DOOC por %i minutos por %s",minutes, NameEx(playerid));
- format(gstr, sizeof(gstr), "Mutado por %i min", minutes);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- AddToAdminRecord(SQLID[playa], SQLID[playerid], ADMIN_RECORD_TYPE_MUTE, minutes, "");
- return true;
- }
- CMD:doocunmute(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /doocunmute [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(DOOCMuted[playa] == 0) return SysMsg(playerid,"O jogador já não está desmutado.");
- DOOCMuted[playa] = 0;
- MySQLUpdateInt(SQLID[playa], "DOOCMuted", DOOCMuted[playa], "players");
- SysMsgF(playerid, "Você desmutou %s do DOOC.",NameEx(playa));
- SysMsgF(playa, "Você não foi mutado de DOOC.",NameEx(playerid));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Unmuted");
- return true;
- }
- CMD:mutes(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new sub[100], count;
- gstr[0] = EOS;
- foreach(new i: Player)
- {
- if(Logged{i})
- {
- if(Muted[i] > 0)
- {
- format(sub, 100, "%s(ID %i) Global silenciado por %i minutos\n", NameEx(i), i, Muted[i]);
- strcat(gstr, sub);
- count ++;
- }
- }
- }
- if(count == 0) return SysMsg(playerid,"Ninguém está mudo agora.");
- ShowMessage(playerid, "Lista de mudos", gstr, "Pronto");
- return true;
- }
- CMD:ipcheck(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /ipcheck [IP]");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT Name FROM players WHERE IP='%e' OR RecentIP='%e'", params, params);
- mysql_pquery(conn, mquery, "checkIP", "ds", playerid, params);
- return true;
- }
- CMD:clientid(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /clientid [playerID ou name]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(!strlen(PlayerSerial[playa])) return SysMsg(playerid, "Nenhum serial encontrado para este jogador.");
- SendClientMessageF(playerid, COLOR_WHITE, "Serial do jogo para %s: %s.", NameEx(playa), PlayerSerial[playa]);
- SendSplitMessage(playerid, COLOR_WHITE, "Nota: As séries de jogos não são um identificador único de 100 porcento para um jogador, portanto, não os use como evidências concretas contra uma suspeita de evasão de proibição.");
- return true;
- }
- CMD:serialcheck(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /clientid [playerID ou name]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(!strlen(PlayerSerial[playa])) return SysMsg(playerid, "Nenhuma série encontrada para este jogador.");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT Name FROM players WHERE RecentSerial = '%e'", PlayerSerial[playa]);
- mysql_pquery(conn, mquery, "CheckSerial", "ds", playerid, PlayerSerial[playa]);
- return true;
- }
- CMD:darxp(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, xp;
- if(sscanf(params, "ui", playa, xp)) return SysMsg(playerid,"Use: /darxp [ID ou nome do jogador] [Quantidade]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(xp < 1 || xp > 2500) return SysMsg(playerid,"Quantidade de XP inválida! (Deve estar entre 1 e 2500)");
- PlayerXP[playa] += xp;
- MySQLUpdateInt(SQLID[playa], "PlayerXP", PlayerXP[playa], "players");
- SendClientMessageF(playa, COLOR_GREEN, "Admin %s te deu %i Pontos de experiência",NameEx(playerid),xp);
- SendClientMessageF(playerid, COLOR_GREEN, "Você deu a %s %i Pontos de experiência",NameEx(playa),xp);
- format(gstr, sizeof(gstr), "Deu %i XP points", xp);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- CMD:mudartelefone(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, newnumber;
- if(sscanf(params, "ui", playa, newnumber)) return SysMsg(playerid,"Use: /mudartelefone [ID ou Nome] [Novo número]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(newnumber < 1000000 || newnumber > 9999999) return SysMsg(playerid,"Número inválido. (Deve estar entre 1000000 e 9999999)");
- if(IsPhoneNumberUsed(newnumber) > 0) return SysMsg(playerid,"Número inválido. (Já em uso)");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE phonecontacts SET PhoneNumber = %i WHERE PhoneNumber = %i", newnumber, PhoneData[playa][pNumber]);
- mysql_pquery(conn, mquery);
- PhoneData[playa][pNumber] = newnumber;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE phones SET PhoneNumber = %i WHERE id = %i", PhoneData[playa][pNumber], PhoneData[playa][pID]);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playa, COLOR_GREEN, "Admin %s definiu seu número para %i.", NameEx(playerid), newnumber);
- SendClientMessageF(playerid, COLOR_GREEN, "Você definiu o número de %s para %i.", NameEx(playa) ,newnumber);
- format(gstr, sizeof(gstr), "Mudou o número de telefone para %i", newnumber);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- CMD:freeze(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 1) || IsHelper{playerid})
- {
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /freeze [ID ou nome do jogador]");
- if(!IsPlayerAdminLevelOK(playerid, 1) && IsHelper{playerid} && IsAssisting[playerid] != playa) return SysMsg(playerid, "You can't use this command on someone you aren't assisting.");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- TogglePlayerControllable(playa, false);
- IsFrozen[playa] = 1;
- if(IsPlayerAdminLevelOK(playerid, 1)) SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s froze you.",NameEx(playerid));
- else if(IsHelper{playerid}) SendClientMessageF(playa, COLOR_LIGHTGREEN, "Helper %s froze you.",NameEx(playerid));
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "You froze %s",NameEx(playa));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Froze player");
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:unfreeze(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 1) || IsHelper{playerid})
- {
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /unfreeze [ID ou nome do jogador]");
- if(!IsPlayerAdminLevelOK(playerid, 1) && IsHelper{playerid} && IsAssisting[playerid] != playa) return SysMsg(playerid, "You can't use this command on someone you aren't assisting.");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- TogglePlayerControllable(playa, true);
- IsFrozen[playa] = 0;
- if(IsPlayerAdminLevelOK(playerid, 1)) format(gstr, sizeof(gstr),"Admin %s unfroze you.",NameEx(playerid));
- else if(IsHelper{playerid}) format(gstr, sizeof(gstr),"Helper %s unfroze you.",NameEx(playerid));
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"You unfroze %s",NameEx(playa));
- SendClientMessage(playerid, COLOR_LIGHTGREEN, gstr);
- AdminLog(playerid, SQLID[playa], GetName(playa), "Unfroze player");
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:ajail(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /ajail [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- InitiateAdminJail(playerid, playa);
- return true;
- }
- CMD:ujail(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /ujail [ID ou nome do jogador]");
- if(InvalidPlayer(playa) || !Logged{playa}) return SysMsg(playerid,"Esse jogador não está conectado e logado.");
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(AdminJailData[playa][0] == 0) return SysMsg(playerid,"Este jogador não está em prisão administrativa.");
- AUnJailPlayer(playa);
- MySQLUpdateInt(SQLID[playa], "AdminJailTime", 0, "players");
- format(gstr, sizeof(gstr), "Admin %s removeu você da prisão administrativa.", NameEx(playerid));
- SendClientMessage(playa, COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "[Admin] %s removeu %s da prisão administrativa.", NameEx(playerid), NameEx(playa));
- AdminBroadcast(gstr, 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), "Removido da admin jail");
- return true;
- }
- CMD:gmx(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- new mins, reason[64];
- if(sscanf(params, "iS()[64]", mins, reason)) return SysMsg(playerid,"Use: /gmx [cronograma 0-10 minutos] [Optional: Breve razão] *Pode ser cancelado com /cancelgmx*");
- if(mins < 0 || mins > 10) return SysMsg(playerid, "Tempo inválido! (0-10)");
- if(mins == 0)
- {
- if(isnull(reason)) format(reason, sizeof(reason), "Não especificado");
- format(gstr, sizeof(gstr), "~n~~n~~n~~n~~n~~n~~b~~h~server reiniciado por~n~~w~%s", NameEx(playerid));
- GameTextForAll(gstr, 12000, 3);
- AdminLog(playerid, 0, "", "Imediato GMX");
- foreach(new i: Player)
- {
- SetPlayerName(i, MasterAccountName[i]);
- }
- SetTimer("DelayedGameModeExit", 1000, false);
- return true;
- }
- MinutesUntilGMX = mins;
- SendClientMessageToAllF(COLOR_GOLD, "* Admin %s agendou um reinício do servidor em %i minuto(s)", NameEx(playerid), mins);
- //IRC_SayF(IRCBot, IRC_CHANNEL, "7* Admin %s has scheduled a server restart in %i minute(s)", NameEx(playerid), mins);
- //IRC_SayF(IRCBot, IRC_ADMIN_CHANNEL, "7* Admin %s has scheduled a server restart in %i minute(s)", NameEx(playerid), mins);
- if(strlen(reason) > 1)
- {
- SendClientMessageToAllF(COLOR_GOLD, "* Razão: %s", reason);
- //IRC_SayF(IRCBot, IRC_CHANNEL, "7* Reason: %s", reason);
- //IRC_SayF(IRCBot, IRC_ADMIN_CHANNEL, "7* Reason: %s", reason);
- }
- format(gstr, sizeof(gstr), "~n~~n~~n~~b~~h~REINICIO DO SERVE~w~ em ~g~~h~%i MINUTOS", mins);
- GameTextForAll(gstr, 10000, 3);
- format(gstr, sizeof(gstr), "GMX agendado em %i min", mins);
- AdminLog(playerid, 0, "", gstr);
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:cancelgmx(playerid, params[])
- {
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- if(MinutesUntilGMX == 0) return SysMsg(playerid,"No GMX scheduled.");
- MinutesUntilGMX = 0;
- SendClientMessageToAllF(COLOR_GOLD,"* Admin %s cancelou o reinício do servidor.",NameEx(playerid));
- AdminLog(playerid, 0, "", "GMX Cancelado");
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:jp(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params))
- {
- if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
- else SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
- return true;
- }
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /jp [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!IsPlayerAdminLevelOK(playa,1)) return SysMsg(playerid,"Este jogador não pode usar um Jet pack.");
- if(GetPlayerSpecialAction(playa) == SPECIAL_ACTION_USEJETPACK)
- {
- SetPlayerSpecialAction(playa, SPECIAL_ACTION_NONE);
- SendClientMessageF(playa, COLOR_GREEN, "Admin %s removeu seu Jet Pack.",NameEx(playerid));
- SendClientMessageF(playerid, COLOR_GREEN, "Removeu o Jet Pack de %s",NameEx(playa));
- }
- else
- {
- SetPlayerSpecialAction(playa,SPECIAL_ACTION_USEJETPACK);
- SendClientMessageF(playa, COLOR_GREEN, "Admin %s te deu um Jet Pack",NameEx(playerid));
- SendClientMessageF(playerid, COLOR_GREEN, "Você deu a %s um Jet Pack",NameEx(playa));
- }
- return true;
- }
- CMD:savecp(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new Float:pX, Float:pY, Float:pZ;
- GetPlayerPos(playerid, pX, pY, pZ);
- format(gstr, sizeof(gstr), "{%f, %f, %f} //%s", pX, pY, pZ, params);
- AddToLog("savedpos", gstr);
- SysMsg(playerid, "> Posição de Ponto de Verificação Salvo para Arquivo (Checkpoint).");
- return true;
- }
- CMD:apayday(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new towho[20];
- if(sscanf(params, "s[24]", towho)) return SysMsg(playerid,"Use: /pagarday [ID ou nome do jogador / Todos]");
- if(strcmp("todos", towho, true) == 0)
- {
- foreach(new i: Player)
- {
- if(Logged{i}) PayDay(i);
- }
- format(gstr, sizeof(gstr),"Todos receberam um Payday pelo Admin %s.",NameEx(playerid));
- SendClientMessageToAllLogged(COLOR_RED,gstr);
- AdminLog(playerid, 0, "", "Deu payday a todos");
- }
- else
- {
- new playa = -1;
- if(!IsNumeric(towho)) playa = GetPlayerID(playerid, towho); else playa = strval(towho);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(!Logged{playa}) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- PayDay(playa);
- format(gstr, sizeof(gstr),"Admin %s te deu um Payday.",NameEx(playerid));
- SendClientMessage(playa,COLOR_RED,gstr);
- format(gstr, sizeof(gstr),"Você deu a %s um Payday.",NameEx(playa));
- SendClientMessage(playerid,COLOR_RED,gstr);
- AdminLog(playerid, SQLID[playa], GetName(playa), "Deu um Payday");
- }
- return true;
- }
- CMD:freezeall(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new PsFrozen = 0;
- foreach(new i: Player)
- {
- if(Logged{i})
- {
- TogglePlayerControllable(i,false);
- PsFrozen ++;
- }
- }
- format(gstr, sizeof(gstr),"Everyone(%i) Has Been Frozen By Admin %s.",PsFrozen,NameEx(playerid));
- SendClientMessageToAllLogged(COLOR_RED,gstr);
- AdminLog(playerid, 0, "", "Congelou todos");
- return true;
- }
- CMD:unfreezeall(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new PsunFrozen = 0;
- foreach(new i: Player)
- {
- if(Logged{i})
- {
- TogglePlayerControllable(i,true);
- PsunFrozen ++;
- }
- }
- format(gstr, sizeof(gstr),"Everyone(%i) Has Been Un-Frozen By Admin %s.",PsunFrozen,NameEx(playerid));
- SendClientMessageToAllLogged(COLOR_RED,gstr);
- AdminLog(playerid, 0, "", "Descongelou todos");
- return true;
- }
- CMD:slap(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /slap [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Aguarde o jogador sair da cadeia.");
- if(IsCuffed[playa] == 1) return SysMsg(playerid,"Aguarde até que esse jogador seje desalgemado.");
- new vehicleid = GetPlayerVehicleID(playa);
- if(vehicleid == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- GetPlayerPos(playa,pX,pY,pZ);
- SetPlayerPos(playa,pX,pY,(pZ+5.0));
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //SendClientMessageF(playa, COLOR_LIGHTBLUE, "Admin %s has slapped you!",NameEx(playerid));
- }
- else
- {
- new Float:vX,Float:vY,Float:vZ;
- GetVehicleVelocity(vehicleid,vX,vY,vZ);
- SetVehicleVelocity(vehicleid,vX,vY,vZ+0.25);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //SendClientMessageF(playa, COLOR_LIGHTBLUE, "Admin %s has slapped your vehicle!",NameEx(playerid));
- }
- return true;
- }
- CMD:slapdown(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /slapdown [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Aguarde o jogador sair da cadeia.");
- if(IsCuffed[playa] == 1) return SysMsg(playerid,"Aguarde até que esse jogador seje desalgemado.");
- new vehicleid = GetPlayerVehicleID(playa);
- if(vehicleid == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- GetPlayerPos(playa,pX,pY,pZ);
- SetPlayerPos(playa,pX,pY,(pZ-1.0));
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //format(gstr, sizeof(gstr),"Admin %s has slapped you!",NameEx(playerid));
- //SendClientMessage(playa,COLOR_LIGHTBLUE,gstr);
- }
- else
- {
- new Float:vX,Float:vY,Float:vZ;
- GetVehicleVelocity(vehicleid,vX,vY,vZ);
- SetVehicleVelocity(vehicleid,vX,vY,vZ-0.25);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- // format(gstr, sizeof(gstr),"Admin %s has slapped your vehicle!",NameEx(playerid));
- //SendClientMessage(playa,COLOR_LIGHTBLUE,gstr);
- }
- return true;
- }
- CMD:doubleslap(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /doubleslap [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Aguarde o jogador sair da cadeia.");
- if(IsCuffed[playa] == 1) return SysMsg(playerid,"Aguarde até que esse jogador seje desalgemado.");
- new vehicleid = GetPlayerVehicleID(playa);
- if(vehicleid == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- GetPlayerPos(playa,pX,pY,pZ);
- SetPlayerPos(playa,pX,pY,(pZ+10.0));
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //format(gstr, sizeof(gstr),"Admin %s has double-slapped you!",NameEx(playerid));
- // SendClientMessage(playa,COLOR_LIGHTBLUE,gstr);
- }
- else
- {
- new Float:vX,Float:vY,Float:vZ;
- GetVehicleVelocity(vehicleid,vX,vY,vZ);
- SetVehicleVelocity(vehicleid,vX,vY,vZ+0.75);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //format(gstr, sizeof(gstr),"Admin %s tem duplo-sleep em seu veículo!",NameEx(playerid));
- SendClientMessage(playa,COLOR_LIGHTBLUE,gstr);
- }
- return true;
- }
- CMD:uberslap(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /uberslap [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Aguarde o jogador sair da cadeia.");
- if(IsCuffed[playa] == 1) return SysMsg(playerid,"Aguarde até que esse jogador seje desalgemado.");
- new vehicleid = GetPlayerVehicleID(playa);
- if(vehicleid == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- GetPlayerPos(playa,pX,pY,pZ);
- SetPlayerPos(playa,pX,pY,(pZ+30.0));
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //format(gstr, sizeof(gstr),"Admin %s has uber-slapped you!",NameEx(playerid));
- SendClientMessage(playa,COLOR_LIGHTBLUE,gstr);
- }
- else
- {
- new Float:vX,Float:vY,Float:vZ;
- GetVehicleVelocity(vehicleid,vX,vY,vZ);
- SetVehicleVelocity(vehicleid,vX,vY,vZ+5.0);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- PlayerPlaySound(playa, SOUND_SLAP, 0,0,0);
- //format(gstr, sizeof(gstr),"Admin %s has uber-slapped your vehicle!",NameEx(playerid));
- SendClientMessage(playa,COLOR_LIGHTBLUE,gstr);
- }
- return true;
- }
- CMD:queimadinheiro(playerid, params[])//parei aqui
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /queimadinheiro [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- BurningMoney[playa] = 1;
- SendClientMessageF(playa, COLOR_YELLOW, "Admin %s Agora está queimando seu dinheiro! MWAHAHAHAHA!", NameEx(playerid));
- SendClientMessageF(playerid, COLOR_YELLOW, "Você está queimando o dinheiro de %s.", NameEx(playa));
- return true;
- }
- CMD:stopqueimardinheiro(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /stopqueimardinheiro [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(BurningMoney[playa] == 0) return SysMsg(playerid,"Players money is not burning.");
- BurningMoney[playa] = 0;
- format(gstr, sizeof(gstr), "Admin %s parou de queimar seu dinheiro!", NameEx(playerid));
- SendClientMessage(playa, COLOR_YELLOW, gstr);
- format(gstr, sizeof(gstr), "Você parou de queimar o dinheiro de %s.", NameEx(playa));
- SendClientMessage(playerid, COLOR_YELLOW, gstr);
- return true;
- }
- CMD:setmin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /setmin [Minute]");
- if(!IsNumeric(params)) return SysMsg(playerid,"O minuto deve ser um número.");
- new Minute = strval(params);
- if(Minute < 0 || Minute > 59) return SysMsg(playerid,"O minuto foi inválido (0 to 59)");
- if(Minute == gServerMinute) return SysMsg(playerid,"Minute já está configurado para isso.");
- gServerMinute = Minute;
- format(gstr, sizeof(gstr),"[Admin] %s mudou o minuto para %i.",NameEx(playerid),Minute);
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Minuto modificado para %i", Minute);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- CMD:setgravity(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new Float:Grav;
- if(sscanf(params, "f", Grav)) return SysMsg(playerid,"Use: /setgravity [Float:Value]");
- SetGravity(Grav);
- format(gstr, sizeof(gstr),"Admin %s mudou a gravidade para %.6f.",NameEx(playerid),Grav);
- SendClientMessageToAllLogged(COLOR_LIGHTBLUE,gstr);
- format(gstr, sizeof(gstr), "Mudou a gravidade para %.6f", Grav);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- CMD:xyz(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && !IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new Float:X, Float:Y, Float:Z;
- if(sscanf(params, "fff", X, Y, Z)) return SysMsg(playerid,"Use: /xyz [Float:X] [Float:Y] [Float:Z]");
- SetPlayerPos(playerid, X, Y, Z);
- return true;
- }
- CMD:tc(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SysMsgF(playerid, "Contagem de tiques = %i", GetTickCount());
- return true;
- }
- CMD:setserversenha(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /setserversenha [senha]");
- format(gstr, sizeof(gstr),"senha %s",params);
- SendRconCommand(gstr);
- SysMsgF(playerid, "Nova senha do servidor: %s.",params);
- AdminLog(playerid, 0, "", "Mudou a senha do servidor");
- return true;
- }
- CMD:saction(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new vehicleid = GetPlayerVehicleID(playerid);
- if(vehicleid > 0) return SysMsg(playerid,"Você não deve estar em um veículo.");
- if(isnull(params)) return SysMsg(playerid,"Use: /saction [id]");
- if(!IsNumeric(params)) return SysMsg(playerid,"ID deve ser um número.");
- SetPlayerSpecialAction(playerid, strval(params));
- return true;
- }
- CMD:anim(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- new lib[30], aname[30];
- if(sscanf(params, "s[30]s[30]", lib, aname)) return SysMsg(playerid,"Use: /anim [library] [nome]");
- OnePlayAnim(playerid, lib, aname, 3.5, 1, 0, 0, 0, 0);
- return true;
- }
- CMD:tooc(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(ToggleOOC == 0)
- {
- ToggleOOC = 1;
- SendClientMessageToAllLogged(COLOR_WHITE, "Global OOC chat ativada por um administrador.");
- AdminLog(playerid, 0, "", "Ativado global OOC");
- }
- else
- {
- ToggleOOC = 0;
- SendClientMessageToAllLogged(COLOR_WHITE, "Global OOC Chat Desabilitado por um administrador.");
- AdminLog(playerid, 0, "", "Desativado global OOC");
- }
- return true;
- }
- CMD:tbc(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(ToggleBC == 0)
- {
- ToggleBC = 1;
- AdminBroadcast("[Admin] Broadcasting Ativado por um administrador.", 1);
- AdminLog(playerid, 0, "", "Ativado broadcasts");
- }
- else
- {
- ToggleBC = 0;
- AdminBroadcast("[Admin] Broadcasting Desabilitado por um administrador.", 1);
- AdminLog(playerid, 0, "", "Desativado broadcasts");
- }
- return true;
- }
- CMD:reloadfcars(playerid, params[])//regarregar veiculos de facção refreshfcars
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- new fid;
- if(sscanf(params, "i", fid)) return SysMsg(playerid, "Use: /refreshfcars [facção ID]");
- if(fid <= 0 || fid > MAX_FACTIONS-1) return SysMsg(playerid,"Número de facção inválido (check /fids)");
- for(new v = 1, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(FVehicleData[v][FVFaction] == fid)
- {
- DestroyVehicleEx(v, "v 2");
- ClearVehicleData(v);
- }
- }
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM fveh WHERE Faction = %i", fid);
- mysql_pquery(conn, mquery, "LoadFactionVehicles");
- foreach(new i: Player)
- {
- if(IsPlayerAdminLevelOK(i, 1) || Faction[i] == fid)
- {
- SendClientMessageF(i, COLOR_RED, "Admin %s atualizou os veículos das facções de %s", NameEx(playerid), FACTIONS[fid][FactionName]);
- }
- }
- return true;
- }
- CMD:respawnvf (playerid, params[]) //respawnar veiculo de facção
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- new vehicle[10], option[10];
- if(sscanf(params, "s[10]S(-1)[10]", vehicle, option)) return SysMsg(playerid,"Use: /respawnvf [Veiculo ID ou Todos] [ID de facção se respawning todos]");
- if(strcmp("all", vehicle, true) == 0 && strcmp("todos", option, true) == 0)
- {
- for(new v = 1, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(IsVehicleSpawned(v) && FVehicleData[v][FVFaction] != 0)
- {
- if(VehicleBeingTowed(v)) continue;
- if(VehicleIsOccupied(v)) continue;
- RespawnFactionCar(v);
- }
- }
- SendClientMessageToAllLoggedF(COLOR_RED, "Admin %s respawnou TODOS os veículos de facção desocupados.", NameEx(playerid));
- }
- else if(strcmp("todos", vehicle, true) == 0)
- {
- if(strcmp(option, "-1", true) == 0 || !IsNumeric(option)) return SysMsg(playerid,"Use: /respawnvf todos [facção id]");
- new fid = strval(option);
- if(fid <= 0 || fid > MAX_FACTIONS-1) return SysMsg(playerid,"Número de facção inválido (check /fids)");
- new vcount = 0, tcount = 0;
- for(new v = 1, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(IsVehicleSpawned(v) && FVehicleData[v][FVFaction] == fid && !FVehicleData[v][FImpounded])
- {
- tcount ++;
- if(VehicleBeingTowed(v)) continue;
- if(VehicleIsOccupied(v)) continue;
- vcount ++;
- RespawnFactionCar(v);
- }
- }
- foreach(new i: Player) if(Logged{i} && Faction[i] == fid || playerid == i) SendClientMessageF(i, COLOR_ORANGE, "[Mensagem de facção] %s respawnou %i veiculos da facção %i.", NameEx(playerid), vcount, tcount);
- }
- else
- {
- new v = strval(vehicle);
- if(IsVehicleSpawned(v) && FVehicleData[v][FVFaction] >= 1)
- {
- if(VehicleBeingTowed(v)) return SysMsg(playerid, "Você não pode respawnar um veículo que está sendo rebocado.");
- if(VehicleIsOccupied(v)) return SysMsg(playerid, "Você não pode respawnar um veículo que está ocupado.");
- if(FVehicleData[v][FImpounded]) return SysMsg(playerid, "Você não pode respawnar um veiculo confiscado.");
- RespawnFactionCar(v);
- SendClientMessage(playerid, COLOR_ORANGE, "O veículo foi respawnado.");
- }
- }
- return true;
- }
- CMD:vid(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new VehId = GetPlayerVehicleID(playerid), Model = GetVehicleModel(VehId), Float:Pos[4], SurfingID = GetPlayerSurfingVehicleID(playerid), SeatID = GetPlayerVehicleSeat(playerid), cols[2];
- GetVehiclePos(VehId,Pos[0],Pos[1],Pos[2]);
- GetVehicleZAngle(VehId,Pos[3]);
- GetVehicleColors(VehId, cols[0], cols[1]);
- SysMsgF(playerid,"Veiculo ID: %i (Surfing ID: %i) | Model ID: %i | Meu lugar ID: %i | Pos: [X]%f, [Y]%f, [Z]%f, [ZA]%f",VehId,SurfingID,Model,SeatID,Pos[0],Pos[1],Pos[2],Pos[3]);
- if(VehId > 0) SysMsgF(playerid,"%s: Janelas: %i(Estado: %i), Motor: %i(Estado: %i), Porta-malas: %i, Assento: %i, Cor: %i,%i", GetVehicleName(VehId),VehicleHasWindows(VehId),WindowState{VehId},VehicleHasEngine(VehId),EngineStatus[VehId],VehicleHasTrunk(VehId),GetVehicleSeatCount(VehId),cols[0],cols[1]);
- return true;
- }
- CMD:vdamage(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(!IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid,"Você precisa estar em um veiculo.");
- new VehId = GetPlayerVehicleID(playerid);
- new panels, doors, lights, tires;
- GetVehicleDamageStatus(VehId, panels, doors, lights, tires);
- SysMsgF(playerid,"[%s damage] Painéis: %i, Portas: %i, Luzes: %i, Pneus: %i", GetVehicleName(VehId), panels, doors, lights, tires);
- return true;
- }
- CMD:avfechar(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new VehId = GetPlayerVehicleID(playerid);
- if(VehId == 0) return SysMsg(playerid,"Você precisa estar próximo ao veiculo para fechar.");
- if(Locked{VehId}) return SysMsgF(playerid,"[%s] Já está fechado.",GetVehicleName(VehId));
- Locked{VehId} = true;
- AdminLocked{VehId} = true;
- ToggleVehicleLock(VehId, 1);
- SendClientMessage(playerid, COLOR_GREEN, "> Veiculo Fechado. (Admin)");
- return true;
- }
- CMD:avabrir(playerid, params[])//abrir e fechar veiculo admin /avabrir //aabrir
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new VehId = GetPlayerVehicleID(playerid);
- if(VehId > 0)
- {
- if(!Locked{VehId}) return SysMsgF(playerid,"[%s] Já está destrancado.",GetVehicleName(VehId));
- Locked{VehId} = false;
- AdminLocked{VehId} = false;
- ToggleVehicleLock(VehId, 0);
- SendClientMessage(playerid, COLOR_GREEN, "> Veiculo Aberto. (Admin)");
- }
- else if(VehId == 0)
- {
- new v = GetClosestVehicle(playerid);
- if(AdminLocked{v})
- {
- new Float:vPos[3];
- GetVehiclePos(v, vPos[0], vPos[1], vPos[2]);
- if(IsPlayerInRangeOfPoint(playerid, 10.0, vPos[0], vPos[1], vPos[2]))
- {
- Locked{v} = false;
- AdminLocked{v} = false;
- ToggleVehicleLock(v, 0);
- SendClientMessage(playerid, COLOR_GREEN, "> Veiculo Aberto. (Admin)");
- }
- }
- }
- return true;
- }
- CMD:cars(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1) && !IsHelper{playerid}) return SysMsg(playerid, AUTHMSG);
- new playa;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /cars [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsHelper{playerid} && playa != IsAssisting[playerid]) return SysMsg(playerid, "Você não pode usar este comando em um jogador que você não está ajudando.");
- new lockedTxt[9], Vcount = 0, sub[100];
- gstr[0] = EOS;
- for(new v = 1, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(Vcount < MAX_VEH_PER_PLAYER)
- {
- if(VehicleData[v][VehicleOwnerSQLID] == SQLID[playa])
- {
- if(VehicleData[v][IdVehicle] > 0)
- {
- if(Locked{v}) lockedTxt = "Locked";
- else lockedTxt = "Unlocked";
- if(VehicleData[v][Hotwired] == 1) lockedTxt = "Stolen";
- Vcount ++;
- format(sub, sizeof(sub), "%s - %s (ID: %i Slot: %i Reg: %s)\n", GetVehicleNameEx(VehicleData[v][VehicleModel]), lockedTxt, VehicleData[v][IdVehicle], v, VehicleData[v][RegPlate]);
- strcat(gstr, sub);
- }
- }
- else if(ImpoundData[v][iOwnerSQLID] == SQLID[playa])
- {
- if(ImpoundData[v][iImpoundTime] < 1) ImpoundData[v][iImpoundTime] = 0;
- if(ImpoundData[v][iImpoundTime] == 0) format(sub, sizeof(sub), "%s - Atualmente confinado (Aguardando busca)\n", GetVehicleNameEx(ImpoundData[v][iModel]));
- else format(sub, sizeof(sub), "%s - Atualmente confinado (%i minutos restantes)\n", GetVehicleNameEx(ImpoundData[v][iModel]), ImpoundData[v][iImpoundTime]);
- Vcount++;
- strcat(gstr, sub);
- }
- if(RepairData[v][rOwnerSQLID] == SQLID[playa])
- {
- if(RepairData[v][rTime] < gettime()) format(sub, sizeof(sub), "%s - Sendo trabalhado em %s (Aguardando busca)\n", GetVehicleNameEx(RepairData[v][rModel]), GetRepairGarageName(RepairData[v][rGarage]));
- else format(sub, sizeof(sub), "%s - Sendo trabalhado no %s\n", GetVehicleNameEx(RepairData[v][rModel]), GetRepairGarageName(RepairData[v][rGarage]));
- Vcount++;
- strcat(gstr, sub);
- }
- }
- }
- mysql_format(conn, mquery, sizeof(mquery), "SELECT VehicleModel FROM vehicles WHERE NeedsRecovery = 1 AND OwnerSQLID = %i", SQLID[playa]);
- mysql_pquery(conn, mquery, "TheirCarsRecovery", "iisi", playerid, playa, gstr, Vcount);
- return true;
- }
- CMD:gof(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new Float:Dist, playa = -1;
- if(sscanf(params, "fU(-1)", Dist, playa)) Dist = 3.0;
- if(InvalidPlayer(playa)) playa = playerid;
- new Float:X, Float:Y, Float:Z, Float:Ang;
- GetPlayerPos(playa, X, Y, Z);
- Ang = GetXYInFrontOfPlayer(playa, X, Y, Dist);
- SetPlayerPos(playa, X, Y, Z);
- SetPlayerFacingAngle(playa, Ang);
- return true;
- }
- CMD:goup(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new Float:Dist, playa = -1;
- if(sscanf(params, "fU(-1)", Dist, playa)) Dist = 3.0;
- if(InvalidPlayer(playa)) playa = playerid;
- SetPlayerPos(playa, PlayerPosX(playa), PlayerPosY(playa), PlayerPosZ(playa) + Dist);
- return true;
- }
- CMD:godown(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new Float:Dist, playa = -1;
- if(sscanf(params, "fU(-1)", Dist, playa)) Dist = 3.0;
- if(InvalidPlayer(playa)) playa = playerid;
- SetPlayerPos(playa, PlayerPosX(playa), PlayerPosY(playa), PlayerPosZ(playa) - Dist);
- return true;
- }
- CMD:tele(playerid, params[]) return cmd_teleporte(playerid, params);
- CMD:tp(playerid, params[]) return cmd_teleporte(playerid, params);
- CMD:teleporte(playerid, params[])
- {
- gstr[0] = EOS;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa))
- {
- for(new i = 0; i < sizeof(Teleports); i++)
- {
- format(tgstr, sizeof(tgstr), "%s\n", Teleports[i][TPName]);
- strcat(gstr, tgstr);
- }
- new vehicleid = GetPlayerVehicleID(playerid);
- if(vehicleid != 0) SetPVarInt(playerid, "tpVID", vehicleid);
- SetPVarInt(playerid, "tpID", playerid);
- Dialog_Show(playerid, TPList, DIALOG_STYLE_LIST, "Teleporta você mesmo ...", gstr, "Teleporte", "Cancelar");
- return true;
- }
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Este jogador está em jail.");
- if(IsCuffed[playa] == 1) return SysMsg(playerid,"That player is in cuffs.");
- new vehicleid = GetPlayerVehicleID(playa);
- if(vehicleid != 0) SetPVarInt(playerid, "tpVID", vehicleid);
- SetPVarInt(playerid, "tpID", playa);
- for(new i = 0; i < sizeof(Teleports); i++)
- {
- format(tgstr, sizeof(tgstr), "%s\n", Teleports[i][TPName]);
- strcat(gstr, tgstr);
- }
- Dialog_Show(playerid, TPList, DIALOG_STYLE_LIST, "Teleporta Jogador ...", gstr, "Teleporte", "Cancelar");
- return true;
- }
- CMD:tpto(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /tpto [nome de teletransporte da lista do /tp] *Use /tptop para outros jogadores*");
- new p = -1;
- for(new x = 0; x < sizeof(Teleports); x++)
- {
- if(strfind(Teleports[x][TPName], params, true) != -1)
- {
- p = x;
- break;
- }
- }
- if(p == -1) return SysMsg(playerid, "Não é possível encontrar o nome teleport.");
- if(IsPlayerInAnyVehicle(playerid))
- {
- new v = GetPlayerVehicleID(playerid);
- SetVehiclePos(v, Teleports[p][TPx],Teleports[p][TPy],Teleports[p][TPz]);
- foreach(new i: Player)
- {
- if(IsPlayerInVehicle(i, v))
- {
- SetPlayerVirtualWorldEx(i ,Teleports[p][TPVw]);
- SetPlayerInterior(i, Teleports[p][TPInt]);
- }
- }
- LinkVehicleToInteriorEx(v, Teleports[p][TPInt]);
- SetVehicleVirtualWorld(v, Teleports[p][TPVw]);
- if(IsInHouseID[playerid] != -1) IsInHouseID[playerid] = -1;
- if(IsInBizzID[playerid] != -1) IsInBizzID[playerid] = -1;
- if(IsInGarageID[playerid] != -1) IsInGarageID[playerid] = -1;
- SendClientMessageF(playerid, COLOR_LIGHTBLUE, "Admin %s teleportou você para %s.",NameEx(playerid),Teleports[p][TPName]);
- format(gstr, sizeof(gstr),"[Admin] %s teleportou %s para %s", NameEx(playerid),NameEx(playerid),Teleports[p][TPName]);
- AdminBroadcast(gstr, 1);
- format(gstr, sizeof(gstr), "Teleportado para %s", Teleports[p][TPName]);
- AdminLog(playerid, SQLID[playerid], GetName(playerid), gstr);
- return true;
- }
- else
- {
- SetPlayerPos(playerid,Teleports[p][TPx],Teleports[p][TPy],Teleports[p][TPz]);
- SetPlayerFacingAngle(playerid,Teleports[p][TPa]);
- SetPlayerInterior(playerid,Teleports[p][TPInt]);
- SetPlayerVirtualWorldEx(playerid,Teleports[p][TPVw]);
- if(IsInHouseID[playerid] != -1) IsInHouseID[playerid] = -1;
- if(IsInBizzID[playerid] != -1) IsInBizzID[playerid] = -1;
- if(IsInGarageID[playerid] != -1) IsInGarageID[playerid] = -1;
- JourneyInterior[playerid] = 0;
- ShamalInterior[playerid] = 0;
- TropicInterior[playerid] = 0;
- TrailerInterior[playerid] = 0;
- SendClientMessageF(playerid,COLOR_LIGHTBLUE, "Admin %s teleportou você para %s.",NameEx(playerid), Teleports[p][TPName]);
- format(gstr, sizeof(gstr),"[Admin] %s teleportou %s para %s.",NameEx(playerid),NameEx(playerid), Teleports[p][TPName]);
- AdminBroadcast(gstr, 1);
- format(gstr, sizeof(gstr), "Teleportado para %s", Teleports[p][TPName]);
- AdminLog(playerid, SQLID[playerid], GetName(playerid), gstr);
- return true;
- }
- }
- CMD:tptop(playerid, params[])//teleportar jogador
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new loc[32], player = -1;
- if(sscanf(params, "us[32]", player, loc)) return SysMsg(playerid, "Use: /tptop [ID ou nome do jogador] [teleport nome de /tp list]");
- if(InvalidPlayer(player)) return SysMsg(playerid, NOPLAYER);
- new p = -1;
- for(new x = 0; x < sizeof(Teleports); x++)
- {
- if(strfind(Teleports[x][TPName], loc, true) != -1)
- {
- p = x;
- break;
- }
- }
- if(p == -1) return SysMsg(playerid, "Não é possível encontrar o nome teleporte.");
- if(IsPlayerInAnyVehicle(player))
- {
- new v = GetPlayerVehicleID(player);
- SetVehiclePos(v, Teleports[p][TPx],Teleports[p][TPy],Teleports[p][TPz]);
- foreach(new i: Player)
- {
- if(IsPlayerInVehicle(i, v))
- {
- SetPlayerVirtualWorldEx(i ,Teleports[p][TPVw]);
- SetPlayerInterior(i, Teleports[p][TPInt]);
- }
- }
- LinkVehicleToInteriorEx(v, Teleports[p][TPInt]);
- SetVehicleVirtualWorld(v, Teleports[p][TPVw]);
- if(IsInHouseID[player] != -1) IsInHouseID[player] = -1;
- if(IsInBizzID[player] != -1) IsInBizzID[player] = -1;
- if(IsInGarageID[player] != -1) IsInGarageID[player] = -1;
- SendClientMessageF(player, COLOR_LIGHTBLUE, "Admin %s teleportou você para %s.",NameEx(playerid),Teleports[p][TPName]);
- format(gstr, sizeof(gstr),"[Admin] %s teleportou %s para %s", NameEx(playerid),NameEx(player),Teleports[p][TPName]);
- AdminBroadcast(gstr, 1);
- format(gstr, sizeof(gstr), "Teleportado para %s", Teleports[p][TPName]);
- AdminLog(playerid, SQLID[player], GetName(player), gstr);
- return true;
- }
- else
- {
- SetPlayerPos(player,Teleports[p][TPx],Teleports[p][TPy],Teleports[p][TPz]);
- SetPlayerFacingAngle(player,Teleports[p][TPa]);
- SetPlayerInterior(player,Teleports[p][TPInt]);
- SetPlayerVirtualWorldEx(player,Teleports[p][TPVw]);
- if(IsInHouseID[player] != -1) IsInHouseID[player] = -1;
- if(IsInBizzID[player] != -1) IsInBizzID[player] = -1;
- if(IsInGarageID[player] != -1) IsInGarageID[player] = -1;
- JourneyInterior[player] = 0;
- ShamalInterior[player] = 0;
- TropicInterior[player] = 0;
- TrailerInterior[player] = 0;
- SendClientMessageF(player,COLOR_LIGHTBLUE, "Admin %s teleportou você para %s.",NameEx(playerid), Teleports[p][TPName]);
- format(gstr, sizeof(gstr),"[Admin] %s teleportou %s para %s.",NameEx(playerid),NameEx(player), Teleports[p][TPName]);
- AdminBroadcast(gstr, 1);
- format(gstr, sizeof(gstr), "Teleportado para %s", Teleports[p][TPName]);
- AdminLog(playerid, SQLID[player], GetName(player), gstr);
- return true;
- }
- }
- CMD:trazer(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(IsJailed[playerid] == 1) return SysMsg(playerid,"Aguarde até sair da prisão.");
- if(IsCuffed[playerid] == 1) return SysMsg(playerid,"Esta ação não pode ser executada enquanto você estiver em algemas.");
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /trazer [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Este jogador está em jail.");
- if(IsSpectating[playa] >= 0) return SysMsg(playerid,"Você não pode usar este comando em uma pessoa spectando.");
- new Float:pX,Float:pY,Float:pZ;
- new InteriorId,VirtualWorldId;
- GetPlayerPos(playerid,pX,pY,pZ);
- InteriorId = GetPlayerInterior(playerid);
- VirtualWorldId = GetPlayerVirtualWorld(playerid);
- if(!IsPlayerInAnyVehicle(playa)) Teleport(playa, pX + 1.0, pY + 1.0, pZ + 2.0, 0.0, InteriorId, VirtualWorldId);
- else
- {
- new TargetsVehicleId = GetPlayerVehicleID(playa);
- SetVehiclePos(TargetsVehicleId, pX + 2.0, pY + 2.0, pZ + 5.0);
- SetVehicleVirtualWorld(TargetsVehicleId, VirtualWorldId);
- LinkVehicleToInteriorEx(TargetsVehicleId, InteriorId);
- SetPlayerVirtualWorldEx(playa, VirtualWorldId);
- SetPlayerInterior(playa, InteriorId);
- }
- if(IsInHouseID[playa] != -1)
- {
- if(HouseData[IsInHouseID[playa]][HMusicPlaying] == 1)
- {
- StopAudioStreamForPlayer(playa);
- }
- }
- if(IsInHouseID[playerid] != -1)
- {
- IsInHouseID[playa] = IsInHouseID[playerid];
- if(HouseData[IsInHouseID[playerid]][HMusicPlaying] == 1)
- {
- StopAudioStreamForPlayer(playa);
- PlayAudioStreamForPlayerEx(playa, HouseData[IsInHouseID[playerid]][HMusic]);
- ListeningBoom[playa] = -1;
- }
- }
- if(IsInBizzID[playa] != -1)
- {
- if(BizzData[IsInBizzID[playa]][BMusicPlaying] == 1)
- {
- StopAudioStreamForPlayer(playa);
- }
- }
- if(IsInBizzID[playerid] != -1)
- {
- IsInBizzID[playa] = IsInBizzID[playerid];
- if(BizzData[IsInBizzID[playerid]][BMusicPlaying] == 1)
- {
- StopAudioStreamForPlayer(playa);
- PlayAudioStreamForPlayerEx(playa, BizzData[IsInBizzID[playerid]][BMusic]);
- ListeningBoom[playa] = -1;
- }
- }
- if(IsInGarageID[playerid] != -1)
- {
- IsInGarageID[playa] = IsInGarageID[playerid];
- }
- JourneyInterior[playa] = JourneyInterior[playerid];
- ShamalInterior[playa] = ShamalInterior[playerid];
- TropicInterior[playa] = TropicInterior[playerid];
- TrailerInterior[playa] = TrailerInterior[playerid];
- SendClientMessageF(playa, COLOR_LIGHTBLUE, "Admin %s te teleportou a sua posição.",NameEx(playerid));
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você teleportou o jogador %s para sua posição.",NameEx(playa));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Jogador puxado");
- return true;
- }
- CMD:vget(playerid, params[])
- {
- new vehicleid, player;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(sscanf(params, "ii", player, vehicleid)) return SysMsg(playerid, "Use: /vget [playerid] [vehicleid]");
- if(InvalidPlayer(player)) return SysMsg(playerid,"ID inválido.");
- if(IsPlayerNPC(player)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{player}) return SysMsg(playerid,"Não está logado");
- if(vehicleid < 1 || vehicleid > MAX_VEHICLES || !IsVehicleSpawned(vehicleid)) return SysMsg(playerid, "You have specified an Veiculo ID inválido.");
- if(IsPlayerInAnyVehicle(player)) return SysMsg(playerid, "Esse jogador já está em um veículo.");
- new seatid = GetVehicleAvailableSeat(vehicleid);
- if(seatid == -1) return SysMsg(playerid, "Não há lugares para entrar.");
- PutPlayerInVehicle(player, vehicleid, seatid);
- return true;
- }
- CMD:ir(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, playa2 = -1;
- if(sscanf(params, "uU(-1)", playa, playa2)) return SysMsg(playerid,"Use: /ir [ID do jogador] [Optional: Jogador sendo teletransportado]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsSpectating[playa] >= 0) return SysMsg(playerid, "Você não pode se teletransportar para alguém enquanto está vislumbrando outro jogador.");
- if(!Logged{playa}) return SysMsg(playerid, "Este jogador não iniciou sessão (Não está logado).");
- new Float:pX, Float:pY, Float:pZ;
- if(playa2 == -1)
- {
- GetPlayerPos(playa,pX,pY,pZ);
- if(IsSpectating[playerid] >= 0) cmd_spectateoff(playerid);
- if(IsPlayerInAnyVehicle(playerid))
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),pX + 3.5,pY + 3.5,pZ);
- SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playa));
- LinkVehicleToInteriorEx(GetPlayerVehicleID(playerid), GetPlayerInterior(playa));
- SetPlayerInterior(playerid,GetPlayerInterior(playa));
- SetPlayerVirtualWorldEx(playerid,GetPlayerVirtualWorld(playa));
- }
- else Teleport(playerid, pX+2, pY+2, pZ, 0.0, GetPlayerInterior(playa), GetPlayerVirtualWorld(playa));
- SendClientMessageF(playerid, COLOR_LIGHTGREEN,"Você se teleportou até %s", NameEx(playa));
- SendClientMessageF(playa, COLOR_SKYBLUE, "Admin %s se teleportou a sua posição.", NameEx(playerid));
- IsInHouseID[playerid] = IsInHouseID[playa];
- IsInBizzID[playerid] = IsInBizzID[playa];
- IsInGarageID[playerid] = IsInGarageID[playa];
- if(IsInHouseID[playa] != -1)
- {
- StopAudioStreamForPlayer(playerid);
- if(HouseData[IsInHouseID[playa]][HMusicPlaying] == 1) PlayAudioStreamForPlayerEx(playerid, HouseData[IsInHouseID[playa]][HMusic]);
- }
- if(IsInBizzID[playa] != -1)
- {
- StopAudioStreamForPlayer(playerid);
- if(BizzData[IsInBizzID[playa]][BMusicPlaying] == 1) PlayAudioStreamForPlayerEx(playerid, BizzData[IsInBizzID[playa]][BMusic]);
- }
- JourneyInterior[playerid] = 0;
- ShamalInterior[playerid] = 0;
- TropicInterior[playerid] = 0;
- TrailerInterior[playerid] = 0;
- format(gstr, sizeof(gstr), "Jogador teleportado", GetName(playa));
- AdminLog(playerid, SQLID[playa], GetName(playa), "Jogador teleportado");
- }
- else if(IsPlayerConnected(playa2))
- {
- GetPlayerPos(playa,pX,pY,pZ);
- if(IsSpectating[playa2] >= 0) cmd_spectateoff(playa2);
- if(IsPlayerInAnyVehicle(playa2))
- {
- SetVehiclePos(GetPlayerVehicleID(playa2),pX + 3.5,pY + 3.5,pZ);
- SetVehicleVirtualWorld(GetPlayerVehicleID(playa2),GetPlayerVirtualWorld(playa));
- LinkVehicleToInteriorEx(GetPlayerVirtualWorld(playa2), GetPlayerInterior(playa));
- }
- else SetPlayerPos(playa2,pX+2,pY+2,pZ);
- SetPlayerInterior(playa2,GetPlayerInterior(playa));
- SetPlayerVirtualWorldEx(playa2,GetPlayerVirtualWorld(playa));
- IsInHouseID[playa2] = IsInHouseID[playa];
- IsInBizzID[playa2] = IsInBizzID[playa];
- IsInGarageID[playa2] = IsInGarageID[playa];
- if(IsInHouseID[playa] != -1)
- {
- StopAudioStreamForPlayer(playa2);
- if(HouseData[IsInHouseID[playa]][HMusicPlaying] == 1) PlayAudioStreamForPlayerEx(playa2, HouseData[IsInHouseID[playa]][HMusic]);
- }
- if(IsInBizzID[playa] != -1)
- {
- StopAudioStreamForPlayer(playa2);
- if(BizzData[IsInBizzID[playa]][BMusicPlaying] == 1) PlayAudioStreamForPlayerEx(playa2, BizzData[IsInBizzID[playa]][BMusic]);
- }
- JourneyInterior[playa] = JourneyInterior[playa2];
- ShamalInterior[playa] = ShamalInterior[playa2];
- TropicInterior[playa] = TropicInterior[playa2];
- TrailerInterior[playa] = TrailerInterior[playa2];
- if(IsJailed[playa2] == 1) return SysMsg(playerid,"Esse jogador atualmente está em Preso.");
- if(IsCuffed[playa2] == 1) return SysMsg(playerid,"Esse jogador atualmente está algemado.");
- if(IsSpectating[playa2] >= 0) return SysMsg(playerid,"O jogador atualmente está atualmente");
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você teletransportou %s[ID %i] para %s[ID %i]", NameEx(playa2), playa2, NameEx(playa), playa);
- SendClientMessageF(playa2, COLOR_TURQUOISE, "Admin %s te teletransportou para posição de %s.", NameEx(playerid), NameEx(playa));
- format(gstr, sizeof(gstr), "Jogador teletransportado para %s", GetName(playa));
- AdminLog(playerid, SQLID[playa2], GetName(playa2), gstr);
- }
- return true;
- }
- CMD:ircasa(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new hname[32],h;
- if(sscanf(params, "s[32]", hname)) return SysMsg(playerid,"Use: /ircasa [Nome da casa]");
- h = GetHouseLocation(hname);
- new vehid_P = GetPlayerVehicleID(playerid);
- new vw = 0;
- if(h != -1)
- {
- if(strfind(HouseData[h][HouseDescription], "Flat") != -1) vw = 2;
- if(vehid_P == 0)
- {
- SetPlayerPos(playerid, HouseData[h][oPosX],HouseData[h][oPosY],HouseData[h][oPosZ]);
- SetPlayerVirtualWorldEx(playerid, HouseData[h][HouseExtVW]);
- SetPlayerInterior(playerid, vw);
- IsInHouseID[playerid] = -1;
- IsInGarageID[playerid] = -1;
- IsInBizzID[playerid] = -1;
- }
- else
- {
- SetVehiclePos(vehid_P, HouseData[h][oPosX],HouseData[h][oPosY],HouseData[h][oPosZ]);
- SetVehicleVirtualWorld(vehid_P,HouseData[h][HouseExtVW]);
- LinkVehicleToInteriorEx(vehid_P,vw);
- SetPlayerInterior(playerid,vw);
- IsInHouseID[playerid] = -1;
- IsInGarageID[playerid] = -1;
- IsInBizzID[playerid] = -1;
- }
- }
- else return SysMsg(playerid, "Endereço inválido da casa");
- return true;
- }
- CMD:irnegocio(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new hname[32],h;
- if(sscanf(params, "s[32]", hname)) return SysMsg(playerid,"Use: /irnegocio [Nome do Negócio]");
- h = GetBizzLocation(hname);
- new vehid_P = GetPlayerVehicleID(playerid);
- if(h != -1)
- {
- if(vehid_P == 0)
- {
- SetPlayerPos(playerid, BizzData[h][oPosX],BizzData[h][oPosY],BizzData[h][oPosZ]);
- SetPlayerVirtualWorldEx(playerid,0);
- SetPlayerInterior(playerid, 0);
- IsInHouseID[playerid] = -1;
- IsInGarageID[playerid] = -1;
- IsInBizzID[playerid] = -1;
- }
- else
- {
- SetVehiclePos(vehid_P, BizzData[h][oPosX],BizzData[h][oPosY],BizzData[h][oPosZ]);
- SetVehicleVirtualWorld(vehid_P,0);
- LinkVehicleToInteriorEx(vehid_P, 0);
- SetPlayerVirtualWorldEx(playerid, 0);
- SetPlayerInterior(playerid, 0);
- IsInHouseID[playerid] = -1;
- IsInGarageID[playerid] = -1;
- IsInBizzID[playerid] = -1;
- }
- }
- else return SysMsg(playerid, "Endereço de negócios inválido");
- return true;
- }
- CMD:irveh(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(IsJailed[playerid] == 1) return SysMsg(playerid,"Aguarde até sair da prisão.");
- if(IsCuffed[playerid] == 1) return SysMsg(playerid,"Esta ação não pode ser executada enquanto você estiver em algemas.");
- new vid, id;
- if(sscanf(params, "iI(-1)", vid, id)) return SysMsg(playerid,"Use: /irveh [Veiculo ID] [Optional: Jogador sendo teletransportado]");
- if(!IsVehicleSpawned(vid)) return SysMsg(playerid,"Nenhum Veiculo ID gerou.");
- new Float:vX, Float:vY, Float:vZ;
- GetVehiclePos(vid, vX, vY, vZ);
- new vehid = GetPlayerVehicleID(playerid);
- if(id == -1)
- {
- if(IsSpectating[playerid] >= 0) cmd_spectateoff(playerid);
- if(IsInHouseID[playerid] != -1) IsInHouseID[playerid] = -1;
- if(IsInBizzID[playerid] != -1) IsInBizzID[playerid] = -1;
- if(vehid == 0)
- {
- SetPlayerPos(playerid, vX, vY, vZ + 4.0);
- SetPlayerVirtualWorldEx(playerid, GetVehicleVirtualWorld(vid));
- if(FVehicleData[vid][FVSQLID] > 0) SetPlayerInterior(playerid, FVehicleData[vid][TempFVInterior]);
- else SetPlayerInterior(playerid, 0);
- }
- else
- {
- SetVehiclePos(vehid, vX + 4.0, vY + 4.0, vZ + 4.0);
- SetVehicleVirtualWorld(vehid, GetVehicleVirtualWorld(vid));
- if(FVehicleData[vid][FVSQLID] > 0)
- {
- LinkVehicleToInteriorEx(vehid, FVehicleData[vid][TempFVInterior]);
- if(IsFactionVehicle(vehid)) FVehicleData[vehid][TempFVInterior] = FVehicleData[vid][TempFVInterior];
- }
- else LinkVehicleToInterior(vehid, 0);
- }
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você se teletransportou para um %s [ID %i]", GetVehicleName(vid), vid);
- }
- else if(IsPlayerConnected(id))
- {
- if(IsSpectating[id] >= 0) cmd_spectateoff(id);
- if(IsInHouseID[id] != -1) IsInHouseID[id] = -1;
- if(IsInBizzID[id] != -1) IsInBizzID[id] = -1;
- if(vehid == 0)
- {
- SetPlayerPos(id, vX, vY, vZ + 4.0);
- SetPlayerVirtualWorldEx(id, GetVehicleVirtualWorld(vid));
- if(FVehicleData[vid][FVSQLID] > 0) SetPlayerInterior(id, FVehicleData[vid][TempFVInterior]);
- else SetPlayerInterior(id, 0);
- }
- else
- {
- SetVehiclePos(vehid, vX + 4.0, vY + 4.0, vZ + 4.0);
- SetVehicleVirtualWorld(vehid, GetVehicleVirtualWorld(vid));
- if(FVehicleData[vid][FVSQLID] > 0)
- {
- LinkVehicleToInteriorEx(vehid, FVehicleData[vid][TempFVInterior]);
- if(IsFactionVehicle(vehid)) FVehicleData[vehid][TempFVInterior] = FVehicleData[vid][TempFVInterior];
- }
- else LinkVehicleToInterior(vehid, 0);
- }
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você teletransportou %s para %s [ID %i]", NameEx(id), GetVehicleName(vid), vid);
- SendClientMessageF(id, COLOR_TURQUOISE, "Admin %s teletransportou você para um %s [ID %i]", NameEx(playerid), GetVehicleName(vid), vid);
- }
- return true;
- }
- CMD:getv(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(IsJailed[playerid] == 1) return SysMsg(playerid,"Aguarde até sair da prisão.");
- if(IsCuffed[playerid] == 1) return SysMsg(playerid,"Esta ação não pode ser executada enquanto você estiver em algemas.");
- if(isnull(params)) return SysMsg(playerid,"Use: /getv [Veiculo ID]");
- if(!IsNumeric(params)) return SysMsg(playerid,"Veiculo ID deve ser um número.");
- new vehicleid = strval(params);
- if(vehicleid < 1) return SysMsg(playerid,"Veículo inválido.");
- if(!IsVehicleSpawned(vehicleid)) return SysMsg(playerid,"Nenhum veiculo com esse ID está spawnado.");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- LinkVehicleToInteriorEx(vehicleid, GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
- SetVehiclePos(vehicleid, x+4, y+4, z+4);
- return true;
- }
- CMD:explodir(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(IsJailed[playerid] == 1) return SysMsg(playerid,"Aguarde até sair da prisão.");
- if(IsCuffed[playerid] == 1) return SysMsg(playerid,"Esta ação não pode ser executada enquanto você estiver em algemas.");
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /explodir [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsJailed[playa] == 1) return SysMsg(playerid,"Este jogador está em jail.");
- new Float:pX,Float:pY,Float:pZ;
- GetPlayerPos(playa,pX,pY,pZ);
- CreateExplosion(pX,pY,pZ,0,10);
- CreateExplosion(pX,pY,pZ,0,10);
- CreateExplosion(pX,pY,pZ,0,10);
- AdminLog(playerid, SQLID[playa], GetName(playa), "Explode");
- return true;
- }
- CMD:fakeme(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, action[128];
- if(sscanf(params, "us[128]", playa, action)) return SysMsg(playerid,"Use: /fakeme [playerid/name] [ação]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- format(gstr, sizeof(gstr), "%s %s",NameEx(playa),action);
- ProxDetector(20.0,playa,gstr, COLOR_EMOTE, COLOR_EMOTE, COLOR_EMOTE, COLOR_EMOTE, COLOR_EMOTE);
- return true;
- }
- CMD:fakedo(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, action[128];
- if(sscanf(params, "us[128]", playa, action)) return SysMsg(playerid,"Use: /fakedo [playerid/name] [ação]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- format(gstr, sizeof(gstr), "%s ((%s))",action,NameRP(playa));
- ProxDetector(20.0, playerid, gstr, COLOR_EMOTE, COLOR_EMOTE, COLOR_EMOTE, COLOR_EMOTE, COLOR_EMOTE);
- return true;
- }
- CMD:disarm(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /disarm [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- ResetPlayerWeaponsEx(playa);
- SyncPlayerWeapons(playa);
- format(gstr, sizeof(gstr),"Admin %s desarmou você.",NameEx(playerid));
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você desarmou %s.",NameEx(playa));
- SendClientMessage(playerid, COLOR_LIGHTGREEN, gstr);
- AdminLog(playerid, SQLID[playa], GetName(playa), "Desarmado");
- return true;
- }
- CMD:rspec(playerid)
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new str[10], rand = GetRandomOnlinePlayer();
- while(rand != playerid && Logged{rand} && IsSpectating[rand] != -1)
- {
- rand = GetRandomOnlinePlayer();
- }
- format(str, sizeof(str), "%i", rand);
- cmd_spectate(playerid, str);
- return true;
- }
- CMD:spec(playerid, params[]) return cmd_spectate(playerid, params);
- CMD:spectate(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /spec [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(playa == playerid) return SysMsg(playerid,"Você não pode specta a si mesmo.");
- if(!Logged{playa}) return SysMsg(playerid, "Este jogador não iniciou sessão. Aguarde até ter iniciado sessão para especificá-los.");
- if(IsSpectating[playa] >= 0) return SysMsg(playerid,"Você não pode falar sobre uma pessoa que também está se encontrando.");
- if(PfSpec[playa][FlySpec] == 1) return SysMsg(playerid, "Você não pode especificar uma pessoa que está usando /fly.");
- if(MasterAccount[playa] == 29469 && MasterAccount[playerid] == 19025) return SysMsg(playerid, "Boa tentativa, camarada. Ame, Emmalee");
- if(IsSpectating[playerid] == -1)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- TempInfo[playerid][tmX] = X;
- TempInfo[playerid][tmY] = Y;
- TempInfo[playerid][tmZ] = Z;
- TempInfo[playerid][tSkin] = GetPlayerCustomSkin(playerid);
- if(!TempInfo[playerid][tSkin]) { TempInfo[playerid][tSkin] = GetPlayerSkin(playerid); }
- TempInfo[playerid][tInt] = GetPlayerInterior(playerid);
- TempInfo[playerid][tVW] = GetPlayerVirtualWorld(playerid);
- }
- if(PfSpec[playerid][FlySpec] == 1)
- {
- PfSpec[playerid][FlySpec] = 0;
- TogglePlayerSpectating(playerid, false);
- if(IsValidObject(PfSpec[playerid][fsobj]))
- DestroyPlayerObject(playerid, PfSpec[playerid][fsobj]);
- }
- SetPlayerInterior(playerid, GetPlayerInterior(playa));
- SetPlayerVirtualWorldEx(playerid, GetPlayerVirtualWorld(playa));
- TogglePlayerSpectating(playerid, 1);
- new tVehId = GetPlayerVehicleID(playa);
- if(tVehId > 0)
- {
- PlayerSpectateVehicle(playerid, tVehId, SPECTATE_MODE_NORMAL);
- SysMsgF(playerid, "Você está agora observando %s (no veículo) Use /specoff para retornar ao normal.",NameEx(playa));
- IsSpectating[playerid] = playa;
- PlayerTextDrawShow(playerid, pSpecTD[playerid]);
- format(gstr, sizeof(gstr), "Spectando ~P~%s (%i)", NameEx(playa), playa);
- PlayerTextDrawSetString(playerid, pSpecTD[playerid], gstr);
- }
- else
- {
- PlayerSpectatePlayer(playerid, playa, SPECTATE_MODE_NORMAL);
- SysMsgF(playerid, "Você está agora observando %s (a pé) Use /specoff para retornar ao normal.",NameEx(playa));
- IsSpectating[playerid] = playa;
- PlayerTextDrawShow(playerid, pSpecTD[playerid]);
- format(gstr, sizeof(gstr), "Spectando ~P~%s (%i)", NameEx(playa), playa);
- PlayerTextDrawSetString(playerid, pSpecTD[playerid], gstr);
- }
- AdminLog(playerid, SQLID[playa], GetName(playa), "Spectate");
- return true;
- }
- CMD:fly(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(PfSpec[playerid][FlySpec] == 0) StartFlyEditor(playerid);
- else if(PfSpec[playerid][FlySpec] == 1) EndFlyEditor(playerid);
- return true;
- }
- CMD:vspec(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1) && !IsHelper{playerid}) return SysMsg(playerid, AUTHMSG);
- new vehicleid = 0;
- if(isnull(params)) return SysMsg(playerid,"Use: /vspec [Veiculo ID]");
- if(!IsNumeric(params) && strval(params) > 0) return SysMsg(playerid,"Use: /vspec [Veiculo ID]");
- vehicleid = strval(params);
- if(vehicleid > MAX_VEHICLES) return SysMsg(playerid, "Veículo inválido.");
- if(!IsPlayerAdminLevelOK(playerid, 1) && !IsHelper{playerid}) return SysMsg(playerid, AUTHMSG);
- if(IsHelper{playerid} && IsAssisting[playerid] == -1) return SysMsg(playerid, "Você não pode usar este comando se você não estiver em uma assistência.");
- if(IsHelper{playerid} && IsAssisting[playerid] != -1 && VehicleData[vehicleid][VehicleOwnerSQLID] != SQLID[IsAssisting[playerid]]) return SysMsg(playerid, "Você só pode spectar o veículo do jogador que você está ajudando atualmente.");
- if(!IsVehicleSpawned(vehicleid)) return SysMsg(playerid,"Veiculo ID inválido.");
- if(IsSpectating[playerid] == -1)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- TempInfo[playerid][tmX] = X;
- TempInfo[playerid][tmY] = Y;
- TempInfo[playerid][tmZ] = Z;
- TempInfo[playerid][tSkin] = GetPlayerSkin(playerid);
- TempInfo[playerid][tInt] = GetPlayerInterior(playerid);
- TempInfo[playerid][tVW] = GetPlayerVirtualWorld(playerid);
- }
- TogglePlayerSpectating(playerid, 1);
- SetPlayerVirtualWorldEx(playerid, GetVehicleVirtualWorld(vehicleid));
- if(FVehicleData[vehicleid][FVSQLID] > 0) SetPlayerInterior(playerid, FVehicleData[vehicleid][TempFVInterior]);
- PlayerSpectateVehicle(playerid, vehicleid, SPECTATE_MODE_NORMAL);
- SysMsgF(playerid, "Agora você está spectando o viculo ID %i (%s). Use /specoff para voltar ao normal.",vehicleid,GetVehicleNameEx(GetVehicleModel(vehicleid)));
- IsSpectating[playerid] = 1000;
- return true;
- }
- CMD:specoff(playerid) return cmd_spectateoff(playerid);
- CMD:spectateoff(playerid)
- {
- if(!IsPlayerAdminLevelOK(playerid, 1) && !IsHelper{playerid}) return SysMsg(playerid, AUTHMSG);
- if(IsSpectating[playerid] == -1) return SysMsg(playerid,"Você não está spectando.");
- TogglePlayerSpectating(playerid, 0);
- SetPlayerPos(playerid, TempInfo[playerid][tmX], TempInfo[playerid][tmY], TempInfo[playerid][tmZ]);
- SetPlayerInterior(playerid, TempInfo[playerid][tInt]);
- SetPlayerVirtualWorldEx(playerid, TempInfo[playerid][tVW]);
- SetPlayerSkinEx(playerid, TempInfo[playerid][tSkin]);
- IsSpectating[playerid] = -2;
- SyncPlayerWeapons(playerid);
- SetTimerEx("UnFreezePlayer", 200, 0, "d", playerid);
- ClearTempInfo(playerid);
- if(PfSpec[playerid][FlySpec] == 1) PfSpec[playerid][FlySpec] = 0;
- for(new ao = 0; ao < 10; ao++)
- {
- if(AttachedObjects[playerid][ao][aoModelID] > 0)
- {
- SetPlayerAttachedObject(playerid, ao, AttachedObjects[playerid][ao][aoModelID], AttachedObjects[playerid][ao][aoBone], AttachedObjects[playerid][ao][aoOffset][0], AttachedObjects[playerid][ao][aoOffset][1],
- AttachedObjects[playerid][ao][aoOffset][2], AttachedObjects[playerid][ao][aoRot][0], AttachedObjects[playerid][ao][aoRot][1], AttachedObjects[playerid][ao][aoRot][2], AttachedObjects[playerid][ao][aoScale][0],
- AttachedObjects[playerid][ao][aoScale][1], AttachedObjects[playerid][ao][aoScale][2], AttachedObjects[playerid][ao][aoColor], AttachedObjects[playerid][ao][aoColor]);
- }
- }
- PlayerTextDrawHide(playerid, pSpecTD[playerid]);
- //TextDrawHideForPlayer(playerid, SpeedText[IsSpectating[playerid]]);
- return true;
- }
- CMD:quemspec(playerid, params[])
- {
- new count = 0;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- foreach(new i: Player)
- {
- if(IsSpectating[i] != -1 && AdminLevel[i] >= 1 && IsSpectating[i] != 1000)
- {
- SendClientMessageF(playerid, COLOR_WHITE, "O adminstrador %s está spectando %s.", NameEx(i), NameEx(IsSpectating[i]));
- count++;
- }
- }
- if(count == 0) return SysMsg(playerid, "Ninguem está spectando.");
- return true;
- }
- CMD:fach(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, achievID;
- if(sscanf(params, "ui", playa, achievID)) return SysMsg(playerid,"Use: /fach [ID ou nome do jogador] [achievement id]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"Player Id is Não está logado");
- if(achievID < 1 || achievID >= MAX_ACHS) return SysMsg(playerid,"Realização inválida.");
- UnlockAchievement(playa, achievID);
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s desbloqueou a conquista %i para você.", NameEx(playerid), achievID);
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você desbloqueou a conquista %i para %s.", achievID, NameEx(playa));
- format(gstr, sizeof(gstr), "Conquista desbloqueada %i", achievID);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- CMD:veiculosarea(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /veiculosarea [Nome do modelo]");
- new v = GetVehicleModelIdFromName(params), count = 0;
- gstr[0] = EOS;
- foreach(new i: Player)
- {
- if(GetVehicleModel(GetPlayerVehicleID(i)) == v)
- {
- new zone[MAX_ZONE_NAME];
- GetPlayer3DZone(i, zone, MAX_ZONE_NAME);
- format(gstr, sizeof(gstr), "%s%s (ID: %i, Loc: %s) - %s, %i\n", gstr, NameEx(i), i, zone, GetVehicleNameEx(v), GetPlayerVehicleID(i));
- count++;
- }
- }
- if(count == 0) return SysMsgF(playerid, "Não foi possível encontrar jogadores que dirigissem um(a) %s", params);
- ShowMessage(playerid, "Jogadores em veiculos", gstr, "Pronto");
- return true;
- }
- CMD:armaslocal(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /armaslocal [nome da arma]");
- new wid = GetWeaponIdFromName(params), count = 0;
- if(wid == -1) return SysMsg(playerid, "Arma inválida.");
- gstr[0] = EOS;
- foreach(new i: Player)
- {
- if(GetPlayerWeapon(i) == wid)
- {
- new wep, ammo, zone[MAX_ZONE_NAME];
- GetPlayerWeaponData(i, GetWeaponSlot(wid), wep, ammo);
- GetPlayer3DZone(i, zone, MAX_ZONE_NAME);
- format(sgstr, sizeof(sgstr), "%s (ID: %i, Loc: %s) - %s, %i munições\n", NameEx(i), i, zone, GetWeaponNameFromID(wid), ammo);
- strcat(gstr, sgstr);
- count++;
- }
- }
- if(count == 0) return SysMsgF(playerid, "Não foi possível encontrar nenhum jogador segurando %s", weaponstring[wid]);
- ShowMessage(playerid, "Jogadores que prendem essa arma", gstr, "Pronto");
- return true;
- }
- CMD:playerareas(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params))
- {
- SysMsg(playerid, "Use: /playerareas [área de interesse. e.g, montgomery]");
- SysMsg(playerid, "Nota: O nome da área deve MATCH uma das zonas no jogo, caso contrário, nenhum jogador será encontrado.");
- return true;
- }
- new count = 0;
- gstr[0] = EOS;
- foreach(new i: Player)
- {
- new zone[MAX_ZONE_NAME];
- GetPlayer3DZone(i, zone, MAX_ZONE_NAME);
- if(strmatch(zone, params))
- {
- format(gstr, sizeof(gstr), "%s%s (ID: %i) - %s\n", gstr, NameEx(i), i, zone);
- count++;
- }
- }
- if(count == 0) return SysMsgF(playerid, "Não foi possível encontrar jogadores em %s", params);
- ShowMessage(playerid, "Jogadores encontrados na zona", gstr, "Pronto");
- return true;
- }
- CMD:setmotd(playerid, params[])
- {
- new motdid;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(sscanf(params, "is[128]", motdid, gstr)) return SysMsg(playerid,"Use: /setmotd [motd id] [mensagem]") && SysMsg(playerid, "MOTD IDs are 1: Admin, 2: Helper, 3: Player");
- if(motdid < 1 || motdid > 3) return SysMsg(playerid, "Você deve inserir uma ID da MOTD válida. IDs MOTD disponíveis são 1: Admin, 2: Helper, 3: Player");
- if(motdid == 1) //Admin MOTD
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, "Você não é o administrador apropriado para modificar este MOTD");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE motd SET message = '%e' WHERE motdid = %i", gstr, motdid-1);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_WHITE, "Você configurou o Admin MOTD para %s", gstr);
- AdminLog(playerid, 0, gstr, "Admin modificado MOTD");
- return true;
- }
- if(motdid == 2) //ajudaer MOTD
- {
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, "Você não é o administrador apropriado para modificar este MOTD");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE motd SET message = '%e' WHERE motdid = %i", gstr, motdid-1);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_WHITE, "Você definiu o Helper MOTD para %s", gstr);
- AdminLog(playerid, 0, gstr, "Helper modificado MOTD");
- return true;
- }
- if(motdid == 3) //Player MOTD
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, "Você não é o administrador apropriado para modificar este MOTD");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE motd SET message = '%e' WHERE motdid = %i", gstr, motdid-1);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_WHITE, "Você configurou o Player MOTD para %s", gstr);
- AdminLog(playerid, 0, gstr, "Player modificado MOTD");
- return true;
- }
- return true;
- }
- CMD:set(playerid, params[])
- {
- new playa, pname[32], option[24], Value[32], Value2[32];
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(sscanf(params, "s[32]s[24]S(None)[32]S(None)[32]", pname, option, Value, Value2))
- {
- SysMsg(playerid,"Use: /set [Player ID/Veiculo ID] [opção] [valor]");
- SysMsg(playerid,"Opções: VW, Interior, HP, Armour");
- if(IsPlayerAdminLevelOK(playerid, 2)) SysMsg(playerid, "Opções: Skin, combustivel, Weather");
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- SysMsg(playerid, "Opções: Facção, Rank, Trabalho, Nome, Estilolutar");
- SysMsg(playerid, "Opções: Bebado, Weaponskill, vh");
- }
- if(IsPlayerAdminLevelOK(playerid, 4)) SysMsg(playerid, "Opções: AdminLevel, Time");
- return true;
- }
- if(strmatch("combustivel", pname))
- {
- new playerState = GetPlayerState(playerid);
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- if(!IsNumeric(option)) return SysMsg(playerid,"O valor deve ser um número.");
- if(strval(option) < 0 || strval(option) > 100) return SysMsg(playerid,"O valor deve ser de 0 a 100.");
- new vid = GetPlayerVehicleID(playerid);
- if(vid == 0) return SysMsg(playerid,"Você não está em um veiculo.");
- Fuel[vid] = floatstr(option);
- // UpdateFuelText(vid, gstr);
- // PlayerTextDrawSetString(playerid, FuelText[playerid], gstr);
- //TextDrawShowForPlayer(playerid,FuelText[playerid]);
- if(playerState == PLAYER_STATE_PASSENGER) SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Combustível adicionado para %i no(a) %s(%i)", strval(option),GetVehicleName(vid),vid);
- else if(playerState == PLAYER_STATE_DRIVER && Fuel[vid] >= 10)
- {
- // PlayerTextDrawShow(playerid, FuelText[playerid]);
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Combustível adicionado para %i no(a) %s(%i)", strval(option),GetVehicleName(vid),vid);
- }
- else if(Fuel[vid] < 10 && playerState == PLAYER_STATE_DRIVER) TextDrawShowForPlayer(playerid, LowFuelText);
- TextDrawHideForPlayer(playerid, LowFuelText);
- return true;
- }
- else if(strmatch("vh", pname))
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new vid = GetPlayerVehicleID(playerid);
- if(vid > 0)
- {
- SetVehicleHealthEx(vid, strval(option));
- SysMsgF(playerid, "Saúde do veículo definida para %i.", strval(option));
- }
- return true;
- }
- else if(strmatch("weather", pname))
- {
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- foreach(new i: Player)
- {
- if(GetPlayerInterior(i) == 0 && GetPlayerVirtualWorld(i) == 0)
- {
- SetPlayerWeather(i, strval(option));
- }
- }
- gServerWeather = strval(option);
- format(gstr, sizeof(gstr),"[Admin] %s mudou o clima para ID %i(%s).",NameEx(playerid),strval(option),GetWeatherName(strval(option)));
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Mudou o tempo para %i", strval(option));
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(strmatch("time", pname))
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- gServerHour = strval(option);
- foreach(new i: Player)
- {
- if(IsInHouseID[i] == -1 && IsInBizzID[i] == -1)
- {
- SetPlayerTime(i, gServerHour, gServerMinute);
- }
- }
- format(gstr, sizeof(gstr),"[Admin] %s mudou o tempo para %i.",NameEx(playerid),strval(option));
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Mudou o tempo para %i", strval(option));
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- playa = GetPlayerIDs(pname);
- if(InvalidPlayer(playa)) return SysMsg(playerid,"Jogador ou opção inválida.");
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"ID do jogador não está logado.");
- if(strmatch("int", option) || strmatch("interior", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(!IsNumeric(Value)) return SysMsg(playerid, "O valor precisa ser um número.");
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você definiu com sucesso %s's [ID:%i] ID do mundo interior para %i.", NameEx(playa), playa, strval(Value));
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s configurou seu mundo interior para ID %i.", NameEx(playerid), strval(Value));
- SetPlayerInterior(playa, strval(Value));
- }
- else if(strmatch("vw", option) || strmatch("virtual", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(!IsNumeric(Value)) return SysMsg(playerid, "O valor precisa ser um número.");
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você definiu com sucesso o Vw de %s [ID:%i] ID do mundo virtual para %i.", NameEx(playa), playa, strval(Value));
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s configurou seu mundo virtual para %i.", NameEx(playerid), strval(Value));
- SetPlayerVirtualWorldEx(playa, strval(Value));
- }
- else if(strcmp("faction",option,true) == 0 || strcmp("facção",option,true) == 0)
- {
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- if(strval(Value) < 0) return SysMsg(playerid,"Valor inválido! (Não há tal número de facção)");
- if(strval(Value) > MAX_FACTIONS-1) return SysMsg(playerid,"Valor inválido! (Não há tal número de facção)");
- if(strval(Value) == Faction[playa]) return SysMsg(playerid,"Valor inválido! (Já definido para esse valor)");
- if(strval(Value) == FACTION_PROP && !CanSetST(playerid)) return SysMsg(playerid,"Você precisa ser convidado para essa facção!");
- if(Faction[playa] > 0 && strval(Value) == 0) MySpawnID[playa] = 1;
- if(Faction[playa] == 0 && strval(Value) > 0) MySpawnID[playa] = 2;
- Faction[playa] = strval(Value);
- FactionRank[playa] = 1;
- SubFactionSpawn[playerid] = 1;
- //GivePlayerWeapons(playa);
- Duty[playerid] = 0;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE players SET FactionRank = %i, Faction = %i, SubFactionSpawn = %i, MySpawnID = %i WHERE id = %i", FactionRank[playa], Faction[playa], SubFactionSpawn[playa], MySpawnID[playa], SQLID[playa]);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você colocou %s na facção %s(%i).",NameEx(playa),GetFactionNameFromId(strval(Value)),strval(Value));
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s colocou você na facção %s(%i).",NameEx(playerid),GetFactionNameFromId(strval(Value)),strval(Value));
- format(gstr, sizeof(gstr), "Set faction to %i", strval(Value));
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- UnlockAchievement(playerid, 5);
- }
- else return SysMsg(playerid, "Você não é uma classificação suficientemente alta para usar essa opção.");
- }
- else if(strcmp("rank",option,true) == 0)
- {
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- if(strval(Value) < 1 || strval(Value) > 15) return SysMsg(playerid,"Valor inválido! (Nenhum tal número Rank)");
- if(strval(Value) > FACTIONS[Faction[playa]][FactionUberLeaderRank]) return SysMsg(playerid,"Essa patente não existe nessa facção.");
- if(strval(Value) == FactionRank[playa]) return SysMsg(playerid,"Valor inválido! (Já definido para esse valor)");
- FactionRank[playa] = strval(Value);
- MySQLUpdateInt(SQLID[playa], "FactionRank", FactionRank[playa], "players");
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você definiu o rank de facção de %s para %s(%i).",NameEx(playa),GetFactionRankName(Faction[playa], FactionRank[playa]),strval(Value));
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s definiu seu rank de facção para %s(%i).",NameEx(playerid),GetFactionRankName(Faction[playa], FactionRank[playa]),strval(Value));
- format(gstr, sizeof(gstr), "Set faction rank to %i", strval(Value));
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else return SysMsg(playerid, "Você não é um rank alto o suficiente para usar esta opção.");
- }
- else if(strcmp("job",option,true) == 0 || strcmp("trabalho",option,true) == 0)
- {
- if(IsPlayerAdminLevelOK(playerid, 3))
- {
- if(strval(Value) < 0 || strval(Value) > MAX_JOBS) return SysMsg(playerid,"Valor inválido! (Nenhum trabalho desse tipo)");
- if(strval(Value) == Job[playa]) return SysMsg(playerid,"Valor inválido! (Já definido para esse valor)");
- if(strval(Value) == 3) return SysMsg(playerid, "Este trabalho não está mais disponível.");
- Job[playa] = strval(Value);
- MySQLUpdateInt(SQLID[playa], "Job", Job[playa], "players");
- new JName[25];
- switch(Job[playa])
- {
- case 0: JName = "Nenhum";
- case JOB_MECHANIC: JName = "Mecanico";
- case JOB_DRUGDEALER: JName = "Traficante";
- case JOB_MAINTENANCE: JName = "manutenção";
- case JOB_TAXI: JName = "Taxista";
- }
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Você adicionou para %s o trabalho %s(%i).",NameEx(playa),JName,strval(Value));
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s te deu o trabalho %s(%i).",NameEx(playerid),JName,strval(Value));
- format(gstr, sizeof(gstr), "Definir trabalho para %i(%s)", strval(Value), JName);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else return SysMsg(playerid, "Você não é uma classificação suficientemente alta para usar essa opção.");
- return true;
- }
- else if(strmatch("hp", option) || strmatch("health", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid,"Você não é uma classificação suficientemente alta para usar essa opção.");
- if(strval(Value) < 0) return SysMsg(playerid,"Invalid health points! (0-100 only)");
- if(strval(Value) > 100 && !IsPlayerAdmin(playerid)) return SysMsg(playerid,"Invalid health points! (0-100 only)");
- if(strval(Value) >= 50) ClearInjuriesForPlayer(playa);
- if(Dead{playa} && strval(Value) >= 50)
- {
- RevivePlayer(playa);
- }
- SetPlayerHealthEx(playa, strval(Value));
- if(IsPlayerMasked{playa}) FormatHealthLabelText(playa, HealthVar[playa], ArmourVar[playa], 2);
- IsDead[playerid] = 0;
- DeathTimer[playerid] = 0;
- SendClientMessageF(playa, COLOR_LIGHTBLUE, "Sua saúde foi definida para %i por %s",strval(Value),NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você definiu o hp de %s para %i",NameEx(playa),strval(Value));
- format(gstr, sizeof(gstr), "Defina saúde para %i", strval(Value));
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else if(strmatch("armour", option) || strmatch("colete", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- if(strval(Value) < 0 || strval(Value) > 100) return SysMsg(playerid,"Quantidade de armadura inválida! (0-100 somente)");
- SetPlayerArmourEx(playa, strval(Value), 1);
- SendClientMessageF(playa, COLOR_LIGHTBLUE, "Seu colete foi definito para %i por %s",strval(Value),NameEx(playerid));
- SendClientMessageF(playerid, COLOR_RED, "Você definiu o colete de %s para %i",NameEx(playa),strval(Value));
- format(gstr, sizeof(gstr), "Colete definido para %i", strval(Value));
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- if(IsPlayerMasked{playa}) FormatHealthLabelText(playa, HealthVar[playa], ArmourVar[playa], 2);
- }
- else if(strmatch("nome", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(strcmp(GetName(playa),Value,false) == 0) return SysMsg(playerid,"Já existe um jogador com esse nome.");
- if(!IsValidRoleplayName(Value)) return SysMsg(playerid,"Esse nome não é considerado para jogo de rol.");
- if(MySQLCheckAccount(Value, playerid) != 0) return SysMsg(playerid,"Esse nome já foi retirado no banco de dados.");
- if(strlen(Value) > 24) return SysMsg(playerid,"Error: SAMP só permite nomes com 24 ou menos letras.");
- if(hmData[playa][hmActive] == 1) return SysMsg(playerid, "Este jogador é atualmente aliased. Contate-os por favor pessoalmente se você precisa de mudar seu nome");
- new oldname[MAX_PLAYER_NAME];
- format(oldname, MAX_PLAYER_NAME, GetName(playa));
- if(SetPlayerName(playa, Value) != 1) return SysMsg(playerid, "Esse nome é muito curto, muito longo, em uso, o mesmo ou contém letras inválidas.");
- MySQLUpdateString(SQLID[playa], "Name", Value, "players");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE phones SET OwnerName = '%e' WHERE OwnerSQLID = %i", Value, SQLID[playa]);
- mysql_pquery(conn, mquery);
- format(PhoneData[playa][pOwnerName], 25, "%s", Value);
- SendClientMessageF(playa,COLOR_DARKBLUE,"Admin %s mudou seu nome para %s.", GetName(playerid), Value);
- SendClientMessageF(playerid, COLOR_RED, "Você mudou o nome de %s para %s.", oldname, Value);
- format(sgstr, sizeof(sgstr), "Nome de %s alterado para %s", oldname, Value);
- AdminLog(playerid, SQLID[playa], GetName(playa), sgstr);
- for(new b = 0; b < MAX_BIZZ_PER_PLAYER; b++)
- {
- if(PlayerBizzID[playa][b] != -1)
- {
- new h = PlayerBizzID[playa][b];
- UpdateBizzLabel(h);
- }
- }
- foreach(new i: Player)
- {
- if(UsingPaint{i})
- {
- format(tgstr, sizeof(tgstr), "%s (%i)", NameEx(playa), playa);
- UpdateDynamic3DTextLabelText(PaintLabels[i][playa], COLOR_ORANGE, tgstr);
- }
- }
- }
- else if(strmatch("skin", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- //if(IsPlayerInAnyVehicle(playa)) return SysMsg(playerid,"That player is currently in a vehicle, please ask them to exit before setting their skin.");
- if(GetPlayerSpecialAction(playa) == SPECIAL_ACTION_ENTER_VEHICLE || GetPlayerSpecialAction(playa) == SPECIAL_ACTION_EXIT_VEHICLE) return SysMsg(playerid, "Você não pode fazer isso enquanto o jogador está entrando / saindo de um veículo.");
- if(GetPlayerSpecialAction(playa) == SPECIAL_ACTION_DUCK) return SysMsg(playerid,"Você não pode mudar uma pele quando eles estão agachados.");
- if(GetPlayerVehicleID(playa) > 0) return SysMsg(playerid,"Você não pode mudar uma pele quando está em um veículo.");
- if(strval(Value) < 1 || strval(Value) > 30000 || strval(Value) == 74) return SysMsg(playerid,"O ID da skin inválido.");
- new oldskin = GetPlayerSkin(playerid);
- for(new i = 0; i < 4; i++)
- {
- if(Clothes[playa][i] == oldskin)
- {
- Clothes[playa][i] = strval(Value);
- new str[10];
- format(str,sizeof(str),"SkinSet%i",i+1);
- MySQLUpdateInt(SQLID[playa], str, Clothes[playa][i], "players");
- break;
- }
- }
- SetPlayerSkinEx(playa, strval(Value));
- cPlayersSkin[playa] = strval(Value);
- MySQLUpdateInt(SQLID[playa], "Skin", cPlayersSkin[playa], "players");
- format(gstr, sizeof(gstr), "Skin definida para %i", strval(Value));
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else if(strmatch("estilolutar", option) || strmatch("fight", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- if(strmatch("None", Value))
- {
- SysMsg(playerid,"Use: /set [ID ou nome do jogador] estilolutar [Estilo id/name]");
- SysMsg(playerid,"Tipos de estilo: 0-Normal, 1-Boxer, 2-Kungfu");
- return true;
- }
- new StyleType = -1;
- if(IsNumeric(Value))
- {
- if(strval(Value) < 0 || strval(Value) > 2) return SysMsg(playerid,"Estilo inválido (0-2).");
- StyleType = strval(Value);
- }
- if(StyleType == 0 || strcmp("normal",Value,true) == 0)
- {
- if(GetPlayerFightingStyle(playa) == FIGHT_STYLE_NORMAL) return SysMsg(playerid,"Error: Esse jogador já está usando este estilo de luta.");
- SetPlayerFightingStyle(playa, FIGHT_STYLE_NORMAL);
- UsingFightStyle{playa} = FIGHT_STYLE_NORMAL;
- MySQLUpdateInt(SQLID[playa], "FightStyle", FIGHT_STYLE_NORMAL, "players");
- format(gstr, sizeof(gstr),"Admin %s mudou seu estilo de luta para normal.",NameEx(playerid));
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o estilo de luta de %s para normal.",NameEx(playa));
- SendClientMessage(playerid,COLOR_RED, gstr);
- return true;
- }
- if(StyleType == 1 || strcmp("boxer",Value,true) == 0)
- {
- if(GetPlayerFightingStyle(playa) == FIGHT_STYLE_BOXING) return SysMsg(playerid,"Error: Esse jogador já está usando este estilo de luta.");
- SetPlayerFightingStyle(playa, FIGHT_STYLE_BOXING);
- UsingFightStyle{playa} = FIGHT_STYLE_BOXING;
- if(!FightStyleLearned[playa]{FS_BOXING})
- {
- FightStyleLearned[playa]{FS_BOXING} = true;
- MySQLUpdateInt(SQLID[playa], "FightStyleLearnedBoxing", 1, "players");
- }
- MySQLUpdateInt(SQLID[playa], "FightStyle", FIGHT_STYLE_BOXING, "players");
- format(gstr, sizeof(gstr),"Admin %s mudou seu estilo de luta para boxer.",NameEx(playerid));
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você mudou o estilo de luta de %s para boxer.",NameEx(playa));
- SendClientMessage(playerid,COLOR_RED, gstr);
- return true;
- }
- if(StyleType == 2 || strcmp("kungfu",Value,true) == 0)
- {
- if(GetPlayerFightingStyle(playa) == FIGHT_STYLE_KUNGFU) return SysMsg(playerid,"Error: Esse jogador já está usando este estilo de luta.");
- SetPlayerFightingStyle(playa, FIGHT_STYLE_KUNGFU);
- UsingFightStyle{playa} = FIGHT_STYLE_KUNGFU;
- if(!FightStyleLearned[playa]{FS_KUNGFU})
- {
- FightStyleLearned[playa]{FS_KUNGFU} = true;
- MySQLUpdateInt(SQLID[playa], "FightStyleLearnedKungFu", 1, "players");
- }
- MySQLUpdateInt(SQLID[playa], "FightStyle", FIGHT_STYLE_KUNGFU, "players");
- format(gstr, sizeof(gstr),"Admin %s mudou seu estilo de luta para kung-fu.",NameEx(playerid));
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você mudou o estilo de luta de %s para kung-fu.",NameEx(playa));
- SendClientMessage(playerid,COLOR_RED, gstr);
- return true;
- }
- format(gstr, sizeof(gstr), "Defina estilo de luta para %i/%s", StyleType, Value);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else if(strmatch("bebado", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new DLevel = strval(Value);
- if(isnull(Value)) return SysMsg(playerid, "Use: /set [ID] bebado [0-50000]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(DLevel < 0 || DLevel > 50000) return SysMsg(playerid,"Nível inválido. (0-50000)");
- SetPlayerDrunkLevel(playa, DLevel);
- DrunkLevel[playerid] = DLevel;
- format(gstr, sizeof(gstr),"Admin %s mudou sua embriaguez para %i",NameEx(playerid),DLevel);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de embriaguez %s para %i",NameEx(playa),DLevel);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Set level de embriaguez para %i", DLevel);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else if(strmatch("weaponskill", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new skill = strval(Value2);
- if(strmatch("None", Value))
- {
- SysMsg(playerid,"Use: /set [ID ou nome do jogador] weaponskill [arma/nome] [skill level]");
- SysMsg(playerid,"Tipo de arma: 0-9mm, 1-Silenced 9mm, 2-D.Eagle, 3-Shotgun, 4-Sawn-off, 5-SPAS, 6-Micro UZI");
- SysMsg(playerid,"Tipo de arma: 7-MP5, 8-AK47, 9-M4, 10-Sniper, *11-TODAS ARMAS*");
- return true;
- }
- new wtype = -1;
- if(IsNumeric(Value))
- {
- if(strval(Value) < 0 || strval(Value) > 11) return SysMsg(playerid,"Tipo de arma inválido.");
- wtype = strval(Value);
- }
- if(skill < 0 || skill > 10) return SysMsg(playerid,"Nível de habilidade inválido. (0 - 10)");
- MySQLUpdateInt(SQLID[playa], "WeaponSkill", skill, "players");
- if(wtype == 0 || strcmp("9mm",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_PISTOL, (skill * 100) - 10);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de 9mm para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de 9mm de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de 9mm definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 1 || strcmp("silenced9mm",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_PISTOL_SILENCED, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de 9mm Silenciada para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de 9mm Silenciada de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de 9mm Silenciada definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 2 || strcmp("deagle",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_DESERT_EAGLE, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de Desert Eagle para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de Desert Eagle de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de Desert Eagle definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 3 || strcmp("Shotgun",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_SHOTGUN, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de Shotgun para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de Shotgun de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de Shotgun definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 4 || strcmp("sawnoff",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_SAWNOFF_SHOTGUN, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de Sawn-off para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de Sawn-off de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de Sawn-off definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 5 || strcmp("spas",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_SPAS12_SHOTGUN, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de SPAS12 para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de SPAS12 de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de SPAS12 definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 6 || strcmp("uzi",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_MICRO_UZI, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de UZI para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de UZI de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de UZI definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 7 || strcmp("mp5",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_MP5, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de MP5 para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de MP5 de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de MP5 definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 8 || strcmp("ak47",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_AK47, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de AK-47 para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de AK-47 de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de AK-47 definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 9 || strcmp("M4",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_M4, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s definiu sua habilidade de de m4 para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"Você definiu o nível de habilidade de m4 de %s para %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Habilidade de M4 definida para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 10 || strcmp("sniper",Value,true) == 0)
- {
- SetPlayerSkillLevel(playa, WEAPONSKILL_SNIPERRIFLE, (skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- format(gstr, sizeof(gstr),"Admin %s set your Sniper skill to %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"You set %s's Sniper to %i",NameEx(playa),(skill * 100) - 1);
- SendClientMessage(playerid,COLOR_RED, gstr);
- format(gstr, sizeof(gstr), "Set Sniper weapon skill to %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- return true;
- }
- if(wtype == 11 || strcmp("all",Value,true) == 0 || strcmp("todas",Value,true) == 0)
- {
- SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL,(skill * 100) - 10);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_M4,(skill * 100) - 1);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE,(skill * 100) - 1);
- WeaponSkillLevel[playa] = skill;
- SendClientMessageF(playa, COLOR_LIGHTGREEN, "Admin %s definiu todas as habilidades de armas para %i",NameEx(playerid),(skill * 100) - 1);
- SendClientMessageF(playerid,COLOR_RED, "Você definiu todos os níveis de arma de %s para %i",NameEx(playa),(skill * 100) - 1);
- format(gstr, sizeof(gstr), "Definir toda a habilidade arma para %i", (skill * 100) - 1);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- }
- else if(strmatch("admin", option) || strmatch("adminlevel", option))
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- if(isnull(Value)) SysMsg(playerid, "Use: /set [Player ID or Nome_Sobrenome] adminlevel [level 0-4]");
- if(IsPlayerConnected(playa) || !Logged{playa})
- {
- if(playa == playerid) return SysMsg(playerid, "Não pode ser você mesmo.");
- if(strval(Value) < 0 || strval(Value) > 4) return SysMsg(playerid,"Admin nível deve estar entre 0 e 4.");
- AdminLevel[playa] = strval(Value);
- if(IsHelper{playa}) IsHelper{playa} = false;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET AdminLevel = %i, Helper = %i WHERE id = %i", AdminLevel[playa], IsHelper{playa}, MasterAccount[playa]);
- mysql_pquery(conn, mquery);
- if(strval(Value) > AdminLevel[playa]) return PlaySoundForPlayer(playa, 31205);
- SendClientMessageF(playa,COLOR_LIGHTBLUE, "Admin %s mudou o nível de administrador para %i.",NameEx(playerid),AdminLevel[playa]);
- SendClientMessageF(playerid,COLOR_RED, "Você mudou o level de admin de %s para %i.",NameEx(playa),AdminLevel[playa]);
- format(gstr, sizeof(gstr), "Definir nível de administrador para %i", strval(Value));
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else if(strfind(pname, "_") != -1)
- {
- new sqlid = MySQLCheckMaster_AgainstName(pname);
- if(sqlid <= 1) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- if(sqlid == SQLID[playerid]) return SysMsg(playerid, "Não pode ser você mesmo.");
- if(strval(Value) < 0 || strval(Value) > 4) return SysMsg(playerid,"Admin nível deve estar entre 0 e 4.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET AdminLevel = %i, Helper = 0 WHERE id = %i", strval(Value), sqlid);
- mysql_pquery(conn, mquery);
- SendClientMessageF(playerid,COLOR_RED, "Você mudou o level de admin de %s para %i.",GetSQLName(sqlid),strval(Value));
- format(gstr, sizeof(gstr), "Definir nível de administrador para %i", strval(Value));
- AdminLog(playerid, sqlid, GetSQLName(sqlid), gstr);
- }
- }
- else return SysMsg(playerid, "Você não está autorizado a usar este comando ou você digitou uma opção inválida.");
- return true;
- }
- CMD:recordbot(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid,"Use: /record [name *1 WORD*]");
- new VehID = GetPlayerVehicleID(playerid);
- if(VehID > 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) StartRecordingPlayerData(playerid, PLAYER_RECORDING_TYPE_DRIVER, params);
- else StartRecordingPlayerData(playerid, PLAYER_RECORDING_TYPE_ONFOOT, params);
- GameTextForPlayer(playerid,"~n~~n~~n~~n~~r~~>~REC",5000,3);
- return true;
- }
- CMD:stoprecord(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- StopRecordingPlayerData(playerid);
- SendClientMessage(playerid, COLOR_WHITE, ">> The Recording Has Been Saved.");
- return true;
- }
- CMD:object(playerid, params[])//criar objetos
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new option[24], modelid[24], purpose[64];
- if(sscanf(params, "s[24]S(-1)[24]S()[64]", option, modelid, purpose)) return SysMsg(playerid, "Use: /object [spawn/delete/goto/edit/view/exportar]");
- if(strmatch(option, "spawn"))
- {
- if(strval(modelid) == -1) return SysMsg(playerid, "Digite um ID de modelo válido.");
- if(!strlen(purpose)) return SysMsg(playerid, "Digite uma finalidade para o objeto.");
- if(GetFreeTempObjectSlot() == -1) return SysMsg(playerid, "Não há slots de objetos gratuitos no momento.");
- //if(IsValidModel(strval(modelid))) return SysMsg(playerid, "ID do modelo inválida.");
- new slot = GetFreeTempObjectSlot();
- GetPlayerPos(playerid, TempObjects[slot][ObjectPosX], TempObjects[slot][ObjectPosY], TempObjects[slot][ObjectPosZ]);
- GetPlayerFacingAngle(playerid, TempObjects[slot][ObjectPosRZ]);
- GetXYInFrontOfPlayer(playerid, TempObjects[slot][ObjectPosX], TempObjects[slot][ObjectPosY], 1.5);
- TempObjects[slot][ObjectID] = CreateDynamicObject(strval(modelid), TempObjects[slot][ObjectPosX], TempObjects[slot][ObjectPosY], TempObjects[slot][ObjectPosZ], 0.0, 0.0, TempObjects[slot][ObjectPosRZ], GetPlayerVirtualWorld(playerid));
- TempObjects[slot][ObjectModel] = strval(modelid);
- TempObjects[slot][ObjectVW] = GetPlayerVirtualWorld(playerid);
- TempObjects[slot][ObjectPosRX] = 0.0;
- TempObjects[slot][ObjectPosRY] = 0.0;
- TempObjects[slot][ObjectPurpose] = purpose;
- TempObjects[slot][SpawnedBy] = SQLID[playerid];
- EditingTempObject[playerid] = slot;
- EditDynamicObject(playerid, TempObjects[slot][ObjectID]);
- format(gstr, sizeof(gstr), "Objeto temporário spawnado. (%i)", strval(modelid));
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(strmatch(option, "delete"))
- {
- if(strval(modelid) == -1) return SysMsg(playerid, "Digite um slot.");
- if(strval(modelid) < 0 || strval(modelid) > MAX_TEMPOBJECTS) return SysMsgF(playerid, "O slot de objeto deve ser de 0-%i", MAX_TEMPOBJECTS);
- if(TempObjects[strval(modelid)][ObjectID] == INVALID_OBJECT_ID) return SysMsg(playerid, "Nenhum objeto encontrado neste slot.");
- new slot = strval(modelid);
- DestroyDynamicObjectEx(TempObjects[slot][ObjectID], "TempObjects[slot][ObjectID]");
- TempObjects[slot][ObjectID] = INVALID_OBJECT_ID;
- TempObjects[slot][ObjectModel] = 0;
- TempObjects[slot][ObjectVW] = 0;
- TempObjects[slot][ObjectPosX] = 0;
- TempObjects[slot][ObjectPosY] = 0;
- TempObjects[slot][ObjectPosZ] = 0;
- TempObjects[slot][ObjectPosRX] = 0;
- TempObjects[slot][ObjectPosRY] = 0;
- TempObjects[slot][ObjectPosRZ] = 0;
- TempObjects[slot][ObjectPurpose][0] = EOS;
- TempObjects[slot][SpawnedBy] = 0;
- SendClientMessageF(playerid, COLOR_RED, "Você destruiu o objeto %i.", slot);
- return true;
- }
- else if(strmatch(option, "goto"))
- {
- if(strval(modelid) == -1) return SysMsg(playerid, "Please enter a slot.");
- if(strval(modelid) < 0 || strval(modelid) > MAX_TEMPOBJECTS) return SysMsgF(playerid, "O slot de objeto deve ser de 0-%i", MAX_TEMPOBJECTS);
- if(TempObjects[strval(modelid)][ObjectID] == INVALID_OBJECT_ID) return SysMsg(playerid, "Nenhum objeto encontrado neste slot.");
- new slot = strval(modelid);
- SetPlayerPos(playerid, TempObjects[slot][ObjectPosX], TempObjects[slot][ObjectPosY], TempObjects[slot][ObjectPosZ] + 2);
- SetPlayerVirtualWorld(playerid, TempObjects[slot][ObjectVW]);
- SendClientMessageF(playerid, COLOR_RED, "Você tem teletransportado para o objeto %i.", slot);
- return true;
- }
- else if(strmatch(option, "editar"))
- {
- if(strval(modelid) == -1) return SysMsg(playerid, "Por favor, insira um slot.");
- if(strval(modelid) < 0 || strval(modelid) > MAX_TEMPOBJECTS) return SysMsgF(playerid, "O slot de objeto deve ser de 0-%i", MAX_TEMPOBJECTS);
- if(TempObjects[strval(modelid)][ObjectID] == INVALID_OBJECT_ID) return SysMsg(playerid, "Nenhum objeto encontrado neste slot.");
- new slot = strval(modelid);
- if(!IsPlayerInRangeOfPoint(playerid, 50.0, TempObjects[slot][ObjectPosX], TempObjects[slot][ObjectPosY], TempObjects[slot][ObjectPosZ])) return SysMsg(playerid, "Você deve estar mais próximo do objeto para editá-lo.");
- EditingTempObject[playerid] = slot;
- EditDynamicObject(playerid, TempObjects[slot][ObjectID]);
- }
- else if(strmatch(option, "ver"))
- {
- new bigstr[3000], count = 0;
- strcat(bigstr, "Slot\tModel\tPropósito\tSpawnado por\n");
- for(new x = 0; x < MAX_TEMPOBJECTS; x++)
- {
- if(TempObjects[x][ObjectID] != INVALID_OBJECT_ID)
- {
- format(sgstr, sizeof(sgstr), "%i\t%i\t%s\t%s\n", x, TempObjects[x][ObjectModel], TempObjects[x][ObjectPurpose], GetSQLName(TempObjects[x][SpawnedBy]));
- strcat(bigstr, sgstr);
- count ++;
- }
- }
- if(count == 0) return SysMsg(playerid, "Não há objetos spawnado no momento.");
- Dialog_Show(playerid, ObjectTeleport, DIALOG_STYLE_TABLIST_HEADERS, "Objetos temporários atuais", bigstr, "Teleporte", "Fechar");
- }
- else if(strmatch(option, "exportar"))
- {
- if(sscanf(params, "s[24]s[32]", option, modelid)) return SysMsg(playerid, "Use: /object exportar [filename] *Deve incluir .TXT*");
- new File:f = fopen(modelid, io_write);
- for(new x = 0; x < MAX_TEMPOBJECTS; x++)
- {
- if(TempObjects[x][ObjectID] != INVALID_OBJECT_ID)
- {
- format(sgstr, sizeof(sgstr), "CreateDynamicObject(%i, %f, %f, %f, %f, %f, %f); //%s (%s)\r\n",TempObjects[x][ObjectModel], TempObjects[x][ObjectPosX],TempObjects[x][ObjectPosY],
- TempObjects[x][ObjectPosZ], TempObjects[x][ObjectPosRX], TempObjects[x][ObjectPosRY], TempObjects[x][ObjectPosRZ], TempObjects[x][ObjectPurpose], GetSQLName(TempObjects[x][SpawnedBy]));
- fwrite(f, sgstr);
- }
- }
- fclose(f);
- }
- else cmd_object(playerid, "");
- return true;
- }
- CMD:tagban(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /tagban [playerID ou name] *ISSO NÃO PODE SER REMOVIDO*");
- if(TagBanned{playa}) return SysMsg(playerid, "Este usuário já está banido tag.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE masters SET TagBanned = 1 WHERE id = %i", MasterAccount[playa]);
- mysql_pquery(conn, mquery);
- TagBanned{playa} = true;
- SendClientMessageF(playerid, COLOR_RED, "[Admin] Você baniu %s de usar tag labels.", NameEx(playa));
- SendClientMessageF(playa, COLOR_RED, "Admin %s proibiu-o de usar tag labels.", NameEx(playerid));
- return true;
- }
- CMD:tag(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(TagBanned{playerid}) return SysMsg(playerid, "Você está proibido de usar este recurso.");
- if(PlayerLevel[playerid] < 4 && !IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, "Você deve ser pelo menos nível 4 para usar esse recurso.");
- new option[24], value[150];
- if(sscanf(params, "s[24]S()[150]", option, value)) return SysMsg(playerid, "Use: /tag [criar/excluir/id/editar]");
- if(strcmp(option, "criar", true) == 0)
- {
- if(isnull(value)) return SysMsg(playerid, "Use: /tag criare [Descrição]");
- if(PlayerHasLabel(playerid) && !IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, "Você já criou uma marca descritiva. Contate por favor um admin para criar mais.");
- if(Dead{playerid}) return SysMsg(playerid, "Não é possível utilizar este recurso enquanto estiver abatido.");
- if(strlen(value) > 140) return SysMsg(playerid, "Sua mensagem de tag é muito longa. Por favor, encurte.");
- new temptext[150];
- temptext = value;
- if(strlen(temptext) > 100) strins(temptext, "\n", 101);
- SetPVarString(playerid, "PendingLabelText", value);
- format(sgstr, sizeof(sgstr), "Tem certeza de que deseja criar uma marca com o seguinte texto?\n\n%s", temptext);
- Dialog_Show(playerid, LabelCreate, DIALOG_STYLE_MSGBOX, "Tem certeza?", sgstr, "Sim", "Não");
- return true;
- }
- else if(strcmp(option, "excluir", true) == 0)
- {
- if(!IsPlayerAdminLevelOK(playerid, 1))
- {
- for(new x = 0; x < MAX_LABELS; x++)
- {
- if(RPLabels[x][LabelOwner] == SQLID[playerid])
- {
- DestroyRPLabel(x);
- SendClientMessage(playerid, COLOR_RED, "Você removeu sua tag.");
- return true;
- }
- }
- SysMsg(playerid, "Não foi possível encontrar uma marca criada por você.");
- return true;
- }
- if(isnull(value)) return SysMsg(playerid, "Use: /tag excluir [tag id] *Use /tag id perto de uma tag para obter o seu ID.*");
- if(!IsNumeric(value)) return SysMsg(playerid, "ID de marca deve ser numérico.");
- new id = strval(value);
- if(id < 0 || id >= MAX_LABELS) return SysMsgF(playerid, "Valor deve ser maior que 0 e menor que %i.", MAX_LABELS);
- if(!RPLabels[id][LabelUsed]) return SysMsg(playerid, "Esta ID de tag não está em uso no momento.");
- DestroyRPLabel(id);
- SendClientMessageF(playerid, COLOR_RED, "Você removeu a tag %i.", id);
- return true;
- }
- else if(strcmp(option, "id", true) == 0)
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- for(new x = 0; x < MAX_LABELS; x++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.5, RPLabels[x][LabelX], RPLabels[x][LabelY], RPLabels[x][LabelZ]))
- {
- SendClientMessageF(playerid, COLOR_RED, "Este rótulo é de propriedade de %s e seu ID da tag é %i.", GetSQLName(RPLabels[x][LabelOwner]), x);
- return true;
- }
- }
- SysMsg(playerid, "Você não está perto de rótulos.");
- return true;
- }
- else if(strcmp(option, "editar", true) == 0)
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new value2[150];
- if(sscanf(params, "s[24]s[150]s[150]", option, value, value2))
- if(!IsNumeric(value)) return SysMsg(playerid, "Tag ID deve ser numérico.");
- if(strval(value) < 0 || strval(value) >= MAX_LABELS) return SysMsgF(playerid, "Valor deve ser maior que 0 e menor que %i.", MAX_LABELS);
- if(!RPLabels[strval(value)][LabelUsed]) return SysMsg(playerid, "Que ID de rótulo não está em uso no momento.");
- if(strlen(value2) > 140) return SysMsg(playerid, "Sua mensagem de tag é muito longa. Por favor, encurte.");
- new id = strval(value);
- UpdateDynamic3DTextLabelText(RPLabels[id][LabelID], COLOR_WHITE, value2);
- SendSplitMessageF(playerid, COLOR_RED, "Você atualizou o texto do rótulo para '%s'", value2);
- return true;
- }
- return true;
- }
- stock PlayerHasLabel(playerid)
- {
- for(new x = 0; x < MAX_LABELS; x++)
- {
- if(RPLabels[x][LabelOwner] == SQLID[playerid]) return true;
- }
- return false;
- }
- stock CreateRPLabel(playerid, text[])
- {
- new x = GetFreeRPLabelID();
- if(x == -1) return SysMsg(playerid, "Atualmente não há slots de tag disponíveis.");
- GetPlayerPos(playerid, RPLabels[x][LabelX], RPLabels[x][LabelY], RPLabels[x][LabelZ]);
- RPLabels[x][LabelID] = CreateDynamic3DTextLabel(text, COLOR_WHITE, RPLabels[x][LabelX], RPLabels[x][LabelY], RPLabels[x][LabelZ], 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, GetPlayerVirtualWorld(playerid));
- RPLabels[x][LabelUsed] = true;
- RPLabels[x][LabelOwner] = SQLID[playerid];
- SendClientMessage(playerid, COLOR_WHITE, "Você criou com êxito uma marca descritiva.");
- return true;
- }
- stock DestroyRPLabel(id)
- {
- DestroyDynamic3DTextLabel(RPLabels[id][LabelID]);
- RPLabels[id][LabelID] = Text3D:INVALID_3DTEXT_ID;
- RPLabels[id][LabelX] = 0.0;
- RPLabels[id][LabelY] = 0.0;
- RPLabels[id][LabelZ] = 0.0;
- RPLabels[id][LabelUsed] = false;
- RPLabels[id][LabelOwner] = 0;
- return true;
- }
- stock GetFreeRPLabelID()
- {
- for(new x = 0; x < MAX_LABELS; x++)
- {
- if(!RPLabels[x][LabelUsed]) return x;
- }
- return -1;
- }
- CMD:aspray(playerid, params[])
- {
- if(!Logged{playerid}) return SysMsg(playerid,"Você precisa estar logado no servidor para usar essa função.");
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- if(!IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid,"Você deve estar em um veículo para re-spray.");
- new color1, color2;
- if(sscanf(params, "iI(-1)", color1, color2)) return SysMsg(playerid,"Use: /spray [Cor primária] [Optional: Cor secundária]");
- if(color1 < 0 || color1 > 255) return SysMsg(playerid,"A cor primária, deve ser entre 0 e 255");
- if(color2 == -1) color2 = color1;
- else if(color2 < 0 || color2 > 255) return SysMsg(playerid,"A cor secundária 2, deve ser entre 0 e 255.");
- new v = GetPlayerVehicleID(playerid);
- if(v == INVALID_VEHICLE_ID) return SysMsg(playerid, "Você não está em um veículo.");
- if(FVehicleData[v][FVFaction] > 0)
- {
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE fveh SET Col1 = %i, Col2 = %i WHERE id = %i", color1, color2, FVehicleData[v][FVSQLID]);
- mysql_pquery(conn, mquery);
- FVehicleData[v][FVCol1] = color1;
- FVehicleData[v][FVCol2] = color2;
- ChangeVehicleColorEx(v, color1, color2);
- ShowInfoText(playerid,"~G~R~R~E~B~S~Y~P~P~R~W~A~G~Y",3000);
- SendClientMessageF(playerid, COLOR_WHITE, "A cor do veículo da facção mudou para: %s(%i) & %s(%i)", VehicleColors[color1], color1, VehicleColors[color2], color2);
- return true;
- }
- else if(VehicleData[v][VehicleOwnerSQLID] > 0)
- {
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE vehicles SET Color1 = %i, Color2 = %i WHERE id = %i", color1, color2, VehicleData[v][VehSQLID]);
- mysql_pquery(conn, mquery);
- VehicleData[v][vColor1] = color1;
- VehicleData[v][vColor2] = color2;
- ChangeVehicleColorEx(v, color1, color2);
- ShowInfoText(playerid,"~G~R~R~E~B~S~Y~P~P~R~W~A~G~Y",3000);
- SendClientMessageF(playerid, COLOR_WHITE, "Cor do veículo de propriedade mudou para: %s(%i) & %s(%i)", VehicleColors[color1], color1, VehicleColors[color2], color2);
- return true;
- }
- else if(aspawned{v})
- {
- ChangeVehicleColorEx(v, color1, color2);
- SendClientMessageF(playerid, COLOR_WHITE, "Admin spawnou cor do veículo mudou para: %s(%i) & %s(%i)", VehicleColors[color1], color1, VehicleColors[color2], color2);
- return true;
- }
- return true;
- }
- CMD:vreparar(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 3)) return SysMsg(playerid, AUTHMSG);
- new id;
- if(IsPlayerInAnyVehicle(playerid) && sscanf(params, "i", id)) id = GetPlayerVehicleID(playerid);
- else if(sscanf(params, "i", id)) return SysMsg(playerid, "Use: /vreparar [veiculo ID]");
- if(id > GetVehiclePoolSize()) return SysMsg(playerid, "Não há nenhum veiculo.");
- VehicleBroke[id] = 0;
- FuelTypeAfterRefuel[id] = 0;
- PlayerPlaySound(playerid, SOUND_CAR_MOD, 0, 0, 0);
- RepairVehicleEx(id);
- format(gstr, sizeof(gstr), "[Admin] Admin %s reparou o veiculo %s [ID %i].", NameEx(playerid), GetVehicleName(id), id);
- AdminBroadcast(gstr, 1, 4);
- return true;
- }
- CMD:inajail(playerid, params[])// atualmente ajail /inajail
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new count = 0;
- SendClientMessage(playerid, COLOR_WHITE, "Atualmente Administrado preso");
- foreach(new i: Player)
- {
- if(Logged{i})
- {
- if(AdminJailData[i][0] == 1)
- {
- SendClientMessageF(playerid, COLOR_LIGHTBLUE, "%s (%i) - %i minuto(s) remanescente.", NameEx(i), i, AdminJailData[i][1]);
- count++;
- }
- }
- }
- if(count == 0) SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ninguem");
- return true;
- }
- CMD:clearstingers(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- foreach(new i: Player)
- {
- if(StingerObjectID[i] >= 1)
- {
- DestroyDynamicObjectEx(StingerObjectID[i], "StingerObjectID[i] 0");
- StingerObjectID[i] = INVALID_OBJECT_ID;
- DestroyDynamicArea(StingerAreaID[i]);
- StingerAreaID[i] = -1;
- }
- }
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "Todos os ferrões limpos.");
- return true;
- }
- CMD:removerfogo(playerid, params[])//removerfogo
- {
- if(!Logged{playerid}) return true;
- if((Faction[playerid] == FACTION_SACFD && FactionRank[playerid] > 8) || IsPlayerAdminLevelOK(playerid, 1))
- {
- new count = 0;
- for(new i = 0; i < MAX_FIRES; i++)
- {
- if(Flame[i][Spawned] == 1)
- {
- count ++;
- RemoveFire(i);
- }
- }
- SendClientMessageF(playerid, COLOR_WHITE, "%i incêndios foram extintos", count);
- }
- else SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:togengine(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new vehicleid, status[5];
- if(sscanf(params, "is[5]", vehicleid, status)) return SysMsg(playerid, "Use: /togengine [Veiculo ID] [on/off]");
- if(vehicleid == INVALID_VEHICLE_ID) return SysMsg(playerid, "Veículo inválido.");
- if(strmatch(status, "on"))
- {
- SendClientMessageF(playerid, COLOR_RED, "Você ativou o motor deste(a) %s (%i)", GetVehicleName(vehicleid), vehicleid);
- ToggleVehicleEngine(vehicleid, 1);
- }
- if(strmatch(status, "off"))
- {
- SendClientMessageF(playerid, COLOR_RED, "Você desativou o motor deste(a) %s (%i)", GetVehicleName(vehicleid), vehicleid);
- ToggleVehicleEngine(vehicleid, 0);
- }
- return true;
- }
- CMD:criarcasa(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(GetFreeHouseArraySlot() == -1) return SysMsg(playerid, "Não há slots de casas gratuitas. (MAX_HOUSES atingiu)");
- new NewHouseCost, NewInsideID, Description[30];
- if(sscanf(params, "iis[30]", NewHouseCost, NewInsideID, Description)) return SysMsg(playerid,"Use: /criarcasa [valor] [opção interior] [descrição]");
- if(NewHouseCost < 1) return SysMsg(playerid,"O custo deve ser > 0");
- if(NewInsideID < 1 || NewInsideID > 29) return SysMsg(playerid,"Não existe tal InsideID.");
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO houses (Description,oPosX,oPosY,oPosZ) VALUES ('%e',%f,%f,%f)", Description, PlayerPosX(playerid), PlayerPosY(playerid), PlayerPosZ(playerid));
- mysql_pquery(conn, mquery, "InsertHouse", "ddds", playerid, NewHouseCost, NewInsideID, Description);
- return true;
- }
- CMD:criargaragem(playerid, params[])
- {
- new GarageType, GarageHouse, Float:pos[3], Float:angle;
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- if(sscanf(params, "iif", GarageType, GarageHouse, angle)) return SysMsg(playerid,"Use: /criargaragem [tipo de garagem] [Casa ID(use /checkid)] [ângulo de saída do veículo]");
- GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO garages (HouseSQLID, GarageType, OutsideX, OutsideY, OutsideZ, InsideVW, OutsideVAngle) VALUES (%i, %i, %f, %f, %f, %i, %f)", GarageHouse, GarageType, pos[0], pos[1], pos[2], GarageHouse+60000, angle);
- mysql_pquery(conn, mquery, "InsertHouseGarage", "iiifffif", GarageHouse, GarageType, pos[0], pos[1], pos[2], GarageHouse+60000, angle);
- return true;
- }
- RCRP::InsertHouseGarage(playerid, GarageHouse, GarageType, Float:x, Float:y, Float:z, VW, Float:angle)
- {
- new g = GetFreeGarageArraySlot();
- GarageData[g][gID] = cache_insert_id();
- GarageData[g][gHouseID] = GetHouseIDFromSQLID(GarageHouse);
- GarageData[g][gType] = GarageType;
- GarageData[g][oPosX] = x;
- GarageData[g][oPosY] = y;
- GarageData[g][oPosZ] = z;
- GarageData[g][iPosX] = 0.0;
- GarageData[g][iPosY] = 0.0;
- GarageData[g][iPosZ] = 0.0;
- GarageData[g][iAngle] = 0.0;
- GarageData[g][oAngle] = 0.0;
- GarageData[g][oVehicleAngle] = angle;
- GarageData[g][iVehicleAngle] = 0.0;
- GarageData[g][iVirtualWorld] = VW;
- GarageData[g][oVirtualWorld] = 0;
- GarageData[g][GaragePickup] = CreateDynamicPickup(1318, 23, GarageData[g][oPosX], GarageData[g][oPosY], GarageData[g][oPosZ], 0, 0, -1, 10);
- SysMsg(playerid, "A garagem foi criada.");
- return true;
- }
- RCRP::InsertHouse(playerid, NewHouseCost, NewInsideID, Desc[])
- {
- new houseID = cache_insert_id(), vw = houseID+20000;
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE houses SET Price = %i, InsideID = %i, HouseVW = %i, OwnerSQLID = 0 WHERE id = %i", NewHouseCost, NewInsideID, vw, houseID);
- mysql_pquery(conn, mquery);
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM houses WHERE id = %i LIMIT 1", houseID);
- mysql_pquery(conn, mquery, "LoadHouses", "d", 1);
- format(gstr, sizeof(gstr), "Casa criada '%s' por $%i", Desc, NewHouseCost);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- CMD:editarcasa(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new houseid = -1;
- for(new h = 0; h < MAX_HOUSES; h++)
- {
- if(IsPlayerInRangeOfPoint(playerid,DOOR_PROXIMITY,HouseData[h][oPosX],HouseData[h][oPosY],HouseData[h][oPosZ]) && GetPlayerVirtualWorld(playerid) == HouseData[h][HouseExtVW])
- {
- houseid = h;
- break;
- }
- }
- if(houseid == -1) return SysMsg(playerid,"Você não está perto de nenhuma casa.");
- new element[10], value[30];
- if(sscanf(params, "s[10]s[30]", element, value)) return SysMsg(playerid,"Use: /editarcasa [opção] [valor] Elementos: Valor, Dono, InsideID, Nome, Steamdist");
- if(strcmp("valor", element, true) == 0)
- {
- if(!IsNumeric(value)) return SysMsg(playerid,"O custo deve ser um número.");
- new NewHouseCost = strval(value);
- if(NewHouseCost < 1) return SysMsg(playerid,"O custo deve ser > 0");
- MySQLUpdateInt(HouseData[houseid][HouseSQLID], "Price", NewHouseCost, "houses");
- HouseData[houseid][HousePrice] = NewHouseCost;
- SysMsgF(playerid, "O preço da casa é agora $%i.", HouseData[houseid][HousePrice]);
- format(gstr, sizeof(gstr), "Casa editada #%i preço para $%i", HouseData[houseid][HouseSQLID], NewHouseCost);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(strcmp("insideid", element, true) == 0)
- {
- if(!IsNumeric(value)) return SysMsg(playerid,"Inside ID deve ser um número.");
- new NewInsideID = strval(value);
- if(NewInsideID < 1 || NewInsideID > 35) return SysMsg(playerid,"ID interna inválida.");
- if(NewInsideID == HouseData[houseid][HouseInterior]) return SysMsgF(playerid, "InsideID já está %i", NewInsideID);
- if(NewInsideID == 11)
- {
- new Float:X, Float:Y, Float:Z, houseint;
- if(sscanf(params, "s[10]ifffi", element, NewInsideID, X, Y, Z, houseint)) return SysMsg(playerid,"Use: /editarcasa InsideID 11 [x] [y] [z] [interior]");//interior novo
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE houses SET intPosX = %f, intPosY = %f, intPosZ = %f, InsideID = 11, HouseInterior = %i WHERE id = %i", X, Y, Z, houseint, HouseData[houseid][HouseSQLID]);
- mysql_pquery(conn, mquery);
- HouseData[houseid][InsideID] = NewInsideID;
- HouseData[houseid][HouseInterior] = houseint;
- HouseData[houseid][intPosX] = X;
- HouseData[houseid][intPosY] = Y;
- HouseData[houseid][intPosZ] = Z;
- SysMsgF(playerid, "Casa dentro ID é agora %i. [%f, %f, %f, interior %i]", HouseData[houseid][InsideID], X, Y, Z, houseint);
- return true;
- }
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE houses SET intPosX = 0.0, intPosY = 0.0, intPosZ = 0.0, InsideID = %i WHERE id = %i", NewInsideID, HouseData[houseid][HouseSQLID]);
- mysql_pquery(conn, mquery);
- HouseData[houseid][InsideID] = NewInsideID;
- HouseData[houseid][intPosX] = 0.0;
- HouseData[houseid][intPosY] = 0.0;
- HouseData[houseid][intPosZ] = 0.0;
- SysMsgF(playerid, "Casa dentro ID é agora %i.", HouseData[houseid][InsideID]);
- format(gstr, sizeof(gstr), "Casa editada #%i Inside ID para %i", houseid, NewInsideID);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(strcmp("dono", element, true) == 0)
- {
- if(strcmp(value, "None", false) == 0)
- {
- foreach(new i: Player)
- {
- if(HouseData[houseid][HouseOwnerSQLID] == SQLID[i])
- {
- HasHouseKey[i][0] = -1;
- HasHouseKey[i][1] = -1;
- ProcessHouseKey(i);
- break;
- }
- }
- HouseData[houseid][HouseOwnerSQLID] = 0;
- HouseData[houseid][HouseLocked] = 0;
- UpdateHousePickup(houseid);
- MySQLUpdateInt(HouseData[houseid][HouseSQLID], "OwnerSQLID", 0, "houses");
- format(sgstr, sizeof(sgstr), "Casa editada #%i proprietário de NONE", houseid);
- AdminLog(playerid, 0, "", sgstr);
- return true;
- }
- new accid = MySQLCheckAccount(value, playerid);
- if(accid == 0) return SysMsg(playerid, "Nenhuma conta de jogador encontrada.");
- MySQLUpdateInt(HouseData[houseid][HouseSQLID], "OwnerSQLID", accid, "houses");
- foreach(new i: Player)
- {
- if(HouseData[houseid][HouseOwnerSQLID] == SQLID[i])
- {
- HasHouseKey[i][0] = -1;
- HasHouseKey[i][1] = -1;
- ProcessHouseKey(i);
- break;
- }
- }
- HouseData[houseid][HouseOwnerSQLID] = accid;
- SysMsgF(playerid, "Proprietário da casa é agora %s.", GetSQLName(HouseData[houseid][HouseOwnerSQLID]));
- format(gstr, sizeof(gstr), "Casa editada #%i proprietário para %s", GetSQLName(HouseData[houseid][HouseOwnerSQLID]));
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(strcmp("nome", element, true) == 0)
- {
- MySQLUpdateString(HouseData[houseid][HouseSQLID], "Description", value, "houses");
- format(HouseData[houseid][HouseDescription], 60, value);
- UpdateHouseLabel(houseid);
- SysMsgF(playerid, "Nome da casa é agora %s.", HouseData[houseid][HouseDescription]);
- format(gstr, sizeof(gstr), "Casa editada #%i nome para %s", HouseData[houseid][HouseSQLID], HouseData[houseid][HouseDescription]);
- AdminLog(playerid, 0, "", gstr);
- return true;
- }
- else if(strcmp("streamdist", element, true) == 0)
- {
- if(!IsNumeric(value)) return SysMsg(playerid, "Use: /editarcasa streamdist [valor] *Deve ser numérico*");
- new distance = strval(value);
- if(distance > 25) return SysMsg(playerid, "A distância deve ser 25 ou maior.");
- HouseData[houseid][ExtStreamDist] = float(distance);
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE houses SET ExteriorStreamDistance = %f WHERE id = %i", float(distance), HouseData[houseid][HouseSQLID]);
- mysql_pquery(conn, mquery);
- SysMsgF(playerid, "A distância da mobília exterior da casa ajustou-se a %i", distance);
- return true;
- }
- SysMsg(playerid,"*Usage: /editarcasa [opção] [valor] Elementos: Valor, Dono, InsideID, Nome");
- return true;
- }
- CMD:editveh(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(!IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid, "Você precisa estar em um veiculo.");
- new vehicle = GetPlayerVehicleID(playerid), element[10], value[30];
- if(sscanf(params, "s[10]S()[30]", element, value)) return SysMsg(playerid,"Use: /editveh [opção] [número] Elementos: Valor, Pos, Trancado, placa");
- if(strcmp("valor", element, true) == 0)
- {
- if(vehicle == VehicleData[vehicle][IdVehicle])
- {
- if(isnull(value)) return SysMsg(playerid,"Use: /editveh valor [número]");
- if(!IsNumeric(value)) return SysMsg(playerid,"O custo deve ser um número.");
- new NewVehicleCost = strval(value);
- if(NewVehicleCost < 1) return SysMsg(playerid,"O custo deve ser > 0");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE vehicles SET Price = %i WHERE id = %i", NewVehicleCost, VehicleData[vehicle][VehSQLID]);
- mysql_pquery(conn, mquery);
- VehicleData[vehicle][VehiclePrice] = NewVehicleCost;
- SysMsgF(playerid, "O valor do veiculo agora é $%i.", VehicleData[vehicle][VehiclePrice]);
- return true;
- }
- return SysMsg(playerid,"Você não estar em nenhum veiculo (de um proprietário).");
- }
- else if(strcmp("pos", element, true) == 0)
- {
- if(VehicleData[vehicle][IdVehicle] > 0) return SysMsg(playerid,"Você não estar em nenhum veiculo (de um proprietário).");
- new Float:vPos[4];
- GetVehiclePos(vehicle, vPos[0], vPos[1], vPos[2]);
- GetVehicleZAngle(vehicle, vPos[3]);
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE vehicles SET LastX = %f, LastY = %f, LastZ = %f, LastRot = %f WHERE id = %i", vPos[0], vPos[1], vPos[2], vPos[3], VehicleData[vehicle][VehSQLID]);
- mysql_pquery(conn, mquery);
- VehicleData[vehicle][LastX] = vPos[0];
- VehicleData[vehicle][LastY] = vPos[1];
- VehicleData[vehicle][LastZ] = vPos[2];
- VehicleData[vehicle][LastRot] = vPos[3];
- SysMsg(playerid, "Posição de veiculo atualizada.");
- return true;
- }
- else if(strcmp("placa", element, true) == 0)
- {
- if(vehicle == 0) return SysMsg(playerid,"Você não estar em nenhum veiculo.");
- if(vehicle == VehicleData[vehicle][IdVehicle])
- {
- if(isnull(value)) return SysMsg(playerid,"Use: /editveh placa [novo número]");
- if(strlen(value) > MAX_REG_PLATE-1) return SysMsg(playerid,"Essa placa é muito grande.");
- mysql_format(conn, mquery, sizeof(mquery), "UPDATE vehicles SET RegPlate = '%e' WHERE id = %i", value, VehicleData[vehicle][VehSQLID]);
- mysql_pquery(conn, mquery);
- format(VehicleData[vehicle][RegPlate], MAX_REG_PLATE, value);
- SysMsgF(playerid,"O número da placa agora é '%s'.", VehicleData[vehicle][RegPlate]);
- return true;
- }
- }
- SysMsg(playerid,"*Usage: /editveh [opção] [valor] opçãões: Valor, Pos, Fechado, Delete, Regplate");
- return true;
- }
- CMD:reloadgates(playerid)
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendRconCommand("reloadfs Doors_And_Gates");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os portões e portas foram {44C300}re-carregados.");
- return true;
- }
- CMD:reloadpicks(playerid)
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendRconCommand("reloadfs picks");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os portões e portas foram {44C300}re-carregados.");
- return true;
- }
- CMD:reloadmaps(playerid)
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendRconCommand("reloadfs Maps");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os mapas foram {44C300}re-carregados.");
- return true;
- }
- CMD:reloadmaps2(playerid)
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendRconCommand("reloadfs Maps2");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os mapas foram {44C300}re-carregados.");
- return true;
- }
- CMD:reloadmremovidos(playerid)
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- SendRconCommand("reloadfs mremovidos");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os mapas removidos foram {44C300}re-carregados.");
- return true;
- }
- CMD:reloadfactions(playerid, params[])//reloadfactions
- {
- new hof;
- MySQLFetchInt(MasterAccount[playerid], "HoF", hof, "masters");
- if(!IsPlayerAdminLevelOK(playerid, 4) && hof == 0) return SysMsg(playerid, AUTHMSG);
- for(new f = 0; f > 20; f++)
- {
- FACTIONS[f][FactionId] = 0;
- FACTIONS[f][FactionName][0] = 0;
- FACTIONS[f][FNameShort][0] = 0;
- FACTIONS[f][FactionSpawn1][0] = 0;
- FACTIONS[f][FactionSpawn1][1] = 0;
- FACTIONS[f][FactionSpawn1][2] = 0;
- FACTIONS[f][FactionSpawn1][3] = 0;
- FACTIONS[f][FactionSpawn2][0] = 0;
- FACTIONS[f][FactionSpawn2][1] = 0;
- FACTIONS[f][FactionSpawn2][2] = 0;
- FACTIONS[f][FactionSpawn2][3] = 0;
- FACTIONS[f][FactionSpawn3][0] = 0;
- FACTIONS[f][FactionSpawn3][1] = 0;
- FACTIONS[f][FactionSpawn3][2] = 0;
- FACTIONS[f][FactionSpawn3][3] = 0;
- FACTIONS[f][FactionSpawn4][0] = 0;
- FACTIONS[f][FactionSpawn4][1] = 0;
- FACTIONS[f][FactionSpawn4][2] = 0;
- FACTIONS[f][FactionSpawn4][3] = 0;
- FACTIONS[f][FactionSpawn5][0] = 0;
- FACTIONS[f][FactionSpawn5][1] = 0;
- FACTIONS[f][FactionSpawn5][2] = 0;
- FACTIONS[f][FactionSpawn5][3] = 0;
- FACTIONS[f][FactionSpawnVW][0] = 0;
- FACTIONS[f][FactionSpawnVW][1] = 0;
- FACTIONS[f][FactionSpawnVW][2] = 0;
- FACTIONS[f][FactionSpawnVW][3] = 0;
- FACTIONS[f][FactionSpawnVW][4] = 0;
- FACTIONS[f][FactionSpawnInt][0] = 0;
- FACTIONS[f][FactionSpawnInt][1] = 0;
- FACTIONS[f][FactionSpawnInt][2] = 0;
- FACTIONS[f][FactionSpawnInt][3] = 0;
- FACTIONS[f][FactionSpawnInt][4] = 0;
- FACTIONS[f][FactionSpawn1Name][0] = 0;
- FACTIONS[f][FactionSpawn2Name][0] = 0;
- FACTIONS[f][FactionSpawn3Name][0] = 0;
- FACTIONS[f][FactionIsGang] = 0;
- FACTIONS[f][FactionIsActive] = 0;
- FACTIONS[f][FactionBankBalance] = 0;
- FACTIONS[f][FactionRadioChannel] = 0;
- FACTIONS[f][FactionRankPay][0] = 0;
- FACTIONS[f][FactionRankPay][1] = 0;
- FACTIONS[f][FactionRankPay][2] = 0;
- FACTIONS[f][FactionRankPay][3] = 0;
- FACTIONS[f][FactionRankPay][4] = 0;
- FACTIONS[f][FactionRankPay][5] = 0;
- FACTIONS[f][FactionRankPay][6] = 0;
- FACTIONS[f][FactionRankPay][7] = 0;
- FACTIONS[f][FactionRankPay][8] = 0;
- FACTIONS[f][FactionRankPay][9] = 0;
- FACTIONS[f][FactionRankPay][10] = 0;
- FACTIONS[f][FactionRankPay][11] = 0;
- FACTIONS[f][FactionRankPay][12] = 0;
- FACTIONS[f][FactionRankPay][13] = 0;
- FACTIONS[f][FactionRankPay][14] = 0;
- FACTIONS[f][FactionPayDayTax] = 0;
- FACTIONS[f][FactionSkins][0] = 0;
- FACTIONS[f][FactionSkins][1] = 0;
- FACTIONS[f][FactionSkins][2] = 0;
- FACTIONS[f][FactionSkins][3] = 0;
- FACTIONS[f][FactionSkins][4] = 0;
- FACTIONS[f][FactionSkins][5] = 0;
- FACTIONS[f][FactionSkins][6] = 0;
- FACTIONS[f][FactionSkins][7] = 0;
- FACTIONS[f][FactionSkins][8] = 0;
- FACTIONS[f][FactionSkins][9] = 0;
- FACTIONS[f][FactionSkins][10] = 0;
- FACTIONS[f][FactionSkins][11] = 0;
- FACTIONS[f][FactionSkins][12] = 0;
- FACTIONS[f][FactionSkins][13] = 0;
- FACTIONS[f][FactionSkins][14] = 0;
- FACTIONS[f][FactionLeaderRank] = 0;
- FACTIONS[f][FactionUberLeaderRank] = 0;
- for(new x = 0; x < 15; x++)
- {
- FactionRanks[f][x][0] = EOS;
- }
- }
- mysql_pquery(conn, "SELECT * FROM factions ORDER BY id ASC", "LoadFactions");
- SendClientMessage(playerid, COLOR_WHITE, "Todos facções foram {44C300}re-carregadas.");
- AdminLog(playerid, 0, "", "Todos facções da base de dados foram recarregadas");
- return true;
- }
- CMD:reloadgarages(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return SysMsg(playerid, AUTHMSG);
- for(new i = 0; i < MAX_GARAGES; i++)
- {
- GarageData[i][gID] = 0;
- GarageData[i][gHouseID] = -1;
- GarageData[i][gType] = 0;
- GarageData[i][oPosX] = 0;
- GarageData[i][oPosY] = 0;
- GarageData[i][oPosZ] = 0;
- GarageData[i][iPosX] = 0;
- GarageData[i][iPosY] = 0;
- GarageData[i][iPosZ] = 0;
- GarageData[i][iAngle] = 0;
- GarageData[i][oAngle] = 0;
- GarageData[i][oVehicleAngle] = 0;
- GarageData[i][iVehicleAngle] = 0;
- GarageData[i][iVirtualWorld] = 0;
- GarageData[i][oVirtualWorld] = 0;
- GarageData[i][InsideInt] = 0;
- DestroyDynamicPickup(GarageData[i][GaragePickup]);
- GarageData[i][GaragePickup] = 0;
- GarageData[i][UseHouse] = false;
- }
- mysql_pquery(conn, "SELECT * FROM garages", "LoadGarages");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os portões foram {44C300}re-carregados.");
- return true;
- }
- CMD:reloadhouse(playerid, params[]) return cmd_reloadhouses(playerid, params);
- CMD:reloadhouses(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(isnull(params)) return SysMsg(playerid, "Use: /reloadhouse [todas / nome da casa]");
- if(strcmp(params, "todas", true) == 0)
- {
- for(new b = 0; b < MAX_HOUSES; b++)
- {
- if(HouseData[b][HouseSQLID] >= 1)
- {
- DestroyDynamicPickup(HouseData[b][HousePickup]);
- DeleteHouseLabel(b);
- ClearHouseFuritureVariables(b);
- ClearOutdoorFurnitureVariables(b);
- HouseData[b][HouseSQLID] = 0;
- HouseData[b][oPosX] = 0;
- HouseData[b][oPosY] = 0;
- HouseData[b][oPosZ] = 0;
- HouseData[b][intPosX] = 0;
- HouseData[b][intPosY] = 0;
- HouseData[b][intPosZ] = 0;
- HouseData[b][HouseInterior] = 0;
- HouseData[b][HouseExtVW] = 0;
- HouseData[b][HousePrice] = 0;
- HouseData[b][HouseOwnerSQLID] = 0;
- HouseData[b][HouseDescription][0] = EOS;
- HouseData[b][HouseLocked] = 0;
- HouseData[b][InsideID] = 0;
- HouseData[b][StoredCash] = 0;
- HouseData[b][StoredWeed] = 0;
- HouseData[b][StoredCocaine] = 0;
- HouseData[b][StoredMoonShine] = 0;
- HouseData[b][StoredPhone] = 0;
- HouseData[b][DoorNoteMessage][0] = 0;
- HouseData[b][HouseVW] = 0;
- HouseData[b][HousePickup] = 0;
- HouseData[b][HouseLabel] = Text3D:INVALID_3DTEXT_ID;
- HouseData[b][HouseLights] = false;
- }
- }
- mysql_tquery(conn, "SELECT * FROM houses", "LoadHouses", "d", 0);
- mysql_tquery(conn, "SELECT * FROM hfurniture ORDER BY HouseSQLID ASC", "LoadHouseFurniture");
- mysql_tquery(conn, "SELECT * FROM efurniture ORDER BY HouseSQLID ASC", "LoadExteriorHouseFurniture");
- SetTimer("ProcessHKeys", 1000, 0);
- SendClientMessage(playerid, COLOR_WHITE, "Todas as casas foram {44C300}re-carregadas.");
- AdminLog(playerid, 0, "", "Todas as casas da base de dados foram re-carregadas.");
- }
- else
- {
- new h = GetHouseLocation(params), sql;
- if(h < 0 || h >= MAX_HOUSES) return SysMsg(playerid, "A casa não é válida.");
- SendClientMessageF(playerid,COLOR_WHITE, "%s (ID %i) {44C300}recarregada", HouseData[h][HouseDescription], HouseData[h][HouseSQLID]);
- DestroyDynamicPickup(HouseData[h][HousePickup]);
- DeleteHouseLabel(h);
- ClearHouseFuritureVariables(h);
- ClearOutdoorFurnitureVariables(h);
- sql = HouseData[h][HouseSQLID];
- HouseData[h][HouseSQLID] = 0;
- HouseData[h][oPosX] = 0;
- HouseData[h][oPosY] = 0;
- HouseData[h][oPosZ] = 0;
- HouseData[h][intPosX] = 0;
- HouseData[h][intPosY] = 0;
- HouseData[h][intPosZ] = 0;
- HouseData[h][HouseInterior] = 0;
- HouseData[h][HouseExtVW] = 0;
- HouseData[h][HousePrice] = 0;
- HouseData[h][HouseOwnerSQLID] = 0;
- HouseData[h][HouseDescription][0] = EOS;
- HouseData[h][HouseLocked] = 0;
- HouseData[h][InsideID] = 0;
- HouseData[h][StoredCash] = 0;
- HouseData[h][StoredWeed] = 0;
- HouseData[h][StoredCocaine] = 0;
- HouseData[h][StoredMoonShine] = 0;
- HouseData[h][StoredPhone] = 0;
- HouseData[h][DoorNoteMessage][0] = 0;
- HouseData[h][HouseVW] = 0;
- HouseData[h][HousePickup] = 0;
- HouseData[h][HouseLabel] = Text3D:INVALID_3DTEXT_ID;
- HouseData[h][HouseLights] = false;
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM houses WHERE id = %i LIMIT 1", sql);
- mysql_pquery(conn, mquery, "LoadHouses", "d", 1);
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM hfurniture WHERE HouseSQLID = %i", sql);
- mysql_pquery(conn, mquery, "LoadHouseFurniture");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM efurniture WHERE HouseSQLID = %i", sql);
- mysql_pquery(conn, mquery, "LoadExteriorHouseFurniture");
- format(tgstr, sizeof(tgstr), "Reloaded house %i", h);
- AdminLog(playerid, 0, "", tgstr);
- }
- return true;
- }
- CMD:reloadinteriors(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- for(new i = 0; i < MAX_INTERIORS; i++)
- {
- Interiors[i][interiorID] = 0;
- Interiors[i][oPosX] = 0;
- Interiors[i][oPosY] = 0;
- Interiors[i][oPosZ] = 0;
- Interiors[i][iPosX] = 0;
- Interiors[i][iPosY] = 0;
- Interiors[i][iPosZ] = 0;
- Interiors[i][iAngle] = 0;
- Interiors[i][oAngle] = 0;
- Interiors[i][iInteriorID] = 0;
- Interiors[i][oInteriorID] = 0;
- Interiors[i][iVirtualWorld] = 0;
- Interiors[i][oVirtualWorld] = 0;
- Interiors[i][InteriorNavTo] = 0;
- Interiors[i][IntFaction] = 0;
- Interiors[i][IntFactionRank] = 0;
- Interiors[i][InteriorName][0] = 0;
- }
- mysql_pquery(conn, "SELECT * FROM interiors", "LoadInteriors");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os interior foram {44C300}recarregada.");
- return true;
- }
- CMD:reloadpickups(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- for(new i = 0; i < MAX_SQLPICKUPS; i++)
- {
- DestroyDynamicPickup(PickupData[i][IGPickupID]);
- PickupData[i][IGPickupID] = 0;
- PickupData[i][PickupText][0] = 0;
- PickupData[i][Xpos] = 0;
- PickupData[i][Ypos] = 0;
- PickupData[i][Zpos] = 0;
- PickupData[i][PickupModel] = 0;
- PickupData[i][WorldID] = 0;
- PickupData[i][PickupType] = 0;
- }
- mysql_pquery(conn, "SELECT * FROM pickups", "LoadAllPickups");
- SendClientMessage(playerid, COLOR_WHITE, "Todas pickups foram {44C300}recarregada.");
- return true;
- }
- CMD:reloadrentalcars(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- foreach(new i: Player)
- {
- if(RentalCar[i] >= 1) return SysMsg(playerid, "Há um jogador atualmente com veiculo alugado.");
- }
- for(new v = 0, x = GetVehiclePoolSize(); v <= x; v++)
- {
- if(RentalData[v][CarID] != 0)
- {
- DestroyVehicleEx(RentalData[v][CarID], "RentalData[v][CarID]");
- RentalData[v][CarSQLID] = 0;
- RentalData[v][CarID] = 0;
- RentalData[v][CarModel] = 0;
- RentalData[v][rColor1] = 0;
- RentalData[v][rColor2] = 0;
- RentalData[v][CarMileage] = 0.0;
- RentalData[v][rPosX] = 0.0;
- RentalData[v][rPosY] = 0.0;
- RentalData[v][rPosZ] = 0.0;
- RentalData[v][rRot] = 0.0;
- RentalData[v][RentalPrice] = 0;
- RentalData[v][RentalPlate][0] = 0;
- }
- }
- mysql_pquery(conn, "SELECT * FROM `rentals`", "LoadRentalCars");
- SendClientMessage(playerid, COLOR_WHITE, "Todos os veiculos de aluguel foram {44C300}Recarregada.");
- return true;
- }
- CMD:criarcarrodealuguel(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- if(!IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid, "Você precisa estar em um veiculo para usar esse comando.");
- if(VehicleData[GetPlayerVehicleID(playerid)][VehSQLID] >= 1) return SysMsg(playerid, "Você não pode fazer veículos de propriedade em carros de aluguer.");
- if(FVehicleData[GetPlayerVehicleID(playerid)][FVSQLID] >= 1) return SysMsg(playerid, "Você não pode fazer veículos facção em carros de aluguer.");
- new cost;
- if(sscanf(params, "i", cost)) return SysMsg(playerid, "Use: /criarcarrodealuguel [valor] *Assegure-se de que o veículo está na posição correcta e tem as cores correctas.*");
- new pos[64], Float:vpos[4], v = GetPlayerVehicleID(playerid), col[2], plate[12], model;
- GetVehiclePos(v, vpos[0], vpos[1], vpos[2]);
- GetVehicleZAngle(v, vpos[3]);
- GetVehicleColors(v, col[0], col[1]);
- model = GetVehicleModel(v);
- format(pos, sizeof(pos), "%f,%f,%f,%f", vpos[0], vpos[1], vpos[2], vpos[3]);
- format(plate, sizeof(plate), "%s", GetNewRegPlate());
- DestroyVehicleEx(v, "v 3");
- ClearVehicleData(v);
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO rentals (Model, Color1, Color2, Position, Price, RegPlate) VALUES (%i, %i, %i, '%e', %i, '%e')", model, col[0], col[1], pos, cost, plate);
- mysql_pquery(conn, mquery, "LoadNewRentalCar", "d", playerid);
- return true;
- }
- CMD:fazerveh(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SysMsg(playerid, AUTHMSG);
- new vid;
- new NewVehCost, NewC1, NewC2, donator, ownerSQLID = -1, mileage, lastoiled;
- vid = GetPlayerVehicleID(playerid);
- if(!vid) return SysMsg(playerid,"Você precisa estar dentro do veiculo.");
- if(sscanf(params, "iiiiiii", NewVehCost, NewC1, NewC2, donator, mileage, lastoiled, ownerSQLID)) return SysMsg(playerid,"Use: /fazerveh [valor] [col1] [col2] [donator 1/0] [mileage] [last oiled] [owner sqlid or 0]");
- if(NewVehCost < 1) return SysMsg(playerid,"O custo deve ser > 0");
- if(NewC1 < 0 || NewC1 > 255) return SysMsg(playerid,"As cores devem estar entre 0-255");
- if(NewC2 < 0 || NewC2 > 255) return SysMsg(playerid,"As cores devem estar entre 0-255");
- mysql_format(conn, mquery, sizeof(mquery), "SELECT * FROM vehicles WHERE OwnerSQLID = %i", ownerSQLID);
- mysql_pquery(conn, mquery, "MakeVeh", "dddddddd", playerid, NewVehCost, NewC1, NewC2, donator, mileage, lastoiled, ownerSQLID);
- return true;
- }
- CMD:cfv(playerid, params[])
- {
- new hof;
- MySQLFetchInt(MasterAccount[playerid], "HoF", hof, "masters");
- if(!IsPlayerAdminLevelOK(playerid, 4) && hof != 1) return SysMsg(playerid, AUTHMSG);
- new Float:X, Float:Y, Float:Z, Float:Rot, model, vid, NewC1, NewC2, inter, faction, confirm[12], j;
- vid = GetPlayerVehicleID(playerid);
- if(!vid) return SysMsg(playerid,"Você precisa estar dentro do veiculo.");
- model = GetVehicleModel(vid);
- new t = 0;
- for(j = 0; j < sizeof(AllowedFactionVehs); j++)
- {
- if(model == AllowedFactionVehs[j][0])
- {
- t = 1;
- break;
- }
- }
- if(t == 0) return SysMsg(playerid, "Este veículo não é um veículo de facção aprovado.");
- if(model != AllowedFactionVehs[j][0]) return SysMsg(playerid, "Este veículo não é um veículo de facção aprovado.");
- if(sscanf(params, "iS(none)[12]", faction, confirm)) return SysMsg(playerid, "Use: /cfv [facção ID]");
- if(faction < 1 || faction > MAX_FACTIONS) return SysMsg(playerid,"Facção deve ser mais do que 0.");
- if(FACTIONS[faction][FactionId] == 0) return SysMsg(playerid, "Facção deve ser válida.");
- if(strmatch("none", confirm)) SendSplitMessageF(playerid, COLOR_LIGHTGREEN, "[CFV] Adicionou este %s na facção %s [ID %i] vai custar um total de $%s, tipo (/cfv %i confirmar) para confirmar a transação.", GetVehicleNameEx(AllowedFactionVehs[j][0]), GetFactionNameFromId(faction), faction, format_cash(AllowedFactionVehs[j][1]), faction);
- else if(strmatch("confirmar", confirm))
- {
- if(model != AllowedFactionVehs[j][0]) return SysMsg(playerid, "Este veículo não é um veículo de facção aprovado.");
- if(Cash[playerid] < AllowedFactionVehs[j][1]) return SysMsg(playerid, "Você não tem dinheiro suficiente para executar este comando.");
- new plate[8];
- GetVehiclePos(vid,X,Y,Z);
- GetVehicleZAngle(vid,Rot);
- GetVehicleColors(vid, NewC1, NewC2);
- inter = GetPlayerInterior(playerid);
- format(plate, MAX_REG_PLATE, GetNewRegPlate());
- DestroyVehicleEx(vid, "vid 0");
- mysql_format(conn, mquery, sizeof(mquery), "INSERT INTO fveh (Model, Col1, Col2, Faction, RegPlate, MinRank, LocationX, LocationY, LocationZ, LocationR, Interior, VWorld, Creator) VALUES (%i, %i, %i, %i, '%e', 1, %f, %f, %f, %f, %i, %i, %i)",
- model, NewC1, NewC2, faction, plate, X, Y, Z, Rot, inter, GetPlayerVirtualWorld(playerid), SQLID[playerid]);
- mysql_pquery(conn, mquery, "CreateFVeh");
- GivePlayerCash(playerid, -AllowedFactionVehs[j][1]);
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Adicionou este %s na facção %s [ID %i] vai custar um total de $%s.", GetVehicleNameEx(AllowedFactionVehs[j][0]), GetFactionNameFromId(faction), faction, format_cash(AllowedFactionVehs[j][1]));
- format(sgstr, sizeof(sgstr), "Criado f.veh por %s(fid %i), %s", GetFactionNameFromId(faction), faction, GetVehicleName(vid));
- AdminLog(playerid, 0, "", sgstr);
- }
- return true;
- }
- CMD:dfv(playerid)
- {
- new hof;
- MySQLFetchInt(MasterAccount[playerid], "HoF", hof, "masters");
- if(!IsPlayerAdminLevelOK(playerid, 4) && hof != 1) return SysMsg(playerid, AUTHMSG);
- if(!IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid,"Você precisa estar dentro do veiculo.");
- if(!IsFactionVehicle(GetPlayerVehicleID(playerid))) return SysMsg(playerid, "You must be in a faction vehicle.");
- new vid = GetPlayerVehicleID(playerid);
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM fveh WHERE id=%i LIMIT 1", FVehicleData[vid][FVSQLID]);
- mysql_pquery(conn, mquery);
- format(sgstr, sizeof(sgstr), "Deleted f.veh for %s(fid %i), %s", GetFactionNameFromId(FVehicleData[vid][FVFaction]), FVehicleData[vid][FVFaction], GetVehicleName(vid));
- AdminLog(playerid, 0, "", sgstr);
- ClearVehicleData(vid);
- DestroyVehicleEx(vid, "vid 1");
- SysMsgF(playerid, "o veiculo de facção ID %i foi deletado.", vid);
- return true;
- }
- CMD:fids(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- gstr[0] = EOS;
- new fname[35];
- for(new i = 1; i < MAX_FACTIONS; i++)
- {
- if(FACTIONS[i][FactionId] >= 1)
- {
- format(fname, sizeof(fname), "%i - %s\n", FACTIONS[i][FactionId], FACTIONS[i][FactionName]);
- strcat(gstr, fname);
- }
- }
- ShowMessage(playerid, "Facções ID", gstr, "OK");
- return true;
- }
- CMD:fedit(playerid, params[])
- {
- new hof, header[64];
- MySQLFetchInt(MasterAccount[playerid], "HoF", hof, "masters");
- if(IsPlayerAdminLevelOK(playerid, 4) || hof == 1)
- {
- if(isnull(params)) return SysMsg(playerid, "Use: /fedit [facção ID]");
- if(!IsNumeric(params)) return SysMsg(playerid, "Use: /fedit [facção ID]");
- if(strval(params) >= MAX_FACTIONS) return SysMsg(playerid, "Faction ID exceeds max factions.");
- if(FACTIONS[strval(params)][FactionId] == 0) return SysMsg(playerid, "Invalid faction.");
- new f = strval(params);
- new isgang[8], isactive[8];
- if(FACTIONS[f][FactionIsGang] == 1) format(isgang, 8, "YES");
- else format(isgang, 8, "NO");
- if(FACTIONS[f][FactionIsActive] == 1) format(isactive, 8, "YES");
- else format(isactive, 8, "NO");
- format(gstr, sizeof(gstr), "{FFFFFF}Editar nome da facção\nEditar Abv da facção. [Atual: {D9D925}%s{FFFFFF}]\nEdit Uber Rank [Atual: {D9D925}%s [%i]{ffffff}]\nEditar Rank do líder [Atual: {D9D925}%s [%i]{FFFFFF}]\nEditar líder [Atual: {D9D925}%s{FFFFFF}]\nEditar rádio freq [Atual: {D9D925}%i MHz{FFFFFF}]\nÉ Gang [{D9D925}%s{FFFFFF}]\nÉ ativa [{D9D925}%s{FFFFFF}]", FACTIONS[f][FNameShort],
- GetFactionRankName(f, FACTIONS[f][FactionUberLeaderRank]), FACTIONS[f][FactionUberLeaderRank], GetFactionRankName(f, FACTIONS[f][FactionLeaderRank]), FACTIONS[f][FactionLeaderRank], GetSQLName(FACTIONS[f][FactionLeader]), FACTIONS[f][FactionRadioChannel], isgang, isactive);
- SetPVarInt(playerid, "fEditf", f);
- format(header, sizeof(header), "Menu Editar facção - %s [ID %i]", GetFactionNameFromId(f), f);
- Dialog_Show(playerid, FactionEditMenu, DIALOG_STYLE_LIST, header, gstr, "Selecionar", "Cancelar");
- }
- else return SysMsg(playerid, AUTHMSG);
- return true;
- }
- CMD:precisao(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid, "Use: /precisao [playerID ou name]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(ShotsFired[playa] == 0) return SysMsg(playerid, "Este jogador não disparou nenhuma bala.");
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "Visualizando a exatidão de {FFFFFF}%s!", NameEx(playa));
- SendClientMessageF(playerid, COLOR_WHITE, "Número de balas disparadas na sessão atual: %i. Número de balas atingidas na sessão atual: %i. Número de headshots na sessão atual: %i.", ShotsFired[playa], ShotsHit[playa], HeadshotsHit[playa]);
- SendClientMessageF(playerid, COLOR_WHITE, "Precisão de acerto total: %.2f. Porcentagem Headshot: %.2f", GetHitAccuracy(playa), GetHeadshotAccuracy(playa));
- return true;
- }
- CMD:userlog(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1, page;
- if(sscanf(params, "ui", playa, page)) return SysMsg(playerid, "Use: /userlog [playerID ou name] [pagina 1 or 2]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(MasterAccount[playa] == 29469 && MasterAccount[playerid] == 19025) return SysMsg(playerid, "É bom tentar, amigo. Amor, Emmalee");
- if(page != 1 && page != 2) return SysMsg(playerid, "Página inválida. Insira 1 ou 2.");
- new bigstring[3000];
- sgstr[0] = EOS;
- if(page == 1)
- {
- for(new x = 24; x != -1; x--)
- {
- if(strlen(ActionLog[playa][x]))
- {
- strunpack(sgstr, ActionLog[playa][x], sizeof(sgstr));
- strcat(bigstring, sgstr);
- strcat(bigstring, "\n");
- }
- }
- }
- else
- {
- for(new x = 49; x != 24; x--)
- {
- if(strlen(ActionLog[playa][x]))
- {
- strunpack(sgstr, ActionLog[playa][x], sizeof(sgstr));
- strcat(bigstring, sgstr);
- strcat(bigstring, "\n");
- }
- }
- }
- if(!strlen(bigstring)) return SysMsg(playerid, "Não foi possível encontrar um registro de ação para este jogador.");
- new sub[32];
- format(sub, 32, "Registro de ação de %s", NameEx(playa));
- ShowMessage(playerid, sub, bigstring, "Fechar!");
- return true;
- }
- CMD:ccash(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 2)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /infodinheiro [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid,"Esse jogador não está conectado.");
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(!Logged{playa}) return SysMsg(playerid,"Esse jogador não está logado.");
- SendClientMessageF(playerid, COLOR_WHITE, "Detalhes financeiros de %s: Dinheiro em mãos: $%s, Saldo bancário: $%s",NameEx(playa), format_cash(Cash[playa]), format_cash(BankBalance[playa]));
- return true;
- }
- CMD:skiphosp(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return true;
- if(isnull(params))
- {
- ReleaseHospitalizedPlayer(playerid);
- AdminLog(playerid, 0, "", "Skipped hospital");
- }
- else
- {
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /skiphosp [player id ou nome]");
- if(!IsInHospital{playa}) return SysMsg(playerid, "That player is not in the hospital.");
- ReleaseHospitalizedPlayer(playa);
- SendClientMessageF(playerid, COLOR_LIGHTGREEN, "You have successfully skipped %s[ID %i]'s hospital time.", NameEx(playa), playa);
- format(gstr, sizeof(gstr), "[Admin] Admin %s has skipped %s[ID %i]'s hospital.", NameEx(playerid), NameEx(playa), playa);
- AdminBroadcast(gstr, 1, 3);
- SendClientMessage(playa, COLOR_LIGHTRED, "You have been discharged from hospital. Have a nice day and be careful out there!");
- AdminLog(playerid, 0, "", "Skipped hospital for a player");
- }
- return true;
- }
- /* CMD:ip(playerid, params[])
- {
- if(isnull(params))
- {
- SendClientMessageF(playerid, COLOR_WHITE, "IP Address: %s", PlayerIP[playerid]);
- SendClientMessageF(playerid, COLOR_WHITE, "Server Latency: %ims", GetPlayerPing(playerid));
- }
- else
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new playa = -1;
- if(sscanf(params, "u", playa)) return SysMsg(playerid,"Use: /ip [ID ou nome do jogador]");
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- //SendClientMessageF(playerid, COLOR_WHITE, "IP Address: %s, Server Latency: %ims", PlayerIP[playa], GetPlayerPing(playa));
- SendClientMessageF(playerid, COLOR_WHITE, "IP Address: %s, Country: %s, Area: %s", PlayerIP[playa], GetPlayerCountryName(playa), GetPlayerCountryRegion(playa));
- SendClientMessageF(playerid, COLOR_WHITE, "Server Latency: %ims, ISP: %s", GetPlayerPing(playa), GetPlayerISP(playa));
- }
- return true;
- } */
- CMD:refundodinheiro(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 4)) return false;
- new pname[MAX_PLAYER_NAME], playa = -1, amount, sqlid = -1;
- if(sscanf(params, "s[24]i", pname, amount)) return SysMsg(playerid,"Use: /refundodinheiro [playerid ou nome] [Quantidade]");
- if(IsNumeric(pname))
- {
- if(!IsPlayerConnected(strval(pname)) || !Logged{strval(pname)}) return SysMsg(playerid, "O ID do jogador não foi conectado e conectado.");
- playa = strval(pname);
- sqlid = SQLID[playa];
- }
- else
- {
- sqlid = MySQLCheckAccount(pname, playerid);
- if(sqlid <= 0) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- }
- if(sqlid == -1) return SysMsg(playerid, "O nome não foi encontrado. Por favor, inclua o primeiro nome, sobrenome e um título de destaque OU use o ID de identidade atual.");
- if(sqlid == SQLID[playerid] && !IsPlayerAdmin(playerid)) return SysMsg(playerid, "Não pode ser você mesmo.");
- if(amount < 1 || amount > 10000000) return SysMsg(playerid,"Amount must be more than 0 and 10,000,000 or less.");
- if(playa >= 0)
- {
- GivePlayerCash(playa, amount);
- MySQLUpdateInt(SQLID[playa], "Cash", Cash[playa], "players");
- format(gstr, sizeof(gstr),"Admin %s refundou a você $%s.", NameEx(playerid), format_cash(amount));
- SendClientMessage(playa, COLOR_LIGHTGREEN, gstr);
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s $%s.", NameEx(playerid), NameEx(playa), format_cash(amount));
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr),"[%s] O jogador %s(%i) recebeu refundo de $%i do administrador %s(%i). (Total: $%i)", GetServerTimeString(), NameEx(playa), playa, amount, NameEx(playerid), playerid, Cash[playa]);
- AddToLog("cash", gstr);
- format(gstr, sizeof(gstr), "Refund cash $%i", amount);
- AdminLog(playerid, SQLID[playa], GetName(playa), gstr);
- }
- else
- {
- foreach(new i: Player) if(sqlid == SQLID[i]) return SysMsg(playerid, "Nada foi encontrado, use o ID do jogador.");
- new tempval;
- MySQLFetchInt(sqlid, "Cash", tempval, "players");
- tempval += amount;
- MySQLUpdateInt(sqlid, "Cash", tempval, "players");
- format(gstr, sizeof(gstr),"[Admin] %s refundou a %s $%s.", NameEx(playerid), GetSQLName(sqlid), format_cash(amount));
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr),"[%s] O jogador Offline %s recebeu de refundo $%i do administrador %s(%i). (Total: $%i)", GetServerTimeString(), GetSQLName(sqlid), amount, NameEx(playerid), playerid, tempval);
- AddToLog("cash", gstr);
- format(gstr, sizeof(gstr), "Reembolso em dinheiro $%i", amount);
- AdminLog(playerid, sqlid, GetSQLName(sqlid), gstr);
- }
- return true;
- }
- CMD:delacc(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return false;
- new sqlid = -1;
- if(isnull(params)) return SysMsg(playerid,"Use: /delacc [Nome_Sobrenome] *Irá deletar uma conta*");
- sqlid = MySQLCheckAccount(params, playerid);
- if(sqlid <= 1) return SysMsg(playerid, "Esse nome não foi encontrado, escreva o (Nome_Sobrenome) corretamente.");
- if(sqlid == SQLID[playerid]) return SysMsg(playerid, "Não pode ser você mesmo.");
- foreach(new p: Player)
- {
- if(sqlid == SQLID[p] && Logged{p})
- {
- SendClientMessageToAllF(COLOR_RED, "Admin %s deletou permanente a conta %s.", NameEx(playerid), NameEx(p));
- KickPlayer(p, 15);
- }
- }
- format(gstr, sizeof(gstr),"[Admin] %s deletou a conta '%s' da database do servidor.", NameEx(playerid), GetSQLName(sqlid));
- AdminBroadcast(gstr, 0);
- format(gstr, sizeof(gstr), "Conta deletada %s(SQLID %i)", GetSQLName(sqlid), sqlid);
- AdminLog(playerid, 0, "", gstr);
- mysql_format(conn, mquery, sizeof(mquery), "DELETE FROM players WHERE id = %i LIMIT 1", sqlid);
- mysql_pquery(conn, mquery);
- return true;
- }
- CMD:boomboxid(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- foreach(new p: Player)
- {
- if(IsPlayerInDynamicArea(playerid, Boomboxes[p][BoomArea]) && IsValidDynamicArea(Boomboxes[p][BoomArea]))
- {
- return SendClientMessageF(playerid, COLOR_OOC, "O ID deste boombox é %i.", p);
- }
- }
- SysMsg(playerid, "Você não está perto de uma boombox, chegue mais perto e tente novamente.");
- return true;
- }
- CMD:fcarlist(playerid, params[])
- {
- for(new j = 0; j < sizeof(AllowedFactionVehs); j++)
- {
- printf("%s - $%s", GetVehicleNameEx(AllowedFactionVehs[j][0]), format_cash(AllowedFactionVehs[j][1]));
- }
- return true;
- }
- CMD:aesconder(playerid, params[])
- {
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, CMDFMSG);
- AdminHidden[playerid] = !AdminHidden[playerid];
- if(ADuty[playerid] == 1)
- {
- ADuty[playerid] = 0;
- SetPlayerColor(playerid, 0xFFFFFF00);
- SysMsg(playerid,"O dever de administração foi desligado automaticamente.");
- if(UsingPaint{playerid}) cmd_paint(playerid);
- }
- if(AdminHidden[playerid]) SysMsg(playerid, "Você está escondido agora do /admins.");
- else SysMsg(playerid, "Você não está mais escondido do /admins.");
- return true;
- }
- CMD:stranger(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- if(!IsPlayerAdminLevelOK(playerid, 1)) return SysMsg(playerid, AUTHMSG);
- new stranger, playa = -1;
- if(sscanf(params, "i", stranger)) return SysMsg(playerid,"Use: /estranho [mascara ID]");
- foreach(new i: Player)
- {
- if(Logged{i} && IsPlayerMasked{i} && MaskLabelNumber[i] == stranger)
- {
- playa = i;
- break;
- }
- }
- if(playa == -1) return SysMsg(playerid,"Não há jogadores atualmente usando esse ID de mascara");
- SendClientMessageF(playerid,COLOR_YELLOW, "*Mascarado %i(%s ID %i)", stranger, NameEx(playa), playa);
- return true;
- }
- CMD:reportar(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- new AdminCount = 0;
- foreach(new i: Player) if(IsPlayerAdminLevelOK(i, 1)) AdminCount ++;
- if(AdminCount == 0) return SysMsg(playerid, "No momento não há admins/helpers online.");
- new playa = -1, reason[150], name[MAX_PLAYER_NAME];
- if(sscanf(params, "s[24]s[150]", name, reason))
- {
- SysMsg(playerid,"Use: /reportar [ID ou nome do jogador] [razão *Max 50 Caracteres*]");
- SysMsg(playerid, "Lembrete: Este comando é para reportar outros jogadores que estão quebrando regras.");
- return SysMsg(playerid, "Aviso: Use /assistencia Se você tiver uma pergunta ou exigir assistência admin.");
- }
- if(strval(name) >= 500)
- {
- foreach(new p: Player)
- {
- if(MaskLabelNumber[p] == strval(name))
- {
- playa = p;
- }
- }
- }
- else playa = GetPlayerIDs(name);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(playa == playerid) return SysMsg(playerid,"Não pode se reportar a si mesmo.");
- SendReport(playerid, playa, reason);
- foreach(new i: Player)
- {
- if(IsPlayerAdminLevelOK(i, 1))
- {
- SendSplitMessageF(i,COLOR_YELLOW,"* Reporte de %s(%i) sobre %s(%i): %s", NameEx(playerid), playerid, NameEx(playa), playa, reason);
- }
- }
- SendClientMessage(playerid, COLOR_ORANGE, "Relatório enviado a todos os administradores on-line. Use /cancelarreporte se você não precisa mais.");
- return true;
- }
- CMD:cancelarreporte(playerid, params[])
- {
- if(!Logged{playerid}) return true;
- new name[24], playa = -1;
- if(sscanf(params, "s[24]", name)) return SysMsg(playerid,"Use: /cancelarreporte [ID ou nome do jogador]");
- if(strval(name) >= 500)
- {
- foreach(new p: Player)
- {
- if(MaskLabelNumber[p] == strval(name))
- {
- playa = p;
- }
- }
- }
- else playa = GetPlayerIDs(name);
- if(InvalidPlayer(playa)) return SysMsg(playerid, NOPLAYER);
- if(IsPlayerNPC(playa)) return SysMsg(playerid,"Esse jogador é um NPC.");
- if(playa == playerid) return SysMsg(playerid,"Não pode se reportar.");
- new reportcancelled = 0;
- for(new x = 0; x < MAX_REPORTS; x++)
- {
- if(strmatch(Reports[x][ReportedName], NameEx(playa)))
- {
- Reports[x][ReporterName][0] = EOS;
- Reports[x][ReportedName][0] = EOS;
- Reports[x][ReportReason][0] = EOS;
- Reports[x][ReportTime] = 0;
- reportcancelled = 1;
- }
- }
- if(reportcancelled == 0) SendClientMessage(playerid, COLOR_ORANGE, "Não foi possível encontrar um reporte sobre esse jogador.");
- else SendClientMessageF(playerid, COLOR_ORANGE, "Você cancelou seu reporte. %s.", NameRP(playa));
- return true;
- }
- CMD:entrarevento(playerid, params[])//entrarevento
- {
- if(!Logged{playerid}) return true;
- if(EventOpen == 0) return SysMsg(playerid,"Não há evento.");
- if(IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid,"Você não pode participar em um veículo.");
- if(LastEventPos[playerid][0] != -1.0) return SysMsg(playerid,"Você já está no evento.");
- GetPlayerPos(playerid, LastEventPos[playerid][0], LastEventPos[playerid][1], LastEventPos[playerid][2]);
- LastEventIDs[playerid][0] = GetPlayerInterior(playerid);
- LastEventIDs[playerid][1] = GetPlayerVirtualWorld(playerid);
- SetPlayerPos(playerid, EventData[EventX], EventData[EventY], EventData[EventZ]);
- SetPlayerInterior(playerid, EventData[EventInterior]);
- SetPlayerVirtualWorldEx(playerid, EventData[EventVW]);
- format(gstr, sizeof(gstr), "Você se juntou ao evento: %s. Use /sairevento para sair.", EventData[EventName]);
- SendClientMessage(playerid, COLOR_ORANGE, gstr);
- UnlockAchievement(playerid, 67);
- return true;
- }
- CMD:exitevent(playerid, params[])//sairevento
- {
- if(!Logged{playerid}) return true;
- if(IsPlayerInAnyVehicle(playerid)) return SysMsg(playerid,"Você não pode sair em um veículo.");
- if(LastEventPos[playerid][0] == -1.0) return SysMsg(playerid,"Você não está em um evento.");
- SetPlayerPos(playerid, LastEventPos[playerid][0], LastEventPos[playerid][1], LastEventPos[playerid][2]);
- SetPlayerInterior(playerid, LastEventIDs[playerid][0]);
- SetPlayerVirtualWorldEx(playerid, LastEventIDs[playerid][1]);
- LastEventPos[playerid][0] = -1.0;
- LastEventPos[playerid][1] = -1.0;
- LastEventPos[playerid][2] = -1.0;
- LastEventIDs[playerid][0] = 0;
- LastEventIDs[playerid][1] = 0;
- SendClientMessage(playerid, COLOR_ORANGE, "Você saiu do evento.");
- return true;
- }
|