SHOW:
|
|
- or go back to the newest paste.
| 1 | /* | |
| 2 | ==================================== [ Sistem Klupa v0.2 by Cyllox ] ========================= | |
| 3 | ==================================== [ Napravio: Cyllox ] ==================================== | |
| 4 | ==================================== [ Editovao: RESPONSE ] ==================================== | |
| 5 | */ | |
| 6 | #include < a_samp > | |
| 7 | #include < YSI\y_ini > | |
| 8 | #include < YSI\y_commands > | |
| 9 | #include < sscanf2 > | |
| 10 | #include < streamer > | |
| 11 | //============================================================================== | |
| 12 | #define BELA "{FFFFFF}"
| |
| 13 | #define CRVENA "{F81414}"
| |
| 14 | #define SIVA "{C0C0C0}"
| |
| 15 | //============================================================================== | |
| 16 | new Float:X,Float:Y,Float:Z; | |
| 17 | new EditKlupu[MAX_PLAYERS]; | |
| 18 | //============================================================================== | |
| 19 | #define KLUPA_FILE "Klupe/Klupa_%d.ini" | |
| 20 | #define MAX_KLUPA 100 | |
| 21 | //============================================================================== | |
| 22 | enum Klupa | |
| 23 | {
| |
| 24 | kKreirana, | |
| 25 | kObjekat, | |
| 26 | Float:kPos[6], | |
| 27 | Text3D:k3D, | |
| 28 | kID | |
| 29 | } | |
| 30 | new KlupaInfo[MAX_KLUPA][Klupa]; | |
| 31 | //============================================================================== | |
| 32 | main() | |
| 33 | {
| |
| 34 | print("\n----------------------------------");
| |
| 35 | print(" Sistem Klupa by Cyllox");
| |
| 36 | print(" Sistem Klupa Edited by RESPONSE");
| |
| 37 | print("----------------------------------\n");
| |
| 38 | } | |
| 39 | //============================================================================== | |
| 40 | public OnGameModeInit() | |
| 41 | {
| |
| 42 | for(new i = 0; i < sizeof(KlupaInfo); i++) | |
| 43 | {
| |
| 44 | new sFile[50]; | |
| 45 | format(sFile, sizeof(sFile), KLUPA_FILE, i); | |
| 46 | if(fexist(sFile)) | |
| 47 | {
| |
| 48 | INI_ParseFile(sFile, "UcitajKlupu", .bExtra = true, .extra = i); | |
| 49 | KreirajKlupu(i); | |
| 50 | } | |
| 51 | } | |
| 52 | return 1; | |
| 53 | } | |
| 54 | //============================================================================== | |
| 55 | public OnGameModeExit() | |
| 56 | {
| |
| 57 | for(new i = 0; i < sizeof(KlupaInfo); i++) | |
| 58 | {
| |
| 59 | SacuvajKlupu(i); | |
| 60 | } | |
| 61 | return 1; | |
| 62 | } | |
| 63 | //============================================================================== | |
| 64 | public OnPlayerConnect(playerid) | |
| 65 | {
| |
| 66 | return 1; | |
| 67 | } | |
| 68 | //============================================================================== | |
| 69 | public OnPlayerDisconnect(playerid, reason) | |
| 70 | {
| |
| 71 | return 1; | |
| 72 | } | |
| 73 | //============================================================================== | |
| 74 | public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) | |
| 75 | {
| |
| 76 | new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ; | |
| 77 | GetObjectPos(objectid, oldX, oldY, oldZ); | |
| 78 | GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ); | |
| 79 | if(response == EDIT_RESPONSE_FINAL) | |
| 80 | {
| |
| 81 | if(EditKlupu[playerid] != -1) | |
| 82 | {
| |
| 83 | new i = EditKlupu[playerid]; | |
| 84 | DestroyDynamicObject(KlupaInfo[i][kObjekat]); | |
| 85 | ||
| 86 | KlupaInfo[i][kPos][0] = x; | |
| 87 | KlupaInfo[i][kPos][1] = y; | |
| 88 | KlupaInfo[i][kPos][2] = z; | |
| 89 | KlupaInfo[i][kPos][3] = rx; | |
| 90 | KlupaInfo[i][kPos][4] = ry; | |
| 91 | KlupaInfo[i][kPos][5] = rz; | |
| 92 | KlupaInfo[i][kKreirana] = 1; | |
| 93 | KlupaInfo[i][kObjekat] = CreateDynamicObject(1280, x, y, z, rx, ry, rz); | |
| 94 | SacuvajKlupu(i); | |
| 95 | ||
| 96 | - | KlupaInfo[i][k3D] = CreateDynamic3DTextLabel("{6ef83c}Zelimo vam srecne Bozicne\ni novogodisnje praznike!\n*** 2016 ***", -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);
|
| 96 | + | 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);
|
| 97 | EditKlupu[playerid] = -1; | |
| 98 | return 1; | |
| 99 | } | |
| 100 | } | |
| 101 | return 1; | |
| 102 | } | |
| 103 | //============================================================================== | |
| 104 | public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) | |
| 105 | {
| |
| 106 | if(newkeys & KEY_NO) | |
| 107 | {
| |
| 108 | for(new i = 0; i < sizeof(KlupaInfo); i++) | |
| 109 | {
| |
| 110 | if(IsPlayerInRangeOfPoint(playerid, 5.0, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][2], KlupaInfo[i][kPos][3])) | |
| 111 | {
| |
| 112 | SetPlayerPos(playerid, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][2], KlupaInfo[i][kPos][3]); | |
| 113 | ApplyAnimation(playerid, "PED", "SEAT_IDLE", 4, 0, 0, 0, 1, 0, 1); | |
| 114 | SendClientMessage(playerid, -1, ""CRVENA"[KLUPA] "BELA"Ako zelis da ustanes stisni "CRVENA"RMB"); | |
| 115 | } | |
| 116 | } | |
| 117 | } | |
| 118 | return 1; | |
| 119 | } | |
| 120 | //============================================================================== | |
| 121 | YCMD:kreirajklupu(playerid, params[], help) | |
| 122 | {
| |
| 123 | #pragma tabsize 0 | |
| 124 | if(IsPlayerAdmin(playerid)) | |
| 125 | {
| |
| 126 | new IDKlupe, afajl[60]; new Float:x, Float:y, Float:z, Float:angle; | |
| 127 | GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid, angle); | |
| 128 | if(sscanf(params, "i", IDKlupe)) return SendClientMessage(playerid, -1, ""SIVA"Koristi: "BELA"/kreirajklupu [ID]" ); | |
| 129 | if(IDKlupe >= MAX_KLUPA) return SendClientMessage(playerid, -1,""CRVENA"[KLUPA] "BELA"Broj klupa je ogranicen na taj ID!" ); | |
| 130 | format(afajl, sizeof(afajl), KLUPA_FILE, IDKlupe); | |
| 131 | if(fexist(afajl)) return SendClientMessage(playerid,-1, ""CRVENA"[KLUPA] "BELA"ID upisane klupe vec postoji!" ); | |
| 132 | GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, angle); | |
| 133 | KlupaInfo[playerid][kPos][0] = x; | |
| 134 | KlupaInfo[playerid][kPos][1] = y; | |
| 135 | KlupaInfo[playerid][kPos][2] = z; | |
| 136 | KlupaInfo[playerid][kPos][3] = 0; | |
| 137 | KlupaInfo[playerid][kPos][4] = 0; | |
| 138 | KlupaInfo[playerid][kPos][5] = 0; | |
| 139 | KlupaInfo[playerid][kKreirana] = 1; | |
| 140 | KlupaInfo[playerid][kObjekat] = CreateDynamicObject(1280, x+2, y, z+0.6, 0.0, 0.0, angle); | |
| 141 | EditDynamicObject(playerid, KlupaInfo[playerid][kObjekat]); EditKlupu[playerid] = playerid; | |
| 142 | SacuvajKlupu(playerid); | |
| 143 | SendClientMessage(playerid, -1, ""CRVENA"[KLUPA] "BELA"Uspesno ste kreirali klupu!"); | |
| 144 | } | |
| 145 | else | |
| 146 | {
| |
| 147 | SendClientMessage(playerid,-1,""CRVENA"[KLUPA] "BELA"Samo Vlasnik!"); | |
| 148 | } | |
| 149 | return 1; | |
| 150 | } | |
| 151 | //============================================================================== | |
| 152 | forward UcitajKlupu(IDKlupe, name[], value[]); | |
| 153 | public UcitajKlupu(IDKlupe, name[], value[]) | |
| 154 | {
| |
| 155 | INI_Int("Kreirana", KlupaInfo[IDKlupe][kKreirana]);
| |
| 156 | INI_Float("Pos1", KlupaInfo[IDKlupe][kPos][0]);
| |
| 157 | INI_Float("Pos2", KlupaInfo[IDKlupe][kPos][1]);
| |
| 158 | INI_Float("Pos3", KlupaInfo[IDKlupe][kPos][2]);
| |
| 159 | INI_Float("Pos4", KlupaInfo[IDKlupe][kPos][3]);
| |
| 160 | INI_Float("Pos5", KlupaInfo[IDKlupe][kPos][4]);
| |
| 161 | INI_Float("Pos6", KlupaInfo[IDKlupe][kPos][5]);
| |
| 162 | INI_Int("ID", KlupaInfo[IDKlupe][kID]);
| |
| 163 | return 1; | |
| 164 | } | |
| 165 | //============================================================================== | |
| 166 | stock SacuvajKlupu(IDKlupe) | |
| 167 | {
| |
| 168 | new sFile[80]; | |
| 169 | format(sFile, sizeof(sFile), KLUPA_FILE, IDKlupe); | |
| 170 | new INI:File = INI_Open(sFile); | |
| 171 | INI_WriteInt(File, "Kreirana", KlupaInfo[IDKlupe][kKreirana]); | |
| 172 | INI_WriteFloat(File, "Pos1", KlupaInfo[IDKlupe][kPos][0]); | |
| 173 | INI_WriteFloat(File, "Pos2", KlupaInfo[IDKlupe][kPos][1]); | |
| 174 | INI_WriteFloat(File, "Pos3", KlupaInfo[IDKlupe][kPos][2]); | |
| 175 | INI_WriteFloat(File, "Pos4", KlupaInfo[IDKlupe][kPos][3]); | |
| 176 | INI_WriteFloat(File, "Pos5", KlupaInfo[IDKlupe][kPos][4]); | |
| 177 | INI_WriteFloat(File, "Pos6", KlupaInfo[IDKlupe][kPos][5]); | |
| 178 | INI_WriteInt(File, "ID", KlupaInfo[IDKlupe][kID]); | |
| 179 | INI_Close(File); | |
| 180 | return 1; | |
| 181 | } | |
| 182 | //============================================================================== | |
| 183 | stock KreirajKlupu(IDKlupe) | |
| 184 | {
| |
| 185 | if(KlupaInfo[IDKlupe][kKreirana] == 1) | |
| 186 | {
| |
| 187 | new string[80]; | |
| 188 | format(string, sizeof(string), ""BELA"[ KLUPA ]\nUkoliko zelite da sednete pritisnite 'N'!"); | |
| 189 | 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); | |
| 190 | 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]); | |
| 191 | } | |
| 192 | return 1; | |
| 193 | } | |
| 194 | //============================================================================== |