Hey ho,
ich habt das GNE script. Dort gibt es den Befehl "/supmobil" mit dem Befehl erstellt man ein Auto wo ein Textdraw ( ich bin nicht sicher ob das ein Textdraw ist ) drauf ist in diesem Fall : " Admin Car von [AdminName]" Alles ist super und klappt auch doch einen Bug gibt es.
Gehen wir mal davon aus das ich 10 User auf dem Server habe. Ich erstell mir also ein Admin Car und fahr damit durch die Gegend um zu gucken was los ist ( alles nur beispiele ) Nun steige ich aus ohne das Admin Car zu zerstören und dann kommt der Bug. Wenn jetzt User 1 ( Mr.X) sich ein Autokaufen will also vom Autohaus steht dann da " Admin Car von Mr.XY" (Mr.XY ist user 2 ) Dieses Auto kann er dann nicht fahren aber hat dafür gezahlt :x wie kann ich das beheben ?
Kommen wir zum Befehl :
if(strcmp(cmd, "/acar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1||PlayerInfo[playerid][pSupporter] >= 1)
{
if(acar[playerid] != 0)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(acar[playerid],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(acar[playerid],VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
DestroyVehicle(acar[playerid]);
Delete3DTextLabel(suptext[playerid]);
SendClientMessage(playerid, COLOR_GREY, "Fahrzeug vernichtet.");
acar[playerid] = 0;
}
else
{
ShowPlayerDialog(playerid, DIALOG_ACAR, DIALOG_STYLE_LIST, "Fahrzeug Auswahl", "1. Comet\n2. Sultan\n3. Bus\n4. NRG\n5. Boot\n6. Heli\n7. Fahrzeug ID", "Auswahl", "Abbrechen");
}
}
else return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin.");
}
return 1;
}
Hier sind mal die Funktionen also vom erstellen und vom "anklatschen" des Labels:
Function SupLabel(playerid)
{
if(acar[playerid] != 0)
{
Delete3DTextLabel(suptext[playerid]);
format(stringx, sizeof(stringx), "Admin Car von %s", MeinName(playerid));
suptext[playerid] = Create3DTextLabel(stringx, 0xFF00FFFF, 0.0, 0.0, 0.0, 30.0, 0, 1);
Attach3DTextLabelToVehicle(suptext[playerid], acar[playerid], 0.0, 0.0, 0.3);
}
else KillTimer(suplabeltimer[playerid]);
return 1;
}
Function CreateAcar(playerid, carid) {
new Float:cX, Float:cY, Float:cZ, Float:cZa, rand1, rand2;
GetPlayerPos(playerid, cX, cY, cZ);
GetPlayerFacingAngle(playerid, cZa);
rand1 = random(126);
rand2 = random(126);
acar[playerid] = CreateVehicle(carid, cX, cY, cZ, cZa, rand1, rand2, 0);
PutPlayerInVehicle(playerid, acar[playerid], 0);
format(stringx, sizeof(stringx), "Admin Car von %s", MeinName(playerid));
suptext[playerid] = Create3DTextLabel(stringx, 0xFF009BFF, 0.0, 0.0, 0.0, 30.0, 0, 1);
Attach3DTextLabelToVehicle(suptext[playerid], acar[playerid], 0.0, 0.0, 0.3);
suplabeltimer[playerid] = SetTimerEx("SupLabel", 10000, 1, "i", playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(acar[playerid],engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(acar[playerid],VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
return 1;
}