Vice City Multiplayer
May 21, 2019, 04:24:39 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: LC:MP 0.3z Released! http://forum.vicecitymultiplayer.com/index.php?topic=251.0
 
   Home   Help Search Members Login Register  
Pages: 1 [2]
  Print  
Author Topic: Drift Point = Money ?  (Read 3134 times)
0 Members and 1 Guest are viewing this topic.
yazeen
Crime Boss
****
Offline Offline

Posts: 327


Assasin's Secret Society


View Profile
« Reply #15 on: April 24, 2011, 06:12:33 am »

Squirrel xD
Quote
function 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?
Logged

stormeus
Administrator
Wiseguy
*****
Offline Offline

Posts: 60


[IT]


View Profile WWW
« Reply #16 on: April 24, 2011, 06:17:21 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.
Logged

sseebbyy
Wiseguy
**
Offline Offline

Posts: 65


View Profile
« Reply #17 on: April 24, 2011, 06:30:56 am »

Thanx For All !
Logged
heekz.shadow
Made Man
***
Offline Offline

Posts: 104


Professional Scripter


View Profile
« Reply #18 on: April 25, 2011, 10:35:29 am »

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 Cheesy

HELPY SOURCE:

FORUM >> http://pastebin.com/f1841d042

Code:
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.}
Logged



Pro Scripter[/b][/i][/u]
BIG[H]
Made Man
***
Offline Offline

Posts: 198

(Pawn / Squirrel) Scripter.


View Profile
« Reply #19 on: April 25, 2011, 02:42:56 pm »

Its for Samp and Vcmp Lack of Functions


::: UN KNOWN FUNCTIONS OF VCMP :::

Code:
GetVehicleZAngle
TextDrawHideForPlayer
TextDrawShowForPlayer
TextDrawSetString
TextDrawColor
TextDrawSetShadow
TextDrawSetOutline
TextDrawLetterSize
TextDrawBackgroundColor
TextDrawFont

ETC

So first Convert it Then Publish it Tongue
Logged

My Guru FORUM MUST VISITmegavcmp.freeforums.org

BIG[H] = BIG HaLL
heekz.shadow
Made Man
***
Offline Offline

Posts: 104


Professional Scripter


View Profile
« Reply #20 on: April 26, 2011, 11:01:36 am »

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 Cheesy
Logged



Pro Scripter[/b][/i][/u]
BIG[H]
Made Man
***
Offline Offline

Posts: 198

(Pawn / Squirrel) Scripter.


View Profile
« Reply #21 on: April 27, 2011, 04:28:02 pm »

Sure!
Logged

My Guru FORUM MUST VISITmegavcmp.freeforums.org

BIG[H] = BIG HaLL
Pages: 1 [2]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!