Guten Tag,
Ich habe einen Busbot erstellt und möchte das er bei jeder haltestelle eine ansage macht. Bloß ich weiß nicht wie ich es machen soll.
Währe nett wenn mir jemand helfen würde.
Mit freundlichen Grüßen
Valexy
Guten Tag,
Ich habe einen Busbot erstellt und möchte das er bei jeder haltestelle eine ansage macht. Bloß ich weiß nicht wie ich es machen soll.
Währe nett wenn mir jemand helfen würde.
Mit freundlichen Grüßen
Valexy
Guten Tag,
Ich habe einen Busbot erstellt und möchte das er bei jeder haltestelle eine ansage macht. Bloß ich weiß nicht wie ich es machen soll.
Währe nett wenn mir jemand helfen würde.
Mit freundlichen Grüßen
Valexy
Code dazu, wo der Bot anhält?
1 Haltestelle 1180.12, -933.03, 43.12
2 Haltestelle 777.12, -1039.02, 24.49
3 Haltestelle 618.70, -1255.52, 18.11
Möchtest du das mit einer Audio Spur wiedergeben oder mit einem Text?
Du arbeitest mit IfPlayerIsInRangeofPoint .
Mit einem Text. Also wenn er bei den Koordinaten ist ein Text kommt.
Das macht du mit einer einfacher IsPlayerInRangeOfPoint abfrage. Dann den Text als SendClientMessage ausgeben. Fertig.
Und wo soll ich die IsPlayerInRangeOfPoint abfragen xD?
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == DIE ID DES FAHRZEUGS)
{
if(newstate==PLAYER_STATE_PASSENGER)
{
if(IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)) //Float durch deine Koordinaten ersetzen
{
SendClientMessage(playerid, DEINE FARBE, "DEIN TEXT");
}
}
}
return 1;
}
So zum Beispiel.
Danke, kann man das if(vehicleid == DIE ID DES FAHRZEUGS) auch abfragen ob er im fahrzeug des Busbots ist ?
na klar. dann nimmst du einfach
auto1 = AddStaticVehicle(,....,...,...);
hier jetzt das auto1 als VehicleID. (ist nur nen Beispiel)
//edit
Sry das ich jetzt noch nerve :s aber ich habe die Koordinaten eingetragen und habe es getestet.
Und irgendwie kommt immernoch keinen Nachricht :s.
Dann zeig uns mal deine Codes.
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == 431)
{
if(newstate==PLAYER_STATE_PASSENGER)
{
if(IsPlayerInRangeOfPoint(playerid, 15.0, 715.1520,-1089.9001,20.2405)) //Float durch deine Koordinaten ersetzen
{
SendClientMessage(playerid, COLOR_WHITE, "DEIN TEXT");
}
}
}
return 1;
}
Sitzt du auch als beifahrer??
Ich glaub er will eine Ansage so wie in RL
das wenn der Bus an eine Haltestelle fährt und er schon drin ist das er dann es ansagt.
Mach eine variabl die du zb auf eins setzt wenn er in den busbot einsteigt.
dann machste nen timer der die position abfrägt.
wenn die variable auf 1 ist und in der nähe von xyz ist
machste SendClientMessage
ich glaub der meint es so
Nein ich will einfach wenn der bus in die koordinaten fährt das dann einfach dieser text kommt.
Und ja ich sitze als beifahrer drin.
Der jetzige Code zeigt die Nachricht erst an, wenn der Bus 15 Meter im Bereich der Haltestelle ist UND wenn man erst in diesem Bereich eingestiegen ist (15m)
Wie machen ich den das so , das wenn man im Bus ist und in diese Koordinaten fährt da steht "Haltestelle ... erreicht"
@Valexy
Dein Vehicle ID Abfrage ist falsch.
Die VehicleID ist NICHT die Modelid (431 die Modelid des Bus)
LG
Das ist mein bus Busbot = AddStaticVehicleEx(431,1700.7551,-1953.6531,14.8756,200.0,-1,-1,900);
Muss die dann so sein ? if(vehicleid == Busbot)