Hallöchen,
ich habe das Problem, dass wenn ich ins Autohaus gehe, die strings sich anscheinend überschneiden, weil dann kommt auch die Meldung, dass ich zur Geldwäsche fahren soll.
Die Zeilen:
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new x = 0; x < AUTOHAUSER;x++)
{
if(PlayerToPoint(1.5, playerid, DtcSonstiges[x][0][0],DtcSonstiges[x][0][1],DtcSonstiges[x][0][2]) && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]] || pickupid == Dtc_Info[x] && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
{
TogglePlayerControllable(playerid, 0);
SetPlayerVirtualWorld(playerid,55+playerid);
new string[246];
dtc_AutohausCar[playerid] = 0;
dtc_AutohausCat[playerid] = x;
new c1 = random(120);
new c2 = random(120);
new car;
new preis;
for(new ah = 0; ah < sizeof(dtcKaufliste);ah++)
{
if(car == 0 && dtcKaufliste[ah][dtc_Autohaus] == x)
{
car = dtcKaufliste[ah][dtc_CarModel];
preis = dtcKaufliste[ah][dtc_CarModel];
}
}
SetPlayerCameraPos(playerid, DtcSonstiges[x][2][0],DtcSonstiges[x][2][1],DtcSonstiges[x][2][2]);
SetPlayerCameraLookAt(playerid, DtcSonstiges[x][1][0],DtcSonstiges[x][1][1],DtcSonstiges[x][1][2]);
dtc_AutohausSCar[playerid] = CreateVehicle(car, DtcSonstiges[x][1][0],DtcSonstiges[x][1][1],DtcSonstiges[x][1][2],DtcSonstiges[x][1][3],c1,c2,-1);
SetPlayerPos(playerid, DtcSonstiges[x][3][0],DtcSonstiges[x][3][1],DtcSonstiges[x][3][2]);
SetVehicleVirtualWorld(dtc_AutohausSCar[playerid],55+playerid);
format(string,sizeof(string),"~r~---------- AUTOHAUS ----------~n~~g~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d~n~~b~Auswaehlen:~n~~w~ <Num 4<~b~&~w~>Num 6> ~n~~b~Kaufen:~w~ Enter ~n~~b~Abbrechen:~w~ Tab",CarName[car-400],preis);
if(!CarKauf[playerid])
{
CarKauf[playerid] = TextDrawCreate(200,310,string);
TextDrawAlignment(CarKauf[playerid],1);
TextDrawUseBox(CarKauf[playerid],1);
TextDrawBoxColor(CarKauf[playerid],0x000000FF);
TextDrawSetOutline(CarKauf[playerid],1);
TextDrawBackgroundColor(CarKauf[playerid],COLOR_BLACK);
TextDrawSetOutline(CarKauf[playerid],1);
TextDrawFont(CarKauf[playerid], 1);
TextDrawLetterSize(CarKauf[playerid], 0.300000, 1.899999);
//TextDrawSetProportional(CarKauf[playerid], 2);
TextDrawTextSize(CarKauf[playerid],450,410);
TextDrawShowForPlayer(playerid,CarKauf[playerid]);
}
else
{
TextDrawHideForPlayer(playerid,CarKauf[playerid]);
TextDrawSetString(CarKauf[playerid],string);
TextDrawShowForPlayer(playerid,CarKauf[playerid]);
}
}
else if(PlayerToPoint(1.5, playerid, DtcSonstiges[x][0][0],DtcSonstiges[x][0][1],DtcSonstiges[x][0][2]) && Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]] || pickupid == Dtc_Info[x] && Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
{
new mv = MaxVeh;
if(mv > 1)
{
SendClientMessage(playerid, COLOR_GREEN, "{006600}Autohaus{FFFF00}: Du besitzt schon ein Fahrzeug mit deinem ausgewählten Schlüssel!");
SendClientMessage(playerid, COLOR_GREEN, "{006600}Autohaus{FFFF00}: Du kannst deine Fahrzeuge mit '/cc' verwalten!");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Du besitzt schon ein Fahrzeug!");
}
}
}
if(pickupid == GELDSACK)
{
if(atmrob == 1)
{
SendClientMessage(playerid,COLOR_GRAD1,"Der Tresor wurde gerade erst ausgeraubt!");
return 1;
}
else
{
new stringbrs[128];
new BANKGELD = 60000 + random(80000); // Geld / Checkpoint
GELDWASCHE[playerid] = BANKGELD;
format(stringbrs, sizeof(stringbrs), "** Du hast jetzt $%d in deiner Tasche, fahr zur Geldwäsche.",BANKGELD);
SendClientMessage(playerid, COLOR_LIGHTGREEN, stringbrs);
SetPlayerCheckpoint(playerid, -2179.1943,715.7703,53.8909,8.0);
atmrob = 1;
SetTimer("RobATM_Reset",3600000,0); // Nach 60 Minuten erst wieder ausrauben
}
}
return 1;
}
Ich hoffe ihr könnt helfen.
MfG,
James.