Hi,
ich habe mal soein Script gesehen, wie im Titel beschrieben.
Ist sowas kompliziert?
Grüße
Hi,
ich habe mal soein Script gesehen, wie im Titel beschrieben.
Ist sowas kompliziert?
Grüße
Also ich habs per Command "/boost" ;D .
}
if (strcmp("/Boost", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid) == 1)
{
if(ISDM[playerid] == 0) // ER IST NICHT DM
{
new Float:vX, Float:vY, Float:vZ, Float:vA;
new myCar = GetPlayerVehicleID(playerid);
GetVehicleZAngle(myCar, vA);
GetVehicleVelocity(myCar,vX,vY, vZ);
SetVehicleVelocity(myCar, vX+=0.60 * floatsin(-vA, degrees), vY+=0.60 * floatcos(-vA, degrees), vZ);
}
else
{
SendClientMessage(playerid, COLOR_RED,"Du darfst diesen Befehl zurzeit nicht ausführen!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Du musst dafür in einem Auto sein!");
}
return 1;
Alles anzeigenAlso ich habs per Command "/boost" ;D .
}
if (strcmp("/Boost", cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid) == 1)
{
if(ISDM[playerid] == 0) // ER IST NICHT DM
{
new Float:vX, Float:vY, Float:vZ, Float:vA;
new myCar = GetPlayerVehicleID(playerid);
GetVehicleZAngle(myCar, vA);
GetVehicleVelocity(myCar,vX,vY, vZ);
SetVehicleVelocity(myCar, vX+=0.60 * floatsin(-vA, degrees), vY+=0.60 * floatcos(-vA, degrees), vZ);
}
else
{
SendClientMessage(playerid, COLOR_RED,"Du darfst diesen Befehl zurzeit nicht ausführen!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Du musst dafür in einem Auto sein!");
}
return 1;
Das ist dumm gemacht, der schießt einen immer nach vorne >.<'
Außerdem ist mit Command dumm ..
Danke für die schnellen Antworten
Bei mir funktioniert das aber irgendwie nicht
ich hab das unter OnPlayerKeyStateChange eingefügt und Pawno zeigt auch keinen Fehler aber die Fahrzeuge beschleunigen gar nicht wenn man Alt drückt
Alles anzeigenOnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys & KEY_WALK)
{
if(!IsPlayerInAnyVehicle(playerid)) return 1;
new Float:vX, Float:vY, Float:vZ, Float:vA;
new myCar = GetPlayerVehicleID(playerid);
GetVehicleZAngle(myCar, vA);
GetVehicleVelocity(myCar,vX,vY, vZ);
SetVehicleVelocity(myCar, vX+=0.60 * floatsin(-vA, degrees), vY+=0.60 * floatcos(-vA, degrees), vZ);
return 1;
}
return 1;
}
Cool gemacht ... werd ich glei ma ausprobieren xD
Ich habe den Cmd von Cedii mal versucht umzuwandeln, sodass man den mit Tasten bedienen kann, aber das funktioniert irgendwie noch nicht:
if (newkeys & KEY_WALK)
{
if(IsPlayerInAnyVehicle(playerid) == 1)
{
new Float:vX, Float:vY, Float:vZ, Float:vA;
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleZAngle(vehicleid, vA);
GetVehicleVelocity(vehicleid,vX,vY, vZ);
SetVehicleVelocity(vehicleid, vX+=0.60 * floatsin(-vA, degrees), vY+=0.60 * floatcos(-vA, degrees), vZ);
}
else
{
SendClientMessage(playerid, rot2,"Du musst in einem Auto sitzen");
}
return 1;
}
Wenn man nicht im Auto sitzt und "Alt" drückt kommt die Meldung "Du musst in einem Auto sitzen", aber wenn man im Auto sitzt passiert nichts.
Wenn ich das aber als Cmd einbaue und praktisch nur die erste Zeile anders ist funktioniert der Cmd einwandfrei.
Edit: Was bedeutet eigentlich dieses "+="?
if(newkeys & KEY_WALK)
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:x, Float:y, Float:z;
GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
SetVehicleVelocity(GetPlayerVehicleID(playerid),x*1.5,y*1.5,z*1.5);
}
}
So hab ich's und es klappt.
auch damit geht das bei mir nicht
Dann musst du deine eigene Steuerung ändern, das heißt die fürs Spiel
Ich habe den Fehler gefunden: KEY_WALK ist nur möglich, wenn man nicht in einem Fahrzeug ist. Mit KEY_FIRE geht es.
Allerdings habe ich schon auf einigen Servern gesehen, dass man auch mit Buchstaben, wie zum Beispiel m, k oder h bestimmte Befehle ausführen kann.
Wie soll das denn gehen?
ja, du kannst ein cmd(hab ich iwo schonmal gescrhieben), z.b. machst du unter onplayerkey.. ne fenuktion, z.b. GetPlayerKey, und machst dann sendclientmessage diese aste als nummer die du gedrückt hast, notierst sie, definierst sie, und dann fragst du ab, ob es diese tastenummer ist.
Ich verstehe bei GetPlayerKeys(playerid,key1,key2,key3) das mit den Variablen nicht
wenn ich key1-3 als Arrays definiere, dann sagt Pawn, dass das 2. Agument nicht passt
also einfach #define key [nummer] also z.b. #define zahl 512
Also so geht das nicht:
#define key1
#define key2
#define key3
GetPlayerKeys(playerid,key1,key2,key3);
Was ist daran jetzt falsch?
gesagt #define bsp 2044
wie kommste dann auf #define bsp203 oder so
die lücke ist entscheident denn es wird ja sonst nichts definiert
ich will die Tasten ja ersteinmal auslesen lassen und noch nicht benutzen
Kann mir bitte jemand helfen?
Suche:
Script, dass bei Tastendruck dem Client im Chat eine Nachricht, welche Taste gerade benutzt wird ausgibt
Bei mir wars ma so dass mein boost net gagengen is weil es nit geht wenn man die fahrentaste drückt un dann gleichzeitig ne andere für den boost. Damit kommt der iwie net zurecht
MFG, Robdeflop®
das Problem habe ich ja glücklicherweise jetzt gelöst
das ist ja jetzt praktisch ein neues Script