| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141 |
- /* SA:MP Useful Functions
- *
- * (c) Copyright 2005-2006, Credits:
- *
- * Alex "Y_Less" Cole
- * Jan "DracoBlue" Schütze
- * Gabriel "Larcius" Cordes
- * Rafelder
- * Mike
- * Slick
- * Allan
- * SidViciousII
- * Darkrealm
- * El Presy
- * Spectre
- * mabako
- * Sacky
- * Boss
- * Toxic
- * dyraXon
- * yellowblood
- * 50p
- * rapidZ
- * Tratulla
- * Kamazy
- * Simon
- * yom
- * Betamaster
- * Peter
- * kool
- * Hellomy
- *
- */
- #if defined _uf_included
- #endinput
- #endif
- #define _uf_included
- #pragma library uf
- #define MAX_STRING 255
- #define MAX_VEHICLES_MODELS 212
- #define MAX_AREAS 500
- #define MAX_FREEZE 100
- #define FREEZE_COUNTDOWN MAX_FREEZE
- #define FREEZE_COUNTUP MAX_FREEZE+1
- #define FREEZE_MENU MAX_FREEZE+2
- #define MAX_FREEZE_ALL FREEZE_MENU+1
- #define VTYPE_CAR 1
- #define VTYPE_HEAVY 2
- #define VTYPE_MONSTER 3
- #define VTYPE_BIKE 4
- #define VTYPE_QUAD 5
- #define VTYPE_BMX 6
- #define VTYPE_HELI 7
- #define VTYPE_PLANE 8
- #define VTYPE_SEA 9
- #define VTYPE_TRAILER 10
- #define VTYPE_TRAIN 11
- #define VTYPE_BOAT VTYPE_SEA
- #define VTYPE_BICYCLE VTYPE_BMX
- #define AREA_RECTANGLE 1
- #define AREA_CIRCLE 2
- #define AREA_ASHLAR 3
- #define AREA_CUBE AREA_ASHLAR
- #define AREA_SPHERE 4
- #define AREA_CYLINDER 5
- #define INF_INT 0x7F800000
- const Float:INF_FLOAT=Float:0x7F800000;
- const Float:PI=3.14159265;
- #define SecToMS(%1) %1*1000
- #define MinToMS(%1) %1*1000*60
- #define HourToMS(%1) %1*1000*60*60
- #define FORWARD 1
- #define SIDELONG 2
- #define SPEED_MPS 1
- #define SPEED_KMPH 2
- #define SPEED_MPH 3
- #define ACC_MPS2 1
- #define ACC_KMPH2 2
- #define ACC_G 3
- new stock VehicleNames[(MAX_VEHICLES_MODELS+1)][MAX_STRING] = {
- "Landstalker",
- "Bravura",
- "Buffalo",
- "Linerunner",
- "Pereniel",
- "Sentinel",
- "Dumper",
- "Firetruck",
- "Trashmaster",
- "Stretch",
- "Manana",
- "Infernus",
- "Voodoo",
- "Pony",
- "Mule",
- "Cheetah",
- "Ambulance",
- "Leviathan",
- "Moonbeam",
- "Esperanto",
- "Taxi",
- "Washington",
- "Bobcat",
- "Mr Whoopee",
- "BF Injection",
- "Hunter",
- "Premier",
- "Enforcer",
- "Securicar",
- "Banshee",
- "Predator",
- "Bus",
- "Rhino",
- "Barracks",
- "Hotknife",
- "Trailer", //artict1
- "Previon",
- "Coach",
- "Cabbie",
- "Stallion",
- "Rumpo",
- "RC Bandit",
- "Romero",
- "Packer",
- "Monster",
- "Admiral",
- "Squalo",
- "Seasparrow",
- "Pizzaboy",
- "Tram",
- "Trailer", //artict2
- "Turismo",
- "Speeder",
- "Reefer",
- "Tropic",
- "Flatbed",
- "Yankee",
- "Caddy",
- "Solair",
- "Berkley's RC Van",
- "Skimmer",
- "PCJ-600",
- "Faggio",
- "Freeway",
- "RC Baron",
- "RC Raider",
- "Glendale",
- "Oceanic",
- "Sanchez",
- "Sparrow",
- "Patriot",
- "Quad",
- "Coastguard",
- "Dinghy",
- "Hermes",
- "Sabre",
- "Rustler",
- "ZR3 50",
- "Walton",
- "Regina",
- "Comet",
- "BMX",
- "Burrito",
- "Camper",
- "Marquis",
- "Baggage",
- "Dozer",
- "Maverick",
- "News Chopper",
- "Rancher",
- "FBI Rancher",
- "Virgo",
- "Greenwood",
- "Jetmax",
- "Hotring",
- "Sandking",
- "Blista Compact",
- "Police Maverick",
- "Boxville",
- "Benson",
- "Mesa",
- "RC Goblin",
- "Hotring Racer", //hotrina
- "Hotring Racer", //hotrinb
- "Bloodring Banger",
- "Rancher",
- "Super GT",
- "Elegant",
- "Journey",
- "Bike",
- "Mountain Bike",
- "Beagle",
- "Cropdust",
- "Stunt",
- "Tanker", //petro
- "RoadTrain",
- "Nebula",
- "Majestic",
- "Buccaneer",
- "Shamal",
- "Hydra",
- "FCR-900",
- "NRG-500",
- "HPV1000",
- "Cement Truck",
- "Tow Truck",
- "Fortune",
- "Cadrona",
- "FBI Truck",
- "Willard",
- "Forklift",
- "Tractor",
- "Combine",
- "Feltzer",
- "Remington",
- "Slamvan",
- "Blade",
- "Freight",
- "Streak",
- "Vortex",
- "Vincent",
- "Bullet",
- "Clover",
- "Sadler",
- "Firetruck", //firela
- "Hustler",
- "Intruder",
- "Primo",
- "Cargobob",
- "Tampa",
- "Sunrise",
- "Merit",
- "Utility",
- "Nevada",
- "Yosemite",
- "Windsor",
- "Monster", //monstera
- "Monster", //monsterb
- "Uranus",
- "Jester",
- "Sultan",
- "Stratum",
- "Elegy",
- "Raindance",
- "RC Tiger",
- "Flash",
- "Tahoma",
- "Savanna",
- "Bandito",
- "Freight", //freiflat
- "Trailer", //streakc
- "Kart",
- "Mower",
- "Duneride",
- "Sweeper",
- "Broadway",
- "Tornado",
- "AT-400",
- "DFT-30",
- "Huntley",
- "Stafford",
- "BF-400",
- "Newsvan",
- "Tug",
- "Trailer", //petrotr
- "Emperor",
- "Wayfarer",
- "Euros",
- "Hotdog",
- "Club",
- "Trailer", //freibox
- "Trailer", //artict3
- "Andromada",
- "Dodo",
- "RC Cam",
- "Launch",
- "Police Car (LSPD)",
- "Police Car (SFPD)",
- "Police Car (LVPD)",
- "Police Ranger",
- "Picador",
- "S.W.A.T. Van",
- "Alpha",
- "Phoenix",
- "Glendale",
- "Sadler",
- "Luggage Trailer", //bagboxa
- "Luggage Trailer", //bagboxb
- "Stair Trailer", //tugstair
- "Boxville",
- "Farm Plow", //farmtr1
- "Utility Trailer", //utiltr1
- "Invalid Vehicle" //just to return if the modelid is invalid
- };
- #if defined OnPlayerBuyWeapon
- new stock Float:lvammu[3][3] = {
- (295.7932,-80.8074,1001.5156),
- (295.5800,-80.4444,1001.5156),
- (290.1626,-109.7770,1001.5156)
- };
- new stock Float:ammu[7][3] = {
- (296.7232,-38.5011,1001.5156),
- (313.0667,-165.7863,999.6010),
- (296.5075,-38.5065,1001.5156),
- (289.7543,-109.7784,1001.5156),
- (296.1650,-80.8099,1001.5156),
- (290.6806,-109.7799,1001.5156),
- (290.4812,-109.7673,1001.5156)
- };
- #endif
- #if defined OnPlayerGamble
- new stock Float:gamble1[12][3] = {
- (2230.7319,1589.3613,1007.1223),
- (2230.9382,1595.0582,1007.1223),
- (2230.7825,1615.1445,1007.1223),
- (2230.1284,1619.4703,1007.1223),
- (2241.9258,1619.5101,1007.1223),
- (2241.4067,1614.7375,1007.1223),
- (2242.6226,1595.3263,1007.1223),
- (2242.6494,1589.4646,1007.1223),
- (1958.8229,1025.9097,993.4035),
- (1963.6870,1025.8323,993.4035),
- (1959.4716,1010.6929,993.4035),
- (1963.4226,1010.7554,993.4035)
- };
- new stock Float:gamble2[3][3] = {
- (2230.3799,1604.6863,1006.1860),
- (2241.3516,1604.2601,1006.1797),
- (1126.4874,-1.4898,1000.6797)
- };
- new stock Float:gamble3[20][3] = {
- (1969.5471,1029.5972,992.4745),
- (1969.5416,1021.4896,992.4688),
- (1969.5569,1014.0104,992.4688),
- (1969.5547,1006.4145,992.4745),
- (1969.7015,1029.5469,992.4745),
- (1942.8903,1006.8364,992.4688),
- (1941.8312,1013.9740,992.4688),
- (1941.8381,1021.5088,992.4688),
- (1942.5658,1028.6289,992.4688),
- (2275.2219,1596.2104,1006.1797),
- (2275.2146,1589.7419,1006.1797),
- (2270.4824,1595.9219,1006.1797),
- (2265.4377,1596.3553,1006.1797),
- (2260.0259,1596.6718,1006.1797),
- (2254.9976,1596.3917,1006.1797),
- (2252.4050,1590.1534,1006.1797),
- (2257.4419,1590.0051,1006.1797),
- (2262.8257,1589.6021,1006.1797),
- (2267.9023,1589.6578,1006.1797),
- (1126.6071,2.9759,1000.6797)
- };
- new stock Float:gamble4[18][3] = {
- (1965.8324,997.9891,992.4688),
- (1962.9382,991.2863,992.4688),
- (1965.8340,998.0048,992.4688),
- (1958.1143,986.5440,992.4688),
- (1965.8490,1037.6136,992.4688),
- (1963.0631,1044.0096,992.4688),
- (1958.1376,1049.0104,992.4688),
- (2255.1760,1618.7878,1006.1797),
- (2255.2905,1614.8890,1006.1797),
- (2255.2170,1610.8423,1006.1797),
- (2268.5320,1606.8667,1006.1797),
- (2274.5471,1606.8854,1006.1797),
- (2218.6533,1619.8169,1006.1794),
- (2218.5603,1615.4678,1006.1797),
- (2216.3044,1603.6766,1006.1819),
- (2219.9624,1603.8689,1006.1797),
- (2218.4788,1593.6322,1006.1871),
- (2218.6128,1589.3203,1006.1841)
- };
- new stock Float:gamble5[2][3] = {
- (1961.4709,1020.2551,992.4688),
- (1961.5642,1015.8394,992.4688)
- };
- new stock Float:gamble6[5][3] = {
- (2271.6360,1586.1650,1006.1797),
- (2261.5183,1586.4304,1006.1797),
- (2251.8772,1586.5632,1006.1860),
- (1946.5306,986.7844,992.4688),
- (1120.0988,-1.3969,1000.6908)
- };
- new stock Float:gamble7[1][3] = {
- (1136.3954,-1.6494,1000.6797)
- };
- #endif
- enum SpeedEnum
- {
- Show,
- TextID,
- Float:MPS,
- Float:KMPH,
- Float:MPH
- }
- enum AccelerationEnum
- {
- Show,
- TextID,
- Float:MPS2,
- Float:KMPH2,
- Float:G
- }
- enum PlayersEnum
- {
- Float:X,
- Float:Y,
- Float:Z,
- Float:Health,
- Float:Armour,
- Last_Vehicle,
- Cur_Vehicle,
- Last_Team,
- Cur_Team,
- Money,
- State,
- Weapon,
- Score,
- Wanted,
- Freeze[MAX_FREEZE_ALL],
- Speed2[SpeedEnum],
- Acceleration[AccelerationEnum]
- }
- enum VehiclesEnum
- {
- Float:X,
- Float:Y,
- Float:Z,
- Float:Angle,
- Float:Health,
- Dynamic,
- Static,
- Last_Trailer,
- Cur_Trailer,
- Respawn,
- Color1,
- Color2,
- Objective[MAX_PLAYERS],
- Locked[MAX_PLAYERS]
- }
- enum PickupsEnum
- {
- Float:X,
- Float:Y,
- Float:Z,
- Model,
- Respawn,
- Type
- }
- enum CounterDownEnum
- {
- Style,
- TextID,
- }
- enum CounterUpEnum
- {
- Style,
- TextID,
- Time2
- }
- enum CountersEnum
- {
- Down[CounterDownEnum],
- Up[CounterUpEnum]
- }
- enum AreasEnum
- {
- Type,
- Float:X,
- Float:Y,
- Float:Z,
- Float:X2,
- Float:Y2,
- Float:Z2,
- Float:Radius,
- PlayerInArea[MAX_PLAYERS]
- }
- new stock preh[MAX_PLAYERS];
- new stock bets[MAX_PLAYERS];
- new stock betting[MAX_PLAYERS];
- new stock Pickups[MAX_PICKUPS][PickupsEnum];
- new stock Vehicles[MAX_VEHICLES][VehiclesEnum];
- new stock Players[MAX_PLAYERS][PlayersEnum];
- new stock Counters[MAX_PLAYERS][CountersEnum];
- new stock Areas[MAX_AREAS][AreasEnum];
- new stock SpeederTime=0;
- new stock CountersTime=0;
- stock GameModeInit()
- {
- TextDrawCreate(0.0,0.0," ");
- SetTimer("ufctimer", 100, true);
- SetTimer("Counter", 10, true);
- SetTimerEx("Speeder", 10, true, "i", 1000);
- SetTimer("ClearOutOfRangeVehicles", 2000, true);
- }
- stock IsVehicleConnected(vehicleid) //By Sacky (edited by Gabriel "Larcius" Cordes)
- {
- new Float:x1,Float:y1,Float:z1;
- GetVehiclePos(vehicleid,x1,y1,z1);
- if(x1==0.0 && y1==0.0 && z1==0.0)
- {
- return 0;
- }
- return 1;
- }
- stock IsPickupConnected(pickupid) //By Gabriel "Larcius" Cordes
- {
- if(Pickups[pickupid][X]==0.0 && Pickups[pickupid][Y]==0.0 && Pickups[pickupid][Z]==0.0)
- {
- return 0;
- }
- return 1;
- }
- stock IsAreaConnected(areaid) //By Gabriel "Larcius" Cordes
- {
- if(areaid<MAX_AREAS && Areas[areaid][Type])
- {
- return 1;
- }
- return 0;
- }
- stock TogglePlayerControllable2(playerid, controllable, freezeid=0) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- new isplfreeze=IsPlayerFreeze(playerid);
- if (controllable==0)
- {
- if(freezeid>=MAX_FREEZE_ALL || freezeid<0)
- {
- for(new i=0; i<MAX_FREEZE_ALL; i++)
- {
- Players[playerid][Freeze][i]=0;
- }
- Players[playerid][Freeze][0]=1;
- }
- else
- {
- Players[playerid][Freeze][freezeid]=1;
- }
- if(!isplfreeze)
- {
- TogglePlayerControllable(playerid, 0);
- #if defined OnPlayerToggleControllable
- OnPlayerToggleControllable(playerid, 0);
- #endif
- }
- }
- else
- {
- if(freezeid>=MAX_FREEZE_ALL || freezeid<0)
- {
- for(new i=0; i<MAX_FREEZE_ALL; i++)
- {
- Players[playerid][Freeze][i]=0;
- }
- }
- else
- {
- Players[playerid][Freeze][freezeid]=0;
- }
- if(isplfreeze && !IsPlayerFreeze(playerid))
- {
- TogglePlayerControllable(playerid, 1);
- #if defined OnPlayerToggleControllable
- OnPlayerToggleControllable(playerid, 1);
- #endif
- }
- }
- return 1;
- }
- return 0;
- }
- stock Text:TextDrawCreateTimer(Float:x1, Float:y1, text[], ms) //By Gabriel "Larcius" Cordes
- {
- new Text:textid=TextDrawCreate(x1, y1, text);
- TextDrawDestroyTimer(textid, ms);
- return textid;
- }
- stock TextDrawDestroyTimer(Text:textid, ms) //By Gabriel "Larcius" Cordes
- {
- SetTimerEx("TextDrawDestroyTimer2",ms,false,"i",_:textid);
- return 1;
- }
- public TextDrawDestroyTimer2(textid) //By Gabriel "Larcius" Cordes
- {
- TextDrawDestroy(Text:textid);
- }
- stock encrypt(const string[])
- {
- return hash(string);
- }
- stock hash_key(const string[], key[]="", bit=32) //By Gabriel "Larcius" Cordes
- {
- new keyp[] = "abcdefghijklmopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ,;.:-_~!\"§$%&/(){}[]=?`´'#+-*/\\äöü<>|^°µ²³";
- new retval[MAX_STRING],retval2[MAX_STRING],size,sum,j,ksize,hashedkey[MAX_STRING],c=0;
- new kpsize=strfind(keyp," ");
- format(retval, sizeof(retval), "%s",string);
- while(strlen(retval)>bit || c<2)
- {
- format(retval2, sizeof(retval2), "");
- j=strlen(retval);
- if(j<(2*bit))
- {
- j=(2*bit);
- c++;
- }
- j=floatval(floatdiv(j,2.0));
- size=strlen(retval);
- if(strlen(retval)<j)
- {
- size=j;
- }
- if(strlen(key)==0)
- {
- hashedkey=GetSingleChar(keyp,0);
- }
- else
- {
- hashedkey=hash(key,"",j);
- }
- ksize=strlen(hashedkey);
- for (new i=0; i<j; i++)
- {
- sum=((sum + strfind(keyp, GetSingleChar(hashedkey,(i%ksize))) + strfind(keyp, GetSingleChar(retval,(i%size))) + strfind(keyp, GetSingleChar(retval,((j+i)%size)))) % kpsize);
- strcat(retval2,GetSingleChar(keyp,sum));
- retval2=reverse(retval2);
- }
- format(retval, sizeof(retval), "%s",retval2);
- }
- return retval;
- }
- stock reverse(const source[]) //By Gabriel "Larcius" Cordes
- {
- new string[MAX_STRING];
- for(new i=(strlen(source)-1); i>=0; i--)
- {
- strcat(string,GetSingleChar(source,i));
- }
- return string;
- }
- stock GetSingleChar(const source[], num) //By Gabriel "Larcius" Cordes
- {
- new string[MAX_STRING];
- strmid(string,source,num,(num+1));
- return string;
- }
- stock left(const source[], pos) //By Alex "Y_Less" Cole (Edited by Sacky)
- {
- new retval[MAX_STRING];
- strmid(retval, source, 0, pos);
- return retval;
- }
- stock firstchars(const source[], len=1) //By Gabriel "Larcius" Cordes
- {
- new retval[MAX_STRING];
- strmid(retval, source, 0, len);
- return retval;
- }
- stock right(const source[], pos) //By Gabriel "Larcius" Cordes
- {
- new retval[MAX_STRING];
- strmid(retval, source, (pos+1), strlen(source));
- return retval;
- }
- stock lastchars(const source[], len=1) //By Alex "Y_Less" Cole
- {
- new retval[MAX_STRING];
- strmid(retval, source, (strlen(source)-len), strlen(source));
- return retval;
- }
- stock CountDownForPlayer(playerid, seconds, freeze, style=1) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- if(!Counters[playerid][Down][Style])
- {
- Counters[playerid][Down][TextID]=0;
- }
- else if(Counters[playerid][Down][Style]!=style)
- {
- TextDrawDestroy(Text:Counters[playerid][Down][TextID]);
- }
- if(freeze==0 || style==0)
- {
- TogglePlayerControllable2(playerid, 1, FREEZE_COUNTDOWN);
- }
- else if(freeze)
- {
- TogglePlayerControllable2(playerid, 0, FREEZE_COUNTDOWN);
- SetCameraBehindPlayer(playerid);
- }
- Counters[playerid][Down][Style]=style;
- Counters[playerid][Down][Time]=seconds;
- return 1;
- }
- return 0;
- }
- stock CountDownForAll(seconds, freeze, style=1) //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(CountDownForPlayer(i, seconds, freeze, style))
- {
- ret++;
- }
- }
- return ret;
- }
- stock CountUpForPlayer(playerid, seconds, freeze, style=1) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- if(!Counters[playerid][Up][Style])
- {
- Counters[playerid][Up][TextID]=0;
- }
- else if(Counters[playerid][Up][Style]!=style)
- {
- TextDrawDestroy(Text:Counters[playerid][Up][TextID]);
- }
- if(freeze==0 || style==0)
- {
- TogglePlayerControllable2(playerid, 1, FREEZE_COUNTUP);
- }
- else if(freeze)
- {
- TogglePlayerControllable2(playerid, 0, FREEZE_COUNTUP);
- SetCameraBehindPlayer(playerid);
- }
- Counters[playerid][Up][Style]=style;
- Counters[playerid][Up][Time]=seconds;
- Counters[playerid][Up][Time2]=0;
- return 1;
- }
- return 0;
- }
- stock CountUpForAll(seconds, freeze, style=1) //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(CountUpForPlayer(i, seconds, freeze, style))
- {
- ret++;
- }
- }
- return ret;
- }
- stock GetPlayerID(const playername[], partofname=0) //By Jan "DracoBlue" Schütze (edited by Gabriel "Larcius" Cordes)
- {
- new i;
- new playername1[MAX_STRING];
- for (i=0;i<MAX_PLAYERS;i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i,playername1,sizeof(playername1));
- if (strcmp(playername1,playername,true)==0)
- {
- return i;
- }
- }
- }
- new correctsigns_userid=-1;
- new tmpuname[MAX_STRING];
- new hasmultiple=-1;
- if(partofname)
- {
- for (i=0;i<MAX_PLAYERS;i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i,tmpuname,sizeof(tmpuname));
- if (strfind(tmpuname,partofname,true)==0)
- {
- hasmultiple++;
- correctsigns_userid=i;
- }
- if (hasmultiple>0)
- {
- return -2;
- }
- }
- }
- }
- return correctsigns_userid;
- }
- stock GetPlayerId(playername[])
- {
- return GetPlayerID(partofname[],0);
- }
- stock PlayerID(playername[])
- {
- return GetPlayerID(playername[],1);
- }
- stock PlayerId(playername[])
- {
- return GetPlayerID(playername[],1);
- }
- stock parsecommand(cmdtext[], cmd[], text[], parcount) //By Alex "Y_Less" Cole
- {
- new index = 0, length;
- length = strlen(cmdtext);
- while ((index < length) && (cmdtext[index] != ' '))
- {
- index++;
- }
- if (index == length)
- {
- strcat(cmd, cmdtext, MAX_STRING);
- text[0] = EOS;
- return 0;
- }
- else
- {
- strmid(cmd, cmdtext, 0, index, MAX_STRING);
- cmd[index] = EOS;
- strmid(text, cmdtext, index + 1, length, MAX_STRING);
- text[length] = EOS;
- if (parcount)
- {
- index = 0;
- new pars = 0;
- length = strlen(text);
- while (index < length)
- {
- if ((text[index] != ' ') && ((index == 0) || ((index > 0) && (text[index - 1] == ' '))))
- {
- pars++;
- }
- index++;
- }
- return pars;
- }
- else
- {
- return 1;
- }
- }
- return 0;
- }
- stock ReturnPlayerName(playerid) //By Alex "Y_Less" Cole
- {
- new pname[MAX_PLAYER_NAME];
- pname="Invalid PlayerID";
- if(IsPlayerConnected(playerid))
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof (pname));
- }
- return pname
- }
- stock minrand(min, max) //By Alex "Y_Less" Cole
- {
- return random(max-min)+min;
- }
- stock Float:floatrand(Float:min, Float:max) //By Alex "Y_Less" Cole
- {
- new imin = floatround(min);
- return floatdiv(float(random((floatround(max)-imin)*100)+(imin*100)),100.0);
- }
- stock IsBetweenFloats(Float:f,Float:f1,Float:f2) //By Gabriel "Larcius" Cordes
- {
- switch(floatcmp(f1, f2))
- {
- case 0: if(f==f1){return 1;}
- case 1: if(f<=f1 && f>=f2){return 1;}
- case -1: if(f>=f1 && f<=f2){return 1;}
- }
- return 0;
- }
- stock GameTextForTeam(team, text[], time, style) //By Alex "Y_Less" Cole (edited by Gabriel "Larcius" Cordes)
- {
- ret=0;
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- GameTextForPlayer(i, text, time, style);
- ret++;
- }
- }
- return ret;
- }
- stock SendClientMessageToTeam(team, color, text[]) //By Alex "Y_Less" Cole (edited by Gabriel "Larcius" Cordes)
- {
- new ret=0;
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- SendClientMessage(i, color, text);
- ret++;
- }
- }
- return ret;
- }
- stock valstr2(num) //By Alex "Y_Less" Cole
- {
- new str[MAX_STRING];
- valstr(str, num);
- return str;
- }
- stock IsValidEmail(const email[]) //By Jan "DracoBlue" Schütze
- {
- new len=strlen(email);
- new cstate=0;
- for(new i=0;i<len;i++)
- {
- if ((cstate==0 || cstate==1) && (email[i]>='A' && email[i]<='Z') || (email[i]>='a' && email[i]<='z') || (email[i]=='.') || (email[i]=='-') || (email[i]=='_'))
- {
- }
- else
- {
- if ((cstate==0) &&(email[i]=='@'))
- {
- cstate=1;
- }
- else
- {
- return false;
- }
- }
- }
- if (cstate<1)
- {
- return false;
- }
- if (len<6)
- {
- return false;
- }
- if ((email[len-3]=='.') || (email[len-4]=='.') || (email[len-5]=='.'))
- {
- return true;
- }
- return false;
- }
- stock GetVehicleSpawnPos(vehicleid,&Float:spawn_x,&Float:spawn_y,&Float:spawn_z,&Float:angle_z) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- }
- return -1,-1,-1,-1;
- }
- stock GetPlayerLastVehicleID(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- return Players[playerid][Last_Vehicle];
- }
- return -1;
- }
- stock GetVehicleLastTrailerID(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- return Vehicles[vehicleid][Last_Trailer];
- }
- return -1;
- }
- stock GetVehicleLastTrailer(vehicleid)
- {
- return GetVehicleLastTrailerID(vehicleid);
- }
- stock IsPlayerDriver(playerid) //By Sacky
- {
- if(IsPlayerConnected(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
- {
- return 1;
- }
- return 0;
- }
- stock GetVehicleDriverID(vehicleid) //By Jan "DracoBlue" Schütze
- {
- if(IsVehicleConnected(vehicleid))
- {
- for (new i=0;i<MAX_PLAYERS;i++)
- {
- if (IsPlayerConnected(i) && GetPlayerVehicleID(i)==vehicleid && IsPlayerDriver(i))
- {
- return i;
- }
- }
- }
- return -1;
- }
- stock VehicleDriverID(vehicleid)
- {
- return GetVehicleDriverID(vehicleid);
- }
- stock IsNumeric(const string[]) //By Jan "DracoBlue" Schütze (edited by Gabriel "Larcius" Cordes
- {
- new length=strlen(string);
- if(length==0)
- {
- return 0;
- }
- for (new i=0; i<length; i++)
- {
- if (!((string[i] <= '9' && string[i] >= '0') || (i==0 && (string[i]=='-' || string[i]=='+'))))
- {
- return false;
- }
- }
- return 0;
- }
- stock SendClientMessageToAdmins(colour,const str[]) //By Mike (Edited by Sacky)
- {
- new ret=0;
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && IsPlayerAdmin(i))
- {
- SendClientMessage(i, colour, str);
- ret++;
- }
- }
- return ret;
- }
- stock Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2) //By Gabriel "Larcius" Cordes
- {
- return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1,x2),2)),floatsqroot(floatpower(floatsub(y1,y2),2))),floatsqroot(floatpower(floatsub(z1,z2),2)));
- }
- stock Float:GetDistanceToPoint(playerid,Float:x1,Float:y1,Float:z1) //By Gabriel "Larcius" Cordes
- {
- if (IsPlayerConnected(playerid))
- {
- new Float:x2,Float:y2,Float:z2;
- GetPlayerPos(playerid,x2,y2,z2);
- return GetDistanceBetweenPoints(x1,y1,z1,x2,y2,z2);
- }
- return INF_FLOAT;
- }
- stock Float:GetDistanceToVehicle(playerid,vehicleid) //By Darkrealm (Edited by Sacky and Gabriel "Larcius" Cordes)
- {
- if (IsPlayerConnected(playerid) && IsVehicleConnected(vehicleid))
- {
- new Float:x1,Float:y1,Float:z1;
- GetVehiclePos(vehicleid,x1,y1,z1);
- return GetDistanceToPoint(playerid,x1,y1,z1);
- }
- return INF_FLOAT;
- }
- stock Float:GetDistanceToCar(playerid,vehicleid) //By Darkrealm (Edited by Sacky and Gabriel "Larcius" Cordes)
- {
- return GetDistanceToVehicle(playerid,vehicleid);
- }
- stock GetClosestVehicle(playerid) //By Darkrealm (edited by Gabrie "Larcius" Cordes)
- {
- if(IsPlayerConnected(playerid) && IsVehicleConnected(0))
- {
- new closestvehicle=0;
- new Float:closestdist=GetDistanceToVehicle(playerid,0);
- for(new vehicleid=0; vehicleid<MAX_VEHICLES; vehicleid++)
- {
- new Float:dist = GetDistanceToVehicle(playerid,vehicleid);
- if ((dist < closestdist))
- {
- closestdist = dist;
- closestvehicle = vehicleid;
- }
- }
- return closestvehicle;
- }
- return -1;
- }
- stock GetClosestCar(playerid)
- {
- return GetClosestVehicle(playerid);
- }
- stock Float:GetDistanceBetweenPlayers(playerid,playerid2) //By Slick (Edited by Sacky and Gabriel "Larcius" Cordes)
- {
- if(IsPlayerConnected(playerid) && IsPlayerConnected(playerid2))
- {
- new Float:x1,Float:y1,Float:z1;
- GetPlayerPos(playerid2,x1,y1,z1);
- return GetDistanceToPoint(playerid,x1,y1,z1);
- }
- return INF_FLOAT;
- }
- stock GetClosestPlayer(playerid) //By Slick (edited by Gabriel "Larcius" Cordes)
- {
- if(IsPlayerConnected(playerid) && IsPlayerConnected(0))
- {
- new closestplayer=0;
- new Float:closestdist=GetDistanceBetweenPlayers(playerid,0);
- for(new playerid2=0; playerid2<MAX_PLAYERS; playerid2++)
- {
- new Float:dist = GetDistanceBetweenPlayers(playerid,playerid2);
- if ((dist < closestdist))
- {
- closestdist = dist;
- closestplayer = playerid;
- }
- }
- return closestplayer;
- }
- return -1;
- }
- stock GetClosestTeamPlayer(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerConnected(0))
- {
- new closestplayer=0;
- new Float:closestdist=GetDistanceBetweenPlayers(playerid,0);
- for(new playerid2=0; playerid2<MAX_PLAYERS; playerid2++)
- {
- new Float:dist = GetDistanceBetweenPlayers(playerid,playerid2);
- if (dist<closestdist && Players[playerid2][Cur_team]==Players[playerid][Cur_team])
- {
- closestdist = dist;
- closestplayer = playerid;
- }
- }
- return closestplayer;
- }
- return -1;
- }
- stock TwoWayRand(value) //By Allan
- {
- value = random(value*2+1)-value;
- return value;
- }
- stock Float:QuadraticRootCalc(Float:Xsq,Float:X1,Float:num) //By Allan (corrected by Gabriel "Larcius" Cordes)
- {
- return floatmul(floatadd(floatmul(floatdiv(floatsqroot(floatmul(floatmul(floatmul(floatpower(X1,2),4.0),Xsq),num)),2.0),Xsq),X1),floatsub(floatmul(floatdiv(floatsqroot(floatmul(floatmul(floatmul(floatpower(X1,2),4.0),Xsq),num)),2.0),Xsq),X1));
- }
- stock SendFormattedGameTextToPlayer(playerid, const msg[], time, style, define) //By Allan
- {
- if(IsPlayerConnected(playerid))
- {
- new wrap[256];
- format(wrap, sizeof(wrap), msg, define);
- GameTextForPlayer(playerid,wrap,time,style);
- return 1;
- }
- return 0;
- }
- stock SendFormattedGameTextToAll(const msg[], time, style, define) //By Allan (edited by Gabriel "Larcius" Cordes)
- {
- new ret=0;
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(SendFormattedGameTextToPlayer(playerid, msg, time, style, define))
- {
- ret++;
- }
- }
- }
- return ret;
- }
- stock GivePlayerWeaponAlt(playerid, weaponid, ammo) //By Allan (Edited by Y_Less)
- {
- if ((weaponid > 15 && weaponid < 22) || (weaponid > 32 && weaponid < 37) || (weaponid > 38 && weaponid < 41) || (weaponid > 42 && weaponid != 46))
- {
- weaponid = 0;
- print("Non-Working weapon class specified");
- SendClientMessage(playerid, 0x0000FFAA, "Non-Working weapon class specified");
- }
- GivePlayerWeapon(playerid, weaponid, ammo);
- return 1;
- }
- stock SecondsToString(time,mode=0) //By Gabriel "Larcius" Cordes
- {
- new seconds,minutes,minutes1,hours,string0[MAX_STRING],string1[MAX_STRING],string2[MAX_STRING];
- seconds=time%60;
- minutes=(time-seconds)%3600;
- minutes1=(time-seconds)/60;
- hours=(time-minutes*60-seconds)/3600;
- if(hours<10)
- {
- format(string0, sizeof(string0), "0%d", hours);
- }
- else
- {
- format(string0, sizeof(string0), "%d", hours);
- }
- if(minutes<10)
- {
- format(string0, sizeof(string0), "%s:0%d",string0,minutes);
- }
- else
- {
- format(string0, sizeof(string0), "%s,%d",string0,minutes);
- }
- if(minutes1<10)
- {
- format(string1, sizeof(string1), "0%d",minutes1);
- }
- else
- {
- format(string1, sizeof(string1), "%d",minutes1);
- }
- if(seconds<10)
- {
- format(string0, sizeof(string0), "%s:0%d",string0,seconds);
- format(string1, sizeof(string1), "%s:0%d",string1,seconds);
- }
- else
- {
- format(string0, sizeof(string0), "%s:%d",string0,seconds);
- format(string1, sizeof(string1), "%s:%d",string1,seconds);
- }
- if(hours>0)
- {
- format(string2, sizeof(string2), "%d hours", hours);
- }
- if(minutes>0)
- {
- if(hours>0)
- {
- if(seconds>0)
- {
- format(string2, sizeof(string2), "%s, %d minutes", string2, minutes);
- }
- else
- {
- format(string2, sizeof(string2), "%s and %d minutes", string2, minutes);
- }
- }
- }
- if(seconds>0)
- {
- if(hours>0 || minutes>0)
- {
- format(string2, sizeof(string2), "%s and %d seconds", string2, seconds);
- }
- else
- {
- format(string2, sizeof(string2), "%d seconds", string2, seconds);
- }
- }
- if(hours==0 && minutes==0 && seconds==0)
- {
- format(string2, sizeof(string2), "0 seconds");
- }
- switch(mode)
- {
- case 0: return string0;
- case 1: return string1;
- case 2: return string2;
- }
- return string0;
- }
- stock ConvertSeconds(time)
- {
- return SecondsToString(time,2)
- }
- stock timeconvert_seconds(time)
- {
- return SecondsToString(time,1);
- }
- stock wiper(playerid) //By Spectre
- {
- if(IsPlayerConnected(playerid))
- {
- for (new i=0;i<10;i++)
- {
- SendClientMessage(playerid,0xFFFFFFAA,"\n");
- }
- return 1;
- }
- return 0;
- }
- stock GetCurrentPosition(playerid) //By Sacky
- {
- new Float:x1, Float:y1, Float:z1, Float:a;
- new string[MAX_STRING];
- if(IsPlayerConnected(playerid))
- {
- GetPlayerPos(playerid,x1,y1,z1);
- GetPlayerFacingAngle(playerid,a);
- format(string,sizeof(string),"x: %d, y: %d, z: %d, angle: %d",floatround(x1),floatround(y1),floatround(z1),floatround(a));
- return string;
- }
- return string;
- }
- stock GetVehicles() //By Gabriel "Larcius" Cordes
- {
- new vehicles=0;
- for(new i=0;i<MAX_VEHICLES;i++)
- {
- if(IsVehicleConnected(i))
- {
- vehicles++;
- }
- }
- return vehicles;
- }
- stock VehicleDriverName(vehicleid) //By Sacky
- {
- new playername[MAX_PLAYER_NAME];
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInVehicle(i,vehicleid))
- {
- GetPlayerName(i,playername,sizeof(playername));
- return playername;
- }
- }
- }
- return playername;
- }
- stock IsPlayerInAnyInterior(playerid) //By Sacky (edited by Gabriel "Larcius" Cordes)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- if(GetPlayerInterior(playerid) > 0 || (z>900 && !IsPlayerInPlane(playerid) && !IsPlayerInHeli(playerid)))
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerPassenger(playerid) //By Sacky
- {
- if(IsPlayerConnected(playerid) && GetPlayerState(playerid)==PLAYER_STATE_PASSENGER)
- {
- return 1;
- }
- return 0;
- }
- stock IsPlayerOnFoot(playerid) //By Sacky
- {
- if(IsPlayerConnected(playerid) && GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)
- {
- return 1;
- }
- return 0;
- }
- stock IsPlayerOnBike(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_BIKE)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerOnBicycle(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_BMX)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerOnBMX(playerid)
- {
- return IsPlayerOnBicycle(playerid);
- }
- stock IsPlayerInBoat(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_SEA)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInHeavy(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_HEAVY)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInTruck(playerid)
- {
- return IsPlayerInHeavy(playerid);
- }
- stock IsPlayerInTrain(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_TRAIN)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInHelicopter(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_HELI)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInHeli(playerid)
- {
- return IsPlayerInHelicopter(playerid);
- }
- stock IsPlayerInPlane(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_PLANE)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInMonsterTruck(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_MONSTER)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerInCar(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_CAR)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsPlayerOnQuad(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
- {
- if(GetVehicleType(GetPlayerVehicleID(playerid))==VTYPE_QUAD)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsVehicleTrailer(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(GetVehicleType(vehicleid)==VTYPE_TRAILER)
- {
- return 1;
- }
- return 0;
- }
- stock IsPlayerInQuad(playerid) //By Gabriel "Larcius" Cordes
- {
- return IsPlayerOnQuad(playerid);
- }
- stock ShowSpeedForPlayer(playerid,a=SPEED_KMPH) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- Players[playerid][Speed2][Show]=a;
- return 1;
- }
- return 0;
- }
- stock ShowSpeedForAll(a=SPEED_KMPH) //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(ShowSpeedForPlayer(i,a))
- {
- ret++;
- }
- }
- return ret;
- }
- stock HideSpeedForPlayer(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- Players[playerid][Speed2][Show]=0;
- return 1;
- }
- return 0;
- }
- stock HideSpeedForAll() //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(HideSpeedForPlayer(i))
- {
- ret++;
- }
- }
- return ret;
- }
- stock ShowAccelerationForPlayer(playerid,a=ACC_MPS2) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- Players[playerid][Acceleration][Show]=a;
- return 1;
- }
- return 0;
- }
- stock ShowAccelerationForAll(a=ACC_MPS2) //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(ShowAccelerationForPlayer(i,a))
- {
- ret++;
- }
- }
- return ret;
- }
- stock HideAccelerationForPlayer(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- Players[playerid][Acceleration][Show]=0;
- return 1;
- }
- return 0;
- }
- stock HideAccelerationForAll() //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(HideAccelerationForPlayer(i))
- {
- ret++;
- }
- }
- return ret;
- }
- stock GetVehicleName(vehicleid) //By Sacky
- {
- new modelid=612;
- if(IsVehicleConnected(vehicleid))
- {
- modelid=GetVehicleModel(vehicleid);
- }
- return VehicleNames[(modelid-400)];
- }
- stock GetVehicleNameByModel(modelid) //By Gabriel "Larcius" Cordes
- {
- if(400<modelid || modelid>611)
- {
- modelid=612;
- }
- return VehicleNames[(modelid-400)];
- }
- stock Float:GetDistanceToPointXY(playerid,Float:xs,Float:ys) //By Gabriel "Larcius" Cordes
- {
- new Float:x1,Float:y1,Float:z1;
- GetPlayerPos(playerid,x1,y1,z1);
- return GetDistanceToPoint(playerid,xs,ys,z1);
- }
- stock Float:GetDistanceBetweenPointsXY(Float:x1,Float:y1,Float:x2,Float:y2) //By Gabriel "Larcius" Cordes
- {
- return GetDistanceBetweenPoints(x1,y1,0.0,x2,y2,0.0);
- }
- stock Float:GetPlayerDistanceToPointXY(playerid,Float:xs,Float:ys)
- {
- return GetDistanceToPointXY(playerid,xs,ys);
- }
- stock Float:GetPlayerDistanceToPoint(playerid,Float:xs,Float:ys) //By Sacky
- {
- return GetDistanceToPointXY(playerid,xs,ys);
- }
- stock Float:GetPlayerDistanceToPointEx(playerid,Float:xs,Float:ys,Float:zs) //By Sacky
- {
- return GetDistanceToPoint(playerid,xs,ys,zs);
- }
- stock Float:GetPointDistanceToPoint(Float:x1,Float:y1,Float:x2,Float:y2) //By Sacky
- {
- return GetDistanceBetweenPoints(x1,y1,0.0,x2,y2,0.0);
- }
- stock Float:GetPointDistanceToPointEx(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2) //By Sacky
- {
- return GetDistanceBetweenPoints(x1,y1,z1,x2,y2,z2);
- }
- stock IsPlayerInRectangle(playerid, Float:x1, Float:y1, Float:x2, Float:y2)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:xs,Float:ys,Float:zs;
- GetPlayerPos(playerid,xs,ys,zs);
- return IsPointInRectangle(xs,ys,x1,y1,x2,y2);
- }
- return 0;
- }
- stock IsPointInRectangle(Float:xs, Float:ys, Float:x1, Float:y1, Float:x2, Float:y2) //By Alex "Y_Less" Cole (edited by Gabriel "Larcius" Cordes)
- {
- if(IsBetweenFloats(xs,x1,x2) && IsBetweenFloats(ys,y1,y2))
- {
- return 1;
- }
- return 0;
- }
- stock IsPointInCircle(Float:xs,Float:ys,Float:x1,Float:y1,Float:radius1) //By Sacky
- {
- if(GetDistanceBetweenPointsXY(xs,ys,x1,y1)<=radius1)
- {
- return 1;
- }
- return 0;
- }
- stock IsPlayerInCircle(playerid,Float:x1,Float:y1,Float:radius1)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:xs,Float:ys,Float:zs;
- GetPlayerPos(playerid,xs,ys,zs);
- return IsPointInCircle(xs,ys,x1,y1,radius1);
- }
- return 0;
- }
- stock IsPlayerInAshlar(playerid,Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:xs,Float:ys,Float:zs;
- GetPlayerPos(playerid,xs,ys,zs);
- return IsPointInAshlar(xs,ys,zs,x1,y1,z1,x2,y2,z2);
- }
- return 0;
- }
- stock IsPointInAshlar(Float:xs,Float:ys,Float:zs,Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2) //By 50p (edited by Gabriel "Larcius" Cordes)
- {
- if(IsBetweenFloats(xs,x1,x2) && IsBetweenFloats(ys,y1,y2) && IsBetweenFloats(zs,z1,z2))
- {
- return 1;
- }
- return 0;
- }
- stock IsPlayerInCube(Float:xs,Float:ys,Float:zs,Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
- {
- return IsPlayerInAshlar(xs,ys,zs,x1,y1,z1,x2,y2,z2);
- }
- stock IsPointInCube(playerid,Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
- {
- return IsPointInAshlar(playerid,x1,y1,z1,x2,y2,z2);
- }
- stock IsPlayerInSphere(playerid,Float:x1,Float:y1,Float:z1,Float:radius)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:xs,Float:ys,Float:zs;
- GetPlayerPos(playerid,xs,ys,zs);
- return IsPointInSphere(xs,ys,zs,x1,y1,z1,radius);
- }
- return 0;
- }
- stock IsPointInSphere(Float:xs,Float:ys,Float:zs,Float:x1,Float:y1,Float:z1,Float:radius) //By Sacky
- {
- if(GetDistanceBetweenPoints(xs,ys,zs,x1,y1,z1)<=radius)
- {
- return 1;
- }
- return 0;
- }
- stock IsPlayerInCylinder(playerid,Float:x1,Float:y1,Float:z1,Float:h1,Float:radius1)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:xs,Float:ys,Float:zs;
- GetPlayerPos(playerid,xs,ys,zs);
- return IsPointInCylinder(xs,ys,zs,x1,y1,z1,h1,radius1);
- }
- return 0;
- }
- stock IsPointInCylinder(Float:xs,Float:ys,Float:zs,Float:x1,Float:y1,Float:z1,Float:h1,Float:radius1) //By Sacky
- {
- if(GetDistanceBetweenPointsXY(xs,ys,x1,y1)<=radius1 && zs>=z1 && zs<=(z1+h1))
- {
- return 1;
- }
- return 0;
- }
- stock TakePlayerMoney(playerid,money) //By Sacky
- {
- if(IsPlayerConnected(playerid))
- {
- GivePlayerMoney(playerid,0-money);
- return 1;
- }
- return 0;
- }
- stock DestroyPickup2(pickupid) //By Gabriel "Larcius" Cordes
- {
- if(IsPickupConnected(pickupid))
- {
- DestroyPickup(pickupid);
- Pickups[pickupid][Model]=0;
- Pickups[pickupid][Type]=0;
- Pickups[pickupid][X]=0;
- Pickups[pickupid][Y]=0;
- Pickups[pickupid][Z]=0;
- return 1;
- }
- return 0;
- }
- stock CreatePickup2(model,type,Float:x1,Float:y1,Float:z1) //By Gabriel "Larcius" Cordes
- {
- if(GetPickups()<MAX_PICKUPS)
- {
- new pickupid=CreatePickup(model,type,x1,y1,z1);
- Pickups[pickupid][Model]=model;
- Pickups[pickupid][Type]=type;
- Pickups[pickupid][X]=x1;
- Pickups[pickupid][Y]=y1;
- Pickups[pickupid][Z]=z1;
- return 1;
- }
- return 0;
- }
- stock AddStaticPickup2(model,type,Float:x1,Float:y1,Float:z1) //By Sacky (edited by Gabriel "Larcius" Cordes)
- {
- if(GetPickups()<MAX_PICKUPS)
- {
- new pickupid=AddStaticPickup(model,type,x1,y1,z1);
- Pickups[pickupid][Model]=model;
- Pickups[pickupid][Type]=type;
- Pickups[pickupid][X]=x1;
- Pickups[pickupid][Y]=y1;
- Pickups[pickupid][Z]=z1;
- return 1;
- }
- return 0;
- }
- stock SetVehicleParamsForPlayer2(vehicleid, playerid, objective, doorslocked, trailer=0) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsVehicleConnected(vehicleid))
- {
- /* if(objective==0 && IsVehicleObjectivedForPlayer(vehicleid,playerid))
- {
- new Float:x1,Float:y1,Float:z1,Float:angle_z;
- GetVehiclePos(vehicleid,x1,y1,z1);
- GetVehicleZAngle(vehicleid,angle_z);
- SetVehicleToRespawn(vehicleid);
- if(IsVehicleTrailer(vehicleid))
- {
- AttachTrailerToVehicle(vehicleid,trailer);
- }
- else
- {
- PutPlayerInVehicle(playerid,vehicleid,0);
- SetVehiclePos(vehicleid,x1,y1,z1);
- SetVehicleZAngle(vehicleid,angle_z);
- }
- }*/
- SetVehicleParamsForPlayer(vehicleid, playerid, objective, doorslocked);
- Vehicles[vehicleid][Objective][playerid]=objective;
- Vehicles[vehicleid][Locked][playerid]=doorslocked;
- if (trailer && IsTrailerAttachedToVehicle(vehicleid))
- {
- SetVehicleParamsForPlayer2(GetVehicleTrailer(vehicleid), playerid, objective, doorslocked, vehicleid);
- }
- return 1;
- }
- return 0;
- }
- stock SetVehicleParamsForAll(vehicleid, objective, doorslocked, trailer=0) //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if(SetVehicleParamsForPlayer2(vehicleid, i, objective, doorslocked, trailer))
- {
- ret++;
- }
- }
- return ret;
- }
- stock DestroyVehicle2(vehicleid)
- {
- if(IsVehicleConnected(vehicleid))
- {
- SetVehicleParamsForAll(vehicleid, 0, 0);
- DestroyVehicle(vehicleid);
- Vehicles[vehicleid][X]=0.0;
- Vehicles[vehicleid][Y]=0.0;
- Vehicles[vehicleid][Z]=0.0;
- Vehicles[vehicleid][Angle]=0.0;
- Vehicles[vehicleid][Health]=0.0;
- Vehicles[vehicleid][Dynamic]=0;
- Vehicles[vehicleid][Respawn]=0;
- Vehicles[vehicleid][Color1]=0;
- Vehicles[vehicleid][Color2]=0;
- Vehicles[vehicleid][Locked]=0;
- return 1;
- }
- return 0;
- }
- stock AddStaticVehicleEx2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2,respawn_delay) //By Sacky (edited by Gabriel "Larcius" Cordes)
- {
- if(GetVehicles()<MAX_VEHICLES)
- {
- new id=AddStaticVehicleEx(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2,respawn_delay), Float:h;
- GetVehicleHealth(id, h);
- Vehicles[id][X]=spawn_x;
- Vehicles[id][Y]=spawn_y;
- Vehicles[id][Z]=spawn_z;
- Vehicles[id][Health]=h;
- Vehicles[id][Color1]=color1;
- Vehicles[id][Color2]=color2;
- Vehicles[id][Respawn]=respawn_delay;
- Vehicles[id][Dynamic]=0;
- Vehicles[id][Last_Trailer]=-1;
- Vehicles[id][Cur_Trailer]=-1;
- Vehicles[id][Static]=1;
- Vehicles[id][Angle]=z_angle;
- return 1;
- }
- return 0;
- }
- stock substr(const string[], const substr[] )
- {
- new found_str = strfind( string, substr );
- new szRet[ 256 ];
-
- if( found_str )
- {
- strmid( szRet, string, found_str + 1, strlen( string ) );
- }
- return szRet;
- }
- stock Float:GetPlayerSpeed(playerid,a=SPEED_KMPH) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- switch(a)
- {
- case SPEED_KMPH: return Players[playerid][Speed2][KMPH];
- case SPEED_MPH: return Players[playerid][Speed2][MPH];
- case SPEED_MPS: return Players[playerid][Speed2][MPS];
- }
- }
- return -1.0;
- }
- stock Float:GetPlayerAcceleration(playerid,a=ACC_MPS2) //By Sacky (basically edited by Gabriel "Larcius" Cordes)
- {
- if(IsPlayerConnected(playerid))
- {
- switch(a)
- {
- case ACC_MPS2: return Players[playerid][Acceleration][MPS2];
- case ACC_KMPH2: return Players[playerid][Acceleration][KMPH2];
- case ACC_G: return Players[playerid][Acceleration][G];
- }
- }
- return 0.0;
- }
- stock GetAdmins() //By Gabriel "Larcius" Cordes
- {
- new admins=0;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(IsPlayerConnected(i) && IsPlayerAdmin(i))
- {
- admins++;
- }
- }
- return admins;
- }
- stock GetPickups() //By Gabriel "Larcius" Cordes
- {
- new pickups=0;
- for(new i=0;i<MAX_PICKUPS;i++)
- {
- if(IsPickupConnected(i))
- {
- pickups++;
- }
- }
- return pickups;
- }
- stock Float:isin(Float:opp,Float:hyp) //By Sacky
- {
- new Float:x = floatdiv(opp,hyp);
- if(x < 1.0 && x > -1.0)
- {
- return x+(1.0/2.0)*(floatpower(x,3)/3.0)+((1.0*3.0)/(2.0*4.0))*(floatpower(x,5)/5.0)+((1.0*3.0*5.0)/(2.0*4.0*6.0))*(floatpower(x,7)/7.0)+((1.0*3.0*5.0*7.0)/(2.0*4.0*6.0*8.0))*(floatpower(x,9)/9.0)+((1.0*3.0*5.0*7.0*9.0)/(2.0*4.0*6.0*8.0*10.0))*(floatpower(x,11)/11.0);
- }
- return -1.0;
- }
- stock Float:icos(Float:adj,Float:hyp) //By Sacky
- {
- new Float:x = floatdiv(adj,hyp);
- if(x < 1.0 && x > -1.0)
- {
- return floatsub(floatdiv(PI,2.0),isin(adj,hyp));
- }
- return -1.0;
- }
- stock Float:itan(Float:opp,Float:adj) //By Sacky
- {
- new Float:x = floatdiv(opp,adj);
- if(x < 1.0 && x > -1.0)
- {
- return x-(1.0/3.0)*floatpower(x,3)+(1.0/5.0)*floatpower(x,5)-(1.0/7.0)*floatpower(x,7)+(1.0/9.0)*floatpower(x,9)-(1.0/11.0)*floatpower(x,11)+(1.0/13.0)*floatpower(x,13)-(1.0/15.0)*floatpower(x,15)+(1.0/17.0)*floatpower(x,17)-(1.0/19.0)*floatpower(x,19)+(1.0/21.0)*floatpower(x,21)-(1.0/23.0)*floatpower(x,23)+(1.0/25.0)*floatpower(x,25);
- }
- return -1.0;
- }
- stock Float:RadiansToDegrees(Float:radians) //By Sacky
- {
- return floatdiv(floatmul(radians,PI),180.0);
- }
- stock Float:DegreesToRadians(Float:degree) //By Sacky
- {
- return floatdiv(floatmul(degree,180.0),PI);
- }
- stock IsVehicleInUse(vehicleid) //By Sacky
- {
- if(IsVehicleConnected(vehicleid) && VehicleDriverID(vehicleid)!=-1)
- {
- return 1;
- }
- return 0;
- }
- stock PlayerPlaySound2(playerid,soundid) //By Sacky
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- PlayerPlaySound(playerid,soundid,x,y,z);
- return 1;
- }
- stock PlayerPlaySoundEx(playerid,soundid) //By Sacky
- {
- return PlayerPlaySound2(playerid,soundid);
- }
- stock SetVehicleSpawnPos(vehicleid,Float:x1,Float:y1,Float:z1,Float:angle1)
- {
- if(IsVehicleConnected(vehicleid))
- {
- Vehicles[vehicleid][X]=x1;
- Vehicles[vehicleid][Y]=y1;
- Vehicles[vehicleid][Z]=z1;
- Vehicles[vehicleid][Angle]=angle1;
- Vehicles[vehicleid][Dynamic]=1;
- return 1;
- }
- return 0;
- }
- stock ResetVehicleSpawnPos(vehicleid)
- {
- if(IsVehicleConnected(vehicleid))
- {
- Vehicles[vehicleid][Dynamic]=0;
- return 1;
- }
- return 0;
- }
- stock SetVehicleToRespawn2(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- if(Vehicles[vehicleid][Dynamic])
- {
- SetVehiclePos(vehicleid,Vehicles[vehicleid][X],Vehicles[vehicleid][Y],Vehicles[vehicleid][Z]);
- SetVehicleZAngle(vehicleid,Vehicles[vehicleid][Angle]);
- #if defined OnVehicleRespawn
- OnVehicleSpawn2(vehicleid,1);
- #endif
- return 2;
- }
- else
- {
- SetVehicleToRespawn(vehicleid);
- return 1;
- }
- }
- return 0;
- }
- stock randomcolor() //By Gabriel "Larcius" Cordes
- {
- return random(126);
- }
- stock AddStaticVehicle2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2) //By Boss (edited by Gabriel "Larcius" Cordes)
- {
- if(GetVehicles()<MAX_VEHICLES)
- {
- if(color1<0)
- {
- color1=randomcolor();
- }
- if(color2<0)
- {
- color2=randomcolor();
- }
- new vehicleid=AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2), Float:h;
- GetVehicleHealth(vehicleid, h);
- Vehicles[vehicleid][X]=spawn_x;
- Vehicles[vehicleid][Y]=spawn_y;
- Vehicles[vehicleid][Z]=spawn_z;
- Vehicles[vehicleid][Health]=h;
- Vehicles[vehicleid][Color1]=color1;
- Vehicles[vehicleid][Color2]=color2;
- Vehicles[vehicleid][Dynamic]=0;
- Vehicles[vehicleid][Last_Trailer]=-1;
- Vehicles[vehicleid][Cur_Trailer]=-1;
- Vehicles[vehicleid][Static]=1;
- Vehicles[vehicleid][Respawn]=0;
- Vehicles[vehicleid][Angle]=z_angle;
- return 1;
- }
- return 0;
- }
- stock CreateVehicle2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay) //By Boss (edited by Gabriel "Larcius" Cordes)
- {
- if(GetVehicles()<MAX_VEHICLES)
- {
- if(respawn_delay<0)
- {
- respawn_delay=INF_INT;
- }
- if(color1<0)
- {
- color1=randomcolor();
- }
- if(color2<0)
- {
- color2=randomcolor();
- }
- new id=CreateVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, respawn_delay), Float:h;
- GetVehicleHealth(id, h);
- Vehicles[id][X]=spawn_x;
- Vehicles[id][Y]=spawn_y;
- Vehicles[id][Z]=spawn_z;
- Vehicles[id][Health]=h;
- Vehicles[id][Color1]=color1;
- Vehicles[id][Color2]=color2;
- Vehicles[id][Respawn]=respawn_delay;
- Vehicles[id][Dynamic]=0;
- Vehicles[id][Last_Trailer]=-1;
- Vehicles[id][Cur_Trailer]=-1;
- Vehicles[id][Static]=-1;
- Vehicles[id][Angle]=z_angle;
- return 1;
- }
- return 0;
- }
- stock AddStaticVehicleLine(modelid, Float:x1, Float:y1, Float:z1, Float:Z_Angle, color1, color2, Float:distance, MaxAmount, type) //By Gabriel "Larcius" Cordes
- {
- new ret=0, Float:xRate=floatmul(floatsin(Z_Angle,degrees),distance), Float:yRate=floatmul(floatcos(Z_Angle,degrees),distance), Float:tmp;
- if(type==SIDELONG)
- {
- tmp=xRate;
- xRate=yRate;
- yRate=tmp;
- }
- for(new i=0; i<MaxAmount; i++)
- {
- if(AddStaticVehicle2(modelid, x1, y1, z1, Z_Angle, color1, color2))
- {
- x1+=xRate;
- y1+=yRate;
- ret++;
- }
- }
- return ret;
- }
- stock CreateVehicleLine(modelid, Float:x1, Float:y1, Float:z1, Float:Z_Angle, color1, color2, respawn_delay, Float:distance, MaxAmount, type) //By Gabriel "Larcius" Cordes
- {
- new ret=0, Float:xRate=floatmul(floatsin(Z_Angle,degrees),distance), Float:yRate=floatmul(floatcos(Z_Angle,degrees),distance), Float:tmp;
- if(type==SIDELONG)
- {
- tmp=xRate;
- xRate=yRate;
- yRate=tmp;
- }
- for(new i=0; i<MaxAmount; i++)
- {
- if(CreateVehicle2(modelid,x1,y1,z1,Z_Angle,color1,color2,respawn_delay))
- {
- x1+=xRate;
- y1+=yRate;
- ret++;
- }
- }
- return ret;
- }
- stock DetachTrailerFromVehicle2(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid) && IsTrailerAttachedToVehicle(vehicleid))
- {
- new trailerid=GetVehicleTrailer(vehicleid);
- AttachTrailerToVehicle(trailerid, vehicleid);
- DetachTrailerFromVehicle(vehicleid);
- return trailerid;
- }
- return -1;
- }
- stock SetVehicleParamsForAllOthers(vehicleid, playerid, objective, doorslocked, trailer=0) //By Gabriel "Larcius" Cordes
- {
- new ret=0;
- if(IsVehicleConnected(vehicleid))
- {
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && i!=playerid)
- {
- SetVehicleParamsForPlayer2(vehicleid, i, objective, doorslocked, trailer);
- ret++;
- }
- }
- }
- return ret;
- }
- stock GetVehicleParamsOfPlayer(vehicleid, playerid, &objective, &doorslocked) //By Gabriel "Larcius" Cordes
- {
- objective=-1, doorslocked=-1;
- if(IsPlayerConnected(playerid) && IsVehicleConnected(vehicleid))
- {
- objective=Vehicles[vehicleid][Objective][playerid];
- doorslocked=Vehicles[vehicleid][Locked][playerid];
- }
- return objective,doorslocked;
- }
- stock GetVehicleParamsForPlayer(vehicleid, playerid, &objective, &doorslocked)
- {
- GetVehicleParamsOfPlayer(vehicleid, playerid, objective, doorslocked);
- return objective, doorslocked;
- }
- stock IsPlayerFreeze(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- for(new i=0; i<MAX_FREEZE_ALL; i++)
- {
- if(Players[playerid][Freeze][i]==1)
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock IsVehicleLockedForPlayer(vehicleid, playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsVehicleConnected(vehicleid))
- {
- new objective, doorslocked;
- GetVehicleParamsOfPlayer(vehicleid, playerid, objective, doorslocked);
- if(doorslocked==1)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsVehicleLockedForAnyPlayer(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsVehicleLockedForPlayer(vehicleid, i))
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock IsVehicleLockedForAll(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && !IsVehicleLockedForPlayer(vehicleid, i))
- {
- return 0;
- }
- }
- return 1;
- }
- return 0;
- }
- stock IsVehicleObjectivedForPlayer(vehicleid, playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid) && IsVehicleConnected(vehicleid))
- {
- new objective, doorslocked;
- GetVehicleParamsOfPlayer(vehicleid, playerid, objective, doorslocked);
- if(objective==1)
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsVehicleObjectivedForAnyPlayer(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsVehicleObjectivedForPlayer(vehicleid, i))
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock IsVehicleObjectivedForAll(vehicleid) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && !IsVehicleObjectivedForPlayer(vehicleid, i))
- {
- return 0;
- }
- }
- return 1;
- }
- return 0;
- }
- stock SetTeamPos(team, x, y, z) //dyraXon
- {
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- SetPlayerPos(i, x, y, z);
- }
- }
- return 1;
- }
- stock IsTeamInArea(team, Float:minx, Float:maxx, Float:miny, Float:maxy) //dyraXon
- {
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(i, x, y, z);
- if (x > minx && x < maxx && y > miny && y < maxy)
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock KickTeam(team) //dyraXon
- {
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- Kick(i);
- }
- }
- return 1;
- }
- stock BanTeam(team) //dyraXon
- {
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- Ban(i);
- }
- }
- }
- stock GetVehicleType(vehicleid) //By YellowBlood (edited by Gabriel "Larcius" Cordes)
- {
- new type=0;
- if(IsVehicleConnected(vehicleid))
- {
- switch(GetVehicleModel(vehicleid))
- {
- // ================== CARS =======
- case
- 416, //ambulan - car
- 445, //admiral - car
- 602, //alpha - car
- 485, //baggage - car
- 568, //bandito - car
- 429, //banshee - car
- 499, //benson - car
- 424, //bfinject, //car
- 536, //blade - car
- 496, //blistac - car
- 504, //bloodra - car
- 422, //bobcat - car
- 609, //boxburg - car
- 498, //boxville, //car
- 401, //bravura - car
- 575, //broadway, //car
- 518, //buccanee, //car
- 402, //buffalo - car
- 541, //bullet - car
- 482, //burrito - car
- 431, //bus - car
- 438, //cabbie - car
- 457, //caddy - car
- 527, //cadrona - car
- 483, //camper - car
- 524, //cement - car
- 415, //cheetah - car
- 542, //clover - car
- 589, //club - car
- 480, //comet - car
- 596, //copcarla, //car
- 599, //copcarru, //car
- 597, //copcarsf, //car
- 598, //copcarvg, //car
- 578, //dft30 - car
- 486, //dozer - car
- 507, //elegant - car
- 562, //elegy - car
- 585, //emperor - car
- 427, //enforcer, //car
- 419, //esperant, //car
- 587, //euros - car
- 490, //fbiranch, //car
- 528, //fbitruck, //car
- 533, //feltzer - car
- 544, //firela - car
- 407, //firetruk, //car
- 565, //flash - car
- 455, //flatbed - car
- 530, //forklift, //car
- 526, //fortune - car
- 466, //glendale, //car
- 604, //glenshit, //car
- 492, //greenwoo, //car
- 474, //hermes - car
- 434, //hotknife, //car
- 502, //hotrina - car
- 503, //hotrinb - car
- 494, //hotring - car
- 579, //huntley - car
- 545, //hustler - car
- 411, //infernus, //car
- 546, //intruder, //car
- 559, //jester - car
- 508, //journey - car
- 571, //kart - car
- 400, //landstal, //car
- 403, //linerun - car
- 517, //majestic, //car
- 410, //manana - car
- 551, //merit - car
- 500, //mesa - car
- 418, //moonbeam, //car
- 572, //mower - car
- 423, //mrwhoop - car
- 516, //nebula - car
- 582, //newsvan - car
- 467, //oceanic - car
- 404, //peren - car
- 514, //petro - car
- 603, //phoenix - car
- 600, //picador - car
- 413, //pony - car
- 426, //premier - car
- 436, //previon - car
- 547, //primo - car
- 489, //rancher - car
- 441, //rcbandit, //car
- 594, //rccam - car
- 564, //rctiger - car
- 515, //rdtrain - car
- 479, //regina - car
- 534, //remingtn, //car
- 505, //rnchlure, //car
- 442, //romero - car
- 440, //rumpo - car
- 475, //sabre - car
- 543, //sadler - car
- 605, //sadlshit, //car
- 495, //sandking, //car
- 567, //savanna - car
- 428, //securica, //car
- 405, //sentinel, //car
- 535, //slamvan - car
- 458, //solair - car
- 580, //stafford, //car
- 439, //stallion, //car
- 561, //stratum - car
- 409, //stretch - car
- 560, //sultan - car
- 550, //sunrise - car
- 506, //supergt - car
- 601, //swatvan - car
- 574, //sweeper - car
- 566, //tahoma - car
- 549, //tampa - car
- 420, //taxi - car
- 459, //topfun - car
- 576, //tornado - car
- 583, //tug - car
- 451, //turismo - car
- 558, //uranus - car
- 552, //utility - car
- 540, //vincent - car
- 491, //virgo - car
- 412, //voodoo - car
- 478, //walton - car
- 421, //washing - car
- 529, //willard - car
- 555, //windsor - car
- 456, //yankee - car
- 554, //yosemite - car
- 477 //zr350 - car
- : type = VTYPE_CAR;
- // ================== BIKES =======
- case
- 581, //bf400 - bike
- 523, //copbike - bike
- 462, //faggio - bike
- 521, //fcr900 - bike
- 463, //freeway - bike
- 522, //nrg500 - bike
- 461, //pcj600 - bike
- 448, //pizzaboy, //bike
- 468, //sanchez - bike
- 586 //wayfarer, //bike
- : type = VTYPE_BIKE;
- // =================== BMX =======
- case
- 509, //bike - bmx
- 481, //bmx - bmx
- 510 //mtbike - bmx
- : type = VTYPE_BMX;
- // ================== QUADS =======
- case
- 471 //quad - quad
- : type = VTYPE_QUAD;
- // ================== SEA =======
- case
- 472, //coastg - boat
- 473, //dinghy - boat
- 493, //jetmax - boat
- 595, //launch - boat
- 484, //marquis - boat
- 430, //predator, //boat
- 453, //reefer - boat
- 452, //speeder - boat
- 446, //squalo - boat
- 454 //tropic - boat
- : type = VTYPE_SEA;
- // ================= HELI =======
- case
- 548, //cargobob, //heli
- 425, //hunter - heli
- 417, //leviathn, //heli
- 487, //maverick, //heli
- 497, //polmav - heli
- 563, //raindanc, //heli
- 501, //rcgoblin, //heli
- 465, //rcraider, //heli
- 447, //seaspar - heli
- 469, //sparrow - heli
- 488 //vcnmav - heli
- : type = VTYPE_HELI;
- // ================ PLANE =======
- case
- 592, //androm - plane
- 577, //at 400 - plane
- 511, //beagle - plane
- 512, //cropdust, //plane
- 593, //dodo - plane
- 520, //hydra - plane
- 553, //nevada - plane
- 464, //rcbaron - plane
- 476, //rustler - plane
- 519, //shamal - plane
- 460, //skimmer - plane
- 513, //stunt - plane
- 539 //vortex - plane
- : type = VTYPE_PLANE;
- // ================== HEAVY =======
- case
- 588, //hotdog - car
- 437, //coach - car
- 532, //combine - car
- 433, //barracks, //car
- 414, //mule - car
- 443, //packer - car
- 470, //patriot - car
- 432, //rhino - car
- 525, //towtruck, //car
- 531, //tractor - car
- 408 //trash - car
- : type = VTYPE_HEAVY;
- // ================ MONSTER =======
- case
- 406, //dumper - mtruck
- 573, //duneride, //mtruck
- 444, //monster - mtruck
- 556, //monstera, //mtruck
- 557 //monsterb, //mtruck
- : type = VTYPE_MONSTER;
- // ================ TRAILER =======
- case
- 435, //artict1 - trailer
- 450, //artict2 - trailer
- 591, //artict3 - trailer
- 606, //bagboxa - trailer
- 607, //bagboxb - trailer
- 610, //farmtr1 - trailer
- 584, //petrotr - trailer
- 608, //tugstair - trailer
- 611 //utiltr1 - trailer
- : type = VTYPE_TRAILER;
- // ================== TRAIN =======
- case
- 590, //freibox - train
- 569, //freiflat, //train
- 537, //freight - train
- 538, //streak - train
- 570, //streakc - train
- 449 //tram - train
- : type = VTYPE_TRAIN;
- }
- }
- return type;
- }
- stock GetPlayers() //By rapidZ
- {
- new players=0;
- for (new i=0;i<MAX_PLAYERS;i++)
- {
- if(IsPlayerConnected(i))
- {
- players++;
- }
- }
- return players;
- }
- stock str_replace(search[], replace[], source[]) //By Tratulla
- {
- new newnick[256];
- new newlen;
- for (new i; i < strlen(source); i++)
- {
- if (strlen(search) > 1 && i != (strlen(source) - 1))
- {
- new matched = 1;
- new start = i;
- for (new s=0; s < strlen(search) && matched == 1; s++)
- {
- if (source[i] != search[s] && s == 0)
- {
- newnick[newlen] = source[i];
- matched = 0;
- } else
- {
- if (source[i] == search[s])
- {
- i++;
- } else
- {
- matched = 0;
- }
- }
- }
- if (matched == 0)
- {
- for (start=start; start <= i; start++)
- {
- newnick[newlen] = source[start];
- newlen++;
- }
- } else
- {
- for (new r; r < strlen(replace); r++)
- {
- newnick[newlen] = replace[r];
- newlen++;
- }
- i = (start + (strlen(search) - 1));
- }
- } else
- {
- if (strlen(search) == 1 && source[i] == search[0])
- {
- for (new r; r < strlen(replace); r++)
- {
- newnick[newlen] = replace[r];
- newlen++;
- }
- } else
- {
- newnick[newlen] = source[i];
- newlen++;
- }
- }
- }
- newnick[newlen] = EOS;
- return newnick;
- }
- stock GameTextCheck(const string[]) //By Kamazy
- {
- for (new i=0; i<strlen(string); i++)
- {
- if ((string[i] == 126) && (string[i-1] == 126) || (string[i] == ' ') && (string[i-1] == '~') && (string[i-2] == ' ') || (string[i] == '~') && (string[i+2] != '~') && (string[i-2] != '~') || (string[i] == '~') && (string[i+2] == '~') && (string[i-2] == '~'))
- {
- return 1;
- }
- }
- return 0;
- }
- stock SetPlayerPosEx(playerid,Float:x1,Float:y1,Float:z1,Float:Ang,Int) //By Kamazy
- {
- SetPlayerInterior(playerid,Int);
- SetPlayerFacingAngle(playerid,Ang);
- SetPlayerPos(playerid,x1,x1,z1);
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- stock IsPlayerInRange(playerid, Float:Range, Float:Z_Range, Float:tar_x, Float:tar_y, Float:tar_z) //By Gabriel "Larcius" Cordes
- {
- new bool:care_z = true, Float:player_x, Float:player_y, Float:player_z, Float:radius_xy, Float:radius_z;
- GetPlayerPos(playerid, player_x, player_y, player_z);
- radius_xy = floatsqroot(floatadd(floatpower(floatsub(player_x,tar_x),2.0),floatpower(floatsub(player_y,tar_y),2.0)));
- radius_z = floatsqroot(floatadd(floatpower(radius_xy,2.0),floatpower(floatsub(player_z,tar_z),2.0)));
- if(radius_z > Z_Range && radius_xy < radius_z)
- {
- care_z = false;
- }
- if(radius_xy <= Range && care_z)
- {
- return 1;
- }
- return 0;
- }
- stock GivePlayerWeaponEx(playerid, ...) //By Peter
- {
- new Count = numargs();
- for(new i = 1; i < Count; i += 2)
- {
- new WeaponID = getarg(i);
- new Ammo = getarg((i+1));
- if(WeaponID > 0 && WeaponID < 47)
- {
- GivePlayerWeaponAlt(playerid, WeaponID, Ammo);
- }
- }
- return 1;
- }
- stock SendClientMessageToAllOthers(playerid, color, const message[]) //By yom
- {
- new ret=0;
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && i!=playerid)
- {
- SendClientMessage(i, color, message);
- ret++;
- }
- }
- return ret;
- }
- stock GameTextForAllOthers(playerid, const string[], time, style) //By yom
- {
- new ret=0;
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && i != playerid)
- {
- GameTextForPlayer(i, string, time, style);
- ret++;
- }
- }
- return ret;
- }
- stock SetPlayerColourAlpha(playerid, alpha)
- {
- return SetPlayerColorAlpha(playerid, alpha);
- }
- stock SetPlayerColorAlpha(playerid, alpha) //By Betamaster
- {
- new r, g, b, a;
- HexToRGBA(GetPlayerColor(playerid), r, g, b, a);
- SetPlayerColor(playerid, RGBAToHex(r, g, b, alpha));
- }
- stock RGBAToHex(r, g, b, a) //By Betamaster
- {
- return (r<<24 | g<<16 | b<<8 | a);
- }
- stock HexToRGBA(colour, &r, &g, &b, &a) //By Betamaster
- {
- r = (colour >> 24) & 0xFF;
- g = (colour >> 16) & 0xFF;
- b = (colour >> 8) & 0xFF;
- a = colour & 0xFF;
- }
- stock IsPlayerInAreaEx(playerid, Float:...) //By kool
- {
- new Count = numargs();
- new Float:xe[255], Float:ye[255];
- new j=0;
- for(new i=1; i<Count; i+=2)
- {
- xe[j] = Float:getarg(i);
- ye[j] = Float:getarg(i+1);
- j++;
- }
- xe[j] = xe[0];
- ye[j] = ye[0];
- new Lines;
- new Float:xcut;
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- for(new i=0; i<j; i++)
- {
- xcut = xe[i]+((y-ye[i])*(xe[i+1]-xe[i])/(ye[i+1]-ye[i]));
- if(((y >= ye[i] && y <= ye[i+1]) || (y >= ye[i+1] && y <= ye[i])) && xcut < x)
- {
- Lines++;
- }
- }
- if(Lines%2 == 1)
- {
- return 1;
- }
- return 0;
- }
- stock SetTeamScore(team, score) //By Hellomy
- {
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- SetPlayerScore(i, score);
- }
- }
- return 1;
- }
- stock GiveTeamMoney(team, amount) //By Hellomy
- {
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i) && Players[i][Cur_team]==team)
- {
- GivePlayerMoney(i, amount);
- }
- }
- return 1;
- }
- stock SetTime(hours,minutes)
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- SetPlayerTime(i, hours, minutes);
- }
- }
- stock Wait(time)
- {
- new stamp = tickcount();
- while (tickcount() - stamp < time)
- {
- }
- return 1;
- }
- stock strrest(const string[], index)
- {
- new length = strlen(string);
- new offset = index;
- new result[256];
- while ((index < length) && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r'))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock Float:lengthdir_x(Float:len,Float:angles) //By Slick
- {
- return floatmul(floatcos(floatdiv(floatmul(angles,PI),180.0)),len);
- }
- stock Float:lengthdir_y(Float:len,Float:angles) //By Slick
- {
- return floatmul(-floatsin(floatdiv(floatmul(angles,PI),180.0)),len);
- }
- stock FindEmptySlot(const array[], const length) //By Gabriel "Larcius" Cordes
- {
- for (new i=0;i<length;i++)
- {
- if(!array[i])
- {
- return i;
- }
-
- }
- return -1;
- }
- stock FindEmptySlot2D(const array[], const length, &d1, &d2) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (array[i])
- {
- new d2=FindEmptySlot(array[i][], sizeof(array[i]));
- if (d2!=-1)
- {
- new d1=i;
- return d1, d2;
- }
- }
- }
- d1=-1;
- d2=-1;
- return d1,d2;
- }
- stock FindIntegerInArray(const num, const array[], const length) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (array[i] == num)
- {
- return i;
- }
- }
- return -1;
- }
- stock FindStringInArray(const string[], const array[], const length) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (strcmp(string, array[i], true) == 0)
- {
- return i;
- }
- }
- return -1;
- }
- stock FindFloatInArray(const Float:num, const array[], const length) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (array[i] == num)
- {
- return i;
- }
- }
- return -1;
- }
- stock FindIntegerIn2DArray(const num, const array[], length, &d1, &d2) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (array[i])
- {
- new d2=FindIntegerInArray(num, array[i][], sizeof(array[i]));
- if (d2 != -1)
- {
- new d1=i;
- return d1, d2;
- }
- }
- }
- return -1;
- }
- stock FindStringIn2DArray(const string[], const array[], length, &d1, &d2) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (array[i])
- {
- new d2=FindStringInArray(num, array[i][], sizeof(array[i]));
- if (d2 != -1)
- {
- new d1=i;
- return d1, d2;
- }
- }
- }
- return -1;
- }
- stock FindFloatIn2DArray(const Float:num, const array[], length, &d1, &d2) //By Gabriel "Larcius" Cordes
- {
- for (new i=0; i<length; i++)
- {
- if (array[i])
- {
- new d2=FindFloatInArray(num, array[i][], sizeof(array[i]));
- if (d2 != -1)
- {
- new d1=i;
- return d1, d2;
- }
- }
- }
- return -1;
- }
- stock AddArea(type,Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2,Float:radius1) //By Gabriel "Larcius" Cordes
- {
- new areaid=0;
- while(IsAreaConnected(areaid) && areaid<MAX_AREAS)
- {
- areaid++;
- }
- if(areaid<MAX_AREAS)
- {
- Areas[areaid][Type]=0;
- switch (type)
- {
- case AREA_RECTANGLE:
- {
- if(x1!=x2 && y1!=y2)
- {
- Areas[areaid][Type]=AREA_RECTANGLE;
- Areas[areaid][X]=x1;
- Areas[areaid][Y]=y1;
- Areas[areaid][X2]=x2;
- Areas[areaid][Y2]=y2;
- }
- }
- case AREA_CIRCLE:
- {
- if(radius1!=0.0)
- {
- Areas[areaid][Type]=AREA_CIRCLE;
- Areas[areaid][X]=x1;
- Areas[areaid][Y]=y1;
- Areas[areaid][Radius]=radius1;
- }
- }
- case AREA_ASHLAR:
- {
- if(x1!=x2 && y1!=y2 && z1!=z2)
- {
- Areas[areaid][Type]=AREA_ASHLAR;
- Areas[areaid][X]=x1;
- Areas[areaid][Y]=y1;
- Areas[areaid][Z]=z1;
- Areas[areaid][X2]=x2;
- Areas[areaid][Y2]=y2;
- Areas[areaid][Z2]=z2;
- }
- }
- case AREA_SPHERE:
- {
- if(radius1!=0.0)
- {
- Areas[areaid][Type]=AREA_SPHERE;
- Areas[areaid][X]=x1;
- Areas[areaid][Y]=y1;
- Areas[areaid][Z]=z1;
- Areas[areaid][Radius]=radius1;
- }
- }
- case AREA_CYLINDER:
- {
- if(radius1!=0.0 && z2!=0.0)
- {
- Areas[areaid][Type]=AREA_CYLINDER;
- Areas[areaid][X]=x1;
- Areas[areaid][Y]=y1;
- Areas[areaid][Z]=z1;
- Areas[areaid][Z2]=z2;
- Areas[areaid][Radius]=radius1;
- }
- }
- }
- if(Areas[areaid][Type])
- {
- return areaid;
- }
- }
- return -1;
- }
- stock AddRectangleArea(Float:x1,Float:y1,Float:x2,Float:y2) //By Gabriel "Larcius" Cordes
- {
- return AddArea(AREA_RECTANGLE,x1,y1,0.0,x2,y2,0.0,0.0);
- }
- stock AddCircleArea(Float:x1,Float:y1,Float:radius1) //By Gabriel "Larcius" Cordes
- {
- return AddArea(AREA_CIRCLE,x1,y1,0.0,0.0,0.0,0.0,radius1);
- }
- stock AddAshlarArea(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2) //By Gabriel "Larcius" Cordes
- {
- return AddArea(AREA_ASHLAR,x1,y1,z1,x2,y2,z2,0.0);
- }
- stock AddCubeArea(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
- {
- return AddAshlarArea(x1,y1,z1,x2,y2,z2);
- }
- stock AddSphereArea(Float:x1,Float:y1,Float:z1,Float:radius1) //By Gabriel "Larcius" Cordes
- {
- return AddArea(AREA_SPHERE,x1,y1,z1,0.0,0.0,0.0,radius1);
- }
- stock AddCylinderArea(Float:x1,Float:y1,Float:z1,Float:z2,Float:radius1) //By Gabriel "Larcius" Cordes
- {
- return AddArea(AREA_Cylinder,x1,y1,z1,0.0,0.0,z2,radius1);
- }
- stock GetAreaType(areaid) //By Gabriel "Larcius" Cordes
- {
- if(IsAreaConnected(areaid))
- {
- return Areas[areaid][Type];
- }
- return 0;
- }
- stock GetAreaParams(areaid,&type,&Float:x1,&Float:y1,&Float:z1,&Float:x2,&Float:y2,&Float:z2,&Float:radius1)
- {
- if(IsAreaConnected(areaid))
- {
- type=Areas[areaid][Type];x1=Areas[areaid][X];y1=Areas[areaid][Y];z1=Areas[areaid][Z];x2=Areas[areaid][X2];y2=Areas[areaid][Y2];z2=Areas[areaid][Z2];radius1=Areas[areaid][Radius];
- }
- else
- {
- type=0;x1=0.0;y1=0.0;z1=0.0;x2=0.0;y2=0.0;z2=0.0;radius1=0.0;
- }
- return type,x1,y1,z1,x2,y2,z2,radius1;
- }
- stock IsPointInArea(Float:x1,Float:y1,Float:z1,areaid)
- {
- if(IsAreaConnected(areaid))
- {
- switch (Areas[areaid][Type])
- {
- case AREA_RECTANGLE:
- {
- if(IsPointInRectangle(x1,y1,Areas[areaid][X],Areas[areaid][Y],Areas[areaid][X2],Areas[areaid][Y2]))
- {
- return 1;
- }
- }
- case AREA_CIRCLE:
- {
- if(IsPointInCircle(x1,y1,Areas[areaid][X],Areas[areaid][Y],Areas[areaid][Radius]))
- {
- return 1;
- }
- }
- case AREA_ASHLAR:
- {
- if(IsPointInAshlar(x1,y1,z1,Areas[areaid][X],Areas[areaid][Y],Areas[areaid][Z],Areas[areaid][X2],Areas[areaid][Y2],Areas[areaid][Z2]))
- {
- return 1;
- }
- }
- case AREA_SPHERE:
- {
- if(IsPointInSphere(x1,y1,z1,Areas[areaid][X],Areas[areaid][Y],Areas[areaid][Z],Areas[areaid][Radius]))
- {
- return 1;
- }
- }
- case AREA_CYLINDER:
- {
- if(IsPointInCylinder(x1,y1,z1,Areas[areaid][X],Areas[areaid][Y],Areas[areaid][Z],Areas[areaid][Z2],Areas[areaid][Radius]))
- {
- return 1;
- }
- }
- }
- }
- return 0;
- }
- stock IsPlayerInArea(playerid, areaid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- if(IsPointInArea(x,y,z,areaid))
- {
- return 1;
- }
- }
- return 0;
- }
- stock IsAnyPlayerInArea(areaid) //By Gabriel "Larcius" Cordes
- {
- if(IsAreaConnected(areaid))
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerInArea(i, areaid))
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock IsPlayerInAnyArea(playerid) //By Gabriel "Larcius" Cordes
- {
- if(IsPlayerConnected(playerid))
- {
- for(new i=0; i<MAX_AREAS; i++)
- {
- if(IsPlayerInArea(playerid, i))
- {
- return 1;
- }
- }
- }
- return 0;
- }
- stock AreaDestroy(areaid)
- {
- return DestroyArea(areaid);
- }
- stock DestroyArea(areaid) //By Gabriel "Larcius" Cordes
- {
- if(IsAreaConnected(areaid))
- {
- Areas[areaid][Type]=0;
- Areas[areaid][X]=0.0;
- Areas[areaid][Y]=0.0;
- Areas[areaid][Z]=0.0;
- Areas[areaid][X2]=0.0;
- Areas[areaid][Y2]=0.0;
- Areas[areaid][Z2]=0.0;
- Areas[areaid][Radius]=0.0;
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- Areas[areaid][PlayerInArea][i]=0;
- }
- return 1;
- }
- return 0;
- }
- stock strfloat(Float:value) //By Gabriel "Larcius" Cordes
- {
- new string[MAX_STRING];
- format(string, sizeof(string), "%f", value);
- return string;
- }
- stock strfromfloat(Float:value)
- {
- return strfloat(value);
- }
- stock floattostr(Float:value)
- {
- return strfloat(value);
- }
- stock floatval(Float:value) //By Gabriel "Larcius" Cordes
- {
- new string[MAX_STRING];
- string = strfloat(floatround(value));
- return strval(left(string,strfind(string, ".", true)));
- }
- stock floatint(Float:value)
- {
- return floatval(value);
- }
- stock IsAnyPlayerInRangeOfVehicle(vehicleid,Float:range)
- {
- for (new i=0; i<=MAX_PLAYERS;i++)
- {
- if (IsPlayerInRangeOfVehicle(i,vehicleid,range))
- {
- return 1;
- }
- }
- return 0;
- }
- public ClearOutOfRangeVehicles()
- {
- #if !defined OutOfRange
- new Float:OutOfRange=250.0;
- #endif
- if(OutOfRange<=0)
- {
- OutOfRange=INF_FLOAT;
- }
- new ret=0;
- for (new i=0;i<MAX_VEHICLES;i++)
- {
- if(IsVehicleConnected(i) && Vehicles[i][Static]==-1 && !IsAnyPlayerInRangeOfVehicle(i, OutOfRange) && (!IsVehicleLockedForAnyPlayer(i) || (GetPlayers()==1 && IsVehicleObjectivedForAnyPlayer(i))))
- {
- DestroyVehicle2(i);
- ret++;
- }
- }
- return ret;
- }
- stock IsPlayerInRangeOfVehicle(playerid, vehicleid, Float:range) //By Gabriel "Larcius" Cordes
- {
- if(IsVehicleConnected(vehicleid))
- {
- new Float:x1, Float:y1, Float:z1;
- GetVehiclePos(vehicleid, x1, y1, z1);
- return IsPlayerInSphere(playerid,x1,y1,z1,range);
- }
- return 0;
- }
- stock IsAnyPlayerInVehicle(vehicleid, status=PLAYER_STATE_NONE) //By Gabriel "Larcius" Cordes
- {
- // PLAYER_STATE_DRIVER means has to be driver, PLAYER_STATE_PASSENGER means has to be passenger, all other or nothing means don't care if driver or passenger
- for (new i=0; i<=MAX_PLAYERS; i++)
- {
- if (IsVehicleConnected(i) && IsPlayerInVehicle(i, vehicleid))
- {
- if (status==PLAYER_STATE_DRIVER)
- {
- if (IsPlayerDriver(i))
- {
- return 1;
- }
- }
- else if (status==PLAYER_STATE_PASSENGER)
- {
- if (IsPlayerPassenger(i))
- {
- return 1;
- }
- }
- else
- {
- return 1;
- }
- }
- }
- return 0;
- }
- /* Useful Callbacks: */
- public ufctimer()
- {
- for (new i=0; i<MAX_VEHICLES; i++)
- {
- if(IsVehicleConnected(i))
- {
- CheckVehicle(i);
- }
- }
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- CheckArea(i);
- CheckPickup(i);
- CheckShot(i);
- CheckPlayer(i);
- }
- }
- }
- public Speeder(ms) //By Gabriel "Larcius" Cordes
- {
- new mspassed=(tickcount()-SpeederTime);
- if(mspassed>=ms)
- {
- SpeederTime=tickcount();
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- UpdateSpeed(i,mspassed);
- }
- }
- }
- return 1;
- }
- stock CheckPickup(playerid)
- {
- for(new i=0; i<MAX_PICKUPS; i++)
- {
- if(IsPickupConnected(i))
- {
- if(IsPlayerInSphere(playerid,Pickups[i][X],Pickups[i][Y],Pickups[i][Z],1.0))
- {
- #if defined OnPlayerPickupItem
- OnPlayerPickupItem(playerid,i,Pickups[i][Model],Pickups[i][Type]);
- if(Pickups[i][Respawn]==2)
- {
- Pickups[i][Respawn]=180;
- }
- #endif
- }
- if(Pickups[i][Respawn]==0)
- {
- #if defined OnPlayerGetShot
- OnPickupRespawn(i,Pickups[i][Model]);
- #endif
- Pickups[i][Respawn]=999;
- }
- if(Pickups[i][Respawn]!=999)
- {
- Pickups[i][Respawn]--;
- }
- }
- }
- }
- stock CheckShot(playerid)
- {
- new Float:x1, Float:y1, Float:z1, Float:h, rh;
- GetPlayerPos(playerid,x1,y1,z1);
- GetPlayerHealth(playerid,h);
- rh = floatround(h);
- if(preh[playerid]-rh > 5)
- {
- new cid = GetClosestPlayer(playerid);
- new Float:dis = GetDistanceBetweenPlayers(playerid, cid);
- if(dis<100.0 && z1>=Players[playerid][Z])
- {
- if(IsPlayerInAnyVehicle(cid))
- {
- if(GetPlayerSpeed(cid,SPEED_KMPH) < 75.0)
- {
- }
- #if defined OnPlayerGetShot
- OnPlayerGetShot(playerid);
- #endif
- }
- #if defined OnPlayerGetShot
- OnPlayerGetShot(playerid);
- #endif
- }
- }
- preh[playerid] = rh;
- }
- stock UpdateSpeed(playerid,ms) //By Gabriel "Larcius" Cordes
- {
- new Float:x1,Float:y1,Float:z1,Float:distance,Float:tmp,Float:speedprev,txt[MAX_STRING];
- GetPlayerPos(playerid,x1,y1,z1);
- distance = GetDistanceToPoint(playerid,Players[playerid][X],Players[playerid][Y],Players[playerid][Z]);
- speedprev = Players[playerid][Speed2][MPS];
- tmp = floatdiv(floatmul(distance,1000.0),float(ms));
- Players[playerid][Speed2][MPS] = tmp;
- Players[playerid][Speed2][KMPH] = floatmul(tmp,3.6);
- Players[playerid][Speed2][MPH] = floatmul(tmp,5.76);
- tmp = floatdiv(floatmul(floatsub(tmp,speedprev),1000.0),float(ms));
- Players[playerid][Acceleration][MPS2] = tmp;
- Players[playerid][Acceleration][KMPH2] = floatdiv(tmp,12960.0);
- Players[playerid][Acceleration][G] = floatdiv(tmp,9.81);
- Players[playerid][X] = x1;
- Players[playerid][Y] = y1;
- Players[playerid][Z] = z1;
- if(!Players[playerid][Speed2][Show] && Players[playerid][Speed2][TextID])
- {
- TextDrawDestroy(Text:Players[playerid][Speed2][TextID]);
- }
- else if(Players[playerid][Speed2][Show])
- {
- new show_speed=Players[playerid][Speed2][Show];
- format(txt, sizeof(txt), "%d km/h", floatval(GetPlayerSpeed(playerid,SPEED_KMPH)));
- switch (show_speed)
- {
- case SPEED_MPS: format(txt, sizeof(txt), "%d m/s", floatval(GetPlayerSpeed(playerid,show_speed)));
- case SPEED_KMPH: format(txt, sizeof(txt), "%d km/h", floatval(GetPlayerSpeed(playerid,show_speed)));
- case SPEED_MPH: format(txt, sizeof(txt), "%d m/h", floatval(GetPlayerSpeed(playerid,show_speed)));
- }
- if(!Players[playerid][Speed2][TextID])
- {
- Players[playerid][Speed2][TextID]=_:TextDrawCreate(10.0, 100.0, txt);
- TextDrawFont(Text:Players[playerid][Speed2][TextID], 3);
- TextDrawShowForPlayer(playerid, Text:Players[playerid][Speed2][TextID]);
- }
- else
- {
- TextDrawSetString(Text:Players[playerid][Speed2][TextID], txt);
- }
- }
- if(!Players[playerid][Acceleration][Show] && Players[playerid][Acceleration][TextID])
- {
- TextDrawDestroy(Text:Players[playerid][Acceleration][TextID]);
- }
- else if(Players[playerid][Acceleration][Show])
- {
- new show_acc=Players[playerid][Acceleration][Show];
- format(txt, sizeof(txt), "%d km/h", floatval(GetPlayerAcceleration(playerid,ACC_MPS2)));
- switch (show_acc)
- {
- case ACC_MPS2: format(txt, sizeof(txt), "%d m/ss", floatval(GetPlayerAcceleration(playerid,show_acc)));
- case ACC_KMPH2: format(txt, sizeof(txt), "%d km/hh", floatval(GetPlayerAcceleration(playerid,show_acc)));
- case ACC_G: format(txt, sizeof(txt), "%d g", floatval(GetPlayerAcceleration(playerid,show_acc)));
- }
- if(!Players[playerid][Acceleration][TextID])
- {
- Players[playerid][Acceleration][TextID]=_:TextDrawCreate(10.0, 120.0, txt);
- TextDrawFont(Text:Players[playerid][Acceleration][TextID], 3);
- TextDrawShowForPlayer(playerid, Text:Players[playerid][Acceleration][TextID]);
- }
- else
- {
- TextDrawSetString(Text:Players[playerid][Acceleration][TextID], txt);
- }
- }
- }
- stock CheckArea(playerid)
- {
- new Float:x1,Float:y1,Float:z1;
- GetPlayerPos(playerid,x1,y1,z1);
- for(new areaid=0; areaid<MAX_AREAS; areaid++)
- {
- if(IsAreaConnected(areaid))
- {
- if(IsPlayerInArea(playerid,areaid))
- {
- if(!Areas[areaid][PlayerInArea][playerid])
- {
- Areas[areaid][PlayerInArea][playerid]=1;
- #if defined OnPlayerEnterArea
- OnPlayerEnterArea(playerid,areaid);
- #endif
- }
- }
- else if(Areas[areaid][PlayerInArea][playerid])
- {
- Areas[areaid][PlayerInArea][playerid]=0;
- #if defined OnPlayerLeaveArea
- OnPlayerLeaveArea(playerid,areaid);
- #endif
- }
- }
- }
- new moneys = GetPlayerMoney(playerid);
- new tmpmon = Players[playerid][Money]-moneys;
- new tmpmon2 = moneys-Players[playerid][Money];
- #if defined OnPlayerGamble
- new nb;
- #endif
- if(tmpmon > 0)
- {
- #if defined OnPlayerBuyWeapon
- for(new i=0;i<sizeof(lvammu);i++)
- {
- if(IsPlayerInSphere(playerid,lvammu[i][0],lvammu[i][1],lvammu[i][2],1.0))
- {
- switch (tmpmon)
- {
- case 200:OnPlayerBuyWeapon(playerid,22,200);
- case 240:OnPlayerBuyWeapon(playerid,0,240);
- case 300:OnPlayerBuyWeapon(playerid,32,300);
- case 500:OnPlayerBuyWeapon(playerid,28,500);
- case 600:{OnPlayerBuyWeapon(playerid,23,600);OnPlayerBuyWeapon(playerid,25,0);}
- case 800:OnPlayerBuyWeapon(playerid,26,800);
- case 1200:{OnPlayerBuyWeapon(playerid,24,1200);OnPlayerBuyWeapon(playerid,27,1200);}
- case 2000:OnPlayerBuyWeapon(playerid,29,2000);
- case 3500:OnPlayerBuyWeapon(playerid,30,3500);
- case 4500:OnPlayerBuyWeapon(playerid,31,4500);
- }
- }
- }
- for(new i=0;i<sizeof(ammu);i++)
- {
- if(IsPlayerInSphere(playerid,ammu[i][0],ammu[i][1],ammu[i][2],1.0))
- {
- switch (tmpmon)
- {
- case 200:{OnPlayerBuyWeapon(playerid,22,200);OnPlayerBuyWeapoon(playerid,0,0);}
- case 300:OnPlayerBuyWeapon(playerid,32,300);
- case 500:OnPlayerBuyWeapon(playerid,28,500);
- case 600:{OnPlayerBuyWeapon(playerid,23,600);OnPlayerBuyWeapon(playerid,25,0);}
- case 800:OnPlayerBuyWeapon(playerid,26,800);
- case 1200:{OnPlayerBuyWeapon(playerid,24,1200);OnPlayerBuyWeapon(playerid,27,1200);}
- case 2000:OnPlayerBuyWeapon(playerid,29,2000);
- case 3500:OnPlayerBuyWeapon(playerid,30,3500);
- case 4500:OnPlayerBuyWeapon(playerid,31,4500);
- }
- }
- }
- #endif
- #if defined OnPlayerBuyPizza
- if(IsPlayerInSphere(playerid,374.0000,374.0000,374.0000,1.0))
- {
- switch (tmpmon)
- {
- case 2:OnPlayerBuyPizza(playerid,2);
- }
- }
- #endif
- #if defined OnPlayerBuyChicken
- if(IsPlayerInSphere(playerid,368.7890,-6.8570,1001.8516,1.0))
- {
- switch (tmpmon)
- {
- case 2:OnPlayerBuyChicken(playerid,2.0);
- }
- }
- #endif
- #if defined OnPlayerBuyBurger
- if(IsPlayerInSphere(playerid,375.5660,-68.2220,1001.5151,1.0))
- {
- switch (tmpmon)
- {
- case 2:OnPlayerBuyBurger(playerid,2);
- }
- }
- #endif
- #if defined OnPlayerBuyDrink
- if(tmpmon == 5)
- {
- OnPlayerBuyDrink(playerid,5);
- }
- #endif
- #if defined OnPlayerGamble
- if(betting[playerid] != 0)
- {
- if(bets[playerid] == 0)
- {
- bets[playerid] = tmpmon;
- }
- else
- {
- OnPlayerGamble(playerid,betting[playerid],bets[playerid],0);
- betting[playerid] = 0;
- bets[playerid] = 0;
- }
- }
- #endif
- #if defined OnPlayerModVehicle
- if(IsPlayerInSphere(playerid,617.5360,-1.9889,1000.6190,4.0) && IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- switch (tmpmon)
- {
- case 150:OnPlayerModVehicle(playerid,vehicleid,1,150);
- case 200:OnPlayerModVehicle(playerid,vehicleid,2,200);
- case 250:OnPlayerModVehicle(playerid,vehicleid,3,250);
- case 300:OnPlayerModVehicle(playerid,vehicleid,4,300);
- case 350:{OnPlayerModVehicle(playerid,vehicleid,5,350);OnPlayerModVehicle(playerid,vehicleid,6,0);}
- case 500:{OnPlayerModVehicle(playerid,vehicleid,7,500);OnPlayerModVehicle(playerid,vehicleid,8,0);}
- case 550:OnPlayerModVehicle(playerid,vehicleid,9,550);
- case 620:OnPlayerModVehicle(playerid,vehicleid,10,620);
- case 770:OnPlayerModVehicle(playerid,vehicleid,11,770);
- case 820:OnPlayerModVehicle(playerid,vehicleid,12,820);
- case 1000:{OnPlayerModVehicle(playerid,vehicleid,13,1000);OnPlayerModVehicle(playerid,vehicleid,14,0);OnPlayerModVehicle(playerid,vehicleid,15,0);}
- case 1030:OnPlayerModVehicle(playerid,vehicleid,16,1030);
- case 1140:OnPlayerModVehicle(playerid,vehicleid,17,1140);
- case 1200:OnPlayerModVehicle(playerid,vehicleid,18,1200);
- case 1230:OnPlayerModVehicle(playerid,vehicleid,19,1230);
- case 1500:OnPlayerModVehicle(playerid,vehicleid,20,1500);
- case 1560:OnPlayerModVehicle(playerid,vehicleid,21,1560);
- }
- }
- #endif
- }
- if(tmpmon2 > 0)
- {
- #if defined OnPlayerGamble
- if(betting != 0)
- {
- OnPlayerGamble(playerid,betting[playerid],bets[playerid],1);
- betting[playerid] = 0;
- bets[playerid] = 0;
- }
- #endif
- }
- #if defined OnPlayerGamble
- for(new i=0;i<sizeof(gamble1);i++)
- {
- if(IsPlayerInSphere(playerid,gamble1[i][0],gamble1[i][1],gamble1[i][2],1.0)
- {
- betting[playerid] = 1;
- nb++;
- }
- }
- for(new i=0;i<sizeof(gamble2);i++)
- {
- if(IsPlayerInSphere(playerid,gamble2[i][0],gamble2[i][1],gamble2[i][2],1.0)
- {
- betting[playerid] = 2;
- nb++;
- }
- }
- for(new i=0;i<sizeof(gamble3);i++)
- {
- if(IsPlayerInSphere(playerid,gamble3[i][0],gamble3[i][1],gamble3[i][2],1.0)
- {
- betting[playerid] = 3;
- nb++;
- }
- }
- for(new i=0;i<sizeof(gamble4);i++)
- {
- if(IsPlayerInSphere(playerid,gamble4[i][0],gamble4[i][1],gamble4[i][2],1.0)
- {
- betting[playerid] = 4;
- nb++;
- }
- }
- for(new i=0;i<sizeof(gamble5);i++)
- {
- if(IsPlayerInSphere(playerid,gamble5[i][0],gamble5[i][1],gamble5[i][2],1.0)
- {
- betting[playerid] = 2;
- nb++;
- }
- }
- for(new i=0;i<sizeof(gamble6);i++)
- {
- if(IsPlayerInSphere(playerid,gamble6[i][0],gamble6[i][1],gamble6[i][2],1.0)
- {
- betting[playerid] = 5;
- nb++;
- }
- }
- for(new i=0;i<sizeof(gamble7);i++)
- {
- if(IsPlayerInSphere(playerid,gamble7[i][0],gamble7[i][1],gamble7[i][2],1.0)
- {
- betting[playerid] = 3;
- nb++;
- }
- }
- if(nb == 0)
- {
- betting[playerid] = 0;
- bets[playerid] = 0;
- }
- #endif
- }
- stock CheckVehicle(vehicleid) //By Gabriel "Larcius" Cordes
- {
- new Float:h, trailerid=-1;
- GetVehicleHealth(vehicleid, h);
- if(IsTrailerAttachedToVehicle(vehicleid))
- {
- trailerid=GetVehicleTrailer(vehicleid);
- }
- #if defined OnVehicleGetHealth
- if(h!=Vehicles[vehicleid][Health])
- {
- OnVehicleGetHealth(vehicleid, floatsub(h,Vehicles[vehicleid][Health]));
- }
- #endif
- if(trailerid>0 && Vehicles[vehicleid][Cur_Trailer]<0)
- {
- Vehicles[vehicleid][Cur_Trailer]=trailerid;
- #if defined OnVehicleAttachTrailer
- OnVehicleAttachTrailer(vehicleid, trailerid);
- #endif
- }
- else if(trailerid<0 && Vehicles[vehicleid][Cur_Trailer]>0)
- {
- Vehicles[vehicleid][Last_Trailer]=Vehicles[vehicleid][Cur_Trailer];
- Vehicles[vehicleid][Cur_Trailer]=-1;
- #if defined OnVehicleDetachTrailer
- OnVehicleDetachTrailer(vehicleid, Vehicles[vehicleid][Cur_Trailer]);
- #endif
- }
- }
- stock CheckPlayer(playerid) //By Rafelder (edited by Gabriel "Larcius" Cordes)
- {
- new Float:h, Float:a, m, t, s, w, sc, wl, keys, updown, leftright;
- GetPlayerHealth(playerid, h);
- GetPlayerArmour(playerid, a);
- t=GetPlayerTeam(playerid);
- m=GetPlayerMoney(playerid);
- s=GetPlayerState(playerid);
- w=GetPlayerWeapon(playerid);
- sc=GetPlayerScore(playerid);
- wl=GetPlayerWantedLevel(playerid);
- GetPlayerKeys(playerid, keys, updown, leftright);
- #if defined OnPlayerGetHealth
- if (h!=Players[playerid][Health])
- {
- OnPlayerGetHealth(playerid,floatsub(h,Players[playerid][Health]));
- }
- #endif
- #if defined OnPlayerGetArmour
- if (a!=Players[playerid][Armour])
- {
- OnPlayerGetArmour(playerid,floatsub(a,Players[playerid][Armour]));
- }
- #endif
- #if defined OnPlayerGetMoney
- if (m!=Players[playerid][Money])
- {
- OnPlayerGetMoney(playerid,(m-Players[playerid][Money]));
- }
- #endif
- if (t!=Players[playerid][Cur_Team])
- {
- Players[playerid][Last_Team]=Players[playerid][Cur_Team];
- Players[playerid][Cur_Team]=t;
- #if defined OnPlayerChangeTeam
- OnPlayerChangeTeam(playerid, Players[playerid][Last_Team], t); //By Gabriel "Larcius" Cordes
- #endif
- }
- if (s!=Players[playerid][State])
- {
- if(s==PLAYER_STATE_DRIVER || s==PLAYER_STATE_PASSENGER)
- {
- new vehicleid=GetPlayerVehicleID(playerid);
- if (Vehicles[vehicleid][Locked][playerid])
- {
- new Float:x1, Float:y1, Float:z1;
- GetPlayerPos(playerid, x1, y1, z1);
- GameTextForPlayer(playerid, "~w~This vehicle is locked", 3000, 4);
- RemovePlayerFromVehicle(playerid);
- SetPlayerPos(playerid, x1, y1, z1);
- }
- else if(IsVehicleLockedForAnyPlayer(vehicleid) || (GetPlayers()==1 && IsVehicleObjectivedForPlayer(vehicleid, playerid)))
- {
- SetVehicleParamsForAll(vehicleid, 0, 0, 1);
- }
- new Text:txt=TextDrawCreateTimer(500.0,400.0,GetVehicleName(vehicleid),3000);
- TextDrawFont(txt,3);
- TextDrawShowForPlayer(playerid,txt);
- }
- else
- {
- Players[playerid][Last_Vehicle]=Players[playerid][Cur_Vehicle];
- new vehicleid=Players[playerid][Last_Vehicle];
- if ((Players[playerid][State]==PLAYER_STATE_DRIVER || Players[playerid][State]==PLAYER_STATE_PASSENGER) && IsVehicleLockedForPlayer(vehicleid, playerid))
- {
- new Float:x1, Float:y1, Float:z1;
- GetVehiclePos(vehicleid, x1, y1, z1);
- SetVehicleParamsForPlayer2(vehicleid, playerid, 1, 0, 1);
- }
- }
- #if defined OnPlayerChangeState
- OnPlayerChangeState(playerid, Players[playerid][State], s, Players[playerid][Last_Vehicle]);
- #endif
- }
- #if defined OnPlayerSwitchWeapon
- if (w!=Players[playerid][Weapon])
- {
- OnPlayerSwitchWeapon(playerid, Players[playerid][Weapon], w);
- }
- #endif
- #if defined OnPlayerGetScore
- if (sc!=Players[playerid][Score])
- {
- OnPlayerGetScore(playerid, (sc-Players[playerid][Score]));
- }
- #endif
- #if defined OnPlayerGetWantedLevel
- if (wl!=Players[playerid][Wanted])
- {
- OnPlayerGetWantedLevel(playerid, (wl-Players[playerid][Wanted]));
- }
- #endif
- #if defined OnPlayerPressMoveKey
- if (updown)
- {
- OnPlayerPressMoveKey(playerid, updown);
- }
- else if (updown)
- {
- OnPlayerPressMoveKey(playerid, leftright);
- }
- #endif
- #if defined OnPlayerPressKey
- if(keys && !updown && !leftright)
- {
- OnPlayerPressKey(playerid, keys);
- }
- #endif
- Players[playerid][Health]=h;
- Players[playerid][Armour]=a;
- Players[playerid][Money]=m;
- Players[playerid][State]=s;
- Players[playerid][Weapon]=w;
- Players[playerid][Score]=sc;
- Players[playerid][Wanted]=wl;
- if(IsPlayerInAnyVehicle(playerid))
- {
- Players[playerid][Cur_Vehicle]=GetPlayerVehicleID(playerid);
- }
- else
- {
- Players[playerid][Cur_Vehicle]=-1;
- }
- if (h<0.0)
- {
- Players[playerid][Health]=0.0;
- Players[playerid][Armour]=0.0;
- }
- }
- forward ufctimer();
- forward Counter();
- forward Speeder(ms);
- forward ClearOutOfRangeVehicles();
- forward TextDrawDestroyTimer2(textid);
- // --------------------------------------------------
- // Forwards (Callback declarations)
- // --------------------------------------------------
- #if defined OnPlayerPickupItem
- forward OnPlayerPickupItem(playerid,pickupid,modelid,type);
- #endif
- #if defined OnPickupRespawn
- forward OnPickupRespawn(pickupid,modelid);
- #endif
- #if defined OnPlayerGetShot
- forward OnPlayerGetShot(playerid);
- #endif
- #if defined OnPlayerBuyWeapon
- forward OnPlayerBuyWeapon(playerid,weaponid,cost);
- #endif
- #if defined OnPlayerBuyPizza
- forward OnPlayerBuyPizza(playerid,cost);
- #endif
- #if defined OnPlayerBuyChicken
- forward OnPlayerBuyChicken(playerid,cost);
- #endif
- #if defined OnPlayerBuyBurger
- forward OnPlayerBuyBurger(playerid,cost);
- #endif
- #if defined OnPlayerBuyDrink
- forward OnPlayerBuyDrink(playerid,cost);
- #endif
- #if defined OnPlayerGamble
- forward OnPlayerGamble(playerid,type,bet,wl);
- #endif
- #if defined OnPlayerModVehicle
- forward OnPlayerModVehicle(playerid,vehicleid,partid,cost);
- #endif
- #if defined OnVehicleSpawn2
- forward OnVehicleSpawn2(vehicleid,dynamic);
- #endif
- #if defined OnPlayerGetHealth
- forward OnPlayerGetHealth(playerid, Float:health);
- #endif
- #if defined OnPlayerGetArmour
- forward OnPlayerGetArmour(playerid, Float:armour);
- #endif
- #if defined OnPlayerGetMoney
- forward OnPlayerGetMoney(playerid, money);
- #endif
- #if defined OnPlayerGetScore
- forward OnPlayerGetScore(playerid, score);
- #endif
- #if defined OnPlayerGetWantedLevel
- forward OnPlayerGetWantedLevel(playerid, wantedlevel);
- #endif
- #if defined OnPlayerChangeTeam
- forward OnPlayerChangeTeam(playerid, prev_team, cur_team);
- #endif
- #if defined OnPlayerChangeState
- forward OnPlayerChangeState(playerid, prev_state, cur_state, last_vehicleid);
- #endif
- #if defined OnPlayerSwitchWeapon
- forward OnPlayerSwitchWeapon(playerid, prev_weapon, cur_weapon);
- #endif
- #if defined OnPlayerPressKey
- forward OnPlayerPressKey(playerid, key);
- #endif
- #if defined OnPlayerPressMoveKey
- forward OnPlayerPressMoveKey(playerid, key);
- #endif
- #if defined OnVehicleGetHealth
- forward OnVehicleGetHealth(vehicleid, Float:health);
- #endif
- #if defined OnVehicleAttachTrailer
- forward OnVehicleAttachTrailer(vehicleid, trailerid);
- #endif
- #if defined OnVehicleDetachTrailer
- forward OnVehicleDetachTrailer(vehicleid, trailerid);
- #endif
- #if defined OnPlayerToggleControllable
- forward OnPlayerToggleControllable(playerid, controllable);
- #endif
- #if defined OnPlayerEnterArea
- forward OnPlayerEnterArea(playerid,areaid);
- #endif
- #if defined OnPlayerLeaveArea
- forward OnPlayerLeaveArea(playerid,areaid);
- #endif
- public OnVehicleSpawn(vehicleid)
- {
- if(Vehicles[vehicleid][Respawn]>=INF_INT && Vehicles[vehicleid][Static]==-1)
- {
- DestroyVehicle2(vehicleid);
- }
- else
- {
- SetVehicleParamsForAll(vehicleid,0,0);
- #if defined OnVehicleSpawn2
- OnVehicleSpawn2(vehicleid,0);
- #endif
- }
- return 1;
- }
|