Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define MAX_STATYBOS_OBJEKTU 50
- #define MAX_STATYBOS_OBJEKTU_ADD 5
- #define MIN_DISTANCE_TARP_OBJEKTU 5.0
- enum eStatybos
- {
- bool:ObjectCreated,
- ObjectModel,
- Float:ObjectPos[3],
- Float:ObjectRot[3],
- ObjectOwnerName[21],
- ObjectOwnerID,
- ObjectID
- }
- new sInfo[MAX_STATYBOS_OBJEKTU][eStatybos];
- public OnPlayerDisconnect(playerid, reason)
- {
- for(new o; o < MAX_STATYBOS_OBJEKTU; o++)
- {
- if(sInfo[o][ObjectOwnerID] == playerid)
- {
- sInfo[o][ObjectOwnerID] = INVALID_PLAYER_ID;
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp("/statyti", cmdtext, true, 3))
- {
- for(new o; o < MAX_STATYBOS_OBJEKTU; o++)
- {
- if(IsPlayerInRangeOfPoint(playerid, MIN_DISTANCE_TARP_OBJEKTU, sInfo[o][ObjectPos][0], sInfo[o][ObjectPos][1], sInfo[o][ObjectPos][2])) return SendClientMessage(playerid, -1, "Jus negalite pastatyti nauju objektu salia senu.");
- }
- if(KiekStatybosObjektuPastatyta() + MAX_STATYBOS_OBJEKTU_ADD >= MAX_STATYBOS_OBJEKTU) return SendClientMessage(playerid, -1, "Jus negalite pastatyti nauju objektu.");
- new Float:pPos[4];
- GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
- GetPlayerFacingAngle(playerid, pPos[3]);
- /*
- Na ir cia apskaiciuoji kiekvieno objekto poz(kur jis turi buti). As nemoku.
- Sukuri objektus su AddStatybosObject(...);
- */
- return 1;
- }
- return 0;
- }
- stock KiekStatybosObjektuPastatyta()
- {
- new obj;
- for(new o; o < MAX_STATYBOS_OBJEKTU; o++)
- {
- if(sInfo[o][ObjectCreated]) obj++;
- }
- return obj;
- }
- stock AddStatybosObject(adderid, oModel, Float:posX, Float:posY, Float:posZ, Float:posrX, Float:posrY, Float:posrZ)
- {
- new pName[21];
- GetPlayerName(adderid, pName, 21);
- for(new o; o < MAX_STATYBOS_OBJEKTU; o++)
- {
- if(!sInfo[o][ObjectCreated])
- {
- sInfo[o][ObjectID] = CreateObject(oModel, Float:posX, Float:posY, Float:posZ, Float:posrX, Float:posrY, Float:posrZ);
- sInfo[o][ObjectModel] = oModel;
- sInfo[o][ObjectCreated] = true;
- sInfo[o][ObjectPos][0] = posX;
- sInfo[o][ObjectPos][1] = posY;
- sInfo[o][ObjectPos][2] = posZ;
- sInfo[o][ObjectRot][0] = posrX;
- sInfo[o][ObjectRot][1] = posrY;
- sInfo[o][ObjectRot][2] = posrZ;
- sInfo[o][ObjectOwnerID] = adderid;
- format(sInfo[o][ObjectOwnerName], 21, "%s", pName);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement