Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Entrance system
- Creator: Britas
- 2012'03'12
- Credits: Britas, sa-mp dev
- */
- #include <a_samp>
- #define MAX_ENTRANCES 3
- #define MAX_ENTRANCE_NAME 30
- enum EntranceInfo
- {
- eName[MAX_ENTRANCE_NAME],
- eInterior,
- Float:ePos[6]
- }
- new Entrance[MAX_ENTRANCES][EntranceInfo],
- eNumber;
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_SECONDARY_ATTACK)
- {
- for(new ent; ent < MAX_ENTRANCES; ent++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, Entrance[ent][ePos][0], Entrance[ent][ePos][1], Entrance[ent][ePos][2]))
- {
- SetPlayerPos(playerid, Entrance[ent][ePos][3], Entrance[ent][ePos][4], Entrance[ent][ePos][5]);
- SetPlayerInterior(playerid, Entrance[ent][eInterior]);
- return 1;
- }
- else if(IsPlayerInRangeOfPoint(playerid, 3.0, Entrance[ent][ePos][3], Entrance[ent][ePos][4], Entrance[ent][ePos][5]))
- {
- SetPlayerPos(playerid, Entrance[ent][ePos][0], Entrance[ent][ePos][1], Entrance[ent][ePos][2]);
- SetPlayerInterior(playerid, 0);
- return 1;
- }
- }
- }
- return 1;
- }
- stock CreateEntrance(Name[],Float:x,Float:y,Float:z,Float:ix,Float:iy,Float:iz,interior)
- {
- if(strlen(Name) > 30) return printf("Entrance (%s) name too large.",Name);
- eNumber++;
- format(Entrance[eNumber][eName],MAX_ENTRANCE_NAME,"%s",Name); // Entrance name saved.
- Entrance[eNumber][ePos][0] = x; // Entrance x position saved.
- Entrance[eNumber][ePos][1] = y; // Entrance y position saved.
- Entrance[eNumber][ePos][2] = z; // Entrance z position saved.
- Entrance[eNumber][ePos][3] = ix; // Entrance inside x position saved.
- Entrance[eNumber][ePos][4] = iy; // Entrance inside y position saved.
- Entrance[eNumber][ePos][5] = iz; // Entrance inside z position saved.
- Entrance[eNumber][eInterior] = interior; // Entrance interior saved.
- new LabelText[72];
- format(LabelText,sizeof LabelText,"%s\nClick to enter: {ffffff}ENTER",Name);
- Create3DTextLabel(LabelText,0xEE5555FF,x,y,z,15.0,0,1);
- Create3DTextLabel("Click to exit: {ffffff}ENTER",0xEE5555FF,ix,iy,iz,10.0,0,1);
- CreatePickup(1318,23,x,y,z,0);
- CreatePickup(1318,23,ix,iy,iz,0);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment