31.12.2015, 14:34
Код:
CMD:rb(playerid, params[]) return cmd_roadblock(playerid, params); CMD:roadblock(playerid,params[]) { new number, atrb = atblock[playerid]; if(sscanf(params,"d",number)) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"USAGE: /rb <1/2/3/4>"); SendClientMessage(playerid,COLOR_LIGHTBLUE,"| 1: Small Roadblock"); SendClientMessage(playerid,COLOR_LIGHTBLUE,"| 2: Barrier"); SendClientMessage(playerid,COLOR_LIGHTBLUE,"| 3: Traffic cone"); SendClientMessage(playerid,COLOR_LIGHTBLUE,"| 4: Detour sign"); SendClientMessage(playerid,COLOR_WHITE,"----------------------"); format(string, sizeof string,"The roadblock will expire after %i minutes, or use /REMOVEBLOCK for remove the lastest block.",EXPIRE_MINUTES); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); return 1; } switch(number) { case 1: { new Float:X, Float:Y, Float:Z, Float:A; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, A); if(atblock[playerid] < MAX_ROADBLOCKS) { block[atrb][playerid] = CreateObject(1459, X, Y+1, Z-0.5,0,0,A); GameTextForPlayer(playerid,"~w~Roadblock ~b~Placed!",3000,1); #if SEND == true GetPlayerName(playerid,pName,32); format(string,sizeof (string)," %s added a roadblock(%i).",pName,number); SendClientMessageToAll(COLOR_GREEN, string); #else SetTimerEx("ExpireRoadblock", EXPIRE_MINUTES*60000, false, "i", block[atrb][playerid]); atblock[playerid] += 1; #endif } else { format(string,sizeof string,"You cannot place more then %i Roadblocks!",MAX_ROADBLOCKS); SendClientMessage(playerid, COLOR_RED, string); } return 1; } case 2: { new Float:X, Float:Y, Float:Z, Float:A; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, A); if(atblock[playerid] < MAX_ROADBLOCKS) { block[atrb][playerid] = CreateObject(978, X, Y+1, Z,0,0,A); GameTextForPlayer(playerid,"~w~Roadblock ~b~Placed!",3000,1); #if SEND == true GetPlayerName(playerid,pName,32); format(string,sizeof string,"%s added a roadblock(%i).",pName,number); SendClientMessageToAll(COLOR_GREEN, string); #else SetTimerEx("ExpireRoadblock", EXPIRE_MINUTES*60000, false, "i", block[atrb][playerid]); atblock[playerid] += 1; #endif } else { format(string,sizeof string,"You cannot place more then %i Roadblocks!",MAX_ROADBLOCKS); SendClientMessage(playerid, COLOR_RED, string); } return 1; } case 3: { new Float:X, Float:Y, Float:Z, Float:A; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, A); if(atblock[playerid] < MAX_ROADBLOCKS) { block[atrb][playerid] = CreateObject(1238, X, Y+1, Z-0.5, 0, 0.0,A); GameTextForPlayer(playerid,"~w~Cone ~b~Placed!",3000,1); #if SEND == true GetPlayerName(playerid,pName,32); format(string,sizeof string," %s added a roadblock(%i).",pName,number); SendClientMessageToAll(COLOR_GREEN, string); #else SetTimerEx("ExpireRoadblock", EXPIRE_MINUTES*60000, false, "i", block[atrb][playerid]); atblock[playerid] += 1; #endif } else { format(string,sizeof string,"You cannot place more then %i Roadblocks!",MAX_ROADBLOCKS); SendClientMessage(playerid, COLOR_RED, string); } return 1; } case 4: { new Float:X, Float:Y, Float:Z, Float:A; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, A); if(atblock[playerid] < MAX_ROADBLOCKS) { block[atrb][playerid] = CreateObject(1425, X, Y+1, Z-0.5, 0, 0.0,A,300); GameTextForPlayer(playerid,"~w~Sign ~b~Placed!",3000,1); #if SEND == true GetPlayerName(playerid,pName,32); format(string,sizeof string," %s added a roadblock(%i).",pName,number); SendClientMessageToAll(COLOR_GREEN, string); #else SetTimerEx("ExpireRoadblock", EXPIRE_MINUTES*60000, false, "i", block[atrb][playerid]); atblock[playerid] += 1; #endif } else { format(string,sizeof string,"You cannot place more then %i Roadblocks!",MAX_ROADBLOCKS); SendClientMessage(playerid, COLOR_RED, string); } return 1; } } return 1; } forward ExpireRoadblock(blockid); public ExpireRoadblock(blockid) { DestroyObject(blockid); return 1; }
Код:
CMD:removeblock(playerid,params[]) { for(new i=0;i<=sizeof(block);i++) DestroyObject(block[i][playerid]); return 1; }