Hey,
ich würde gerne abfragen, dass wenn sich ein Spieler in ein Car setzt, ob es ein Auto oder z.B. ein LKW ist. Wie stelle ich das an?
Mfg Maksimo007
Hey,
ich würde gerne abfragen, dass wenn sich ein Spieler in ein Car setzt, ob es ein Auto oder z.B. ein LKW ist. Wie stelle ich das an?
Mfg Maksimo007
if(GetPlayerVehicleid(playerid,carid){
sendclientmessage(playerid,color_white,"haha du sitzt in einem motorad drin !");
return 1;
}
vehicle ids findest du unter google oder wiki.samp.de
if(GetPlayerVehicleid(playerid,carid){
sendclientmessage(playerid,color_white,"haha du sitzt in einem motorad drin !");
return 1;
}
vehicle ids findest du unter google oder wiki.samp.de
Ehm...nein, so macht man das definitiv nicht
Was du meinst ist sowas:
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411) //Das hier wäre jetzt ein Infernus
Das ist eine Modelid, keine Vehicleid
Aber du solltest eine Funktion machen und mit switch und case arbeiten wo du alle modelids von den LKWs einträgst
mfg.
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411) //Das hier wäre jetzt ein Infernus
ürgend wie ja net ;D das ist viel zu umständlich einfach
if(GetPlayerVehicleID(playeird, 411){
}
oder
if(IsPlayerInVehicle(playerid,411)){
return 1;
}
siehe wiki.samp.net
ürgend wie ja net ;D das ist viel zu umständlich einfach
if(GetPlayerVehicleID(playeird, 411){
}
siehe wiki.samp.net
Und da sehe ich: http://wiki.sa-mp.com/wiki/GetPlayerVehicleID
Das hat nur 1nen Parameter und es geht um eine Vehicleid
Hier braucht man aber die Model id und die bekommt man nur so, wie ich das oben gepostet habe
Naja, ich habe mir so ein Führerscheinsystem geschrieben und wenn der Spieler z.B. keinen Autoschein hat, wird er vom car gekickt. Dazu muss man aber erstmal abfragen ob es ein Auto ist und z.B. kein LKW. Das meine ich.
ja dafür musst du die ganzen sachen auflisten sprich lkw ids ;D sont geht es ja net xD
un ddann mit enum oder pvar einfach abfragen ob er in einem lkw ist ohne führerschein und dann rauskicken .
Dazu müsstest du erst einmal alle Modelle sammeln und einordnen, danach fragst du diese einfach ab und entscheidest selbst ob Lastkraftwagen oder Personenkraftwagen...
hab ich jetzt mal aus einem meiner Skripts entnommen.
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{ new cartype=GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
{
if(IsCar(cartype))
{
if(GetPVarInt(playerid,"Autoschein")==0)
{
SendClientMessage(playerid,Color_DarkRed,"Du hast keinen Autoschein!");
}
}
}
return 1;
}
Das ganze sieht jetzt so aus, aber iwie funktioniert es nicht und danke [BFX]... xD für den Skript.^^
Wieso lässt du es dir auch von fishtime falsch erklären?
Mit GetPlayVehicleID holst du nicht die ModelID, sondern eben die VehicleID. Du musst dann noch mit GetVehicleModel arbeiten.
if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
brauchst du nicht abfragen
Alle Autos auf dem Server haben eine eigene ID wie die Spieler. Dafür wird GetVehicleID verwendet.
if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
brauchst du nicht abfragen
Sicher, denn wenn mich nicht alles täuscht gibt GetPlayerVehicleID auch was zurück wenn man Beifahrer ist und dann würde man ja wenn man keinen Führerschein hat als Beifahrer rausgeworfen werden...
mfg.
Alle Autos auf dem Server haben eine eigene ID wie die Spieler. Dafür wird GetVehicleID verwendet.
Stimmt, und von diesen VehicleIDs muss man dann die ModelID abfragen, um das Auto in eine Kategorie einzuordnen.
Also was muss ich genau in meinen Skript einfügen? Habe jetzt schon manches probiert, bekomme es aber net hin.
Sicher, denn wenn mich nicht alles täuscht gibt GetPlayerVehicleID auch was zurück wenn man Beifahrer ist und dann würde man ja wenn man keinen Führerschein hat als Beifahrer rausgeworfen werden...
mfg.
Der Status wird aber erst zurückgegeben nachdem der Spieler sich Auto befindet, was hier aber nicht der Fall ist.
Hier müsste mit einer Variable aus dem Parameter abgefragt werden
if(IsCar(cartype) && !ispassenger)
Okay, hab das nun ausbessert, wie meint ihr das aber mit der ModelID und so?
Jedes Fahrzeug hat eine eindeutige Vehicle-ID (wie die Spieler-IDs bei verbundenen Spielern). Diese wird via
new vid;
vid = GetPlayerVehicleID(playerid);
abgefragt.
Die Model-ID hingegen bezeichnet den Fahrzeugtyp, z.B. 411 für Infernus - diese brauchst du für die Einordnung der Fahrzeuge in Kategorien und fragst du via (aufbauend auf den oberen Schnipsel)
new modelid;
modelid = GetVehicleModel(vid);
ab.
Hoffe, das ist verständlich erklärt.
Ah okay, nun sieht das ganze also so aus:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ new vid;
vid = GetPlayerVehicleID(playerid);
new modelid;
modelid = GetVehicleModel(vid);
if(IsCar(vid) && !ispassenger)
{
if(GetPVarInt(playerid,"Autoschein")==0)
{
SendClientMessage(playerid,Color_DarkRed,"Du hast keinen Autoschein!");
}
}
return 1;
}
Allerdings kommt dieser Fehler:
symbol is assigned a value that is never used: "modelid"
Der Fehler ist in Zeile: "modelid = GetVehicleModel(vid);"
Wie ich bereits sagte: die Model-ID dient zum Kategorisieren, nicht die Vehicle-ID - und die Funktion IsCar() kategorisiert.