Wie ist es wenn du nach einem GMX das Spiel neustartest?
GameTexte werden wie üblich geladen.
Der erste Pickup kann immer nicht geladen werden konnte ich soeben herausfinden. Warum aber ?
Wie ist es wenn du nach einem GMX das Spiel neustartest?
GameTexte werden wie üblich geladen.
Der erste Pickup kann immer nicht geladen werden konnte ich soeben herausfinden. Warum aber ?
Verwende anstatt AddStaticPickup am besten CreatePickup, AddStaticPickup gibt keine ID zurück, kann also z.B. nicht mit DestroyPickup entfernt werden.
AddStaticPickup gibt als Rückgabewert nur 0 oder 1 zurück.
Ah okay, bringt zumindest dennoch nicht den gewünschten erfolg
Das ändert nichts daran, der Wert -1 steht für alle VirtualWorlds.
Hallo,
gerne möchte ich ein Pickup erstellen lassen sobald der Server einmal mit " GMX " neugestartet wurde. Beim manuellen Start der Start Datei lädt das Pickup auch richtig. Sobald ich allerdings den Server neustarte mit dem " gmx " Befehl, erstellt sich das Pickup nicht erneut.
Hat jemand eine Idee woran es liegt ?
OnGameModeInit
OnGameModeExit
Kannst du den cmd, welchen du nur noch als Beifahrer nutzen kannst auch posten?
#Handy
Habe mit ihm auch schon per DC geschrieben.
Er kommt weder mit der Taste F oder Enter in das Fahrzeug. Dafür aber mit G als Beifahrer.
Da kommt mir nur OnPlayerStateChange in Verdacht dass er da etwas blockt was übergreifend zu dem ist was er garnicht möchte.
Alles anzeigenWo ist diese Abfrage den drinnen?
In einem Timer oder unter OnPlayerUpdate?
So oder so solltest du dafür timestamps nutzen alias gettime().
Ich reiche ein paar Beispiele später nach, gerade leider nur am Handy.
Vllt findest schon was online
Also sobald er in den Checkpoint fährt soll er einen Timestamp + Sekunden bis zum nächsten CP setzen ? Und diese dann am ende Abfragen ?
Bin gerade nicht zu Hause aber ich glaube es ist in einem Timer
//edit Ich habe das ganze nun mit Timestamps durcharbeitet. Also dem Spieler wird die Variable + 10 gesetzt und dann frage ich mit gettime ab ob größer oder kleiner als die Variable. Bei kleiner muss noch gewartet werden und bei größer eben nicht.
Hallo,
ich habe aktuell das Problem dass ich einen Timer habe der zu schnell Tickt. Ich muss aktuell mit einem Flugzeug in ein Checkpoint fahren, funktioniert alles auch.
Nun habe ich allerdings das Problem, sobald man mit CheatEngine und SpeedHack in dem Fall rein fährt, tickt der Timer viel zu schnell
Erstell für jede Fraktion, wo du andere Skins haben möchtest, eine andere Array. Ist die beste Lösung.
Du kannst natürlich auch einer Array die Fraktions-ID mit angeben und sie per Forschleife für die entsprechende Fraktion auslesen, würde ich dir aber nicht empfehlen da es unnötig ist und nicht ressourcensparend.
Würde die erste Methode Sinn machen wenn ich es schlussendlich auch über die Datenbank connecten möchte ? Also dass ich die Skins entsprechend der Datenbank hinterlegen kann ? Denke da ist ein kompletter Array doch sinnvoller oder ? Falls ja, ich habe mich eben mal dran versucht aber bin leider bei der Abfrage eines solchen Arrays gescheitert.
Hallo,
ich bin aktuell dabei ein Skin System zu erstellen welches an sich keine Probleme bereitet. Allerdings möchte ich gerne auch unterschiedliche Skins für Fraktionen haben und nicht allen Zugriff auf jeden Skin geben.
Gibt es da eine Möglichkeit dass ganze in einem Array zu schreiben mit Fraktionsabfrage ?
Aktuell habe ich dazu folgendes
Dies ist in diesem Fall allerdings entweder nur für den einen oder für alle. Ich möchte nun ungerne für jede Fraktion eine eigene Funktion schreiben.
Über euren Rat bin ich dankbar.
Alles anzeigenIch verstehe nicht ganz wieso macht man eine Voruntersuchung für den TÜV?
Der TÜV ist ja die Kontrolle des Fahrzeugs. Wieso gehe ich vor der Kontrolle zu einer anderen Kontrolle?
Geht man nicht einfach zum TÜV und schaut was der zu bemängeln hat? So habe ich es jedenfalls gemacht.
Das ist ja als würde ich vor meinem Zahnarzt Termin zu einem anderen Zahnarzt gehen damit der andere Zahnarzt nichts bemängelt.
Diesen Gedanken kann ich verstehen, allerdings möchte ich das Fahrzeug gerne grundsätzlich ohne festgestellte Mängel durch den TÜV kriegen und nicht mit Mängeln oder einer Nachkontrolle. Würde ich bspw nun den TÜV machen und es werden erhebliche Mängel festgestellt wird die aktuelle TÜV Plakette im schlimmsten Fall entfernt und du kannst dir einen Abschlepper suchen wenn es wirklich schlecht läuft. Laut ATU ist solch ein Fall eingetreten, vorstellen kann ich mir dass überhaupt nicht weil dafür einfach jegliche Sympthome fehlen die darauf zurück zu führen sind dass ein Schaden vorhanden ist und vorallem so erheblich. Zusätzlich handelt es sich nicht um ein 20 Jahre altes Auto welches schlecht gewartet wurde. Wir reden hier von einem 10 Jahren alten Fahrzeug welches bevor es in unseren Besitz kam jährlich zum TÜV musste (Ehemaliger Mietwagen), alle TÜV Berichte seitdem ohne festgestellte Mängel. Reperaturen mussten natürlich auch durchgeführt werden in den 10 Jahren.
Nun ja heute Abend geht es zu einer anderen Werkstatt und dann schauen wir mal, ich werde Berichten was bei raus kam, kommt da andere scheiße raus fahre ich tatsächlich zum TÜV und gehe das Risiko einer Nachkontrolle ein.
//Edit
ATU ist der reinste Rotz laden, Fahrzeug hat keine Mängel bis auf eine falsche Spureinstellung.
Also Finger weg von ATU rate ich noch immer jeden !
ATU würde ich in der Vertrauenswürdigkeit eher im unteren Bereich einordnen
Seh ich ganz genauso, meine Freundin wollte zwingend hin weil die ja so gut so gut sind. Ich mag ATU im ganzen 0. Teilweise sind die zu Blöd die Motor Abdeckung ein bzw herauszu nehmen.
Klingt sehr unseriös. Lass dir die Mängel von der Werkstatt erläutern und am besten auch zeigen! Alternativ bieten alle Prüforganisationen in DE welche berechtigt sind die HU abzunehmen eigene Voruntersuchungen an zum fairen Preis
Genau solch eine Untersuchung habe ich von ATU durchführen lassen. Allerdings traue ich dem ganzen nicht. Ich hab morgen erstmal einen weiteren Termin bei einer anderen Organisation.
In welchem Kontext? Was wurde gemacht?
Hallo und vielen Dank für deine Antwort, zunächst einmal handelt es sich um ein Fahrzeug welches wir im letzten Jahr gekauft haben. Dieses Fahrzeug wurde kurz nach dem Kauf in eine Werkstatt unseres Vertrauens gebracht ohne große Relevante Mängel.
Nun mehr knapp 1 Jahr später ist die Liste angeblich bei einer anderen Werkstatt irre lang bzw sehr Kostspielig aufgeführt.
Es handelte sich hierbei um eine Technische Durchsicht zur Vorbereitung für den TÜV. Meine Frage ist einfach nur welche Abkürzung hat dass ganze ? Ich vermute nun mal dass die letzten 2 Buchstaben für "vorne Rechts" stehen
Hallo,
Kann mir einer sagen was MPKVR bedeutet ?
Auf meiner Rechnung von der Werkstatt steht dass
MPKVR Defekt sei. Was ist dass überhaupt ? Noch nicht in dieser Abkürzung gehört. Einer ne Ahnung?
Ja habs genauso, passt alles danke euch
Alles anzeigenAh, das hatte ich nicht gesehen.
Ich würde einfach das enum für cInfo erweitern.
Füg einfach sowas wie c_Owner[MAX_PLAYER_NAME] hinzu.
Und dann einfach createPlayerCar abändern zu:
CAlles anzeigencreatePlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r) { new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid,pName,MAX_PLAYER_NAME); for(new i,id,string[128]; i<sizeof(cInfo); i++) { id = getFreeCarID(); if(cInfo[id][id_x]!=0)continue; cInfo[id][besitzer]=PlayerInfo[playerid][p_id]; cInfo[id][c_x]=x; cInfo[id][c_y]=y; cInfo[id][c_z]=z; cInfo[id][c_r]=r; cInfo[id][model]=modelid; format(cInfo[id][c_Owner],MAX_PLAYER_NAME,pName); cInfo[id][id_x] = CreateVehicle(modelid,x,y,z + 5,r,1,1,-1); format(string,sizeof(string),"Du hast erfolgreich den %s gekauft. Dieser steht ab sofort an der Ausgabestelle bereit. ID: %d",getVehicleName(modelid) , id); SendClientMessage(playerid,COLOR_GREEN,string); //Wieso vorher SendClientMessageToAll?! wtf :D saveCarToDB(playerid,id); return 1; } return 1; }
Das ist gar nicht notwendig, kannst auch einfach nur die ersten Zeichen abfragen.
Im format einfach:
Cformat(kennzeichen,16,"%c%c",cInfo[id][c_Owner][0],cInfo[id][c_Owner][1]); //Gibt dir die ersten 2 Zeichen des Namens als KennzeichenEin Spielername muss immer mind. 3 Zeichen lang sein, also ist das problemlos machbar. (Natürlich vorher immer prüfen, dass der String nicht leer ist)
Perfekt dass hat wunderbar geklappt. Gibt es auch eine Funktion mit der man die c_Owner Daten komplett groß schreiben lassen kann ?
Eben nicht 64 Zeichen lang.
Deswegen lösche ich doch Zeichen 3 -64
Nein, das wird nicht funktionieren, da PVars, wie der Name schon sagt, Spieler bezogen sind, also ein SetPVar(carid wird nicht funktionieren bzw. zwangsläufig zu Fehlern führen.
Verstehe die Notwendigkeit von dem PVar auch gar nicht, da der Name vom Besitzer des Fahrzeuges ja schon in cInfo[carid][besitzer] steht. Aber wie Maho schon anmerkte, wäre das eh viel zu Lange, also den Spielernamen sollte man faktisch nicht als Nummernschild verwenden.
Der komplette Name ist natürlich viel zu lang da ja insg. 64 Zeichen möglich sind. Daher hätte ich dann den Wert gekürzt mit
unter Zeile 17
Codenew string[9]; format(string,sizeof(string),"Sa-%d", cInfo[id][db_id]);//Text auf den Nummerschild, "cInfo[id][db_id]" ist die Datenbank id vom Fahrzeug SetVehicleNumberPlate(cInfo[id][id_x], string); //beachte noch die Notes https://sampwiki.blast.hk/wiki/SetVehicleNumberPlate SetVehicleToRespawn(cInfo[id][id_x]);//Da das Vehicle neu gestreamt werden muss)Falls respawn, nicht der kaufpunkt sein sollte notfalls nach Vehicle Respawn pos setzen
An sich, falls es individuelle Plates geben soll, solltest du dir das NumberPlate auch abspeichern.
Lieben dank dass du versuchst mich dabei zu unterstützen. Das mit den ID´s habe ich bereits auch schon geschafft. Nun soll aber noch der Name des Spielers als Kennzeichen gesetzt werden.
Hierfür habe ich folgenden Code bisher zusammen
public carSavedToDB(carid)
{
cInfo[carid][db_id] = cache_insert_id();
new string[9];
new Name[64];
Name = getPlayerName(cInfo[carid][besitzer]);
format(string,sizeof(string),"%s-%d", Name, cInfo[carid][db_id]);
SetVehicleNumberPlate(cInfo[carid][id_x], string);
SetVehicleToRespawn(cInfo[carid][id_x]);
return 1;
}
Alles anzeigen
Allerdings will er mir den Namen überhaupt nicht anzeigen geschweige denn in die Variable Name setzen.
Moin,
noch aktuell?
Du kannst dich gerne bei mir privat melden, ist alles aktuell