Beiträge von [COE]CodeX


    Meine Frage dazu wäre, ist SII Besser als Dini? Würde gerne mal was neues ausprobieren? +Push ;)

    Ja soweit ich weiß soll SII besser als dini und auch als HSA sein ;)

    Ja ich hab auch noch einen elementaren fail gefunden als ich mir das angeschaut habe :D
    ich hab nämlich beim speichern vergessen die INI auch zu öffnen :D


    Jetzt funktioniert es mehr oder weniger

    Also ich bin mit meinem Filesystem mal von dini auf SII umgestiegen udn hab meine Login/Register darauf umgeschrieben aber es will nicht funktionieren
    Und ich hab keine Ahnung woran das liegt und ich kenne mich ja noch nicht so gut mit SII aus also hoffe ich ihr könnt mir helfen.


    Es wir zwar eine Spielerdatei als .ini erstellt aber es wir nur das Passwort darin gespeichert und gehashed(MD5)) die anderen Daten aus dem stock SpielerSpeichern und AccountLaden werden nirgends hin gespeichert genau so wie eine Spielerdateimit PW für mich erstellt wurde aber für meinen Kumpel nicht


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new Inventar[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    format(Inventar,sizeof(Inventar),"/Inventar/%s.ini",name);
    //INI_Create();
    //INI_Create();
    INI_Open("Spielerdatei");
    {
    INI_WriteString("Passwort",key);
    SendClientMessage(playerid,grün,"Herzlichen Glückwunsch, du hast dich erfolgreich registriert");
    GiveStartVars(playerid);
    GiveStartInventar(playerid);
    pInfo[playerid][Eingeloggt]=1;
    INI_Save();
    INI_Close();
    }
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
    {
    AccountLaden(playerid);
    InventarLaden(playerid);
    pInfo[playerid][Eingeloggt]=1;
    pInfo[playerid][ZsL]=0;
    SendClientMessage(playerid,grün,"Du hast dich erfolgreich eingeloggt");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,rot,"Falsches Passwort");
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
    return 1;
    }


    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(INI_Exist(Spielerdatei))
    {
    INI_WriteInt("Erfahrung",pInfo[playerid][Erfahrung]);
    INI_WriteInt("Warns",pInfo[playerid][Warns]);
    INI_WriteInt("Geld",pInfo[playerid][Geld]);
    INI_WriteInt("Adminlevel",pInfo[playerid][Adminlevel]);
    INI_WriteInt("Level",pInfo[playerid][Level]);
    INI_WriteInt("Wanteds",pInfo[playerid][Wanteds]);
    INI_WriteInt("Banned",pInfo[playerid][Banned]);
    INI_WriteInt("Hunger",pInfo[playerid][Hunger]);
    INI_WriteInt("Durst",pInfo[playerid][Durst]);
    INI_WriteInt("Viren",pInfo[playerid][Viren]);
    INI_WriteInt("Fraktion",pInfo[playerid][Fraktion]);
    INI_WriteInt("Nebenjob",pInfo[playerid][Nebenjob]);
    INI_WriteInt("Fraktionsrang",pInfo[playerid][Fraktionsrang]);
    INI_WriteInt("Zeit bis Payday",pInfo[playerid][ZbP]);
    INI_WriteInt("Hat Uhr",pInfo[playerid][HatUhr]);
    INI_Save();
    INI_Close();
    }
    return AccountLaden(playerid);
    }
    stock AccountLaden(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(INI_Exist(Spielerdatei))
    {
    INI_Open(Spielerdatei);
    {
    SetPlayerScore(playerid,INI_ReadInt("Level"));
    GivePlayerMoney(playerid,INI_ReadInt("Geld"));
    SetPlayerWantedLevel(playerid,INI_ReadInt("Wanteds"));
    pInfo[playerid][Erfahrung] = INI_ReadInt("Erfahrung");
    pInfo[playerid][Geld] = INI_ReadInt("Geld");
    pInfo[playerid][Adminlevel] = INI_ReadInt("Adminlevel");
    pInfo[playerid][Level] = INI_ReadInt("Level");
    pInfo[playerid][Wanteds] = INI_ReadInt("Wanteds");
    pInfo[playerid][Banned] = INI_ReadInt("Banned");
    pInfo[playerid][Warns] = INI_ReadInt("Warns");
    pInfo[playerid][Hunger] = INI_ReadInt("Hunger");
    pInfo[playerid][Durst] = INI_ReadInt("Durst");
    pInfo[playerid][Viren] = INI_ReadInt("Viren");
    pInfo[playerid][Fraktion] = INI_ReadInt("Fraktion");
    pInfo[playerid][Nebenjob] = INI_ReadInt("Nebenjob");
    pInfo[playerid][Fraktionsrang] = INI_ReadInt("Fraktionsrang");
    pInfo[playerid][ZbP] = INI_ReadInt("Zeit bis Payday");
    pInfo[playerid][HatUhr] = INI_ReadInt("Hat Uhr");
    }
    if(pInfo[playerid][Banned]==1)
    {
    SendClientMessage(playerid,rot,"Du wurdest gebannt. Wenn es ein Failban ist,");
    SendClientMessage(playerid,rot,"dann kontaktiere einen Admin");
    Kick(playerid);
    }
    if(pInfo[playerid][Warns]==3)
    {
    SendClientMessage(playerid,rot,"Du hast 3 Spielerverwarnungen");
    SendClientMessage(playerid,rot,"das bedeutet du wirst vom Server ausgeschlossen");
    Kick(playerid);
    pInfo[playerid][Banned] =1;
    }
    INI_Close();
    }
    return 1;
    }

    Das Problem hatte ich auch am Anfang mal und so wie ich deine stocks sehe würde ich sagen MrMonat lässt grüßen :D und wenn nicht dann sry^^


    Aber ändere mal beim Login Dialog den Dialog Style
    also von
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"High Definition Reallife Login","Bitte gebe das Passwort für deinen Account an.","Login","Abbrechen");


    zu


    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"High Definition Reallife Login","Bitte gebe das Passwort für deinen Account an.","Login","Abbrechen");


    Falls das ganze noch aktuell ist...


    Leider kann man keine Bots in SAMP erstellen, die dich entweder verfolgen oder dich angreifen usw. Das muss man leider alles vorher recorden.. :/
    In MTA ist das alles moeglich.

    Ja hier in diesem Thread wird auch ein Server erstellt auf dem sie sowas Möglich gemacht haben aber k.a ob das der gleiche Server ist wie der von Blood gepostete^^


    Aber das Projekt ist gestorben :D weil ich einfach mehr Lust habe ein Reallife Gamemode zu scripten und ich war sowieso nicht weit
    Aber wer möchte kann die Idee gerne nutzen(Kann ich sowieso nicht verbieten^^) und das an den hier zusammengestellten Ideen bedienen


    MfG
    MrMonkey

    Das heißt wenn wenn ich euch jetzt richtig verstanden habe sollte ich alles "wichtige" was eventuell mal in einem UCP angezeigt werden soll mit Mysql oder SQLite scripten während ich kleinere "Systeme" mit File-includes speicher aber dazu hab ich noch eine Frage auch auf die Gefahr hin mich hier lächerlich zumachen weil ich keine Ahnung hab aber was für andere Systeme? Ich mein Wenn die Spielerdaten und z.B Carkey mit Mysql oder SQLite gespeichert werden was bleibt da noch?
    Gut Ok Fraktionsfahrzeuge zum Beispiel aber die kann ich doch im Script mit AddStaticVehivle festhalten oder?

    Also so wie ich das sehe sagt ihr also alle das Mysql besser ist als SQLite und das man es mit einem filesystem verwenden soll


    Aber hat den wirklich keiner was zu SII zu sagen das soll auch gut sein^^


    @<(^^_)>Msk. Ich werde keinen Minigame Server scripten ist sicherlich ein toller GameMode aber ich hab lust ein RL Mode zu scripten :D


    Bitteschön


    ist wesentlich schneller & ressourcenschonender als Mysql etc. Aber da man mit Mysql Datenbanken erstellen kann die man dann mit anderen Sachen verbinden kann, benutzt man die auch gern. Deswegen wird bei einem guten Script nur wichtige Spielerinformationen per Mysql gespeichert und der Rest normal mit fwrite.


    hm das hört sich ja nicht schlecht an wenn ich dann mal Frakkars hinzufüge werde ich mich damit näher beschäftigen(müssen^^)


    Aber gibts jemand der Erfahrungen mit SII gemacht hat und mir bisschen was darüber berichten kann VVorteile/Nachteile Funktionsweise....


    mysql ist schnell... man muss richtig mit mysql arbeiten da sonst lücken auftreten die sql injections ermöglichen. soweit ich weiß ist es das gleiche bei sqlite... es lohnt sich aufjedenfall auf mysql umzusteigen bzw damit anzufangen...


    Lg


    Das heißt du empfpfiehlst mir Mysql oder SQLite zu nehmen zumindest wenn ich es schaffe zu lernen ordentlich damit umzugehen
    Hast du Erfahrungen mit SII?

    Stimmt ein GW System so offensichtlich dass ich es vergessen habe :D
    Ja wegen den Nebenjobs muss ich mir was einfallen lassen, dass man eben nicht nur Checkpoints abfährt naja mal sehen
    Kanst du mir mal erklären, was ein MiniGames Server ist bzw was das für Minigames sind? Hab auf noch keinem gespielt


    Und helft mir bitte mit den Speichersystemen weiter
    egal ob das nur zum Spaß ist zum Verkauf oder zum starten eines Servers das Speichersystem ist schon wichtig

    Ich benutze ebenso wie meine Vorposter OCMD weil es sehr einfach zu verstehen und auch sehr übersichtlich ist. Mit DCMD hab ich noch nie gescriptet und kanns deswegen von der Geschwindigkeit her nicht vergleichen. Aber ich ein paar Scripts hab ich DCMD Commands gesehn und fand sie umständlich^^

    Ja also ich fange gerade an einen Reallife GameMode zu scripten.
    Und ich möchte von euch Dinge wissen die auf alle Fälle und Standartmäßig in einen Reallife Gamemode gehören.


    Mir fällt folgendes ein:
    -->Nebenjobs
    -->Adminsystem
    -->Anti Cheat
    -->Fraktionen
    -->Häuser und Bizsystem


    Added Autohaussystem
    Added Gangwarsystem


    Aber was gehört noch rein und ich meine Standart Sachen nicht so spezielle "System" welche den Server mehr oder weniger einzigartig machen .


    Und welches Speichersystem soll man am besten nutzen derzeit hab ich mit dini abgespeichert weil es einfach zu verstehen und anzuwenden war aber ich möchte das schon etwas Anspruchvoller machen so wie ich das sehe stehen 3 öfters hier im Forum positive Methoden zu Wahl
    -->Mysql
    -->SQLite
    -->SII
    Was sind die Vorteile des einem gegenüber des anderem und kann ein großer Server auf Mysql verzichten?


    Und Bevor Leute jetzt kommen "schon wieder so ein scheiß GF Edit" oder "Wieder ein 0815 Server"


    1. scripte ich zum Spaß
    2. Weiß ich noch nicht ob ich damit vielleicht mal ein projekt anfangen möchte und wenn doch dann mach ich sicherlich ne gute Anfrage und plan auch alles ordentlich durch also Keine Sorge ;) 8)
    3. Vllt. will ich das Script auch mal verkaufen und dann soll es ja zum Bsp. ein gutes Speichersystem besitzen.


    MfG
    MrMonkey

    Ich will ja nichts sagen aber schau mal was du hier geschrieben hast


    WantedPoints[playerid] += 1;
    SetPlayerCriminal(playerid,255, "Ausrauben der LS Bank");
    SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+100);//HIER +100?!?


    +100 Übersteigt die maximale Wantedanzahl deswegen wird es denke ich nur die 1 von der 100 nehmen(Laienhaft^^)
    und dazu kommt noch, dass man lau Wiki nur Wanteds 0-6 setzen kann SetPlayerWantedLevel

    Hier das sollte so funktionieren ;)

    public minute()
    {
    new Float:health;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(GetPVarInt(i,"login")==0)continue;
    //Spieler ist eingeloggt & online
    SetPlayerHealth(i,GetPlayerHealth(i,health)-5);
    SetPVarInt(i,"Paytime",GetPVarInt(i,"Paytime")+1);
    //SetPVarInt(i,"Health",GetPVarInt(i,"Health")-5); sowas macht man nicht mit PVars dafür hast du ja schon Abfragen wie Set/GetPlayerHealth....
    if(GetPVarInt(i,"Paytime")==20)
    {
    //was alle 20 minuten ausgeführt werden soll
    SetPVarInt(i,"Paytime",0);
    SendClientMessage(i,GELB,"---------------------------PAYDAY-------------------------");
    SendClientMessage(i,GELB,"Du erhälst $20000 und 1 Respektspunkt");
    SendClientMessage(i,GELB,"Das FG Team wünscht dir weiter hin viel Spaß");
    SendClientMessage(i,GELB,"---------------------------PAYDAY-------------------------");
    GivePlayerMoney(i,20000);
    }
    }
    return 1;
    }


    Noch ein Tipp am Rande Das Spielerleben ist ein Float Wert(Gleitkommazahl) udn kein Integer(Ganze Zahl)