View difference between Paste ID: Kb9qEN3W and tYja70GJ
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
//==============================================================================