Premium System legt falsche .ini an

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag zusammen.
    Ich habe ein Premium System in mein Script eingebaut aber es legt eine falsche .ini an.
    Zugleich bekomme ich 2 warnings in Zeilen wo die .ini gelesen/erstellt wird:


    Zitat

    C:\Users\Peter Power\Desktop\Sunt & DM\gamemodes\Stunt&DM.pwn(166) : warning 202: number of arguments does not match definition
    C:\Users\Peter Power\Desktop\Sunt & DM\gamemodes\Stunt&DM.pwn(172) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.

    Hier Pawn code:


    if (strcmp(cmd, "/buypremium", true) == 0)
    {
    new SpielerName[MAX_PLAYER_NAME];
    if(dini_Exists("/PremiumUser/%s.ini",SpielerName))
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Premium User");
    }
    else
    {
    dini_Create("/PremiumUser/%s.ini",SpielerName);
    hatpremium[playerid] += 1;
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Herzlichen Glückwunsch! Du bist nun Premium User!");
    GivePlayerMoney(playerid, -5000000);
    }
    return 1;
    }


  • if (strcmp(cmd, "/buypremium", true) == 0)
    {
    new Spielername[MAX_PLAYER_NAME]; //<Am besten oben in den Lokalen berreich
    GetPlayerName(playerid, Spielername, sizeof(Spielername));
    if(dini_Exists("/PremiumUser/%s.ini",SpielerName))
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Premium User");
    }
    else
    {
    dini_Create("/PremiumUser/%s.ini",SpielerName);
    hatpremium[playerid] += 1;
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Herzlichen Glückwunsch! Du bist nun Premium User!");
    GivePlayerMoney(playerid, -5000000);
    }
    return 1;
    }


    Vll so... weiss aber net

  • Funktioniert leider nicht':


  • if (strcmp(cmd, "/buypremium", true) == 0)
    {
    new pfile[128], SpielerName[20];
    GetPlayerName(playerid, SpielerName, sizeof SpielerName);
    format(pfile, sizeof pfile, "PremiumUser/%s.ini", SpielerName);
    if(dini_Exists(pfile))
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Premium User");
    }
    else
    {
    dini_Create(pfile);
    hatpremium[playerid] += 1;
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Herzlichen Glückwunsch! Du bist nun Premium User!");
    GivePlayerMoney(playerid, -5000000);
    }
    return 1;
    }


    Ungetestet, sollte aber funktionieren.
    MfG
    Maxx

  • Nein, muss es nicht.
    Warum nciht, weiss ich selber nciht, ich habe es mir immer so erklärt:
    In der "dini_Exists" Abfrage greift Dini direkt in das Scriptfiles Verzeichnis (also schon mit dem ersten / (slash)), dann musst du nurnoch deinen Pfad angeben.
    Darum funktioniert das so, auch ohne slash. (Ich selber nutze es ja auch so ;))
    Übrigens musst du dann aber im Scriptfiles Ordner den Ordner "PremiumUser" anlegen.
    MfG
    Maxx

  • woher wisst ihr alle diese Commands xD


    new profile=set usw.

  • fopen ist das Pawn eigene Filesystem (soweit ich da richtig liege, falls nicht, man kann mich gerne Korrigieren ;))
    Bei dini braucht man kein slash vor dem Ordner.
    Ich glaube, man kann es setzen, ist aber kein muss (ich weiss es, da ich es selber nutze (funktioniert) aber nie ein slash mache) :D


    NeoPhoenix:
    Sowas kann man
    1.per PM erfragen und
    2. Nein kann ich nciht, ich kann euch nur (Ver)warnen und die Beiträge in den Sektionen wo auch Sektions Moderatoren was tun können, bearbeiten schliessen öffnen usw.


    MfG
    Maxx