Versuch mal
if(dini_Int("Datei","XYZ") == 1)
Wobei ich mir sicher bin das sowas eigentlich nicht gehen sollte
DAS HAT FUNKTIONIERT DAAAAAAAAAAAAAAANKE!!!
Versuch mal
if(dini_Int("Datei","XYZ") == 1)
Wobei ich mir sicher bin das sowas eigentlich nicht gehen sollte
DAS HAT FUNKTIONIERT DAAAAAAAAAAAAAAANKE!!!
Mir erschließt sich immer noch nicht der Grund dieses Unterfangens. Diese Zeile
tut nicht was sie soll, das ist das Problem eine Variable in einer entsprechenden Datei zu speichern ist kein Problem. Ich brauche nur eine if Abfrage die auf diese Datei zugreift nichts anderes.
Ich kann den Script zwar auch nicht ordentlich lesen aber hast du worldbounds ( SetPlayerWorldBounds ) erstellt? Wenn man sich außerhalb von diesen aufhält, kommt eine solche Meldung.
Könntest du mir das in das obere Script einbauen? Ich Krieg es nämlich nicht hin bei mir wird jetzt Nichtmal mehr eine Datei erstellt.
Du musst überall noch den Pfad eingeben
Wie genau ist das gemeint? Und was genau soll das bringen? Also jetzt nicht missverstehen aber wenn ich nirgendwo einen Pfad eingegeben habe dann wird die Datei nur unter Scriptfiles gespeichert und auch nur unter Scriptfiles ausgelesen oder wie soll ich das verstehen?
EDIT :
ZitatAlles anzeigen
new name;
new stringg[128];
GetPlayerName(playerid,name,sizeof(name));
format(stringg,sizeof(stringg),"/Accounts/%s.ini",name);
dini_Create(stringg);
Wo soll das hin?
Hey,
Ich bin Scriptinganfänger und ich habe heute versucht eine Variable in einer Textdatei zu speichern und diese Variable dann auszulesen,allerdings klappt das alles nicht so wie es soll. Ich habe schon versucht einen String mit der entsprechenden gespeicherten Variable zu verknüpfen also in etwa so
#include <a_samp>
#include <Dini>
new tmptutorialstate = 0;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Test Script ");
print("--------------------------------------\n");
return 1;
}
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!dini_Exists(name))
{
dini_Create(name);
dini_IntSet ("name","tutorialstate",0);
tutorialstate = dini_IntSet(("name","tutorialstate"));
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if ( tutorialstate == 0)
{
SendClientMessage(playerid,0xFF0000FF,"tutorialtext");
tutorialstate = 1;
return 1;
}
return 1;
}
Alles anzeigen
damit konnte ich zwar meine Variable auslesen, aber die tmptutorialstate gilt für alle Spieler und das hindert mich daran mit diesem System zu arbeiten. Mein derzeitiger Stand sieht so aus
#include <a_samp>
#include <Dini>
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Test Script ");
print("--------------------------------------\n");
return 1;
}
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!dini_Exists(name))
{
dini_Create(name);
dini_IntSet ("name","tutorialstate",0);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if (dini_IntSet ("name","tutorialstate",0))
{
SendClientMessage(playerid,0xFF0000FF,"tutorialtext");
dini_IntSet ("name","tutorialstate",1);
return 1;
}
return 1;
}
Alles anzeigen
ich kann den Code auf Kompilieren, was mich verwunderte da ich if(dini_IntSet("name",tutorialstate",1); für eine mögliche Gefahrenquelle gehalten habe, es kommen zwar keine Fehlermeldungen aber es wird auch nicht geprüft ob die tutorialstate nun 1 oder 0 ist. Ich hoffe jemand versteht mein Problem und kann mir in irgendeiner Form helfen, ich bin für jede Hilfe dankbar.
Mfg Begaver