Also ihr kennt ja bestimmt alle GTA IV Wer nicht ?? XD
Naja egal ich möchte auf meinem Server so etwas nachstellen
Ich hab da an switch gedacht und würd gern ma wissen ob das so gut ist oder mit ner anderen Funktion zu machen wäre
Lg Dennis
Also ihr kennt ja bestimmt alle GTA IV Wer nicht ?? XD
Naja egal ich möchte auf meinem Server so etwas nachstellen
Ich hab da an switch gedacht und würd gern ma wissen ob das so gut ist oder mit ner anderen Funktion zu machen wäre
Lg Dennis
Was willst du machen?
Ich will versuchen so eine Bug Schaukel nachzustellen nur in GTA San Andreas.
Mit switch denke ich den Schub zu switchen.
Weißt du überhaupt wofür switch verwendet wird, oder versteh ich einfach grade nicht was du genau erreichen willst ?
Wie schon gesagt ich denke das man mit switch den Schub verändern kann also wie heftig der Spieler weg gekickt wird.
Sowas geiles hab ich ja noch nie gelesen!
Versuch es mal mit SetVehicleVelocity
http://www.youtube.com/watch?v=EtHEY8RviZI Das will er machen xD
Nur in GTA Sa...
Den Sinn verstehe ich allerdings nicht
Dazu kannst du switch verwenden:
switch(a)
{
case 0: a = 1;
case 1: a = 0;
}
Wie kommst du darauf da irgendwas mit nem Schub machen zu können ?
IsPlayerInRangeOfPoint
GetPlayerPos
SetPlayerPos
Damit sollte es gehen, aber nicht mit switch.
Hmm ich denke nicht an PlayerPos ich denke an SetVehicleVelocity und IsPlayerInRangeOfPoint.
Und dass man mit switch den Velocity Float erhöht oder verringert
Habs geschafft mit Switch :DDDDDD
Soo gehts ohne Fehler xDD
public VehiclePower(Schub, playerid)
{
new Float:X, Float:Y, Float:Z;
GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z);
new Power;
Power = random(5);
switch(Power)
{
case 0: { SetVehicleVelocity(GetPlayerVehicleID(playerid), X +2, Y +3, Z+ 132); }
case 1: { SetVehicleVelocity(GetPlayerVehicleID(playerid), X +0, Y -2, Z+ 5); }
case 2: { SetVehicleVelocity(GetPlayerVehicleID(playerid), X +5, Y +12, Z+ 250); }
case 3: { SetVehicleVelocity(GetPlayerVehicleID(playerid), X +1, Y -2, Z+0); }
case 4: { SetVehicleVelocity(GetPlayerVehicleID(playerid), X +4, Y +3, Z+ 12); }
}
return 1;
}
Und dass hab ich auch noch oben bei OnPlayerUpdate
if(IsVehicleInRangeOfPoint(GetPlayerVehicleID(playerid),3.0,1892.82128906,-1169.95007324,24.79199600))
{
new Timer5;
Timer5 = SetTimer("VehiclePower", 5000, false);
} else { KillTimer(Timer5); }
Die Schaukel musste ich mit MTA erstellen da es keine gab aber es funzt xD
//e1
//e2
//e3 Code geändert funzt jetzt
Die Schaukel musste ich mit MTA erstellen da es keine gab aber es funzt xD
So wie du es erstellt hast, ist es Global.
Es wird nur funktionieren, wenn 1 Spieler Online ist.
Ansonsten werden alle Teleportiert bzw der Timer startet und bricht wieder ab.
Hab ein paar Bilder gemacht
http://imageshack.us/photo/my-images/844/samp006eq.png/
und
http://imageshack.us/photo/my-images/94/samp007fk.png/
So etwas ähnliches gibt es auch bei NSG. Da heißt es Carpistol
Aber coole IDEE:)
Ehmm mach mal lieber mit SetTimerEx....
Erstens wie oben erwähnt ist dein Code Global und geht derzeit nur mit einem Spieler problemlos, zweitens stimmt es nicht was du da geschrieben hast in der Beschreibung, du hast nicht mal eingebaut das gesetzt wird in welche Richtung man fliegt, da VehicleVelocity nur die Geschwindigkeit/den Schub verändert und nicht die Richtung wird man dahin geschleudert wohin das Auto gerade sich bewegt.
ZitatErstens wie oben erwähnt ist dein Code Global und geht derzeit nur mit einem Spieler problemlos
Negativ. Ich habe die Schleife entfernt und mit playerid versehen.
Die Playerid die davor fährt wird geschubst nicht die anderen.
//e ich ergänze mal den Code
if(IsVehicleInRangeOfPoint(GetPlayerVehicleID(playerid),3.5 ,1892.82128906,-1169.95007324,24.79199600)) //Nur die Player die in der Reichweite ist.
{
new GetPower;
GetPower = random(9);
switch(GetPower)
{
case 0:
{
new Float:X, Float:Y, Float:Z;
GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z);
SetVehicleVelocity(GetPlayerVehicleID(playerid), X *2.0, Y *3.0, Z* 1.0);
}
case 1:
{
new Float:X, Float:Y, Float:Z;
GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z);
SetVehicleVelocity(GetPlayerVehicleID(playerid), X *0.1, Y -2.0, Z* 2.5);
}