Hi
Mal eine andere Frage, besteht die Möglichkeit, das Filterscript in den Gamemod einzubauen ?
MfG Simon
Hi
Mal eine andere Frage, besteht die Möglichkeit, das Filterscript in den Gamemod einzubauen ?
MfG Simon
Hi
Ich möchte mein Script gmx-tauglich machen. Speichermässig ist alles klar, jedoch habe ich ein Problem nach dem Einloggen. Ich rufe das Passwortmenü bei OnPlayerConnect auf, vergleiche das Passwort und lasse ihn dann mittels SpawnPlayer() spawnen. Nun, nach einem GMX kommt die Skinauswahl (OnPlayerRequestClass) einerseits überhaupt nicht, andererseits spawne ich mit einem blauen Screen. Muss hier hinzufügen, dass dies nicht immer passiert.
Ich befinde mich nicht im falschen Interior, denn der ganze Bildschirm ist blau/hellblau. Die Spawnposition stimmt, die Meldung mit dem Du bewohnst kein Haus mehr ist vernachlässigbar, denn der GMX speichert momentan noch nicht (baue es erst um, wenn das mit dem blauen Bildschirm weg ist).Hat jemand bereits was Ahnliches erlebt und kann mir helfen ?
MfG Simon
Wo bleibt Bowske....*in die Luft guck*
Schade das diese gute Alternative höchstwahrscheinlich nicht so wie geplant enden wird
Simon
Hi
Ok, ja, Du kannst es auch als Ladecode fürn OnGameModeInit nehmen, dachte es sei dazu da, alle Häuser zu refreshen/aktualisieren. Wenn es jedoch für OnGameModeInti da ist, warum wird es bei CreateHaus nochmals benutzt ? Zu dem return, da muss ich dir glaub widersprechen. Überleg mal, was passiert, wenn das letzte erstellte Haus, welche die höchste Zahl hat im Datennamen hat, nicht verkauft ist ? Dann läuft der Code weiter bis zu MAX_Haus oä.
Simon
Hi
Du machst da ein paar Fehler:
1.) return bricht den Code ab, wenn Du aber alle Häuser laden möchtest, musst Du continue brauchen
2.) Du lädst alle Häuser neu, wenn Du ein neues Haus erstellst. Du musst LoadHaus() anpassen, sonst kann es da Probleme geben. Mein Tipp:
CreateHaus
LoadHaus
UpdateHaus
Du hast wie bei 1.) gesagt ein return-Fehler, verwende da unbedingt continue, um einen for-Wert zu erhöhen.Hinzu kommt, dass Du nur abfragen darfst, ob das Haus verkauft ist oder nicht, wenn es auch existiert, habe das umgebaut:
public LoadHaus()
{
new string[128];
for(new i=1;i<MaxHaus;i++)
{
format(string,sizeof(string),"/Haus/Hausid %d.ini",i);
if(dini_Exists(string))
{
format(HausInfo[i][Besitzer],40,"%s",dini_Get(string,"Besitzer"));
HausInfo[i][Hx] = dini_Float(string,"Hx");
HausInfo[i][Hy] = dini_Float(string,"Hy");
HausInfo[i][Hz] = dini_Float(string,"Hz");
HausInfo[i][Ix] = dini_Float(string,"Ix");
HausInfo[i][Iy] = dini_Float(string,"Iy");
HausInfo[i][Iz] = dini_Float(string,"Iz");
HausInfo[i][Zimmer] = dini_Int(string,"Zimmer");
HausInfo[i][Inte] = dini_Int(string,"Inte");
HausInfo[i][World] = dini_Int(string,"World");
HausInfo[i][HPreis] = dini_Int(string,"HPreis");
HausInfo[i][Verkauft] = dini_Int(string,"Verkauft");
HausInfo[i][Verschlossen] = dini_Int(string,"Verschlossen");
HausInfo[i][Hlevel] = dini_Int(string,"Level");
HausInfo[i][Hkasse] = dini_Int(string,"Kasse");
HausInfo[i][Hmiete] = dini_Int(string,"Miete");
if(HausInfo[i][Verkauft] == 0)
{
Hausp[i] = CreatePickup(1273,2,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz]);
Hausp[i] = CreatePickup(1318,2,HausInfo[i][Ix],HausInfo[i][Iy],HausInfo[i][Iz]);
format(string, sizeof(string), "Besitzer: %s \nZimmer: %d \nPreis: %d$ \nLevel: %d",HausInfo[i][Besitzer],HausInfo[i][Zimmer],HausInfo[i][HPreis],HausInfo[i][Hlevel]);
Hausa[i] = Create3DTextLabel(string,Orange,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz],10,0,1);
continue;
}
if(HausInfo[i][Verkauft] == 1)
{
Hausp[i] = CreatePickup(1272,2,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz]);
Hausp[i] = CreatePickup(1318,2,HausInfo[i][Ix],HausInfo[i][Iy],HausInfo[i][Iz]);
format(string, sizeof(string), "Besitzer: %s \nZimmer: %d \nMiete: %d$",HausInfo[i][Besitzer],HausInfo[i][Zimmer],HausInfo[i][Hmiete]);
Hausa[i] = Create3DTextLabel(string,Orange,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz],10,0,1);
}
}
}
return 1;
}
MfG Simon
Hi
Ich Dummerchen, setz nach dem LoadHaus ein return 1;
XDD
Edit Fehler
Hi
Ich kenne mich mit Dini nicht so aus, aber Du hast sicher ein Enum, poste dieses bitte mal. Wenn Du den Code für das Laden der Häuser beim Serverstart hast, poste diesen auch mit. Meistens passiert dort der Fehler (Ich spreche aus Erfahrung, hatte selber mit meinem Vehiclesystem solch ein Einzeiler Problem)
Simon
Hi
Ungültige killerid ? Hatte damit noch nie was zu tun, soll aber Probleme bereiten ..ka
Simon
Hi
Ich verstehe deinen Gedanken, jedoch nicht den genauen Sinn
1.) Eine solche Zufallszahl ersetzt nur das Passwort, wenn sie vom User eingegeben werden muss
2.) Generierst Du zB eine Nummer aus dem Namen des Spielers, so macht das ganze keinen Sinn, da es keine "Ich bin der rochtige User" Abfrage/Kontrolle gibt
Warum möchtest Du das Passwort ersetzen, das ist dasselbe wie wenn ich das Passwort pseudo-zufällig generieren lasse und es nachher mit einem gleichen pseudo-ähnlichen (welches mit dem Anderen übereinstimmt) vergleiche ?
MfG Simon
Hi
Du benötigst für solche "Funktionen" kein Public, ein stock sollte reichen:
stock GetPlayerMember(playerid)
{
return PlayerInfo[playerid][pMember];
}
stock GetPlayerLeader(playerid)
{
return PlayerInfo[playerid][pLeader];
}
stock GetPlayerRank(playerid)
{
return PlayerInfo[playerid][pRank];
}
Hi
Ich habe grad festgestellt, dass man die Installation nicht abbrechen kann - es öffnet sich ein neuer Dialog, doch das Auswählen und Klicken des Button Setup abbrechen oä führt zu nix.
MfG Simon
DMA you made my day, bester Beitrag ever denn ich je gesehen habe
Jedoch muss man noch Rechtschreibefehler einbauen
Irgendwie gefällt mir das von Q6600, da es meiner Meinung sehr schlicht ist, was mir gefällt
Was denn eig mit Bowske los ?
Alles gute zum BDay, schmeiss dem Forum (13k Mitgliedern) mal eine Runde
Hi
Dank dir Goldkiller, ist eine sehr elegante Lösung
MfG Simon
Hi
Ich möchte für mein Registrierungssystem das Geburtsdatum abfragen, dieses muss in folgendem Format sein:
Nun, die Werte 1-31 und 1-12 frage ich bereits ab, ich möchte aber verhindern, dass sich zB jemand so registrieren kann:
Nun, ich benutzte valstr und frage dann mit strlen die Länge ab, nur kommt das dumemrweise raus:
int = 01 Länge = 1 (Ich bräuchte aber 2, dann könnte ich eine einfache Abfrage mit strlen machen.
int = 10 Länge = 2
Nun, hat jemand eine Idee, wie man das lösen kann ? Ich könnte jetzt die Grösse abfragen, aber das wird sehr aufwändig, ich bräuchte also eine Funktion, welche abfragt, ob der Wert zwischen 1 und 31, 1 und 12 liegt und 2-stellig ist.Das problem ist halt, dass 01 zu 1 gemacht wird und dann die Stringlänge 1 hat
MfG Simon
Hi
Hab das problem gefunden, ich muss $_SESSION und nicht £_POST verwenden
MfG Simon
Hi
Irgendwie geht das nicht so ganz. Das kommt immer raus (wegen dem var_dump):
index.php
else if($_GET['page'] == 'overview')
{
$playerdata = GetDataSpieler($_POST['username']);
var_dump($playerdata);
echo ($playerdata['Name']);
}
functions.php
function GetDataSpieler($username)
{
$db_data = array("localhost","root","","ucp");
mysql_connect($db_data[0],$db_data[1],$db_data[2])or die("cannot connect");
mysql_select_db($db_data[3])or die("cannot select DB");
$username = mysql_real_escape_string($username);
$sql = "SELECT * FROM spieler WHERE Name='$username'";
$result = mysql_query($sql);
$data = mysql_fetch_assoc($result);
return $data;
}
Alles anzeigen
MfG Simon
Hi
Das ganze ist mir ein wenig unklar. Ich rufe von der index.php die Funktion GetDataSpieler auf (welche sich in der functions.php befindet) und diese soll die ganze MySQL-Row als assoziatives Array returnen, so dass ich in der index.php all die MySQL Daten assoziativ per echo oder sonst auch per var_dump (zum testen) ausgeben kann.
Könntest Du mir da ein Beispiel machen, den für mich wirkt eine leere (ohne ausführbaren Code) while Schleife sehr fremd
Hi
Gibt es eine einfache Möglichkeit, assoziativ ein Array per echo zu senden, welches ich mit einer Funktion in einer Include füllen, sprich das ich den Arrayeintrag nicht numerisch sondern assoziativ benutzen kann.
index.php
else if($_GET['test'] == 'fahrzeuge')
{
$Data = GetDataFahrzeuge($_POST['username']);
echo $Data['Level'];
}
function GetDataSpieler($username)
{
$db_data = array("localhost","root","","ucp");
mysql_connect($db_data[0],$db_data[1],$db_data[2])or die("cannot connect");
mysql_select_db($db_data[3])or die("cannot select DB");
$username = mysql_real_escape_string($username);
$sql = "SELECT * FROM spieler WHERE Name='$username'";
$result = mysql_query($sql);
//Hier soll die ganze Linie als assoziatives Array ausgelesen und returnt werden
}
Alles anzeigen
MfG Simon