Olб pessoal, tem como passar isso pro gm? -
Gustavo_Samp - 21.09.2011
Olб Pessoal, gostaria de pedir a vocкs se tem como passar isso pro gm :
pawn Код:
/////////////////////////////////////////////////////////////////////////// Contador de pontos de drift ////////////////////////////// http://www.homehots.blogspot.com ////////////////////////////// Por YAPLO ROCK '-' ////////////////////////////////////////////////////////////////////////////#include <a_samp> // by by Yaplo Rock// HomeHots#define DRIFT_MINKAT 10.0 // by Yaplo Rock// HomeHots#define DRIFT_MAXKAT 90.0 // by Yaplo Rock// HomeHots#define DRIFT_SPEED 30.0 // by Yaplo Rock// HomeHots//////////// Added by Yaplo Rock// HomeHots///////#define COLOR_Label 0xFFFFFFFF#define COLOR_LabelOut 0x00000040#define COLOR_ValueOut 0xFFFFFF40#define COLOR_Value 0x000000FF#define Label_X 500#define Value_X 500#define TD_Y 100/////////////////////////////////////new DriftTimer
[MAX_PLAYERS
];
// Added by Yaplo Rock// HomeHotsnew TimerA,TimerB,TimerC;
// Added by Yaplo Rock// HomeHotsnew DriftPointsNow
[MAX_PLAYERS
];
// by Yaplo Rock// HomeHotsnew PlayerDriftCancellation
[MAX_PLAYERS
];
// by Yaplo Rock// HomeHotsnew Float:ppos
[MAX_PLAYERS
][3];
// by Yaplo Rock// HomeHotsenum Float:Pos
{ Float:sX,
Float:sY,
Float:sZ
};
// by Yaplo Rock// HomeHotsnew Float:SavedPos
[MAX_PLAYERS
][Pos
];
// by Yaplo Rock// HomeHotsnew bool:DriftMode
[MAX_PLAYERS
]=false;
// Added by Yaplo Rock// HomeHotsnew DriftBonus
[MAX_PLAYERS
]=1;
// Added by Yaplo Rock// HomeHotsnew Float:HealthInit
[MAX_PLAYERS
]=1000.0;
// Added by Yaplo Rock// HomeHotsnew bool:AutoFixBool
[MAX_PLAYERS
]=true;
// Added by Yaplo Rock// HomeHotsnew Text:TDLabels
[3];
// Added by Yaplo Rock// HomeHotsnew Text:TDValueDrift
[MAX_PLAYERS
];
// Added by Yaplo Rock// HomeHotsnew Text:TDValueBonus
[MAX_PLAYERS
];
// Added by Yaplo Rock// HomeHotsnew Text:TDValueCash
[MAX_PLAYERS
];
// Added by Yaplo Rock// HomeHotsforward Drift
();
// by Yaplo Rock// HomeHotsforward AngleUpdate
();
// by Yaplo Rock// HomeHotsforward DriftExit
(playerid
);
// by Yaplo Rock// HomeHotsforward CheckPlayerState
();
// Added by Yaplo Rock// HomeHotsforward AutoFix
();
// Added by Yaplo Rock// HomeHotspublic OnFilterScriptInit
(){ TimerA
=SetTimer
("AngleUpdate",
200, true
);
// by Yaplo Rock// HomeHots TimerB
=SetTimer
("AutoFix",
500, true
);
//by Yaplo Rock// HomeHots TimerC
=SetTimer
("CheckPlayerState",
100, true
);
//by Yaplo Rock// HomeHots LoadTextDraws
();
return 1;
}public OnFilterScriptExit
(){ KillTimer
(TimerA
);
KillTimer
(TimerB
);
KillTimer
(TimerC
);
return 1;
}Float:GetPlayerTheoreticAngle
(i
) // by Yaplo Rock// HomeHots{ new Float:sin;
new Float:dis;
new Float:angle2;
new Float:x,
Float:y,
Float:z;
new Float:tmp3;
new Float:tmp4;
new Float:MindAngle;
if(IsPlayerConnected
(i
)){ GetPlayerPos
(i,x,y,z
);
dis
= floatsqroot(floatpower(floatabs(floatsub(x,ppos
[i
][0])),
2)+floatpower(floatabs(floatsub(y,ppos
[i
][1])),
2));
if(IsPlayerInAnyVehicle
(i
)){GetVehicleZAngle
(GetPlayerVehicleID
(i
), angle2
);
}else{GetPlayerFacingAngle
(i, angle2
);
} if(x
>ppos
[i
][0]){tmp3
=x
-ppos
[i
][0];
}else{tmp3
=ppos
[i
][0]-x;
} if(y
>ppos
[i
][1]){tmp4
=y
-ppos
[i
][1];
}else{tmp4
=ppos
[i
][1]-y;
} if(ppos
[i
][1]>y
&& ppos
[i
][0]>x
){ sin
= asin(tmp3
/dis
);
MindAngle
= floatsub(floatsub(floatadd(sin,
90),
floatmul(sin,
2)),
-90.0);
} if(ppos
[i
][1]<y
&& ppos
[i
][0]>x
){ sin
= asin(tmp3
/dis
);
MindAngle
= floatsub(floatadd(sin,
180),
180.0);
} if(ppos
[i
][1]<y
&& ppos
[i
][0]<x
){ sin
= acos(tmp4
/dis
);
MindAngle
= floatsub(floatadd(sin,
360),
floatmul(sin,
2));
} if(ppos
[i
][1]>y
&& ppos
[i
][0]<x
){ sin
= asin(tmp3
/dis
);
MindAngle
= floatadd(sin,
180);
} } if(MindAngle
== 0.0){return angle2;
}else{return MindAngle;
}}public DriftExit
(playerid
){ // by Yaplo Rock// HomeHots PlayerDriftCancellation
[playerid
] = 0;
////////////////// by Yaplo Rock// HomeHots /////////////////// new Float:h;
GetVehicleHealth
(GetPlayerVehicleID
(playerid
),h
);
if(DriftPointsNow
[playerid
]>70 && DriftPointsNow
[playerid
]<10000 && h
==HealthInit
[playerid
]) GivePlayerMoney
(playerid,DriftPointsNow
[playerid
]*DriftBonus
[playerid
]);
TextDrawHideForPlayer
(playerid,TDLabels
[0]);
TextDrawHideForPlayer
(playerid,TDLabels
[1]);
TextDrawHideForPlayer
(playerid,TDLabels
[2]);
TextDrawHideForPlayer
(playerid,TDValueDrift
[playerid
]);
TextDrawHideForPlayer
(playerid,TDValueBonus
[playerid
]);
TextDrawHideForPlayer
(playerid,TDValueCash
[playerid
]);
DriftBonus
[playerid
]=1;
AutoFixBool
[playerid
]=true;
SetVehicleHealth
(GetPlayerVehicleID
(playerid
),HealthInit
[playerid
]);
//////////////////////////////////////////////////// DriftPointsNow
[playerid
] = 0;
}Float:ReturnPlayerAngle
(playerid
){ // by Yaplo Rock// HomeHots new Float:Ang;
if(IsPlayerInAnyVehicle
(playerid
))GetVehicleZAngle
(GetPlayerVehicleID
(playerid
), Ang
);
else GetPlayerFacingAngle
(playerid, Ang
);
return Ang;
}public Drift
(){ // by Yaplo Rock// HomeHots new Float:Angle1,
Float:Angle2,
Float:BySpeed;
new Float:Z;
new Float:X;
new Float:Y;
new Float:SpeedX;
for(new g
=0;g
<200;g
++){ GetPlayerPos
(g, X, Y, Z
);
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)));
Angle1
= ReturnPlayerAngle
(g
);
Angle2
= GetPlayerTheoreticAngle
(g
);
BySpeed
= floatmul(SpeedX,
12);
if(IsPlayerInAnyVehicle
(g
) && GetVType
(GetPlayerVehicleID
(g
)) && floatabs(floatsub(Angle1, Angle2
)) > DRIFT_MINKAT
&& floatabs(floatsub(Angle1, Angle2
)) < DRIFT_MAXKAT
&& BySpeed
> DRIFT_SPEED
){ if(PlayerDriftCancellation
[g
] > 0)KillTimer
(PlayerDriftCancellation
[g
]);
PlayerDriftCancellation
[g
] = 0;
DriftPointsNow
[g
] += floatval
( floatabs(floatsub(Angle1, Angle2
)) * 3 * (BySpeed
*0.1) )/10;
PlayerDriftCancellation
[g
] = SetTimerEx
("DriftExit",
3000,
0,
"d", g
);
} if(DriftPointsNow
[g
] > 70 && DriftPointsNow
[g
]<10000){ ///////////// by Yaplo Rock// HomeHots //////////////////// if(DriftPointsNow
[g
]<200){ DriftBonus
[g
]=1;
} if(DriftPointsNow
[g
]>=200 && DriftPointsNow
[g
]<500){ DriftBonus
[g
]=2;
} if(DriftPointsNow
[g
]>=500 && DriftPointsNow
[g
]<1000){ DriftBonus
[g
]=3;
} if(DriftPointsNow
[g
]>=1000 && DriftPointsNow
[g
]<1500){ DriftBonus
[g
]=4;
} if(DriftPointsNow
[g
]>=1500){ DriftBonus
[g
]=5;
} TextDrawShowForPlayer
(g,TDLabels
[0]);
TextDrawShowForPlayer
(g,TDLabels
[1]);
TextDrawShowForPlayer
(g,TDLabels
[2]);
TextDrawShowForPlayer
(g,TDValueDrift
[g
]);
TextDrawShowForPlayer
(g,TDValueBonus
[g
]);
TextDrawShowForPlayer
(g,TDValueCash
[g
]);
new DPs
[128],DBn
[128],Cash
[128],csh;
valstr(DPs,DriftPointsNow
[g
],false
);
format(DBn,
sizeof(DBn
),
"X%i",DriftBonus
[g
]);
csh
=DriftPointsNow
[g
]*DriftBonus
[g
];
format(Cash,
sizeof(Cash
),
"$%i",csh
);
TextDrawSetString
(TDValueDrift
[g
],DPs
);
TextDrawSetString
(TDValueBonus
[g
],DBn
);
TextDrawSetString
(TDValueCash
[g
],Cash
);
//////////////////////////////////////// } SavedPos
[ g
][ sX
] = X;
SavedPos
[ g
][ sY
] = Y;
SavedPos
[ g
][ sZ
] = Z;
}}public AngleUpdate
(){ // by Yaplo Rock// HomeHots for(new g
=0;g
<=MAX_PLAYERS;g
++){ new Float:x,
Float:y,
Float:z;
if(IsPlayerInAnyVehicle
(g
))GetVehiclePos
(GetPlayerVehicleID
(g
), x, y, z
);
else GetPlayerPos
(g, x, y, z
);
ppos
[g
][0] = x;
ppos
[g
][1] = y;
ppos
[g
][2] = z;
}}floatval
(Float:val
){ // by Yaplo Rock// HomeHots new str
[256];
format(str,
256,
"%.0f", val
);
return todec
(str
);
}todec
(str
[]){ // by Yaplo Rock// HomeHots return strval(str
);
}LoadTextDraws
(){ // by Yaplo Rock// HomeHots TDLabels
[0]=TextDrawCreate
(Label_X,TD_Y,
"[DsR] Pontos");
TextDrawColor
(TDLabels
[0],COLOR_Label
);
TextDrawSetShadow
(TDLabels
[0],
0);
TextDrawSetOutline
(TDLabels
[0],
1);
TextDrawLetterSize
(TDLabels
[0],
0.5,
2);
TextDrawBackgroundColor
(TDLabels
[0],COLOR_LabelOut
);
TextDrawFont
(TDLabels
[0],
1);
TDLabels
[1]=TextDrawCreate
(Label_X,TD_Y
+50,
"[DsR] Bonus");
TextDrawColor
(TDLabels
[1],COLOR_Label
);
TextDrawSetShadow
(TDLabels
[1],
0);
TextDrawSetOutline
(TDLabels
[1],
1);
TextDrawLetterSize
(TDLabels
[1],
0.5,
2);
TextDrawBackgroundColor
(TDLabels
[1],COLOR_LabelOut
);
TextDrawFont
(TDLabels
[1],
1);
TDLabels
[2]=TextDrawCreate
(Label_X,TD_Y
+100,
"[DsR] Grana");
TextDrawColor
(TDLabels
[2],COLOR_Label
);
TextDrawSetShadow
(TDLabels
[2],
0);
TextDrawSetOutline
(TDLabels
[2],
1);
TextDrawLetterSize
(TDLabels
[2],
0.5,
2);
TextDrawBackgroundColor
(TDLabels
[2],COLOR_LabelOut
);
TextDrawFont
(TDLabels
[2],
1);
new i;
for(i
=0;i
<=MAX_PLAYERS;i
++){ TDValueDrift
[i
]=TextDrawCreate
(Value_X,TD_Y
+20,
"0");
TextDrawColor
(TDValueDrift
[i
],COLOR_Value
);
TextDrawSetShadow
(TDValueDrift
[i
],
0);
TextDrawSetOutline
(TDValueDrift
[i
],
1);
TextDrawLetterSize
(TDValueDrift
[i
],
0.5,
2);
TextDrawBackgroundColor
(TDValueDrift
[i
],COLOR_ValueOut
);
TextDrawFont
(TDValueDrift
[i
],
3);
TDValueBonus
[i
]=TextDrawCreate
(Value_X,TD_Y
+70,
"X1");
TextDrawColor
(TDValueBonus
[i
],COLOR_Value
);
TextDrawSetShadow
(TDValueBonus
[i
],
0);
TextDrawSetOutline
(TDValueBonus
[i
],
1);
TextDrawLetterSize
(TDValueBonus
[i
],
0.5,
2);
TextDrawBackgroundColor
(TDValueBonus
[i
],COLOR_ValueOut
);
TextDrawFont
(TDValueBonus
[i
],
3);
TDValueCash
[i
]=TextDrawCreate
(Value_X,TD_Y
+120,
"$0");
TextDrawColor
(TDValueCash
[i
],COLOR_Value
);
TextDrawSetShadow
(TDValueCash
[i
],
0);
TextDrawSetOutline
(TDValueCash
[i
],
1);
TextDrawLetterSize
(TDValueCash
[i
],
0.5,
2);
TextDrawBackgroundColor
(TDValueCash
[i
],COLOR_ValueOut
);
TextDrawFont
(TDValueCash
[i
],
3);
} return 1;
}public CheckPlayerState
(){ //by Yaplo Rock// HomeHots new i,cs;
for(i
=0;i
<=MAX_PLAYERS;i
++){ cs
=GetPlayerState
(i
);
if(DriftMode
[i
] && cs
==PLAYER_STATE_DRIVER
&& DriftPointsNow
[i
]>70){ new Float:h;
GetVehicleHealth
(GetPlayerVehicleID
(i
),h
);
if(h
<HealthInit
[i
]){ KillTimer
(DriftTimer
[i
]);
DriftExit
(i
);
GameTextForPlayer
(i,
"~n~~n~~n~~n~~n~~n~Uh~n~~r~b~Quase!",
800,
5);
DriftMode
[i
]=false;
} } if(cs
==PLAYER_STATE_DRIVER
&& DriftMode
[i
]==false
){ if(GetVType
(GetPlayerVehicleID
(i
))){ DriftMode
[i
]=true;
GetVehicleHealth
(GetPlayerVehicleID
(i
),HealthInit
[i
]);
AutoFixBool
[i
]=false;
DriftTimer
[i
]=SetTimerEx
("Drift",
200, true,
"i", i
);
} } else if(cs
!=PLAYER_STATE_DRIVER
&& DriftMode
[i
]==true
){ KillTimer
(DriftTimer
[i
]);
DriftMode
[i
]=false;
AutoFixBool
[i
]=true;
} else{} } return 1;
}public AutoFix
(){ // by Yaplo Rock// HomeHots new i;
for(i
=0;i
<=MAX_PLAYERS;i
++){ if(AutoFixBool
[i
] && IsPlayerInAnyVehicle
(i
)){ SetVehicleHealth
(GetPlayerVehicleID
(i
),HealthInit
[i
]);
} }}GetVType
(vid
){ // by Yaplo Rock// HomeHots new Convertibles
[4]={480,
533,
439,
555};
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};
new LowRider
[8]={536,
575,
534,
567,
535,
566,
576,
412};
new OffRoad
[13]={568,
424,
573,
579,
400,
500,
444,
556,
557,
470,
489,
505,
595};
new Service
[19]={416,
433,
431,
438,
437,
523,
427,
490,
528,
407,
544,
596,
596,
597,
598,
599,
432,
601,
420};
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};
new Sports
[20]={602,
429,
496,
402,
541,
415,
589,
587,
565,
494,
502,
503,
411,
559,
603,
475,
506,
451,
558,
477};
new Wagons
[5]={418,
404,
479,
458,
561};
new modelid
=GetVehicleModel
(vid
);
new i;
for(i
=0;i
<3;i
++){ if(Convertibles
[i
]==modelid
) return 1;
} for(i
=0;i
<25;i
++){ if(Industrial
[i
]==modelid
) return 1;
} for(i
=0;i
<7;i
++){ if(LowRider
[i
]==modelid
) return 1;
} for(i
=0;i
<12;i
++){ if(OffRoad
[i
]==modelid
) return 1;
} for(i
=0;i
<19;i
++){ if(Service
[i
]==modelid
) return 1;
} for(i
=0;i
<35;i
++){ if(Saloon
[i
]==modelid
) return 1;
} for(i
=0;i
<20;i
++){ if(Sports
[i
]==modelid
) return 1;
} for(i
=0;i
<5;i
++){ if(Wagons
[i
]==modelid
) return 1;
} return 0;
}
с sei se й possivel! Caso For Ajude-me !!!!
"- Eu Tambem с sei tipo, essas coisas de OnFilterscriptExit, etc... eu n sei aonde colocaria as coisas que vem nessa public !
Re: Olб pessoal, tem como passar isso pro gm? -
Hardware - 21.09.2011
Porque nгo daria? ._.
Re: Olб pessoal, tem como passar isso pro gm? -
Leo_Lost - 21.09.2011
Claro que tem.
Re: Olб pessoal, tem como passar isso pro gm? -
CyNiC - 21.09.2011
Coloque tudo no gamemode, exceto os callbacks OnFilterScriptInit e Exit, o que estб dentro disso vai pra o OnGameModeInit e Exit.
Re: Olб pessoal, tem como passar isso pro gm? -
Lуs - 21.09.2011
pawn Код:
//=============================== TOPO ======================================
#define DRIFT_MINKAT 10.0
#define DRIFT_MAXKAT 90.0
#define DRIFT_SPEED 30.0
#define COLOR_Label 0xFFFFFFFF
#define COLOR_LabelOut 0x00000040
#define COLOR_ValueOut 0xFFFFFF40
#define COLOR_Value 0x000000FF
#define Label_X 500
#define Value_X 500
#define TD_Y 100
new DriftTimer[MAX_PLAYERS]; // Added by Yaplo Rock// HomeHots
new TimerA,TimerB,TimerC; // Added by Yaplo Rock// HomeHots
new DriftPointsNow[MAX_PLAYERS]; // by Yaplo Rock// HomeHots
new PlayerDriftCancellation[MAX_PLAYERS]; // by Yaplo Rock// HomeHots
new Float:ppos[MAX_PLAYERS][3]; // by Yaplo Rock// HomeHots
enum Float:Pos{ Float:sX,Float:sY,Float:sZ }; // by Yaplo Rock// HomeHots
new Float:SavedPos[MAX_PLAYERS][Pos]; // by Yaplo Rock// HomeHots
new bool:DriftMode[MAX_PLAYERS]=false; // Added by Yaplo Rock// HomeHots
new DriftBonus[MAX_PLAYERS]=1; // Added by Yaplo Rock// HomeHots
new Float:HealthInit[MAX_PLAYERS]=1000.0; // Added by Yaplo Rock// HomeHots
new bool:AutoFixBool[MAX_PLAYERS]=true; // Added by Yaplo Rock// HomeHots
new Text:TDLabels[3]; // Added by Yaplo Rock// HomeHots
new Text:TDValueDrift[MAX_PLAYERS]; // Added by Yaplo Rock// HomeHots
new Text:TDValueBonus[MAX_PLAYERS]; // Added by Yaplo Rock// HomeHots
new Text:TDValueCash[MAX_PLAYERS]; // Added by Yaplo Rock// HomeHots
forward Drift(); // by Yaplo Rock// HomeHots
forward AngleUpdate(); // by Yaplo Rock// HomeHots
forward DriftExit(playerid); // by Yaplo Rock// HomeHots
forward CheckPlayerState(); // Added by Yaplo Rock// HomeHots
forward AutoFix(); // Added by Yaplo Rock// HomeHots
//============================================ ONGAMEMODE =========================================//
public OnGameModeInit()
{
TimerA=SetTimer("AngleUpdate", 200, true); // by Yaplo Rock// HomeHots
TimerB=SetTimer("AutoFix", 500, true); //by Yaplo Rock// HomeHots
TimerC=SetTimer("CheckPlayerState", 100, true); //by Yaplo Rock// HomeHots
LoadTextDraws();
return 1;
}
public OnGameModeExit()
{
KillTimer(TimerA);
KillTimer(TimerB);
KillTimer(TimerC);
return 1;
}
//============================================ FIM DO GAMEMODE FORA DE OUTRAS PUBLICS ==================================//
Float:GetPlayerTheoreticAngle(i) // by Yaplo Rock// HomeHots
{
new Float:sin;
new Float:dis;
new Float:angle2;
new Float:x,Float:y,Float:z;
new Float:tmp3;
new Float:tmp4;
new Float:MindAngle;
if(IsPlayerConnected(i)){
GetPlayerPos(i,x,y,z);
dis = floatsqroot(floatpower(floatabs(floatsub(x,ppos[i][0])),2)+floatpower(floatabs(floatsub(y,ppos[i][1])),2));
if(IsPlayerInAnyVehicle(i)){GetVehicleZAngle(GetPlayerVehicleID(i), angle2);}else{GetPlayerFacingAngle(i, angle2);}
if(x>ppos[i][0]){tmp3=x-ppos[i][0];}else{tmp3=ppos[i][0]-x;}
if(y>ppos[i][1]){tmp4=y-ppos[i][1];}else{tmp4=ppos[i][1]-y;}
if(ppos[i][1]>y && ppos[i][0]>x){
sin = asin(tmp3/dis);
MindAngle = floatsub(floatsub(floatadd(sin, 90), floatmul(sin, 2)), -90.0);
}
if(ppos[i][1]<y && ppos[i][0]>x){
sin = asin(tmp3/dis);
MindAngle = floatsub(floatadd(sin, 180), 180.0);
}
if(ppos[i][1]<y && ppos[i][0]<x){
sin = acos(tmp4/dis);
MindAngle = floatsub(floatadd(sin, 360), floatmul(sin, 2));
}
if(ppos[i][1]>y && ppos[i][0]<x){
sin = asin(tmp3/dis);
MindAngle = floatadd(sin, 180);
}
}
if(MindAngle == 0.0){return angle2;}else{return MindAngle;}
}
public DriftExit(playerid){ // by Yaplo Rock// HomeHots
PlayerDriftCancellation[playerid] = 0;
////////////////// by Yaplo Rock// HomeHots ///////////////////
new Float:h;
GetVehicleHealth(GetPlayerVehicleID(playerid),h);
if(DriftPointsNow[playerid]>70 && DriftPointsNow[playerid]<10000 && h==HealthInit[playerid]) GivePlayerMoney(playerid,DriftPointsNow[playerid]*DriftBonus[playerid]);
TextDrawHideForPlayer(playerid,TDLabels[0]);
TextDrawHideForPlayer(playerid,TDLabels[1]);
TextDrawHideForPlayer(playerid,TDLabels[2]);
TextDrawHideForPlayer(playerid,TDValueDrift[playerid]);
TextDrawHideForPlayer(playerid,TDValueBonus[playerid]);
TextDrawHideForPlayer(playerid,TDValueCash[playerid]);
DriftBonus[playerid]=1;
AutoFixBool[playerid]=true;
SetVehicleHealth(GetPlayerVehicleID(playerid),HealthInit[playerid]);
////////////////////////////////////////////////////
DriftPointsNow[playerid] = 0;
}
Float:ReturnPlayerAngle(playerid){ // by Yaplo Rock// HomeHots
new Float:Ang;
if(IsPlayerInAnyVehicle(playerid))GetVehicleZAngle(GetPlayerVehicleID(playerid), Ang); else GetPlayerFacingAngle(playerid, Ang);
return Ang;
}
public Drift(){ // by Yaplo Rock// HomeHots
new Float:Angle1, Float:Angle2, Float:BySpeed;
new Float:Z;
new Float:X;
new Float:Y;
new Float:SpeedX;
for(new g=0;g<200;g++){
GetPlayerPos(g, X, Y, Z);
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)));
Angle1 = ReturnPlayerAngle(g);
Angle2 = GetPlayerTheoreticAngle(g);
BySpeed = floatmul(SpeedX, 12);
if(IsPlayerInAnyVehicle(g) && GetVType(GetPlayerVehicleID(g)) && floatabs(floatsub(Angle1, Angle2)) > DRIFT_MINKAT && floatabs(floatsub(Angle1, Angle2)) < DRIFT_MAXKAT && BySpeed > DRIFT_SPEED){
if(PlayerDriftCancellation[g] > 0)KillTimer(PlayerDriftCancellation[g]);
PlayerDriftCancellation[g] = 0;
DriftPointsNow[g] += floatval( floatabs(floatsub(Angle1, Angle2)) * 3 * (BySpeed*0.1) )/10;
PlayerDriftCancellation[g] = SetTimerEx("DriftExit", 3000, 0, "d", g);
}
if(DriftPointsNow[g] > 70 && DriftPointsNow[g]<10000){
///////////// by Yaplo Rock// HomeHots ////////////////////
if(DriftPointsNow[g]<200){
DriftBonus[g]=1;
}
if(DriftPointsNow[g]>=200 && DriftPointsNow[g]<500){
DriftBonus[g]=2;
}
if(DriftPointsNow[g]>=500 && DriftPointsNow[g]<1000){
DriftBonus[g]=3;
}
if(DriftPointsNow[g]>=1000 && DriftPointsNow[g]<1500){
DriftBonus[g]=4;
}
if(DriftPointsNow[g]>=1500){
DriftBonus[g]=5;
}
TextDrawShowForPlayer(g,TDLabels[0]);
TextDrawShowForPlayer(g,TDLabels[1]);
TextDrawShowForPlayer(g,TDLabels[2]);
TextDrawShowForPlayer(g,TDValueDrift[g]);
TextDrawShowForPlayer(g,TDValueBonus[g]);
TextDrawShowForPlayer(g,TDValueCash[g]);
new DPs[128],DBn[128],Cash[128],csh;
valstr(DPs,DriftPointsNow[g],false);
format(DBn,sizeof(DBn),"X%i",DriftBonus[g]);
csh=DriftPointsNow[g]*DriftBonus[g];
format(Cash,sizeof(Cash),"$%i",csh);
TextDrawSetString(TDValueDrift[g],DPs);
TextDrawSetString(TDValueBonus[g],DBn);
TextDrawSetString(TDValueCash[g],Cash);
////////////////////////////////////////
}
SavedPos[ g ][ sX ] = X;
SavedPos[ g ][ sY ] = Y;
SavedPos[ g ][ sZ ] = Z;
}
}
public AngleUpdate(){ // by Yaplo Rock// HomeHots
for(new g=0;g<=MAX_PLAYERS;g++){
new Float:x, Float:y, Float:z;
if(IsPlayerInAnyVehicle(g))GetVehiclePos(GetPlayerVehicleID(g), x, y, z); else GetPlayerPos(g, x, y, z);
ppos[g][0] = x;
ppos[g][1] = y;
ppos[g][2] = z;
}
}
floatval(Float:val){ // by Yaplo Rock// HomeHots
new str[256];
format(str, 256, "%.0f", val);
return todec(str);
}
todec(str[]){ // by Yaplo Rock// HomeHots
return strval(str);
}
LoadTextDraws(){ // by Yaplo Rock// HomeHots
TDLabels[0]=TextDrawCreate(Label_X,TD_Y,"[DsR] Pontos");
TextDrawColor(TDLabels[0],COLOR_Label);
TextDrawSetShadow(TDLabels[0],0);
TextDrawSetOutline(TDLabels[0],1);
TextDrawLetterSize(TDLabels[0],0.5,2);
TextDrawBackgroundColor(TDLabels[0],COLOR_LabelOut);
TextDrawFont(TDLabels[0],1);
TDLabels[1]=TextDrawCreate(Label_X,TD_Y+50,"[DsR] Bonus");
TextDrawColor(TDLabels[1],COLOR_Label);
TextDrawSetShadow(TDLabels[1],0);
TextDrawSetOutline(TDLabels[1],1);
TextDrawLetterSize(TDLabels[1],0.5,2);
TextDrawBackgroundColor(TDLabels[1],COLOR_LabelOut);
TextDrawFont(TDLabels[1],1);
TDLabels[2]=TextDrawCreate(Label_X,TD_Y+100,"[DsR] Grana");
TextDrawColor(TDLabels[2],COLOR_Label);
TextDrawSetShadow(TDLabels[2],0);
TextDrawSetOutline(TDLabels[2],1);
TextDrawLetterSize(TDLabels[2],0.5,2);
TextDrawBackgroundColor(TDLabels[2],COLOR_LabelOut);
TextDrawFont(TDLabels[2],1);
new i;
for(i=0;i<=MAX_PLAYERS;i++){
TDValueDrift[i]=TextDrawCreate(Value_X,TD_Y+20,"0");
TextDrawColor(TDValueDrift[i],COLOR_Value);
TextDrawSetShadow(TDValueDrift[i],0);
TextDrawSetOutline(TDValueDrift[i],1);
TextDrawLetterSize(TDValueDrift[i],0.5,2);
TextDrawBackgroundColor(TDValueDrift[i],COLOR_ValueOut);
TextDrawFont(TDValueDrift[i],3);
TDValueBonus[i]=TextDrawCreate(Value_X,TD_Y+70,"X1");
TextDrawColor(TDValueBonus[i],COLOR_Value);
TextDrawSetShadow(TDValueBonus[i],0);
TextDrawSetOutline(TDValueBonus[i],1);
TextDrawLetterSize(TDValueBonus[i],0.5,2);
TextDrawBackgroundColor(TDValueBonus[i],COLOR_ValueOut);
TextDrawFont(TDValueBonus[i],3);
TDValueCash[i]=TextDrawCreate(Value_X,TD_Y+120,"$0");
TextDrawColor(TDValueCash[i],COLOR_Value);
TextDrawSetShadow(TDValueCash[i],0);
TextDrawSetOutline(TDValueCash[i],1);
TextDrawLetterSize(TDValueCash[i],0.5,2);
TextDrawBackgroundColor(TDValueCash[i],COLOR_ValueOut);
TextDrawFont(TDValueCash[i],3);
}
return 1;
}
public CheckPlayerState(){ //by Yaplo Rock// HomeHots
new i,cs;
for(i=0;i<=MAX_PLAYERS;i++){
cs=GetPlayerState(i);
if(DriftMode[i] && cs==PLAYER_STATE_DRIVER && DriftPointsNow[i]>70){
new Float:h;
GetVehicleHealth(GetPlayerVehicleID(i),h);
if(h<HealthInit[i]){
KillTimer(DriftTimer[i]);
DriftExit(i);
GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~Uh~n~~r~b~Quase!",800,5);
DriftMode[i]=false;
}
}
if(cs==PLAYER_STATE_DRIVER && DriftMode[i]==false){
if(GetVType(GetPlayerVehicleID(i))){
DriftMode[i]=true;
GetVehicleHealth(GetPlayerVehicleID(i),HealthInit[i]);
AutoFixBool[i]=false;
DriftTimer[i]=SetTimerEx("Drift", 200, true, "i", i);
}
}
else if(cs!=PLAYER_STATE_DRIVER && DriftMode[i]==true){
KillTimer(DriftTimer[i]);
DriftMode[i]=false;
AutoFixBool[i]=true;
}
else{}
}
return 1;
}
public AutoFix(){ // by Yaplo Rock// HomeHots
new i;
for(i=0;i<=MAX_PLAYERS;i++){
if(AutoFixBool[i] && IsPlayerInAnyVehicle(i)){
SetVehicleHealth(GetPlayerVehicleID(i),HealthInit[i]);
}
}
}
GetVType(vid){ // by Yaplo Rock// HomeHots
new Convertibles[4]={480, 533, 439, 555};
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};
new LowRider[8]={536, 575, 534, 567, 535, 566, 576, 412};
new OffRoad[13]={568, 424, 573, 579, 400, 500, 444, 556, 557, 470, 489, 505, 595};
new Service[19]={416, 433, 431, 438, 437, 523, 427, 490, 528, 407, 544, 596, 596, 597, 598, 599, 432, 601, 420};
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};
new Sports[20]={602, 429, 496, 402, 541, 415, 589, 587, 565, 494, 502, 503, 411, 559, 603, 475, 506, 451, 558, 477};
new Wagons[5]={418, 404, 479, 458, 561};
new modelid=GetVehicleModel(vid);
new i;
for(i=0;i<3;i++){
if(Convertibles[i]==modelid) return 1;
}
for(i=0;i<25;i++){
if(Industrial[i]==modelid) return 1;
}
for(i=0;i<7;i++){
if(LowRider[i]==modelid) return 1;
}
for(i=0;i<12;i++){
if(OffRoad[i]==modelid) return 1;
}
for(i=0;i<19;i++){
if(Service[i]==modelid) return 1;
}
for(i=0;i<35;i++){
if(Saloon[i]==modelid) return 1;
}
for(i=0;i<20;i++){
if(Sports[i]==modelid) return 1;
}
for(i=0;i<5;i++){
if(Wagons[i]==modelid) return 1;
}
return 0;
}
Re: Olб pessoal, tem como passar isso pro gm? -
Gustavo_Samp - 21.09.2011
Pessoas, Deu esse erro: me ajudem!
C:\Users\Gustavo\Desktop\Gustavo\[DsR] Server\gamemodes\DsR.pwn(353) : warning 225: unreachable code
C:\Users\Gustavo\Desktop\Gustavo\[DsR] Server\gamemodes\DsR.pwn(1376) : error 021: symbol already defined: "TextDrawHideForAll"
C:\Users\Gustavo\Desktop\Gustavo\[DsR] Server\gamemodes\DsR.pwn(1377) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
2 Errors.
Re: Olб pessoal, tem como passar isso pro gm? -
Lуs - 21.09.2011
Linhas?
Re: Olб pessoal, tem como passar isso pro gm? -
Gustavo_Samp - 21.09.2011
public OnGameModeExit()
{
KillTimer(TimerA);
KillTimer(TimerB);
KillTimer(TimerC);
return 1;
}
TextDrawHideForAll(Textdraw0),TextDrawDestroy(Text draw0);
return 1;
}
Re: Olб pessoal, tem como passar isso pro gm? -
Lуs - 21.09.2011
pawn Код:
public OnGameModeExit()
{
KillTimer(TimerA);
KillTimer(TimerB);
KillTimer(TimerC);
TextDrawHideForAll(Textdraw0);
TextDrawDestroy(Textdraw0);
return 1;
}
Re: Olб pessoal, tem como passar isso pro gm? -
Gustavo_Samp - 21.09.2011
eu tiro a linha; TextDrawHideForAll(Textdraw0),TextDrawDestroy(Text draw0);
?