Lukasbank
Wiek: 30 Na forum: 5329 dni Posty: 249
Nick w MP: [USD]LuXoR[X]
Piwa : 404
siema mam problem z teleportami
mam serwer driftu i powiedzmy ze kto? driftuje i nagle teleportuje sie w inne miejsce
drifting tego gracza powi?ksza 20 - krotnie ;/ jest jakis spos?b zeby przy tej teleportacji nie robi?o sie tak
?
teleport
Kod: //----------------------------- [ LS ] ----------------------------------
CMD:ls(playerid, cmdtext[])
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
SetVehiclePos(GetPlayerVehicleID(playerid),2431.1221, -1731.8683, 12.8738);
SetVehicleZAngle(GetPlayerVehicleID(playerid),20);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, SEND,"System Teleport?w: Witaj na Los Santos.");
format(StrTeleport, sizeof(StrTeleport), "** %s przeni?s? si? na "RED"/ls **", PlayerName(playerid));
SendClientMessageToAll(TP, StrTeleport);
}
else
{
SetPlayerFacingAngle(playerid,20);
SetPlayerPos(playerid,2431.1221, -1731.8683, 12.8738);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, SEND,"System Teleport?w: Witaj na Los Santos.");
format(StrTeleport, sizeof(StrTeleport), "** %s przeni?s? si? na "RED"/ls **", PlayerName(playerid));
SendClientMessageToAll(TP, StrTeleport);
}
return 1;
}
podsumowanie Driftu
Kod:
PunktyDriftuGracza[playerid] = 0;
SetPlayerScore(playerid, GetPlayerScore(playerid) +DriftPointsNow[playerid]);
DriftPointsNow[playerid] = 0;
Kod:
for(g=0; g <= MAX_PLAYERS; 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(GetPlayerState(g) == PLAYER_STATE_DRIVER && IsCar(GetPlayerVehicleID(g)) && floatabs(floatsub(Angle1, Angle2)) > DRIFT_MINKAT && floatabs(floatsub(Angle1, Angle2)) < DRIFT_MAXKAT && BySpeed > DRIFT_SPEED){
if(PunktyDriftuGracza[g] > 0) KillTimer(PunktyDriftuGracza[g]);
PunktyDriftuGracza[g] = 0;
DriftPointsNow[g] += floatval( floatabs(floatsub(Angle1, Angle2)) * 3 * (BySpeed*0.1) )/10;
PunktyDriftuGracza[g] = SetTimerEx("PodsumowanieDriftu", 3000, 0, "d", g);
}