hey... wie kann ich ein Objeckt oder ein anderes Fahrzeug vor dem eigenen erstellen?
Objeckt vor Fahrzeug erstellen
- manumeyer
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
meinnst du das das auto kommt wo du grade bist ?
-
Auslesen, welche Position du hast (GetPlayerPos Funktion),
dannach hast du die X, Y, Z und Rotations Achse,
nun einfach CreateObject(ObjectID, X, Y, Z, Rotation);
die Koordinaten um z.B. +1 verschieben, halt so, das das Object vor dir kommt.
Das gleiche geht dann für Autos auch -
dazu brauchst du diese Funktion (nicht von mir):
stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { //Credits to Y_Less
new
vid=GetPlayerVehicleID(playerid),
Float:a;
if (vid) {
GetVehiclePos(vid,x,y,a);
GetVehicleZAngle(vid, a);
}
else {
GetPlayerPos(playerid, x, y, a);
GetPlayerFacingAngle(playerid, a);
}
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
}und dann
//z.B. irgendein cmd
new
Float:fX,
Float:fY;
GetXYInFrontOfPlayer(playerid, fX, fY, 10.0) //beliebig anpassen
//createobject o.ä. mit fX, fY als x und y koordnaten -
mach so
ganz oben in script
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
dan unter OnPlayercommandtext
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(vspawn,6,cmdtext);
dan ganz unten in scriptdcmd_vspawn(playerid,params[])
{
#pragma unused params
if(IsPlayerAdmin(playerid))//ist erstmal jetzt als rcon abfrage also in game dann /rcon login das passwort
{
return 0;
}
else
{
new plv = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(plv);
}
return 1;
dcmd_vfarbe(playerid,params[])
{
new c1,c2,vid;
if (sscanf(params, "dd", c1,c2))
{
return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /vfarbe [Farbe 1] [Farbe 2]");
}
if(!IsPlayerAdmin(playerid))
{
return 0;
}
if(!(vid=GetPlayerVehicleID(playerid)))
{
return SendClientMessage(playerid,0xFF0000FF,"Du sitzt nicht im Auto!");
}
else if(c1 < 0 || c1 > 252 || c2 < 0 || c2 > 252)
{
SendClientMessage(playerid,0xFF0000FF,"Ungültige Color Id!");
}
else
{
ChangeVehicleColor(vid,c1,c2);
SendClientMessage(playerid,0xFF7F00FF,"Autofarbe geändert!");
}
return 1;
}
} -
-
breadfish.de
Hat das Thema geschlossen.