28.03.2011, 14:37
Look, i made this script from scratch, but it isnt working!!! I can load it with rcon and with server.cfg, but it wont show the message from cAdmin loaded and the commands aint working... Who can help me out of chit?
code-tag kinda screws up the indent
Код:
#include <a_samp> #include <fastcom> //is DCMD #include <sscanf2> new Commands[][2][64]= { {"a","kick"}, {"b","ban"}, {"c","warn"}, {"d","setgravity"}, {"e","kickall"}, {"f","banall"}, {"g","unban"}, {"h","engine"}, {"i","setskin"}, {"j","setnamecolor"}, {"k","createvehicle"}, {"l","deletevehicles"}, {"n","deletevehicle"} }; new AdminPermission[MAX_PLAYERS][128]; public OnFilterScriptInit() { print("cAdmin by Casss loaded! Yaay!"); for(new i;i<MAX_PLAYERS;i++) { AdminPermission[i]="."; } return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(empty,5,cmdtext); dcmd(acommands,9,cmdtext); dcmd(kick,4,cmdtext); dcmd(ban,3,cmdtext); dcmd(warn,4,cmdtext); dcmd(setgravity,10,cmdtext); dcmd(kickall,7,cmdtext); dcmd(banall,6,cmdtext); dcmd(unban,5,cmdtext); dcmd(engine,6,cmdtext); dcmd(createvehicle,12,cmdtext); dcmd(setskin,7,cmdtext); return 0; } dcmd_empty(playerid,params[]) { SendClientMessage(playerid,0xff000000,"hpi"); return 1; } dcmd_acommands(playerid,params[]) { new HelpSTR[1024]="Available admin commands for you: "; for(new i;i<13;i++) { if(strfind(AdminPermission[playerid],Commands[i][0],false) || strfind(AdminPermission[playerid],".",false)) { format(HelpSTR,sizeof(HelpSTR),"%s %s",HelpSTR, Commands[i][1]); } } SendClientMessage(playerid,0xff00ff00,HelpSTR); return 1; } dcmd_kick(playerid,params[]) { if(strfind(AdminPermission[playerid],"a",false) || strfind(AdminPermission[playerid],".",false)) { new player; new warn[128]; if(sscanf(params,"us",player,warn)) { SendClientMessage(playerid,0xff00ff00,"Usage: /kick [playerid/name] [reason (optional)]"); return 1; } new msg[128]; new msg2[128]; new name2[MAX_PLAYER_NAME]; new name[MAX_PLAYER_NAME]; GetPlayerName(player,name2,sizeof(name2)); GetPlayerName(playerid,name,sizeof(name)); format(msg2,sizeof(msg2),"You have kicked %s with reason: %s",name2,warn); format(msg,sizeof(msg),"You are kicked by %s, reason: %s",name,warn); return 1; } return 0; } dcmd_ban(playerid,params[]) { if(strfind(AdminPermission[playerid],"b",false) || strfind(AdminPermission[playerid],".",false)) { new player; new warn[128]; if(sscanf(params,"us",player,warn)) { SendClientMessage(playerid,0xff00ff00,"Usage: /ban [playerid/name] [reason (optional)]"); return 1; } new msg[128]; new msg2[128]; new name[MAX_PLAYER_NAME]; new name2[MAX_PLAYER_NAME]; GetPlayerName(player,name2,sizeof(name2)); GetPlayerName(playerid,name,sizeof(name)); format(msg2,sizeof(msg2),"You have banned %s with reason: %s",name,warn); format(msg,sizeof(msg),"You are banned by %s, reason: %s",name,warn); Ban(player); return 1; } return 0; } dcmd_warn(playerid,params[]) { if(strfind(AdminPermission[playerid],"c",false) || strfind(AdminPermission[playerid],".",false)) { new player; new warn[128]; if(sscanf(params,"us",player,warn)) { SendClientMessage(playerid,0xff00ff00,"Usage: /warn [playerid/name] [warn]"); return 1; } new msg[128]; new msg2[128]; new name2[MAX_PLAYER_NAME]; new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name2,sizeof(name2)); GetPlayerName(playerid,name,sizeof(name)); format(msg2,sizeof(msg2),"You have warned %s: %s",name2,warn); format(msg,sizeof(msg),"You are warned: %s by %s",warn,name); return 1; } return 0; } dcmd_setgravity(playerid,params[]) { if(strfind(AdminPermission[playerid],"d",false) || strfind(AdminPermission[playerid],".",false)) { new Float:gravity; if(sscanf(params,"f",gravity)) { SendClientMessage(playerid,0xff00ff00,"Usage: /setgravity [gravity (float)]"); return 1; } new str[128]; SetGravity(gravity); format(str,sizeof(str),"Gravity was set to: %f",gravity); SendClientMessage(playerid,0xffff0000,str); return 1; } return 0; } dcmd_kickall(playerid,params[]) { #pragma unused params if(strfind(AdminPermission[playerid],"e",false) || strfind(AdminPermission[playerid],".",false)) { SendClientMessage(playerid,0xffff0000,"All players are being kicked!"); for(new i;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) Kick(i); } return 1; } return 0; } dcmd_banall(playerid,params[]) { #pragma unused params if(strfind(AdminPermission[playerid],"f",false) || strfind(AdminPermission[playerid],".",false)) { SendClientMessage(playerid,0xffff0000,"All players are being banned!"); for(new i;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) Ban(i); } return 1; } return 0; } dcmd_unban(playerid,params[]) { if(strfind(AdminPermission[playerid],"g",false) || strfind(AdminPermission[playerid],".",false)) { new ip[128]; if(sscanf(params,"s",ip)) { SendClientMessage(playerid,0xff00ff00,"Usage: /unban [ip]"); return 1; } new str[128]; new string[136]; format(str,sizeof(str),"You unbanned ip: %s",ip); SendClientMessage(playerid,0xffff0000,str); format(string,sizeof(string),"unbanip %s",ip); SendRconCommand(string); SendRconCommand("reloadbans"); return 1; } return 0; } dcmd_engine(playerid,params[]) { if(strfind(AdminPermission[playerid],"h",false) || strfind(AdminPermission[playerid],".",false)) { new vehicleid; if(sscanf(params,"i",vehicleid)) { SendClientMessage(playerid,0xff00ff00,"Usage: /engine [vehicleid]"); return 1; } new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); if(engine == 1) { SetVehicleParamsEx(vehicleid,0,lights,alarm,doors,bonnet,boot,objective); SendClientMessage(playerid,0xffff0000,"You turned engine on."); } else { SetVehicleParamsEx(vehicleid,1,lights,alarm,doors,bonnet,boot,objective); SendClientMessage(playerid,0xffff0000,"You turned engine on."); } return 1; } return 0; } dcmd_setskin(playerid,params[]) { if(strfind(AdminPermission[playerid],"i",false) || strfind(AdminPermission[playerid],".",false)) { new skin, player; if(sscanf(params,"ui",player,skin)) { SendClientMessage(playerid,0xff00ff00,"Usage: /setskin [playerid/name] [skinid]"); return 1; } if(IsPlayerConnected(player)) { new msg[128]; new msg2[128]; new name[MAX_PLAYER_NAME]; new name2[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); GetPlayerName(player,name2,sizeof(name2)); if(!IsInvalidSkin(skin)) { format(msg,sizeof(msg),"%s set your skin to %d",name,skin); format(msg2,sizeof(msg2),"You set %s skin to %d",name2,skin); SendClientMessage(playerid,0xff00ff00,msg2); SendClientMessage(player,0xff00ff00,msg); SetPlayerSkin(playerid, skin); } else { SendClientMessage(playerid,0xff000000,"Invalid skin id"); } } else { SendClientMessage(playerid,0xff000000,"Player isn't connected!"); } return 1; } return 0; } dcmd_createvehicle(playerid,params[]) { if(strfind(AdminPermission[playerid],"k",false) || strfind(AdminPermission[playerid],".",false)) { new veh[128], c1, c2; if(sscanf(params,"sii",veh,c1,c2)) { SendClientMessage(playerid,0xff00ff00,"Usage: /createvehicle [vehicleid/name] [color 1 (optional)] [color 2 (optional)]"); return 1; } new spawned; new Float:cX, Float:cY, Float:cZ; new str[128]; GetPlayerPos(playerid,cX,cY,cZ); GetXYInFrontOfPlayer(playerid,cX,cY,3.0); new i = 399; while (i < 612 && spawned == 0) { if(strfind(veh,GetVehicleName(i))) { CreateVehicle(i,cX,cY,cZ,0.0,c1,c2,0); format(str,sizeof(str),"Created a %s in front of you",GetVehicleName(i)); SendClientMessage(playerid,0xff000000,str); spawned = 1; } i++; } if(strval(veh) <= 399 && spawned == 0 || strval(veh) >= 612 && spawned == 0) { SendClientMessage(playerid,0xff000000,"Invalid vehicle id/name"); } else { CreateVehicle(strval(veh),cX,cY,cZ,0.0,c1,c2,0); format(str,sizeof(str),"Created a %s in front of you",GetVehicleName(strval(veh))); } return 1; } return 0; } stock GetVehicleName(vehicleid) { new returnt[64]; switch(vehicleid) { case 400: { format(returnt,sizeof(returnt), "Landstalker"); } case 401: { format(returnt,sizeof(returnt), "Bravura"); } case 402: { format(returnt,sizeof(returnt), "Buffalo"); } case 403: { format(returnt,sizeof(returnt), "Linerunner"); } case 404: { format(returnt,sizeof(returnt), "Perenniel"); } case 405: { format(returnt,sizeof(returnt), "Sentinel"); } case 406: { format(returnt,sizeof(returnt), "Dumper"); } case 407: { format(returnt,sizeof(returnt), "Firetruck"); } case 408: { format(returnt,sizeof(returnt), "Trashmaster"); } case 409: { format(returnt,sizeof(returnt), "Stretch"); } case 410: { format(returnt,sizeof(returnt), "Manana"); } case 411: { format(returnt,sizeof(returnt), "Infernus"); } case 412: { format(returnt,sizeof(returnt), "Voodoo"); } case 413: { format(returnt,sizeof(returnt), "Pony"); } case 414: { format(returnt,sizeof(returnt), "Mule"); } case 415: { format(returnt,sizeof(returnt), "Cheetah"); } case 416: { format(returnt,sizeof(returnt), "Ambulance"); } case 417: { format(returnt,sizeof(returnt), "Leviathan"); } case 418: { format(returnt,sizeof(returnt), "Moonbeam"); } case 419: { format(returnt,sizeof(returnt), "Esperanto"); } case 420: { format(returnt,sizeof(returnt), "Taxi"); } case 421: { format(returnt,sizeof(returnt), "Washington"); } case 422: { format(returnt,sizeof(returnt), "Bobcat"); } case 423: { format(returnt,sizeof(returnt), "Mr Whoopee"); } case 424: { format(returnt,sizeof(returnt), "BF Injection"); } case 425: { format(returnt,sizeof(returnt), "Hunter"); } case 426: { format(returnt,sizeof(returnt), "Premier"); } case 427: { format(returnt,sizeof(returnt), "Enforcer"); } case 428: { format(returnt,sizeof(returnt), "Securicar"); } case 429: { format(returnt,sizeof(returnt), "Banshee"); } case 430: { format(returnt,sizeof(returnt), "Predator"); } case 431: { format(returnt,sizeof(returnt), "Bus"); } case 432: { format(returnt,sizeof(returnt), "Rhino"); } case 433: { format(returnt,sizeof(returnt), "Barracks"); } case 434: { format(returnt,sizeof(returnt), "Hotknife"); } case 435: { format(returnt,sizeof(returnt), "Article Trailer"); } case 436: { format(returnt,sizeof(returnt), "Previon"); } case 437: { format(returnt,sizeof(returnt), "Coach"); } case 438: { format(returnt,sizeof(returnt), "Cabbie"); } case 439: { format(returnt,sizeof(returnt), "Stallion"); } case 440: { format(returnt,sizeof(returnt), "Rumpo"); } case 441: { format(returnt,sizeof(returnt), "RC Bandit"); } case 442: { format(returnt,sizeof(returnt), "Romero"); } case 443: { format(returnt,sizeof(returnt), "Packer"); } case 444: { format(returnt,sizeof(returnt), "Monster"); } case 445: { format(returnt,sizeof(returnt), "Admiral"); } case 446: { format(returnt,sizeof(returnt), "Squallo"); } case 447: { format(returnt,sizeof(returnt), "Seasparrow"); } case 448: { format(returnt,sizeof(returnt), "Pizzaboy"); } case 449: { format(returnt,sizeof(returnt), "Tram"); } case 450: { format(returnt,sizeof(returnt), "Article Trailer 2"); } case 451: { format(returnt,sizeof(returnt), "Turismo"); } case 452: { format(returnt,sizeof(returnt), "Speeder"); } case 453: { format(returnt,sizeof(returnt), "Reefer"); } case 454: { format(returnt,sizeof(returnt), "Tropic"); } case 455: { format(returnt,sizeof(returnt), "Flatbed"); } case 456: { format(returnt,sizeof(returnt), "Yankee"); } case 457: { format(returnt,sizeof(returnt), "Caddy"); } case 458: { format(returnt,sizeof(returnt), "Solair"); } case 459: { format(returnt,sizeof(returnt), "Berkley's RC Van"); } case 460: { format(returnt,sizeof(returnt), "Skimmer"); } case 461: { format(returnt,sizeof(returnt), "PCJ-600"); } case 462: { format(returnt,sizeof(returnt), "Faggio"); } case 463: { format(returnt,sizeof(returnt), "Freeway"); } case 464: { format(returnt,sizeof(returnt), "RC Baron"); } case 465: { format(returnt,sizeof(returnt), "RC Raider"); } case 466: { format(returnt,sizeof(returnt), "Glendale"); } case 467: { format(returnt,sizeof(returnt), "Oceanic"); } case 468: { format(returnt,sizeof(returnt), "Sanchez"); } case 469: { format(returnt,sizeof(returnt), "Sparrow"); } case 470: { format(returnt,sizeof(returnt), "Patriot"); } case 471: { format(returnt,sizeof(returnt), "Quad"); } case 472: { format(returnt,sizeof(returnt), "Coastguard"); } case 473: { format(returnt,sizeof(returnt), "Dinghy"); } case 474: { format(returnt,sizeof(returnt), "Hermes"); } case 475: { format(returnt,sizeof(returnt), "Sabre"); } case 476: { format(returnt,sizeof(returnt), "Rustler"); } case 477: { format(returnt,sizeof(returnt), "ZR-350"); } case 478: { format(returnt,sizeof(returnt), "Walton"); } case 479: { format(returnt,sizeof(returnt), "Regina"); } case 480: { format(returnt,sizeof(returnt), "Comet"); } case 481: { format(returnt,sizeof(returnt), "BMX"); } case 482: { format(returnt,sizeof(returnt), "Burrito"); } case 483: { format(returnt,sizeof(returnt), "Camper"); } case 484: { format(returnt,sizeof(returnt), "Marquis"); } case 485: { format(returnt,sizeof(returnt), "Baggage"); } case 486: { format(returnt,sizeof(returnt), "Dozer"); } case 487: { format(returnt,sizeof(returnt), "Maverick"); } case 488: { format(returnt,sizeof(returnt), "SAN News Maverick"); } case 489: { format(returnt,sizeof(returnt), "Rancher"); } case 490: { format(returnt,sizeof(returnt), "FBI Rancher"); } case 491: { format(returnt,sizeof(returnt), "Virgo"); } case 492: { format(returnt,sizeof(returnt), "Greenwood"); } case 493: { format(returnt,sizeof(returnt), "Jetmax"); } case 494: { format(returnt,sizeof(returnt), "Hotring Racer"); } case 495: { format(returnt,sizeof(returnt), "Sandking"); } case 496: { format(returnt,sizeof(returnt), "Blista Compact"); } case 497: { format(returnt,sizeof(returnt), "Police Maverick"); } case 498: { format(returnt,sizeof(returnt), "Boxville"); } case 499: { format(returnt,sizeof(returnt), "Benson"); } case 500: { format(returnt,sizeof(returnt), "Mesa"); } case 501: { format(returnt,sizeof(returnt), "RC Goblin"); } case 502: { format(returnt,sizeof(returnt), "Hotring Racer"); } case 503: { format(returnt,sizeof(returnt), "Hotring Racer"); } case 504: { format(returnt,sizeof(returnt), "Bloodring Banger"); } case 505: { format(returnt,sizeof(returnt), "Rancher"); } case 506: { format(returnt,sizeof(returnt), "Super GT"); } case 507: { format(returnt,sizeof(returnt), "Elegant"); } case 508: { format(returnt,sizeof(returnt), "Journey"); } case 509: { format(returnt,sizeof(returnt), "Bike"); } case 510: { format(returnt,sizeof(returnt), "Mountain Bike"); } case 511: { format(returnt,sizeof(returnt), "Beagle"); } case 512: { format(returnt,sizeof(returnt), "Cropduster"); } case 513: { format(returnt,sizeof(returnt), "Stuntplane"); } case 514: { format(returnt,sizeof(returnt), "Tanker"); } case 515: { format(returnt,sizeof(returnt), "Roadtrain"); } case 516: { format(returnt,sizeof(returnt), "Nebula"); } case 517: { format(returnt,sizeof(returnt), "Majestic"); } case 518: { format(returnt,sizeof(returnt), "Buccaneer"); } case 519: { format(returnt,sizeof(returnt), "Shamal"); } case 520: { format(returnt,sizeof(returnt), "Hydra"); } case 521: { format(returnt,sizeof(returnt), "FCR-900"); } case 522: { format(returnt,sizeof(returnt), "NRG-500"); } case 523: { format(returnt,sizeof(returnt), "HPV1000"); } case 524: { format(returnt,sizeof(returnt), "Cement Truck"); } case 525: { format(returnt,sizeof(returnt), "Towtruck"); } case 526: { format(returnt,sizeof(returnt), "Fortune"); } case 527: { format(returnt,sizeof(returnt), "Cadrona"); } case 528: { format(returnt,sizeof(returnt), "FBI Truck"); } case 529: { format(returnt,sizeof(returnt), "Willard"); } case 530: { format(returnt,sizeof(returnt), "Forklift"); } case 531: { format(returnt,sizeof(returnt), "Tractor"); } case 532: { format(returnt,sizeof(returnt), "Combine Harvester"); } case 533: { format(returnt,sizeof(returnt), "Feltzer"); } case 534: { format(returnt,sizeof(returnt), "Remington"); } case 535: { format(returnt,sizeof(returnt), "Slamvan"); } case 536: { format(returnt,sizeof(returnt), "Blade"); } case 537: { format(returnt,sizeof(returnt), "Freight (Train)"); } case 538: { format(returnt,sizeof(returnt), "Brownstreak (Train)"); } case 539: { format(returnt,sizeof(returnt), "Vortex"); } case 540: { format(returnt,sizeof(returnt), "Vincent"); } case 541: { format(returnt,sizeof(returnt), "Bullet"); } case 542: { format(returnt,sizeof(returnt), "Clover"); } case 543: { format(returnt,sizeof(returnt), "Sadler"); } case 544: { format(returnt,sizeof(returnt), "Firetruck LA"); } case 545: { format(returnt,sizeof(returnt), "Hustler"); } case 546: { format(returnt,sizeof(returnt), "Intruder"); } case 547: { format(returnt,sizeof(returnt), "Primo"); } case 548: { format(returnt,sizeof(returnt), "Cargobob"); } case 549: { format(returnt,sizeof(returnt), "Tampa"); } case 550: { format(returnt,sizeof(returnt), "Sunrise"); } case 551: { format(returnt,sizeof(returnt), "Merit"); } case 552: { format(returnt,sizeof(returnt), "Utility Van"); } case 553: { format(returnt,sizeof(returnt), "Nevada"); } case 554: { format(returnt,sizeof(returnt), "Yosemite"); } case 555: { format(returnt,sizeof(returnt), "Windsor"); } case 556: { format(returnt,sizeof(returnt), "Monster A"); } case 557: { format(returnt,sizeof(returnt), "Monster B"); } case 558: { format(returnt,sizeof(returnt), "Uranus"); } case 559: { format(returnt,sizeof(returnt), "Jester"); } case 560: { format(returnt,sizeof(returnt), "Sultan"); } case 561: { format(returnt,sizeof(returnt), "Stratum"); } case 562: { format(returnt,sizeof(returnt), "Elegy"); } case 563: { format(returnt,sizeof(returnt), "Raindance"); } case 564: { format(returnt,sizeof(returnt), "RC Tiger"); } case 565: { format(returnt,sizeof(returnt), "Flash"); } case 566: { format(returnt,sizeof(returnt), "Tahoma"); } case 567: { format(returnt,sizeof(returnt), "Savanna"); } case 568: { format(returnt,sizeof(returnt), "Bandito"); } case 569: { format(returnt,sizeof(returnt), "Freight Flat Trailer (Train)"); } case 570: { format(returnt,sizeof(returnt), "Streak Trailer (Train)"); } case 571: { format(returnt,sizeof(returnt), "Kart"); } case 572: { format(returnt,sizeof(returnt), "Mower"); } case 573: { format(returnt,sizeof(returnt), "Dune"); } case 574: { format(returnt,sizeof(returnt), "Sweeper"); } case 575: { format(returnt,sizeof(returnt), "Broadway"); } case 576: { format(returnt,sizeof(returnt), "Tornado"); } case 577: { format(returnt,sizeof(returnt), "AT400"); } case 578: { format(returnt,sizeof(returnt), "DFT-30"); } case 579: { format(returnt,sizeof(returnt), "Huntley"); } case 580: { format(returnt,sizeof(returnt), "Stafford"); } case 581: { format(returnt,sizeof(returnt), "BF-400"); } case 582: { format(returnt,sizeof(returnt), "Newsvan"); } case 583: { format(returnt,sizeof(returnt), "Tug"); } case 584: { format(returnt,sizeof(returnt), "Petrol Trailer"); } case 585: { format(returnt,sizeof(returnt), "Emperor"); } case 586: { format(returnt,sizeof(returnt), "Wayfarer"); } case 587: { format(returnt,sizeof(returnt), "Euros"); } case 588: { format(returnt,sizeof(returnt), "Hotdog"); } case 589: { format(returnt,sizeof(returnt), "Club"); } case 590: { format(returnt,sizeof(returnt), "Freight Box Trailer (Train)"); } case 591: { format(returnt,sizeof(returnt), "Article Trailer 3"); } case 592: { format(returnt,sizeof(returnt), "Andromada"); } case 593: { format(returnt,sizeof(returnt), "Dodo"); } case 594: { format(returnt,sizeof(returnt), "RC Cam"); } case 595: { format(returnt,sizeof(returnt), "Launch"); } case 596: { format(returnt,sizeof(returnt), "Police Car (LSPD)"); } case 597: { format(returnt,sizeof(returnt), "Police Car (SFPD)"); } case 598: { format(returnt,sizeof(returnt), "Police Car (LVPD)"); } case 599: { format(returnt,sizeof(returnt), "Police Ranger"); } case 600: { format(returnt,sizeof(returnt), "Picador"); } case 601: { format(returnt,sizeof(returnt), "S.W.A.T."); } case 602: { format(returnt,sizeof(returnt), "Alpha"); } case 603: { format(returnt,sizeof(returnt), "Phoenix"); } case 604: { format(returnt,sizeof(returnt), "Glendale Shit"); } case 605: { format(returnt,sizeof(returnt), "Sadler Shit"); } case 606: { format(returnt,sizeof(returnt), "Baggage Trailer A"); } case 607: { format(returnt,sizeof(returnt), "Baggage Trailer B"); } case 608: { format(returnt,sizeof(returnt), "Tug Stairs Trailer"); } case 609: { format(returnt,sizeof(returnt), "Boxville"); } case 610: { format(returnt,sizeof(returnt), "Farm Trailer"); } case 611: { format(returnt,sizeof(returnt), "Utility Trailer"); } default: { format(returnt,sizeof(returnt), "INVALID_VEHICLE_ID"); } } return returnt; } GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); GetPlayerFacingAngle(playerid, a); if (GetPlayerVehicleID(playerid)) { GetVehicleZAngle(GetPlayerVehicleID(playerid), a); } x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); } stock IsInvalidSkin(skin) { #define MAX_BAD_SKINS 14 new badSkins[MAX_BAD_SKINS] = { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 273, 289 }; for (new i = 0; i < MAX_BAD_SKINS; i++) { if (skin == badSkins[i] || skin < 0 || skin >= 300) return true; } return false; }