Ich tippe mal Du bist playerid 0 und hast den Initialisierungscode nicht verwendet ?
PS: Benötigt COMMAND:delveh nicht noch ein #pragma unused params
Ich tippe mal Du bist playerid 0 und hast den Initialisierungscode nicht verwendet ?
PS: Benötigt COMMAND:delveh nicht noch ein #pragma unused params
Nein...falsch falsch...
CreateVehicle liefert die vehicleid zurück, das Array soll bei der Stelle vehicleid die playerid speichern:
new vehicleid = CreateVehicle(.......);
PlayerHasCreated[vehicleid] = playerid;
Schau dir mal meinen Code an...und dann bau meinen Code so um, dass er ein Auto spawnt, den Rest kannste so lassen
delspawn( ...keine eckige Klanmer
Hatte nen Tippfehler. Nenn die Variable einheitlich (Beispielcode). Zudem liefere ich dir keinen fertigen Code, du musst ihn schon selber schreiben, Zb CreateVehicle ausfüllen
Ok, lass uns schnell überlegen:
Siehste den Fehler. Du brauchst eine Funktion, welche dir keinen Int sondern einen String zurückgibt. Such mal nach einer Funktion mysql_GetString oder mach ein einfaches SELECT <field> FROM.....
Hi
Schnell per Notepad getippt, ich hoffe es stimmt so. Also der Sinn dahinter ist, dass wenn Du ein Auto erstellt, die Vehicleid als Erstellerwert den Wert von playerid/der des Spielers erhält. Sprich das erstellte fahrzeug wurde vom Spieler x erstellt. Wenn Du es nun löschen willst, vergleichste einfach die Fahrzeugid mit der playerid.
new PlayerHasCreated[MAX_VEHICLES];
// Initialisierung
for(new i = 1; i < MAX_VEHICLES; i++)
{
PlayerHasCreated[i] = -1; // -1 stellt einen ungültigen Spieler dar
}
// Fahrzeug erstellen
new id = CreateVehicle(...);
PlayerHasCreated[id] = playerid; // das Fahrzeug mit der ID wurde vom Spieler playerid erstellt
// Alle selbst erstellten fahrzeuge löschen
for(new i = 1; i < MAX_VEHICLES; i++)
{
if(PlayerHasCreated[i] == playerid)
{
DestroyVehicle(i);
PlayerHasCreated[i] = -1;
}
}
Gruss
Edit: So können mehrere Spieler Autos selbe rerstellen, ohne dass sie sich diese gegenseitig weglöschen. Zudem kannst Du so selber mehrere Fahrzeuge erstellen
Edit 2: Typo entfernt -.-
mysql_GetInt und dann als 2.Specifier ein %s für Strings ?
Edit: @Daniel.Miller Wegen deiner PN
%d = Integer
%f = Float
%s = String
Ich gehe jetzt echt mal davon aus, dass mysql_GetInt keinen String zurückgibt, Banreason aber einen String darstellt und keinen Integer. Ergo, Du versuchst nen Integer als String darzustellen, obwohl der Integer vom Datentyp String sein sollte
Schau mal GTAIV an, die haben zwar nen Multiplayer, aber so das Gelbe vom Ei ist er auch noch nicht und bis GTA V rauskommt und dann einen Multiplayer rauskommt (sofern) vergeht auch noch eine längere Zeit. Du musst dich einfach das Fragen:
Gruss
Ich glaube Dein Satz passt überhaupt nicht zur Thematik meines Beitrages.
Jeder der einen Auftrag annimmt, dem geht es wohl primär darum, die erstellten Programmiercodes zu verkaufen! Solltest Du das nicht verstanden haben, so gehe in Dich und schau was ein Marktplatz ist.
Klar mag es Leute geben die aus "jux und dollerei" Skripte erstellen, aber ich glaube "Suche" & "Biete"-Themen hier sind mit Geld verbunden.
Nein, sorry Du hast meine Aussage echt nicht verstanden. Es gibt Leute, die scripten auch für den Ruhm (tönt etwas speziell) einer Com.
Du darfst das nicht in den falschen Hals bekommen was ich geschrieben habe.
Ich kenn Euch nicht, ich unterstell Euch auch rein gar nichts.
Ich weiß es auch aus eigener Erfahrung. Die meisten Leute die solche Aufträge anfangen haben keine eigene Projekte etc.. Keine will seine Zeit einfach wegschmeißen, und dass man das Skript ja noch für andere Sachen verwenden kann ist ja schwachsinn. Man muss wieder einiges anpassen und das kostet Zeit und Zeit ist Geld.
Das muss jetzt auch nicht auf Euch zutreffen aber dass sind nun einmal Tatsachen
Ist dir auch mal in den Sinn gekommen, dass es Leute(Scripter) gibt, welche sich freuen, wenn ihr Script tagtäglich gespielt wird und die Leute Spass haben ?
Finde ich zugegebenerweise nicht schlimm dieses Abwerbzeugs. Im Gegenteil, dadurch können wir untreue Mitglieder loswerden. Wem unser Forum gefällt, wird so oder so bleiben und sich nicht verführen lassen. Und wer unser Forum sowieso im Sekundentakt kritisiert, dann ist so eine Abwerbung für denjenigen genau das Richtige.
Diese Abklatschprojekte werden sowieso nie einen Erfolg erzielen. Außerdem profitieren wir von solchen Abklatschprojekten - da die "schlechten" User von hier dorthin abwandern.
Generell PNs nach XX Wochen zu erlauben, finde ich sinnlos - und Leute die halt abwerben o.Ä. - sie einfach in die Ignorierliste setzen und einem Mod/Admin melden - dann sind solche Kinder schnell weg vom Fenster.
Dem kann ich nur zustimmen. Zudem, wo bleibt dann das Forum, wenn man keine anderen Leute kontaktieren kann. Zudem müsste geregelt werden, ob Teamler kontaktiert werden können.
Mal was anderes, versuch mal auf einer Stack Exchange Seite jemanden zu kontaktieren (was nicht geht), dann merkste erst, wie anpissend es ist, jemanden nicht kontaktieren zu können. Eine solche Beschränkung ist nm
Unter OnDialogResponse hast Du als Parameter das Array (String) inputtext[], das entspricht deinem Inputtext. Zum Vergleich einfach dne String in einen Integer konvertieren und dann mit dme PVar vergleichen:
new pin_value = strval(inputtext);
if(GetPVarInt(playerid, "myPIN") == pin_value)
{
}
Ich würde dir aber empfehlen, deinen PIN als String zu speichern, denn aus einer 0234 wird bei einem Integer 234, was ja nicht mehr deinem ursprünglichen String entspricht.
Edit: Antwort überarbeitet, um Missverständnis vorzubeugen
Edit 2: Hier noch ein kleines Tutorial über PVars:
[ SCRIPTING ] Per-Player Variablen-System (PVars)
Hi
Du solltest die Funktion ShowPlayerDialog benutzen:
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
Dort gibt es 4 Dialogarten:
http://wiki.sa-mp.com/wiki/Dialog_Styles
Für dich heisst das also DIALOG_STYLE_INPUT:
ShowPlayerDialog(playerid, DIAGID, DIALOG_STYLE_INPUT, "PIN Eingabe", "Bitte geben Sie ihren PIN ein", "Weiter", "Abbrechen");
Gruss
Ok, hät nicht gedacht, das auf dem Platz soviel reinpasst, jetzt hab ich es auch gesehen, aber trotzdem definitiv die 2.Map
Liege ich falsch, aber bei der 2.Map wurde das LSPD Objekt entfernt und ersetzt
PS: Wenn es ja nur "so wenig" ist, warum fragste uns dann :>
Definitiv die 2.Map. Sie erinnert mehr an ein Polizeigebäude/Polizeiareal und stellt mal etwas total Neues dar
Heute wird goto mehr oder weniger verschrien (In gewissen Hochsprachen ist es nicht mehr mal vorzufinden). Goto hatte früher eigentlich eine andere Bedeutung, als wie es heute verwendet wird. Ich würde dir ans Herz legen, Schleifen zu verwenden, da man hier einerseits eine Abstraktion zum Maschinencode (welcher für Funktionsaufrufe teilweise springt, sprich eine Art goto, aber er kann auch in andere Funktionen springen und nicht nur innerhalb der Funktion) und es andererseits lesbarer ist.
Ich denke es geht dir darum, eine vehicleid eines weggesperrten Fahrzeuges mit einer Spielervariable zu vergleichen ? Ansonsten müsstest Du mich schnell aufklären, dann kann ich dir ein Codestück liefern
Ich würde auf die Verwendung von goto hier echt verzichten, benutz von mir aus ein for oder do while, aber kein goto. Nur weil ein Compiler jump und call als Funktionsaufruf ersetzt, ist hier die Benutzung von goto nicht gerechtfertigt. goto ist bei 10 Zeilen noch nicht wirklich schlimm, aber bei sagen wir mal 1000 Zeilen kannste dir selber ins Knie schiessen (Stichwort Modularität).
Willst Du in einer Iteration ein Item überspringen, lautet dein Keyword continue und nicht goto