Ach was für ein Blödsinn ich wieder poste...
Wenn die Abfrage so ist:
if(IsPCar(GetVehicleNextToPlayer(playerid)))
{
//...
//wird die Vehicleid übergeben und nicht die playerid...
//Also muss auch die Funktion anders aufgebaut sein
stock IsPCar(vehicleid)
{
if(strlen(Besitzer[vehicleid]) > 1) return 1;
return 0;
}
Beiträge von InternetInk aka Benjamin
-
-
Sicher das in "Besitzer" für dieses Fahrzeug auch etwas steht?
Sicher das die Funktion "GetVehicleNextToPlayer" das richtige Fahrzeug auswählt? -
time ist aber nicht gleich TIME
Zunächst solltest du mal den Befehl zeigen, dort fängt der pfusch schon an vermute ich mal
-
Zeig mal die Zeile im Script, zensiert natürlich und sag uns welches mysql plugin du nutzt
-
Du hast geschrieben:
Also wenn die Variable nicht Null ist, dann ist es ein Privatfahrzeug
Wenn also IsP(rivate)Car nicht Null also true zurück gibt, das auto also einen Besitzer hat, ist es ein Privat Fahrzeug.
Das kannste doch mit dem realisieren was ich geschrieben habe.
stock IsPCar(playerid)
{
if(strlen(Besitzer[GetPlayerVehicleID(playerid)]) > 1) return 1;
return 0;
}if(IsPCar(GetVehicleNextToPlayer(playerid)))
{
//Ja es ist ein Private Car
}
else
{
//Nein es ist keins.
} -
Was ist denn "TIME" ?
-
der code is eine abfrage ob die datenbank vorhanden is
Nein? Der Code ist schwachsinn...
Alleine schon die erste Zeile:
DROP DATABASE IF EXISTS `samp`;Jau löschen wir mal die ganze Datenbank mit allen Tabellen und Daten und erstellen dann eine Leere...

-
Wenn du sowieso eine schleife für alle Spieler machst, brauchst du keine playerid zu übergeben.
Außerdem wieso speicherst du die Zeit als String? Das macht garkeinen Sinn, nimm doch lieber einen Integer (so wie bei "Mutet") den kannst du auch vernünftig rechnen.
Also statt SetPVarString und GetPVarString, SetPVarInt und GetPVarInt -
Nichts,
Wie in der Meldung steht wurde der Zugriff verweigert, sicher das Passwort und Nutzer stimmen?
Evtl. hast du die Datenbank und das Passwort vertauscht, bei manchen mysql funktionen ist die anordnung der Werte unterschiedlich. -
Da es sich um einen String also einer Zeichenkette handelt kann diese keinen numerischen Wert 0 annehmen, daher funktioniert das nicht.
Du könntest allerdings einfach schauen ob der String in der länge kleiner als 1 ist, dann wäre ja auch leer.
Also:
stock IsPCar(playerid)
{
if(strlen(Besitzer[GetPlayerVehicleID(playerid)]) > 1) return 1;
return 0;
} -
stock IsPCar(playerid)
{
if(strcmp(Besitzer[GetPlayerVehicleID(playerid)],SpielerName(playerid),true) == 0) return 1;
return 0;
} -
Ich würde es statt != 0 einfach mal mit strcmp versuchen.
-
Wie hast du Besitzer erstellt? Ich vermute mal so:
new Besitzer[MAX_VEHICLES]; ?
Richtig wäre aber so:Besitzer[MAX_VEHICLES][30];
Erst dann kannste Namen reinschreiben
-
Bitte meldet hier Werbung oder beleidigende PM's.
Niemanden interessiert, ob euch jemand um Hilfe bittet.
Klärt das selber. -
Wenn du jemanden nicht helfen willst weil er unbedingt nur den Code haben will, dann lass es halt sein.
Wenn dem keiner hilft wird er schon merken das er selbst was tun muss, wir werden da sicherlich niemanden verwarnen. Außer natürlich der Post ist Spam, sowas wie "Ich brauch das !!!1111"Im übrigen lernt es sich am Fertigen Code manchmal besser, denn viele Anfänger kennen vllt die nötigen Befehle, haben aber das zusammensetzen noch nicht drauf.
Fertigen Code einfach mit ein paar Kommentaren versehen was da passiert, dann ist dem auch geholfen.Man kann nicht erwarten das jeder nur anhand eines Wiki Links die richtige Lösung sofort weiß.
-
Jedenfalls nicht als public, hab dazu das im Internet gefunden:
All arguments of public functions must be passed explicitly. Public functions are typically called from the host application, who has no knowledge of the default parameter values. Arguments of user defined operators are implied from the expression and cannot be inferred from the default value of an argument. -
Das forward und das Wort public weg

-
Man muss fairerweise sagen das man das deutlich präsenter hätte aufziehen können.
Ein schickes Logo für den Kontest z.B. machen lassen, anstelle das du es postest hättest du ja z.B. auch mich fragen können, ich hätte das vllt sogar angepinnt.
Ich denke das ist einfach an mangelnder Aufmerksamkeit und vllt auch an zu wenig Zeit gestorben... -
Richtigen Bereich beachten
//Verschoben
-
Ich denke die Ursprüngliche "Kritik" ist geklärt, die Sperre hat ihren Sinn und wird auch weiterhin beibehalten.
und habs dank euch auch nicht vor
Gern geschehen!
//Closed