May be that when you drifting to receive money?
Pawno
Like an insane stunt bonus? I don't think that can be done with scripts.
I say so myself, but I thought maybe it can still
But Anti-Speed-Hack ?
Quote from: stormeus on April 20, 2011, 10:24:07 PM
Like an insane stunt bonus? I don't think that can be done with scripts.
I Know >_>
go and play single player for receive money by drifting :P
Quote from: shivambansal on April 21, 2011, 05:42:35 AM
go and play single player for receive money by drifting :P
Dont Go off topic
use mirc sebyy
I know it is there, but I want to pawn ...
Quote from: sseebbyy on April 21, 2011, 08:57:48 AM
I know it is there, but I want to pawn ...
its impossible in pawno
VUP is possible?
and
no order for animation?
I mean, there a function to write "/ do 10" for example ?
Squirrel xD
Quotefunction onPlayerFall( player )
{
local tic = GetTickCount()
if (player.InVehicle && player.highspeed = 1) {
if ( tic = 348541) {
local cashz = player.Cash;
player.Cash = cashz+1000;
PrivMessage("Stunt Bonus 1000",player);
}
}
return 1;
}
Well its not tested .maybe it will not work its just idea how to use Squirrel onplayerfall and other functions
Quote from: BIG[H] on April 21, 2011, 02:48:59 PM
Squirrel xD
Quotefunction onPlayerFall( player )
{
local tic = GetTickCount()
if (player.InVehicle && player.highspeed = 1) {
if ( tic = 348541) {
local cashz = player.Cash;
player.Cash = cashz+1000;
PrivMessage("Stunt Bonus 1000",player);
}
}
return 1;
}
Well its not tested .maybe it will not work its just idea how to use Squirrel onplayerfall and other functions
Ye But pawno...................
Quote from: yazeen on April 21, 2011, 04:46:33 PM
Quote from: BIG[H] on April 21, 2011, 02:48:59 PM
Squirrel xD
Quotefunction onPlayerFall( player )
{
local tic = GetTickCount()
if (player.InVehicle && player.highspeed = 1) {
if ( tic = 348541) {
local cashz = player.Cash;
player.Cash = cashz+1000;
PrivMessage("Stunt Bonus 1000",player);
}
}
return 1;
}
Well its not tested .maybe it will not work its just idea how to use Squirrel onplayerfall and other functions
Ye But pawno...................
Like I said multiple times before, use squirrel its much much much much much much much much much much much much better then pawn.....
Also, It ain't hard to convert that to pawn I guess. Unless pawn sucks so badly it doesnt have very basic functions :x
Quote from: thijn on April 23, 2011, 05:28:45 PM
Like I said multiple times before, use squirrel its much much much much much much much much much much much much better then pawn.....
Also, It ain't hard to convert that to pawn I guess. Unless pawn sucks so badly it doesnt have very basic functions :x
If he wants only in pawn you can just leave him
You don't have to force that it can be done only in squirrel and you don't need to keep saying squirrel ftw over the forum.
It's users wish if they want to script in mIRC/Pawn/Squirrel let them do it.
At the moment VCMP only supports mIRC and Pawno, it doesn't support squirrel, so you don't have to worry about the unofficial squirrel server in this forum.
o_O????
Agreed @ StrIke But ( i am scripting a Counter Strike game like Mode for VCMP with .ini files maps) :p soon it will rock~!!
Quote from: thijn on April 23, 2011, 05:28:45 PM
Like I said multiple times before, use squirrel its much much much much much much much much much much much much better then pawn.....
Also, It ain't hard to convert that to pawn I guess. Unless pawn sucks so badly it doesnt have very basic functions :x
Fun fact. You can script all of the functions for data manipulation that aren't default in pawn or code them in a nifty DLL. Unless you're talking about the squirrel server functions, in that case you're very painfully right.
Quote from: thijn on April 23, 2011, 05:28:45 PM
Quote from: yazeen on April 21, 2011, 04:46:33 PM
Quote from: BIG[H] on April 21, 2011, 02:48:59 PM
Squirrel xD
Quotefunction onPlayerFall( player )
{
local tic = GetTickCount()
if (player.InVehicle && player.highspeed = 1) {
if ( tic = 348541) {
local cashz = player.Cash;
player.Cash = cashz+1000;
PrivMessage("Stunt Bonus 1000",player);
}
}
return 1;
}
Well its not tested .maybe it will not work its just idea how to use Squirrel onplayerfall and other functions
Ye But pawno...................
Like I said multiple times before, use squirrel its much much much much much much much much much much much much better then pawn.....
Also, It ain't hard to convert that to pawn I guess. Unless pawn sucks so badly it doesnt have very basic functions :x
Thijin i lov Sql But the prop is it dont have a compiler! can u make 1?
Quote from: yazeen on April 24, 2011, 07:12:33 AM
Thijin i lov Sql But the prop is it dont have a compiler! can u make 1?
Squirrel isn't a compilable language, so it's impossible to write a compiler for it.
Thanx For All !
everyone is wrong...
using such a timer and making a function what can result the angle of the car = angle
getting the angle by making a timer which saves by the angle per 100 ms = knowledge about angle
finding the correct formula for it = angle position
and you can do something like this:
if(angle >= formula) or however it comes and it results cash :D
HELPY SOURCE:
FORUM >> http://pastebin.com/f1841d042 (http://pastebin.com/f1841d042)
Code: 1.////////////////////////////////////////////////////////////
2./////////////// DRIFT POINTS COUNTER BY LUBY ///////////////
3./////////////// A little editted by Abhinav ////////////////
4.////////////////////////////////////////////////////////////
5.
6.#include <a_samp> // by I dont know .. :D lol
7.
8.#define DRIFT_MINKAT 10.0 // by Luby
9.#define DRIFT_MAXKAT 90.0 // by Luby
10.#define DRIFT_SPEED 30.0 // by Luby
11.
12.//////////// Added by Abhinav///////
13.#define COLOR_Label 0xFFFFFFFF
14.#define COLOR_LabelOut 0x00000040
15.#define COLOR_ValueOut 0xFFFFFF40
16.#define COLOR_Value 0x000000FF
17.
18.#define Label_X 500
19.#define Value_X 500
20.#define TD_Y 100
21./////////////////////////////////////
22.
23.new DriftTimer[MAX_PLAYERS]; // Added by Abhinav
24.new TimerA,TimerB,TimerC; // Added by Abhinav
25.
26.new DriftPointsNow[MAX_PLAYERS]; // by Luby
27.new PlayerDriftCancellation[MAX_PLAYERS]; // by Luby
28.new Float:ppos[MAX_PLAYERS][3]; // by Luby
29.enum Float:Pos{ Float:sX,Float:sY,Float:sZ }; // by Luby
30.new Float:SavedPos[MAX_PLAYERS][Pos]; // by Luby
31.
32.new bool:DriftMode[MAX_PLAYERS]=false; // Added by Abhinav
33.new DriftBonus[MAX_PLAYERS]=1; // Added by Abhinav
34.new Float:HealthInit[MAX_PLAYERS]=1000.0; // Added by Abhinav
35.new bool:AutoFixBool[MAX_PLAYERS]=true; // Added by Abhinav
36.
37.new Text:TDLabels[3]; // Added by Abhinav
38.new Text:TDValueDrift[MAX_PLAYERS]; // Added by Abhinav
39.new Text:TDValueBonus[MAX_PLAYERS]; // Added by Abhinav
40.new Text:TDValueCash[MAX_PLAYERS]; // Added by Abhinav
41.
42.forward Drift(); // by Luby
43.forward AngleUpdate(); // by Luby
44.forward DriftExit(playerid); // by Luby
45.forward CheckPlayerState(); // Added by Abhinav
46.forward AutoFix(); // Added by Abhinav
47.
48.public OnFilterScriptInit(){
49. TimerA=SetTimer("AngleUpdate", 200, true); // by Luby
50. TimerB=SetTimer("AutoFix", 500, true); //by Abhinav
51. TimerC=SetTimer("CheckPlayerState", 100, true); //by Abhinav
52. LoadTextDraws();
53. return 1;
54.}
55.
56.public OnFilterScriptExit(){
57. KillTimer(TimerA);
58. KillTimer(TimerB);
59. KillTimer(TimerC);
60. return 1;
61.}
62.
63.Float:GetPlayerTheoreticAngle(i) // By Luby
64.{
65. new Float:sin;
66. new Float:dis;
67. new Float:angle2;
68. new Float:x,Float:y,Float:z;
69. new Float:tmp3;
70. new Float:tmp4;
71. new Float:MindAngle;
72.
73. if(IsPlayerConnected(i)){
74.
75. GetPlayerPos(i,x,y,z);
76.
77. dis = floatsqroot(floatpower(floatabs(floatsub(x,ppos[i][0])),2)+floatpower(floatabs(floatsub(y,ppos[i][1])),2));
78.
79. if(IsPlayerInAnyVehicle(i)){GetVehicleZAngle(GetPlayerVehicleID(i), angle2);}else{GetPlayerFacingAngle(i, angle2);}
80.
81. if(x>ppos[i][0]){tmp3=x-ppos[i][0];}else{tmp3=ppos[i][0]-x;}
82. if(y>ppos[i][1]){tmp4=y-ppos[i][1];}else{tmp4=ppos[i][1]-y;}
83.
84. if(ppos[i][1]>y && ppos[i][0]>x){
85. sin = asin(tmp3/dis);
86. MindAngle = floatsub(floatsub(floatadd(sin, 90), floatmul(sin, 2)), -90.0);
87. }
88.
89. if(ppos[i][1]<y && ppos[i][0]>x){
90. sin = asin(tmp3/dis);
91. MindAngle = floatsub(floatadd(sin, 180), 180.0);
92. }
93.
94. if(ppos[i][1]<y && ppos[i][0]<x){
95. sin = acos(tmp4/dis);
96. MindAngle = floatsub(floatadd(sin, 360), floatmul(sin, 2));
97. }
98.
99. if(ppos[i][1]>y && ppos[i][0]<x){
100. sin = asin(tmp3/dis);
101. MindAngle = floatadd(sin, 180);
102. }
103. }
104.
105. if(MindAngle == 0.0){return angle2;}else{return MindAngle;}
106.}
107.
108.public DriftExit(playerid){ // By Luby
109. PlayerDriftCancellation[playerid] = 0;
110.
111. ////////////////// by Abhinav ///////////////////
112. new Float:h;
113. GetVehicleHealth(GetPlayerVehicleID(playerid),h);
114. if(DriftPointsNow[playerid]>70 && DriftPointsNow[playerid]<10000 && h==HealthInit[playerid]) GivePlayerMoney(playerid,DriftPointsNow[playerid]*DriftBonus[playerid]);
115. TextDrawHideForPlayer(playerid,TDLabels[0]);
116. TextDrawHideForPlayer(playerid,TDLabels[1]);
117. TextDrawHideForPlayer(playerid,TDLabels[2]);
118. TextDrawHideForPlayer(playerid,TDValueDrift[playerid]);
119. TextDrawHideForPlayer(playerid,TDValueBonus[playerid]);
120. TextDrawHideForPlayer(playerid,TDValueCash[playerid]);
121. DriftBonus[playerid]=1;
122. AutoFixBool[playerid]=true;
123. SetVehicleHealth(GetPlayerVehicleID(playerid),HealthInit[playerid]);
124. ////////////////////////////////////////////////////
125.
126. DriftPointsNow[playerid] = 0;
127.}
128.
129.Float:ReturnPlayerAngle(playerid){ // By Luby
130. new Float:Ang;
131. if(IsPlayerInAnyVehicle(playerid))GetVehicleZAngle(GetPlayerVehicleID(playerid), Ang); else GetPlayerFacingAngle(playerid, Ang);
132. return Ang;
133.}
134.
135.public Drift(){ // By Luby
136. new Float:Angle1, Float:Angle2, Float:BySpeed;
137. new Float:Z;
138. new Float:X;
139. new Float:Y;
140. new Float:SpeedX;
141. for(new g=0;g<200;g++){
142. GetPlayerPos(g, X, Y, Z);
143. SpeedX = floatsqroot(floatadd(floatadd(floatpower(floatabs(floatsub(X,SavedPos[ g ][ sX ])),2),floatpower(floatabs(floatsub(Y,SavedPos[ g ][ sY ])),2)),floatpower(floatabs(floatsub(Z,SavedPos[ g ][ sZ ])),2)));
144. Angle1 = ReturnPlayerAngle(g);
145. Angle2 = GetPlayerTheoreticAngle(g);
146. BySpeed = floatmul(SpeedX, 12);
147. if(IsPlayerInAnyVehicle(g) && GetVType(GetPlayerVehicleID(g)) && floatabs(floatsub(Angle1, Angle2)) > DRIFT_MINKAT && floatabs(floatsub(Angle1, Angle2)) < DRIFT_MAXKAT && BySpeed > DRIFT_SPEED){
148. if(PlayerDriftCancellation[g] > 0)KillTimer(PlayerDriftCancellation[g]);
149. PlayerDriftCancellation[g] = 0;
150. DriftPointsNow[g] += floatval( floatabs(floatsub(Angle1, Angle2)) * 3 * (BySpeed*0.1) )/10;
151. PlayerDriftCancellation[g] = SetTimerEx("DriftExit", 3000, 0, "d", g);
152. }
153.
154. if(DriftPointsNow[g] > 70 && DriftPointsNow[g]<10000){
155. ///////////// by Abhinav ////////////////////
156. if(DriftPointsNow[g]<500){
157. DriftBonus[g]=1;
158. }
159. if(DriftPointsNow[g]>=500 && DriftPointsNow[g]<1000){
160. DriftBonus[g]=2;
161. }
162. if(DriftPointsNow[g]>=1000 && DriftPointsNow[g]<1700){
163. DriftBonus[g]=3;
164. }
165. if(DriftPointsNow[g]>=1700 && DriftPointsNow[g]<2500){
166. DriftBonus[g]=4;
167. }
168. if(DriftPointsNow[g]>=2500){
169. DriftBonus[g]=5;
170. }
171.
172. TextDrawShowForPlayer(g,TDLabels[0]);
173. TextDrawShowForPlayer(g,TDLabels[1]);
174. TextDrawShowForPlayer(g,TDLabels[2]);
175.
176. TextDrawShowForPlayer(g,TDValueDrift[g]);
177. TextDrawShowForPlayer(g,TDValueBonus[g]);
178. TextDrawShowForPlayer(g,TDValueCash[g]);
179.
180. new DPs[128],DBn[128],Cash[128],csh;
181.
182. valstr(DPs,DriftPointsNow[g],false);
183. format(DBn,sizeof(DBn),"X%i",DriftBonus[g]);
184. csh=DriftPointsNow[g]*DriftBonus[g];
185. format(Cash,sizeof(Cash),"$%i",csh);
186.
187. TextDrawSetString(TDValueDrift[g],DPs);
188. TextDrawSetString(TDValueBonus[g],DBn);
189. TextDrawSetString(TDValueCash[g],Cash);
190. ////////////////////////////////////////
191. }
192. SavedPos[ g ][ sX ] = X;
193. SavedPos[ g ][ sY ] = Y;
194. SavedPos[ g ][ sZ ] = Z;
195. }
196.}
197.
198.public AngleUpdate(){ // By Luby
199. for(new g=0;g<=MAX_PLAYERS;g++){
200. new Float:x, Float:y, Float:z;
201. if(IsPlayerInAnyVehicle(g))GetVehiclePos(GetPlayerVehicleID(g), x, y, z); else GetPlayerPos(g, x, y, z);
202. ppos[g][0] = x;
203. ppos[g][1] = y;
204. ppos[g][2] = z;
205. }
206.}
207.
208.floatval(Float:val){ // By Luby
209. new str[256];
210. format(str, 256, "%.0f", val);
211. return todec(str);
212.}
213.
214.todec(str[]){ // By Luby
215. return strval(str);
216.}
217.
218.LoadTextDraws(){ // by Abhinav
219. TDLabels[0]=TextDrawCreate(Label_X,TD_Y,"Drift Points");
220. TextDrawColor(TDLabels[0],COLOR_Label);
221. TextDrawSetShadow(TDLabels[0],0);
222. TextDrawSetOutline(TDLabels[0],1);
223. TextDrawLetterSize(TDLabels[0],0.5,2);
224. TextDrawBackgroundColor(TDLabels[0],COLOR_LabelOut);
225. TextDrawFont(TDLabels[0],1);
226.
227. TDLabels[1]=TextDrawCreate(Label_X,TD_Y+50,"Drift Bonus");
228. TextDrawColor(TDLabels[1],COLOR_Label);
229. TextDrawSetShadow(TDLabels[1],0);
230. TextDrawSetOutline(TDLabels[1],1);
231. TextDrawLetterSize(TDLabels[1],0.5,2);
232. TextDrawBackgroundColor(TDLabels[1],COLOR_LabelOut);
233. TextDrawFont(TDLabels[1],1);
234.
235. TDLabels[2]=TextDrawCreate(Label_X,TD_Y+100,"Drift Cash");
236. TextDrawColor(TDLabels[2],COLOR_Label);
237. TextDrawSetShadow(TDLabels[2],0);
238. TextDrawSetOutline(TDLabels[2],1);
239. TextDrawLetterSize(TDLabels[2],0.5,2);
240. TextDrawBackgroundColor(TDLabels[2],COLOR_LabelOut);
241. TextDrawFont(TDLabels[2],1);
242.
243. new i;
244. for(i=0;i<=MAX_PLAYERS;i++){
245. TDValueDrift[i]=TextDrawCreate(Value_X,TD_Y+20,"0");
246. TextDrawColor(TDValueDrift[i],COLOR_Value);
247. TextDrawSetShadow(TDValueDrift[i],0);
248. TextDrawSetOutline(TDValueDrift[i],1);
249. TextDrawLetterSize(TDValueDrift[i],0.5,2);
250. TextDrawBackgroundColor(TDValueDrift[i],COLOR_ValueOut);
251. TextDrawFont(TDValueDrift[i],3);
252.
253. TDValueBonus[i]=TextDrawCreate(Value_X,TD_Y+70,"X1");
254. TextDrawColor(TDValueBonus[i],COLOR_Value);
255. TextDrawSetShadow(TDValueBonus[i],0);
256. TextDrawSetOutline(TDValueBonus[i],1);
257. TextDrawLetterSize(TDValueBonus[i],0.5,2);
258. TextDrawBackgroundColor(TDValueBonus[i],COLOR_ValueOut);
259. TextDrawFont(TDValueBonus[i],3);
260.
261. TDValueCash[i]=TextDrawCreate(Value_X,TD_Y+120,"$0");
262. TextDrawColor(TDValueCash[i],COLOR_Value);
263. TextDrawSetShadow(TDValueCash[i],0);
264. TextDrawSetOutline(TDValueCash[i],1);
265. TextDrawLetterSize(TDValueCash[i],0.5,2);
266. TextDrawBackgroundColor(TDValueCash[i],COLOR_ValueOut);
267. TextDrawFont(TDValueCash[i],3);
268. }
269.
270. return 1;
271.}
272.
273.public CheckPlayerState(){ //by Abhinav
274. new i,cs;
275.
276. for(i=0;i<=MAX_PLAYERS;i++){
277. cs=GetPlayerState(i);
278. if(DriftMode[i] && cs==PLAYER_STATE_DRIVER && DriftPointsNow[i]>70){
279. new Float:h;
280. GetVehicleHealth(GetPlayerVehicleID(i),h);
281. if(h<HealthInit[i]){
282. KillTimer(DriftTimer[i]);
283. DriftExit(i);
284. GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~r~Boom",800,5);
285. DriftMode[i]=false;
286. }
287. }
288. if(cs==PLAYER_STATE_DRIVER && DriftMode[i]==false){
289. if(GetVType(GetPlayerVehicleID(i))){
290. DriftMode[i]=true;
291. GetVehicleHealth(GetPlayerVehicleID(i),HealthInit[i]);
292. AutoFixBool[i]=false;
293. DriftTimer[i]=SetTimerEx("Drift", 200, true, "i", i);
294. }
295. }
296. else if(cs!=PLAYER_STATE_DRIVER && DriftMode[i]==true){
297. KillTimer(DriftTimer[i]);
298. DriftMode[i]=false;
299. AutoFixBool[i]=true;
300. }
301. else{}
302. }
303. return 1;
304.}
305.
306.public AutoFix(){ // By abhinav
307. new i;
308. for(i=0;i<=MAX_PLAYERS;i++){
309. if(AutoFixBool[i] && IsPlayerInAnyVehicle(i)){
310. SetVehicleHealth(GetPlayerVehicleID(i),HealthInit[i]);
311. }
312. }
313.}
314.
315.GetVType(vid){ // By Abhinav
316.
317. new Convertibles[4]={480, 533, 439, 555};
318. new Industrial[26]={499, 422, 482, 498, 609, 524, 578, 455, 403, 414, 582, 443, 514, 413, 515, 440, 543, 605, 459, 531, 408, 552, 478, 456, 554};
319. new LowRider[8]={536, 575, 534, 567, 535, 566, 576, 412};
320. new OffRoad[13]={568, 424, 573, 579, 400, 500, 444, 556, 557, 470, 489, 505, 595};
321. new Service[19]={416, 433, 431, 438, 437, 523, 427, 490, 528, 407, 544, 596, 596, 597, 598, 599, 432, 601, 420};
322. new Saloon[35]={445, 504, 401, 518, 527, 542, 507, 562, 585, 419, 526, 604, 466, 492, 474, 546, 517, 410, 551, 516, 467, 600, 426, 436, 547, 405, 580, 560, 550, 549, 540, 491, 529, 421};
323. new Sports[20]={602, 429, 496, 402, 541, 415, 589, 587, 565, 494, 502, 503, 411, 559, 603, 475, 506, 451, 558, 477};
324. new Wagons[5]={418, 404, 479, 458, 561};
325.
326. new modelid=GetVehicleModel(vid);
327. new i;
328. for(i=0;i<3;i++){
329. if(Convertibles[i]==modelid) return 1;
330. }
331. for(i=0;i<25;i++){
332. if(Industrial[i]==modelid) return 1;
333. }
334. for(i=0;i<7;i++){
335. if(LowRider[i]==modelid) return 1;
336. }
337. for(i=0;i<12;i++){
338. if(OffRoad[i]==modelid) return 1;
339. }
340. for(i=0;i<19;i++){
341. if(Service[i]==modelid) return 1;
342. }
343. for(i=0;i<35;i++){
344. if(Saloon[i]==modelid) return 1;
345. }
346. for(i=0;i<20;i++){
347. if(Sports[i]==modelid) return 1;
348. }
349. for(i=0;i<5;i++){
350. if(Wagons[i]==modelid) return 1;
351. }
352. return 0;
353.}
Its for Samp and Vcmp Lack of Functions
::: UN KNOWN FUNCTIONS OF VCMP :::
GetVehicleZAngle
TextDrawHideForPlayer
TextDrawShowForPlayer
TextDrawSetString
TextDrawColor
TextDrawSetShadow
TextDrawSetOutline
TextDrawLetterSize
TextDrawBackgroundColor
TextDrawFont
ETC
So first Convert it Then Publish it :P
Do you realize that it was just a helpy code ?
Scripters mind before posting
Sincerelly you can make the angle function by MATH! or making a include :D
Sure!