Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ==================================== [ Sistem Klupa v0.2 by Cyllox ] =========================
- ==================================== [ Napravio: Cyllox ] ====================================
- ==================================== [ Editovao: RESPONSE ] ====================================
- */
- #include < a_samp >
- #include < YSI\y_ini >
- #include < YSI\y_commands >
- #include < sscanf2 >
- #include < streamer >
- //==============================================================================
- #define BELA "{FFFFFF}"
- #define CRVENA "{F81414}"
- #define SIVA "{C0C0C0}"
- //==============================================================================
- new Float:X,Float:Y,Float:Z;
- new EditKlupu[MAX_PLAYERS];
- //==============================================================================
- #define KLUPA_FILE "Klupe/Klupa_%d.ini"
- #define MAX_KLUPA 100
- //==============================================================================
- enum Klupa
- {
- kKreirana,
- kObjekat,
- Float:kPos[6],
- Text3D:k3D,
- kID
- }
- new KlupaInfo[MAX_KLUPA][Klupa];
- //==============================================================================
- main()
- {
- print("\n----------------------------------");
- print(" Sistem Klupa by Cyllox");
- print(" Sistem Klupa Edited by RESPONSE");
- print("----------------------------------\n");
- }
- //==============================================================================
- public OnGameModeInit()
- {
- for(new i = 0; i < sizeof(KlupaInfo); i++)
- {
- new sFile[50];
- format(sFile, sizeof(sFile), KLUPA_FILE, i);
- if(fexist(sFile))
- {
- INI_ParseFile(sFile, "UcitajKlupu", .bExtra = true, .extra = i);
- KreirajKlupu(i);
- }
- }
- return 1;
- }
- //==============================================================================
- public OnGameModeExit()
- {
- for(new i = 0; i < sizeof(KlupaInfo); i++)
- {
- SacuvajKlupu(i);
- }
- return 1;
- }
- //==============================================================================
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- //==============================================================================
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- //==============================================================================
- public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
- {
- new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ;
- GetObjectPos(objectid, oldX, oldY, oldZ);
- GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- if(response == EDIT_RESPONSE_FINAL)
- {
- if(EditKlupu[playerid] != -1)
- {
- new i = EditKlupu[playerid];
- DestroyDynamicObject(KlupaInfo[i][kObjekat]);
- KlupaInfo[i][kPos][0] = x;
- KlupaInfo[i][kPos][1] = y;
- KlupaInfo[i][kPos][2] = z;
- KlupaInfo[i][kPos][3] = rx;
- KlupaInfo[i][kPos][4] = ry;
- KlupaInfo[i][kPos][5] = rz;
- KlupaInfo[i][kKreirana] = 1;
- KlupaInfo[i][kObjekat] = CreateDynamicObject(1280, x, y, z, rx, ry, rz);
- SacuvajKlupu(i);
- KlupaInfo[i][k3D] = CreateDynamic3DTextLabel(""BELA"[ KLUPA ]\nUkoliko zelite da sednete pritisnite 'N'!", -1, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][1], KlupaInfo[i][kPos][2]+2, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1);
- EditKlupu[playerid] = -1;
- return 1;
- }
- }
- return 1;
- }
- //==============================================================================
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_NO)
- {
- for(new i = 0; i < sizeof(KlupaInfo); i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][2], KlupaInfo[i][kPos][3]))
- {
- SetPlayerPos(playerid, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][2], KlupaInfo[i][kPos][3]);
- ApplyAnimation(playerid, "PED", "SEAT_IDLE", 4, 0, 0, 0, 1, 0, 1);
- SendClientMessage(playerid, -1, ""CRVENA"[KLUPA] "BELA"Ako zelis da ustanes stisni "CRVENA"RMB");
- }
- }
- }
- return 1;
- }
- //==============================================================================
- YCMD:kreirajklupu(playerid, params[], help)
- {
- #pragma tabsize 0
- if(IsPlayerAdmin(playerid))
- {
- new IDKlupe, afajl[60]; new Float:x, Float:y, Float:z, Float:angle;
- GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid, angle);
- if(sscanf(params, "i", IDKlupe)) return SendClientMessage(playerid, -1, ""SIVA"Koristi: "BELA"/kreirajklupu [ID]" );
- if(IDKlupe >= MAX_KLUPA) return SendClientMessage(playerid, -1,""CRVENA"[KLUPA] "BELA"Broj klupa je ogranicen na taj ID!" );
- format(afajl, sizeof(afajl), KLUPA_FILE, IDKlupe);
- if(fexist(afajl)) return SendClientMessage(playerid,-1, ""CRVENA"[KLUPA] "BELA"ID upisane klupe vec postoji!" );
- GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, angle);
- KlupaInfo[playerid][kPos][0] = x;
- KlupaInfo[playerid][kPos][1] = y;
- KlupaInfo[playerid][kPos][2] = z;
- KlupaInfo[playerid][kPos][3] = 0;
- KlupaInfo[playerid][kPos][4] = 0;
- KlupaInfo[playerid][kPos][5] = 0;
- KlupaInfo[playerid][kKreirana] = 1;
- KlupaInfo[playerid][kObjekat] = CreateDynamicObject(1280, x+2, y, z+0.6, 0.0, 0.0, angle);
- EditDynamicObject(playerid, KlupaInfo[playerid][kObjekat]); EditKlupu[playerid] = playerid;
- SacuvajKlupu(playerid);
- SendClientMessage(playerid, -1, ""CRVENA"[KLUPA] "BELA"Uspesno ste kreirali klupu!");
- }
- else
- {
- SendClientMessage(playerid,-1,""CRVENA"[KLUPA] "BELA"Samo Vlasnik!");
- }
- return 1;
- }
- //==============================================================================
- forward UcitajKlupu(IDKlupe, name[], value[]);
- public UcitajKlupu(IDKlupe, name[], value[])
- {
- INI_Int("Kreirana", KlupaInfo[IDKlupe][kKreirana]);
- INI_Float("Pos1", KlupaInfo[IDKlupe][kPos][0]);
- INI_Float("Pos2", KlupaInfo[IDKlupe][kPos][1]);
- INI_Float("Pos3", KlupaInfo[IDKlupe][kPos][2]);
- INI_Float("Pos4", KlupaInfo[IDKlupe][kPos][3]);
- INI_Float("Pos5", KlupaInfo[IDKlupe][kPos][4]);
- INI_Float("Pos6", KlupaInfo[IDKlupe][kPos][5]);
- INI_Int("ID", KlupaInfo[IDKlupe][kID]);
- return 1;
- }
- //==============================================================================
- stock SacuvajKlupu(IDKlupe)
- {
- new sFile[80];
- format(sFile, sizeof(sFile), KLUPA_FILE, IDKlupe);
- new INI:File = INI_Open(sFile);
- INI_WriteInt(File, "Kreirana", KlupaInfo[IDKlupe][kKreirana]);
- INI_WriteFloat(File, "Pos1", KlupaInfo[IDKlupe][kPos][0]);
- INI_WriteFloat(File, "Pos2", KlupaInfo[IDKlupe][kPos][1]);
- INI_WriteFloat(File, "Pos3", KlupaInfo[IDKlupe][kPos][2]);
- INI_WriteFloat(File, "Pos4", KlupaInfo[IDKlupe][kPos][3]);
- INI_WriteFloat(File, "Pos5", KlupaInfo[IDKlupe][kPos][4]);
- INI_WriteFloat(File, "Pos6", KlupaInfo[IDKlupe][kPos][5]);
- INI_WriteInt(File, "ID", KlupaInfo[IDKlupe][kID]);
- INI_Close(File);
- return 1;
- }
- //==============================================================================
- stock KreirajKlupu(IDKlupe)
- {
- if(KlupaInfo[IDKlupe][kKreirana] == 1)
- {
- new string[80];
- format(string, sizeof(string), ""BELA"[ KLUPA ]\nUkoliko zelite da sednete pritisnite 'N'!");
- KlupaInfo[IDKlupe][k3D] = CreateDynamic3DTextLabel(string, -1, KlupaInfo[IDKlupe][kPos][0], KlupaInfo[IDKlupe][kPos][1], KlupaInfo[IDKlupe][kPos][2]+2, 3.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);
- KlupaInfo[IDKlupe][kObjekat] = CreateDynamicObject(1280, KlupaInfo[IDKlupe][kPos][0], KlupaInfo[IDKlupe][kPos][1], KlupaInfo[IDKlupe][kPos][2], KlupaInfo[IDKlupe][kPos][3], KlupaInfo[IDKlupe][kPos][4], KlupaInfo[IDKlupe][kPos][5]);
- }
- return 1;
- }
- //==============================================================================
Advertisement
Add Comment
Please, Sign In to add comment