Hi,
Wie finde ich die Koordinaten raus, um Objekte an ein Fahrzeug anzubringen?. Ich hab das mal mit dem Motorrad Helm versucht. Da gibts ja so nummern. (z.b. 1= Arm 2= Kopf). Hab ich auch so gemacht, doch der Helm steckt bei mir im Kopf^^
Mfg Vince
Hi,
Wie finde ich die Koordinaten raus, um Objekte an ein Fahrzeug anzubringen?. Ich hab das mal mit dem Motorrad Helm versucht. Da gibts ja so nummern. (z.b. 1= Arm 2= Kopf). Hab ich auch so gemacht, doch der Helm steckt bei mir im Kopf^^
Mfg Vince
Du sprichst anfangs vom http://wiki.sa-mp.com/wiki/AttachObjectToVehicle später dann jedoch vom http://wiki.sa-mp.com/wiki/AttachObjectToPlayer
In beiden Fällen gilt:
Du musst dir ein Filterscript besorgen (weiß den Namen/Link gerade nicht).
Damit kannst du dann die Positionen "suchen".
Wenn es um den Helm geht, dann kann ich dir mal meine geben
Ich hab für den Westcoast Server auch ein /helm Feature eingebaut.
Kann man dann auf- und absetzen
Es geht um beides eig^^
Wäre dir dankbar wenn du mir das schicken würdest. ICQ Nummer steht in meinem Profil
Filterscripts GarObject und Hold Studio müssten dir helfen.
OK, mir wurde das in der txt rausgegeben:
new Object = CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1);
AttachObjectToVehicle(Object,vehicleid,-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
Dann habe ich unter OnPlayerCommandText das gemacht:
if (strcmp("/misile", cmdtext, true, 10) == 0)
{
CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1);
AttachObjectToVehicle(3267,444,-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
SendClientMessage(playerid,0xFFE600FF,"Du hast erfolgreich einen Raketenwerfer angebaut!");
return 1;
}
Doch da kommt nix aufm Server, nur die Nachricht-.-
AttachObjectToVehicle(3267,444,-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
AttachObjectToVehicle(objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ);
AttachObjectToVehicle(3267,GetPlayerVehicleID(playerid),-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
Immer noch nix..
ZitatNote: You need to create the object first, before attempting to attach it to a vehicle.
new object = CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1);
AttachObjectToVehicle(object,GetPlayerVehicleID(playerid),-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
edit: schreibfehler^^
Hab ich auch so...
Ich glaube er meint das du
new object = CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1);
machen sollst. Weil wenn du nur die Object-ID angibst, könnten es alle Objekte mit der ID sein, die du attachen willst.
Also so?
if (strcmp("/misile", cmdtext, true, 10) == 0)
{
new object = CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1);
AttachObjectToVehicle(3267,GetPlayerVehicleID(playerid),-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
SendClientMessage(playerid,0xFFE600FF,"Du hast erfolgreich einen Raketenwerfer angebaut!");
return 1;
}
Dann bekomm ich noch diesen Warning: C:\Users\Vince\Desktop\Local Server\gamemodes\Selfmade123.pwn(2495) : warning 204: symbol is assigned a value that is never used: "object"
Du musst das Objekt erste erstellen. So wie du es gemacht hast geht es nicht. Du erstellt ein Objekt und versuchst dann das Objekt mit der ID 3267 an das Fahrzeug zu hängen...
ZitatNote: You need to create the object first, before attempting to attach it to a vehicle.
edit:// jetzt erstellst du das Objekt, versuchst aber das Objekt mit der ID 3267 an das Fahrzeug zu hängen. Dir sollte doch auffallen dass du versuchst das Model an den Wagen zu hängen... Du musst aber die Objekt-ID verwenden:
new object = CreateObject(...); jetzt wird die Objekt-ID in der Variable object gespeichert...
Ne dann musst du das so machen :
if (strcmp("/misile", cmdtext, true, 10) == 0)
{
new object = CreateObject(3267,1.1,1.1,1.1,1.1,1.1,1.1);
AttachObjectToVehicle(object,GetPlayerVehicleID(playerid),-0.039999,-1.839998,0.619999,0.000000,0.000000,330.000000);
SendClientMessage(playerid,0xFFE600FF,"Du hast erfolgreich einen Raketenwerfer angebaut!"); return 1; }
Funktioniert nun. Kann ich das auch so machen, dass das nur mit der ID 444 geht?
Du meinst nur mit der AutoID 144?
Nein, ID 444
Ja , dann müsstest du
GetPlayerVehicleID(playerid);
einfach durch die ID ersetzen.
OK Danke
Oder damit NUR der Fahrer von dem Vehicle 444 das machen kann, ein:
If(GetPlayerVehicleID(playerid) != 444)
return 0;
if(GetPlayerVehicleID(playerid) != 444) return SendClientMessage(playerid, 0xFF0000FF, "Nachricht");
sonst
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 444) return SendClientMessage(playerid, 0xFF0000FF, "Nachricht");