Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Commands //
- dcmd_gatehelp(playerid, params[])
- {
- #pragma unused params
- if(IsPlayerConnected(playerid))
- {
- SendClientMessage(playerid, 0x33CCFFAA, "------------------------------------");
- SendClientMessage(playerid, 0xFF9900AA, "Gate System Help (Made by Kevin Hawk)");
- SendClientMessage(playerid, 0xFFFFFFFF, "{AFAFAA}Admin Creation: {FFFFFF}/creategate /deletegate /gotogate /gateinfo");
- SendClientMessage(playerid, 0xFFFFFFFF, "{AFAFAA}Admin Editing: {FFFFFF}/movegatex /movegatey /movegatez /rotategate /makegateowner");
- SendClientMessage(playerid, 0xFFFFFFFF, "{AFAFAA}Gate Owner: {FFFFFF}/makegatepassword /makegatedirection");
- SendClientMessage(playerid, 0xFFFFFFFF, "{AFAFAA}Anybody: {FFFFFF}/gatestatus /gate");
- SendClientMessage(playerid, 0x33CCFFAA, "------------------------------------");
- }
- return 1;
- }
- dcmd_creategate(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new type;
- if(sscanf(params, "i", type)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /creategate [type] (Gates: 1-2) (Doors: 3-5)");
- if(type < 1 || type > 5) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Valid types are 1, 2, 3, 4 and 5");
- new Float:x, Float:y, Float:z, Float:angle;
- GetPlayerFacingAngle(playerid, angle);
- GetPlayerPos(playerid, x, y, z);
- for(new i = 1; i < sizeof(GateInfo); i++)
- {
- if(!GateInfo[i][GateCreated])
- {
- new message[128];
- format(message, sizeof(message), "* You have successfully created a gate. (ID %d)", i);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- GateInfo[i][GateCreated] = 1;
- GateInfo[i][GateMoved] = 0;
- GateInfo[i][Angle] = angle;
- GateInfo[i][Owner] = 1;
- GateInfo[i][Password] = 1;
- GateInfo[i][Type] = type;
- if(type == 1) {GateInfo[i][GateObject] = CreateObject(969, x+1, y, z+2.5, 0, 0, angle); GateInfo[i][Type] = 1; GetObjectPos(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]);}
- else if(type == 2) {GateInfo[i][GateObject] = CreateObject(3036, x+1, y, z+2.5, 0, 0, angle); GateInfo[i][Type] = 2; GetObjectPos(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]);}
- else if(type == 3) {GateInfo[i][GateObject] = CreateObject(1569, x+1, y, z+2.5, 0, 0, angle); GateInfo[i][Type] = 3; GetObjectPos(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]);}
- else if(type == 4) {GateInfo[i][GateObject] = CreateObject(2664, x+1, y, z+2.5, 0, 0, angle); GateInfo[i][Type] = 4; GetObjectPos(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]);}
- else if(type == 5) {GateInfo[i][GateObject] = CreateObject(2930, x+1, y, z+2.5, 0, 0, angle); GateInfo[i][Type] = 5; GetObjectPos(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]);}
- savegates();
- GatesCreated ++;
- new Text[24];
- format(Text, sizeof(Text), "ID %d", i);
- GateInfo[i][GateText] = Create3DTextLabel(Text, 0x5174AEFF, GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ], 10.0, 0);
- return 1;
- }
- }
- }
- return 1;
- }
- dcmd_deletegate(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid;
- if(sscanf(params, "i", gateid)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /gateinfo [gateid]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- new message[128];
- format(message, sizeof(message), "* You have successfully deleted a gate. (ID %d)", gateid);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- GateInfo[gateid][GateCreated] = 0;
- GateInfo[gateid][GateMoved] = 0;
- GateInfo[gateid][GateX] = 0;
- GateInfo[gateid][GateY] = 0;
- GateInfo[gateid][GateZ] = 0;
- DestroyObject(GateInfo[gateid][GateObject]);
- new file[16];
- format(file, sizeof(file), "Gates/%d.ini", gateid);
- GatesCreated --;
- dini_Remove(file);
- Delete3DTextLabel(GateInfo[gateid][GateText]);
- }
- return 1;
- }
- dcmd_gotogate(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid;
- if(sscanf(params, "i", gateid)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /gotogate [gateid]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- if(GateInfo[gateid][GateCreated])
- {
- SetPlayerPos(playerid, GateInfo[gateid][GateX] +2, GateInfo[gateid][GateY] +2, GateInfo[gateid][GateZ] +2);
- }
- }
- return 1;
- }
- dcmd_gateinfo(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid, status[8];
- if(sscanf(params, "i", gateid)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /gateinfo [gateid]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- new message[128];
- format(message, sizeof(message), "* Gate owner is %s. (ID %d)", GateInfo[gateid][Owner] , gateid);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- format(message, sizeof(message), "* Gate password is %s. (ID %d)", GateInfo[gateid][Password] , gateid);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- if(GateInfo[gateid][Direction] == 1) format(status, sizeof(status), "up");
- if(GateInfo[gateid][Direction] == 2) format(status, sizeof(status), "down");
- format(message, sizeof(message), "* Gate open direction is %s. (ID %d)", status , gateid);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- }
- return 1;
- }
- dcmd_movegatex(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid, Float:distance;
- if(sscanf(params, "if", gateid, distance)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /movegatex [gateid] [distance]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- SetObjectPos(GateInfo[gateid][GateObject], GateInfo[gateid][GateX]+distance, GateInfo[gateid][GateY], GateInfo[gateid][GateZ]);
- GetObjectPos(GateInfo[gateid][GateObject], GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ]);
- Delete3DTextLabel(GateInfo[gateid][GateText]);
- new Text[24];
- format(Text, sizeof(Text), "ID %d", gateid);
- GateInfo[gateid][GateText] = Create3DTextLabel(Text, 0x5174AEFF, GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ], 10.0, 0);
- savegates();
- }
- return 1;
- }
- dcmd_movegatey(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid, Float:distance;
- if(sscanf(params, "if", gateid, distance)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /movegatey [gateid] [distance]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- SetObjectPos(GateInfo[gateid][GateObject], GateInfo[gateid][GateX], GateInfo[gateid][GateY]+distance, GateInfo[gateid][GateZ]);
- GetObjectPos(GateInfo[gateid][GateObject], GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ]);
- Delete3DTextLabel(GateInfo[gateid][GateText]);
- new Text[24];
- format(Text, sizeof(Text), "ID %d", gateid);
- GateInfo[gateid][GateText] = Create3DTextLabel(Text, 0x5174AEFF, GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ], 10.0, 0);
- savegates();
- }
- return 1;
- }
- dcmd_movegatez(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid, Float:distance;
- if(sscanf(params, "if", gateid, distance)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /movegatez [gateid] [distance]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- SetObjectPos(GateInfo[gateid][GateObject], GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ]+distance);
- GetObjectPos(GateInfo[gateid][GateObject], GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ]);
- Delete3DTextLabel(GateInfo[gateid][GateText]);
- new Text[24];
- format(Text, sizeof(Text), "ID %d", gateid);
- GateInfo[gateid][GateText] = Create3DTextLabel(Text, 0x5174AEFF, GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ], 10.0, 0);
- savegates();
- }
- return 1;
- }
- dcmd_rotategate(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid, Float:distance, Float:rX, Float:rY, Float:rZ;
- if(sscanf(params, "if", gateid, distance)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /rotategate [gateid] [angle]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- GetObjectRot(GateInfo[gateid][GateObject], rX, rY, rZ);
- SetObjectRot(GateInfo[gateid][GateObject], rX, rY, GateInfo[gateid][Angle]+distance);
- GetObjectRot(GateInfo[gateid][GateObject], rX, rY, GateInfo[gateid][Angle]);
- Delete3DTextLabel(GateInfo[gateid][GateText]);
- new Text[24];
- format(Text, sizeof(Text), "ID %d", gateid);
- GateInfo[gateid][GateText] = Create3DTextLabel(Text, 0x5174AEFF, GateInfo[gateid][GateX], GateInfo[gateid][GateY], GateInfo[gateid][GateZ], 10.0, 0);
- savegates();
- }
- return 1;
- }
- dcmd_makegateowner(playerid, params[]) // Admin Command
- {
- if(IsPlayerConnected(playerid))
- {
- new gateid, playerb;
- if(sscanf(params, "iu", gateid, playerb)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /makegateowner [gateid] [playerid]");
- if(!GateInfo[gateid][GateCreated]) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: Invalid Gate ID, check /gatestatus");
- new PName[MAX_PLAYER_NAME], message[128];
- GetPlayerName(playerb, PName, sizeof(PName));
- format(GateInfo[gateid][Owner], MAX_PLAYER_NAME, "%s", PName);
- format(message, sizeof(message), "* You have successfully made a gate owned by %s. (ID %d)", PName, gateid);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- savegates();
- }
- return 1;
- }
- dcmd_makegatepassword(playerid, params[]) // Gate Owner Command
- {
- if(IsPlayerConnected(playerid))
- {
- new password[128], message[128], gateid;
- if(sscanf(params, "is", gateid, password)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /makegatepassword [gateid] [password]");
- // Gate Owner Check
- new PName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, PName, sizeof(PName));
- if(strcmp(GateInfo[gateid][Owner], PName, false)) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: You are not the owner of this gate");
- // Password Making
- format(GateInfo[gateid][Password], 128, "%s", password);
- format(message, sizeof(message), "* You have set your gate password to %s", GateInfo[gateid][Password]);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- savegates();
- return 1;
- }
- return 1;
- }
- dcmd_makegatedirection(playerid, params[]) // Gate Owner Command
- {
- if(IsPlayerConnected(playerid))
- {
- new direction[8], gateid;
- if(sscanf(params, "is", gateid, direction)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /makegatedirection [gateid] [right/left/up/down]");
- // Gate Owner Check
- new PName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, PName, sizeof(PName));
- if(strcmp(GateInfo[gateid][Owner], PName, false)) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: You are not the owner of this gate");
- // Gate Direction
- else if(!strcmp(direction, "up", true)) {GateInfo[gateid][Direction] = 1; SendClientMessage(playerid, 0x33CCFFAA, "* Your gate will now open to the up");}
- else if(!strcmp(direction, "down", true)) {GateInfo[gateid][Direction] = 2; SendClientMessage(playerid, 0x33CCFFAA, "* Your gate will now open to the down");}
- savegates();
- return 1;
- }
- return 1;
- }
- dcmd_gatestatus(playerid, params[])
- {
- #pragma unused params
- if(IsPlayerConnected(playerid))
- {
- new message[128];
- SendClientMessage(playerid, 0x33CCFFAA, "------------------------------------");
- SendClientMessage(playerid, 0xFF9900AA, "Gate System Status (Made by Kevin Hawk)");
- format(message, sizeof(message), "Gates Created: %d [MAX_GATES = %d] [Gates Left: %d]", GatesCreated, MAX_GATES-1, MAX_GATES -1 -GatesCreated);
- SendClientMessage(playerid, 0xFFFFFFFF, message);
- SendClientMessage(playerid, 0x33CCFFAA, "------------------------------------");
- }
- return 1;
- }
- dcmd_gate(playerid, params[]) // Public Command
- {
- if(IsPlayerConnected(playerid))
- {
- new password[128];
- if(sscanf(params, "s", password)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /gate [password]");
- for(new i = 1; i < sizeof(GateInfo); i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 10.0, GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]))
- {
- // Gate Password Check
- if(strcmp(password, GateInfo[i][Password], false)) return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: You have entered a wrong gate password");
- // Gate Moving
- if(!GateInfo[i][GateMoved])
- {
- new message[128];
- format(message, sizeof(message), "* You have successfully opened a gate. (ID %d)", i);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- GateInfo[i][GateMoved] = 1;
- if(GateInfo[i][Direction] == 1) {MoveObject(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]+5, 8);}
- if(GateInfo[i][Direction] == 2) {MoveObject(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ]-5, 8);}
- return 1;
- }
- else if(GateInfo[i][GateMoved])
- {
- new message[128];
- format(message, sizeof(message), "* You have successfully closed a gate. (ID %d)", i);
- SendClientMessage(playerid, 0x33CCFFAA, message);
- GateInfo[i][GateMoved] = 0;
- MoveObject(GateInfo[i][GateObject], GateInfo[i][GateX], GateInfo[i][GateY], GateInfo[i][GateZ], 50);
- return 1;
- }
- }
- else return SendClientMessage(playerid, 0xAFAFAFAA, "ERROR: You are not near a gate");
- }
- }
- return 1;
- }
- // End of Commands //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement