Ich will überprüfen ob man den Richtigfahrzeugschlüssel hat
Vehicle ID rausfinden
- Maggo
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Und wann ist es wichtig, dass man den Schlüssel hat? Beim Einsteigen... Also muss doch jemand was im Server machen.
Du bräuchtest irgendwas wie
new bool:HasKeyForCar[MAX_PLAYERS][MAX_VEHICLES];//Beim kauf:
new vehicle = AddStaticVehicle(560,123.0,234.0,345.0,180.0,5,8);
HasKeyForCar[playerid][vehicle] = true;//Beim einsteigen:
public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger
{
if(HasKeyForCar[playerid][vehicleid] != true)
{
TogglePlayerControllable(playerid,false); // Sorgt dafür, dass der Spieler das Einsteigen abbricht
TogglePlayerControllable(playerid,true); // Sorgt dafür, dass der Spieler das Einsteigen abbricht
SendClientMessage(playerid,COLOR_WHITE," Du hast keinen Schlüssel für das Auto!");
}
return 1;
} -
Mhh jaa....
Würde das den auch so geh ?New CarID[carid][MAX_PLAYERS];
und dan wenn ein user Auf den Server kommt, das dan halt folgendes AUsgeführt wird:
new newcar = AddStaticVehicle(560,123.0,234.0,345.0,180.0,5,8);
CarID[newcar][playername] = playername;Weil dan wird doch immer Überschrieben weil jaa es immer Carid is
-
Weiß dne keiner ein Rat?
-
Alter ich kapier immer noch nich, was du willst.
-
Wenn musstes mit nem enum machen.
new cinfo
{
name[16]
}
new CarID[MAX_VEHICLES][cinfo];Aber ich weiß nicht wieso du beim Connect den namen des Spielers in ein Auto reinschreiben willst, unzwar welches.
Soll da eins erstellt werden? -
So jetzt bin ich wieder da :P.
Naja also ich will beim start des Server. Wenn der server startet, das due UserAutos welche diese gekauft haben auch spawn. So und damit auch nur der einsteigen kann dem das auto gehört, soll dieses Iwie überprüft werdne :D. Tjo :P.
Das will ich so machen:
Jedes auto hat ja eine id, welche man aufrufen kann mit /oldcar. Dieser id soll eine varible hinzugefügt werden z.b. CarCheck[VID]. Doch wie finde ich die id raus OHNE das jemand /oldcar einigibt oder soetwas.Oder hat jemand eine bessere idee zu überprüfem wem das auto gehört oder so :P.
-
- OnPlayerEnterVehicle
- vehicleid Rückgabe nutzen
- diese im Array Index setzen & durch den Index an das Datenfeld ,,Nutzer´´ kommen ( Nutzer als Beispiel in diesem Fall die Variable in der Struktur die jeweiligen Daten enthält )
-
Das wäre ja net das Problem ;).
Aber, wie kann ich erstmal dem auto eine Varibale hinzulegen. Weil wen der server startet, ja dna ist ja keiner rauf.
EDIT:
Kann auch sein, da sich falsch denke :P. Dan einfahc mal aufklären -
enum fahrzeuge
{
besitzer[MAX_PLAYER_NAME]
// weitere Daten
}
new fahrzeug[MAX_VEHICLES][fahrzeuge];// Beim Checken... ( OnPlayerEnterVehicle )
new testformat[MAX_PLAYER_NAME+32];
format(testformat,sizeof testformat,"Dieses Fahrzeug gehoert : %s",fahrzeug[vehicleid][besitzer]);
SendClientMessage(playerid,0x00FF00FF,testformat);Du könntest auch ein kleines eigenes ID System mit einbringen sollte nicht schwer sein ansonsten kannst du auch die normalen Fahrzeug ID's nutzen ist aber
nicht unbedingt Optimal da sich vllt was verschieben könnte allein wenn man ein neues FS einbindet was weitere Fahrzeuge besitzt, die Daten müsstest du selber zuweisen wenn
du jedoch schon ein ähnliches System hast kannst du die Variablen dieses Systems nutzen & sie je nach dem abrufen entweder mit schleifen alle Daten durchgehen & dann prüfen ob die erstellte
ID mit der ID in der Variable übereinstimmt & dann einfach das jeweilige Datenfeld zurückgeben -
-
Also ich habe bei mir ein kleines id System. Wenn der Spieler ein Auto kauft wird er sofort reingesetzt und die id + alle fahrzeugdaten in der ini gespeichert. Wenn er nun sein auto öffnet wird die id aus der ini bzw. pinfo geholt und das entsprechende fahrzeug geöffnet. Beim disconnect wird dann das fahrzeug zerstört + die id aus der ini gelöscht und bei nächsten connect wird das car wieder erstellt und die id neu in der ini gespeichert. Ob es ganz fehlerfrei läuft wenn viele user auf dem Server sind weiß ich nicht da ich es noch nicht testen konnte aber im sebstversuch funktionierte das ohne probleme.
-
Ja ich speicher das zuzeit wie folgt.
Jeder user bekommt eine %USER%.txt und eine %USER%_car.txt.
:P. Und naja und bin neu -
breadfish.de
Hat das Thema geschlossen.