Beiträge von [LP]Tochnas

    Ich habe drei Errors....


    mysql_format(mycon, query, sizeof(query), "SELECT COUNT(*) AS `ID` FROM `accounts` WHERE `Name` = '%e'",Player[playerid][pName]); // sizeof(query) /- tag mismatch (argument 3)
    mysql_format(mycon,query, sizeof(query), "UPDATE `Accounts` SET `Passwort` = %e,`Admin` = %i,`LastLogin` = '%e' WHERE `Name` = '%e'", // sizeof(query) /- tag mismatch (argument 3)
    Player[playerid][pPasswort],Player[playerid][pAdmin],Player[playerid][pLastLogin],Player[playerid][pName]);
    mysql_query(mycon,query,"",""); // mycon /- tag mismatch (argument 1)


    Und ich habe die Richtige Include drine, aber diese Errors verstehe ich jetzt nicht.


    Code
    D:\SA-MP\SAMP 0.3x\gamemodes\SAMP-LOL.pwn(18) : error 017: undefined symbol "mycon"
    D:\SA-MP\SAMP 0.3x\gamemodes\SAMP-LOL.pwn(40) : error 017: undefined symbol "mycon"
    D:\SA-MP\SAMP 0.3x\gamemodes\SAMP-LOL.pwn(40) : error 035: argument type mismatch (argument 3)
    D:\SA-MP\SAMP 0.3x\gamemodes\SAMP-LOL.pwn(41) : error 017: undefined symbol "mycon"


    Und habe das Windows Plugin von oben den Link gedownloadet... und in der Include ist auch kein mycon zu finden.


    Hab das aus dem Tutorial von Kaliber Zitiert und dir angepasst denke es sollte helfen.

    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(Spiuelerdatei,"loggedin") == 1 // zu if(GetPVarInt(playerid,"loggedin") == 1)
    {
    SpielerSpeicher(playerid); // zu SpielerSpeichern(playerid);
    }
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[128];
    new string2[128];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    SpielerLadenn(playerid); // zu SpielerLaden(playerid);
    SendClientMessage(playerid,COLOR_WHITE,"Du hast dich erfolgreich eingeloggt!");
    format(string2,sizeof(string2),"[Join] %s hat den Server betreten!",SpielerName(playerid));
    SendClientMessageToAll(COLOR_GREEN,string2);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Loginvorgang","Das angegebene Passwort war leider falsch!/nBitte gib nun unten dein Passwort erneut ein!","Login","Abrrechen");
    }
    return 1;
    }


    Edit: Login beigefügt

    Da haben wir ihn...


    Bei public OnPlayerConnect musst du ein public OnPlayerConnect weg machen und die "{" auch.....


    Tipp:
    Wenn du achon Copy & Paste machst dan bitte richtig

    Versuch mal ein Dialog-basierendes Banksystem.


    Da stimme ich zu, das ist simple und erklärt dir auch Funktionen wo du woanders auch gebrauchen kannst wie ein Fraktionssystem, denn da musst du ja auch sachen laden und speichern.


    Ich empfehle dir ein Banksystem, das natürlich gleich mit dialogen machen.

    Ich möchte ein User invite User system machen,
    Awo man dann extra sachen bekommen soll wenn man eingeladen worden ist, dennoch möchte ich nicht das der Spieler mit der IP 1 sich nicht 20x odrr mehrmals einladen kann. Deutsch gesagt die IP darf nur mal existieren.


    - Muss ich die IP als Integer angeben oder wie ?
    - Wie muss ich die Zeile in der Datenbank anfertigen für die IP ?
    - Wie speichere ich die IP in einer Variable ?


    Danke im vorraus für jede hilfe

    AddNoDMZone(439.8967, -1647.6115, 2507.5723, -1687.6110);
    Zur Erläuterung:
    Du hast folgende Koordinaten (Reihenfolge der oben stehenden Koordinaten)


    minX = Die kleinste Zahl der X Achse
    minY = Die kleinste Zahl der Y Achse
    maxX = Die größte Zahl der X Achse
    maxY = Die größte Zahl der Y Achse

    Warum benutzt du 2 stocks um die vehicles zu laden ? Das geht auch nur mit einem stock...


    OnGameModeInit()

    for(new i = 0; i <MAX_VEHICLES; i++)
    {
    LoadVehicle(i);
    }

    Somit kannst du deine zwei stocks in eine packen und die sache wäre ressourcenschonender


    enum sektor_daten {
    sCID,
    sName[16],
    Float:sX1,
    Float:sY1,
    Float:sX2,
    Float:sY2,
    sArt
    };
    new SektorInfo[10][sektor_daten];
    new Sektor[10];
    enum s_system {
    PlayerOnServer,
    SektorOnline, // Das hier
    OldHour,
    Text:MoneyBack, Text:BoxBack,
    Text:Uhrzeit,
    Text:Handel,
    HandelMin,
    HandelSec
    };
    new System[s_system];

    enum p_spielerdaten {
    pName[MAX_PLAYER_NAME],
    pPass[16],
    pAdmin,
    pGeld,
    pSAD,
    pEXP,
    pEhre,
    pLevel,
    pClan,
    pMission,
    pTrank,
    pUID,
    pEtape,
    pFindPflanze,
    pHandel,
    pIsSektor, // das hier
    pShowSektor, // das hier
    bool:pUseTrank,
    Text:MoneyPlayer,
    Text:Needs,
    Text:Speedo,
    Text:SpeedoBack,
    Text3D:pText,
    Text:Erfolg
    };
    new SpielerInfo[MAX_PLAYERS][p_spielerdaten];


    OnGameModeInit()
    CreateSektor();


    OnPlayerConnect(playerid)
    switch(SpielerInfo[playerid][pShowSektor]) {
    case 0: {
    for(new i = 0; i <System[SektorOnline]; i++) {
    GangZoneShowForPlayer(playerid,Sektor[i], 0xFFFF0096); SpielerInfo[playerid][pShowSektor] = 1;
    }
    }
    }

    Ein Timer bei mir alle Sekunde

    for(new playerid = 0; playerid <System[PlayerOnServer]; playerid++)
    {
    if(!GetPVarInt(playerid,"Eingeloggt")) continue;
    if(!IsPlayerInArea(playerid, SektorInfo[SpielerInfo[playerid][pIsSektor]][sX1],SektorInfo[SpielerInfo[playerid][pIsSektor]][sY1],SektorInfo[SpielerInfo[playerid][pIsSektor]][sX2],SektorInfo[SpielerInfo[playerid][pIsSektor]][sY2]))
    {
    GenerateNeeds(playerid);
    }
    if(SektorInfo[SpielerInfo[playerid][pIsSektor]][sArt] == 1)
    {
    if(SpielerInfo[playerid][pIsSektor] == -1) continue;
    if(GetPlayerWeapon(playerid) >= 1)
    {
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid, COLOR_WHITE, "Das ist eine Waffenfreie Zone.");
    }
    }
    }


    CreateSektor() und CheckSektorName(playerid)

    stock CreateSektor()
    {
    new str[128], Query[128], i = 0;
    format(Query, sizeof(Query), "SELECT * FROM `sektor`");
    mysql_query(Query);
    mysql_store_result();
    printf("%d Sektoren gelesen.", mysql_num_rows());
    while(mysql_fetch_row(str))
    {
    new oldx=0;
    new count=0;
    for(new x=0; x<strlen(str); x++)
    {
    if(str[x]=='|')
    {
    count++;
    new tmpstring[sizeof(str)]; tmpstring=str;
    strdel(tmpstring, x, strlen(tmpstring));
    strdel(tmpstring, 0, oldx+1);
    switch(count)
    {
    case 2: SektorInfo[i][sCID] = strval(tmpstring);
    case 3: format(SektorInfo[i][sName], 16, "%s", strlen(tmpstring));
    case 4: SektorInfo[i][sX1] = floatstr(tmpstring); //f
    case 5: SektorInfo[i][sY1] = floatstr(tmpstring); //f
    case 6: SektorInfo[i][sX2] = floatstr(tmpstring); //f
    case 7: SektorInfo[i][sY2] = floatstr(tmpstring); //f
    case 8: SektorInfo[i][sArt] = strval(tmpstring);
    }
    oldx=x;
    }
    }
    Sektor[i] = GangZoneCreate(SektorInfo[i][sX1],SektorInfo[i][sY1],SektorInfo[i][sX2],SektorInfo[i][sY2]);
    printf("Sektor %s[%d] geladen.", SektorInfo[i][sName],System[SektorOnline]);
    printf("%s", str);
    i++;
    System[SektorOnline] = i;
    }
    mysql_free_result();
    }


    stock CheckSektorName(playerid)
    {
    new str[16];
    SpielerInfo[playerid][pIsSektor] = -1;
    for(new i = 0; i <System[SektorOnline]; i++)
    {
    if(IsPlayerInArea(playerid, SektorInfo[i][sX1],SektorInfo[i][sY1],SektorInfo[i][sX2],SektorInfo[i][sY2]))
    {
    SpielerInfo[playerid][pIsSektor] = i;
    break;
    }
    }
    switch(SpielerInfo[playerid][pIsSektor])
    {
    case -1: { format(str, sizeof(str), "..."); }
    default: { format(str, sizeof(str), "%s", SektorInfo[SpielerInfo[playerid][pIsSektor]][sName]); }
    }
    return str;
    }


    Der auf dem Bild Rechte Textdraw
    stock GenerateNeeds(playerid)
    {
    new string[256];
    format(string, 256, "~r~%s [UID: %d]~n~~n~~r~SAD: ~y~%d~n~~r~Erfahrung: ~w~%d~n~~r~Ehre: ~w~%d~n~~r~Level: ~w~%d~n~~r~Clan: ~w~%s~n~~r~Sektor: ~w~%s",
    SpielerInfo[playerid][pName], SpielerInfo[playerid][pUID], SpielerInfo[playerid][pSAD], SpielerInfo[playerid][pEXP],
    SpielerInfo[playerid][pEhre], SpielerInfo[playerid][pLevel],PlayerClan(SpielerInfo[playerid][pClan]), CheckSektorName(playerid));
    TextDrawSetString(SpielerInfo[playerid][Needs], string);
    return 1;
    }


    So das ist mein ganzes System was ich zu dem Thema habe


    Technische Merkmale


    Spoiler anzeigen
    Gerätetyp:
    PC-Lautsprecher
    Bauform:
    Multimedia-Lautsprecher für PC
    Lautsprechersystem:
    5.1 Lautsprechersystem
    Signalübertragung:
    Kabelgebunden
    Ausgangsleistung (Maximal):
    500 Watt
    Belastbarkeit Satellit:
    67 Watt
    Belastbarkeit Center Lautsprecher:
    67 Watt
    Belastbarkeit Subwoofer:
    165 Watt
    Artikelnummer:
    1389884


    Ausstattung


    Spoiler anzeigen
    Anzahl Lautsprecher:
    6
    Subwoofer:
    ja
    DTS-Decoder:

    ja
    THX-Zertifiziert:
    ja
    MP3-Player Docking-Anschluss:
    nein
    Anschlüsse:
    2 x digital-optische Eingänge, 1 x digital-koaxialer Eingang, 1 x 6-Kanal-Direkteingang, 1 x Cinch-Eingang, 1 x 3,5-mm-Eingang
    Fernbedienung:
    ja
    Besondere Merkmale:
    Geeignet für Computer, iPod, MP3-Player, Fernseher, Blu-ray-Player, DVD-Player, PlayStation®2, Playstation®3, Xbox 360®, Wii


    Allgemeine Merkmale


    Spoiler anzeigen
    Breite Satelliten:
    92 mm (92 mm Center)
    Höhe Satelliten:
    165 mm (99 mm Center)
    Tiefe Satelliten:
    99 mm (165 mm Center)
    Breite Subwoofer:
    318 mm
    Höhe Subwoofer:
    292 mm
    Tiefe Subwoofer:
    280 mm
    Breite Center Lautsprecher:
    92 mm
    Höhe Center Lautsprecher:
    99 mm
    Tiefe Center Lautsprecher:
    165 mm
    Farbe:
    Schwarz
    Gewicht:
    13,3 kg
    Lieferumfang:
    Lautsprecher, Lautsprecherkabel, 6-Kanal-Direktkabel (1,8 Meter), Stapelbare Bedienkonsole
    Herstellergarantie:
    24 Monate


    © Daten und Bild by Saturn !