Beiträge von d0ma

    ~40 mal mysql_query um einen Account zu laden X(
    gehst du auch 40 mal zum Supermarkt wenn du 40 Sachen holen willst ?
    geht mit einer einzigen mysql_query Abfrage


    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
    {
    if(GetPlayerInterior(playerid) > 0)
    {
    TogglePlayerControllable(playerid,0);
    SetTimerEx("Unfreeze",1000,false,"d",playerid);
    new int = GetPlayerInterior(playerid);
    SetPlayerInterior(playerid, int);
    }
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][pGeld] = SetPlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName])); //Wir holen uns den wert der unter "Geld" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Kills" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Tode" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][pRang] = mysql_GetInt("accounts", "Rang", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMember] = mysql_GetInt("accounts", "Member", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pLeader] = mysql_GetInt("accounts", "Leader", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBank] = mysql_GetInt("accounts", "Bankgeld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pInterior] = SetPlayerInterior(playerid,mysql_GetInt("accounts", "Int", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][pDrugsP] = mysql_GetInt("accounts", "Pflanze", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pDrugs] = mysql_GetInt("accounts", "Drogen", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pUserLevel] = SetPlayerScore(playerid,mysql_GetInt("accounts", "UserLevel", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][pRespekt] = mysql_GetInt("accounts", "Respekt", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pWanted] = mysql_GetInt("accounts", "Wanted", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pSkin] = SetPlayerSkin(playerid,mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][Firstlogin] = mysql_GetInt("accounts", "Tutorial", "Name", SpielerInfo[playerid][pName]);
    SetPlayerPos(playerid,mysql_GetFloat("accounts", "x", "Name", SpielerInfo[playerid][pName]),mysql_GetFloat("accounts", "y", "Name", SpielerInfo[playerid][pName]),mysql_GetFloat("accounts", "z", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot0", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo0", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot1", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo1", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot2", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo2", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot3", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo3", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot4", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo4", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot5", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo5", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot6", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo6", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot7", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo7", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot8", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo8", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot9", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo9", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot10", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo10", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot11", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo11", "Name", SpielerInfo[playerid][pName]));
    _AC_GivePlayerWeapon(playerid,mysql_GetInt("accounts", "Slot12", "Name", SpielerInfo[playerid][pName]),mysql_GetInt("accounts", "Ammo12", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][pSex] = mysql_GetInt("accounts", "Geschlecht", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAge] = mysql_GetInt("accounts", "Age", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGehalt] = mysql_GetInt("accounts", "Gehalt", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pSchein] = mysql_GetInt("accounts", "Schein", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFirmenlohn] = mysql_GetInt("accounts", "Firmenlohn", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pJob] = mysql_GetInt("accounts", "Job", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }

    wenn du es über die samp.bans datei machst ist es denk ich schneller als dini



    RangeBan(playerid)
    {
    new ip[25];
    GetPlayerIp(playerid, ip, sizeof(ip));
    new i = 0, c = 0;
    while(ip[i] != '\0')
    {
    if(ip[i] == '.')c++;
    if(c == 2)break;
    i++;
    }
    ip[i+1] = '*';
    ip[i+2] = '.';
    ip[i+3] = '*';
    new str[50];
    format(str, sizeof(str), "banip %s", ip);
    SendRconCommand(str);
    }

    Ändert die hinteren Zwei zahlen in * um
    also aus 127.0.0.1 wird dann 127.0.*.*
    und anschließend wird die IP gebannt.

    SQL
    INSERT INTO `news` (`Schreiber`, `Text`, `Date`) VALUES ('Raphael', 'Hallo, dies ist ein Test für Dingen da mit MySQL :D', '20.07.1994');


    = 138 Zeichen


    aber du hast nur new query[128]; für 128 Zeichen
    also:
    new query[140];
    oder noch mehr wenn die Abfrage noch länger werden kann

    `SupportID`


    und `Support-ID`
    ist eben nicht das selbe ;)


    Entweder überall `SupportID` ODER `Support-ID` verwenden, aber nicht gemischt


    EDIT: @Holly liegt nicht am sonderzeichen

    den teil hier:
    GetPVarInt(playerid),"Paytime")
    zu
    GetPVarInt(playerid,"Paytime")
    ändern


    (eine klammer zu viel/zu früh)

    Bei Integer ist dies nicht möglich, denke ich, nur halt lokal.
    Bei Strings löscht du die Variablen, indem du 'EOS' deklarierst, soweit ich weiß.


    new string[128];
    string = "Ich bin der Text";
    string = EOS; // <-- Variable sollte gelöscht sein und keinen Ram mehr verbrauchen. I: /0


    Korrigiert mich, falls das falsch ist.


    nein stimmt nicht(gibt wahrscheinlich sogar einen error aus), PAWN hat dann immer noch den Array von [128] in Besitz.


    hier ganz simpel die zwei verschiedenen Optionen erklärt:


    //global
    new variableEins;


    //lokal
    public abc()
    {
    new variableZwei;
    }
    variableEins ist überall verwendbar und ist demnach auch immer da und nicht löschbar
    variableZwei ist nur in public abc() verwendbar und lebt auch nur solange abc() läuft



    Und das eine Variable keinen RAM bei dem auf 0 setzen benötigt ist falsch!


    du hast 0 Verstanden was ich überhaupt gesagt habe :D


    KTM: genau das meinte ich mit meinem Beitrag ;) so stimmt es

    ganz simpler Fehler....


    Medicschranke = CreateObject(968, 1185.599609375, -1363.4105224609, 13.325004577637, 0, 0, 272);
    hier speicherst du die ID in Medicschranke


    aber im Command sind folgende Zeilen:
    Medicschranke = 1;
    und
    Medicschranke = 0;
    Heißt soviel wie: Zuerst speicherst du die ID in new Medicschranke und anschließend überschreibst du den Inhalt von new Medicschranke im Command ---> ID ist nichtmehr in new Medicschranke gespeichert ----> Fehler


    so sollte es funktionieren:

    //Object
    Medicschranke = CreateObject(968, 1185.599609375, -1363.4105224609, 13.325004577637, 0, 0, 272);
    //variablen
    new Medicschranke = INVALID_OBJECT_ID;
    new Medicschranke_state;
    //command
    if(strcmp(cmd,"/Medicschranke", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    if(Medicschranke_state == 0)
    {
    MoveObject(Medicschranke,1185.599609375, -1363.4105224609, 13.325004577637, 0, 0, 272);
    Medicschranke_state = 1;
    }
    else
    {
    MoveObject(Medicschranke,1185.6245117188, -1363.4083251953, 13.325004577637, 0, 269.49993896484, 272.75);
    Medicschranke_state = 0;
    }
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist kein Medic");
    return 1;
    }

    Hier ist der Fehler:if(!IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))


    ! heißt nicht
    also: Wenn die SpielerID NICHT im Server ist UND kein NPC-Bot ist ?


    so vll ?
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    also richtig: Wenn die SpielerID im Server IST UND kein NPC-Bot ist


    (T4125Gamer hat es zwar schon gepostet in der Zwischenzeit, da ich es schon geschrieben habe: hier nochmal ausführlicher erklärt)

    stock SaveiFrak()
    {
    for(new id; id < MAX_FRAKS; id++)
    {
    new query[300];
    format(query,sizeof(query),"UPDATE `FInfo` SET `iKasse` = '%d', `iDrogen` = '%d' `iWaffen` = '%d' WHERE `iFrak` = '%d'",
    FInfo[id][iKasse],FInfo[id][iDrogen],FInfo[id][iWaffen],FInfo[id][iFrak]);
    }
    }
    mysql_query fehlt ?


    du formatierst einen text mit format und anschließend machst du nichts mehr D: du musst die abfrage auch noch mit der funktion mysql_query(query); absenden, sonst passiert garnichts


    ->
    stock SaveiFrak()
    {
    for(new id; id < MAX_FRAKS; id++)
    {
    new query[300];
    format(query,sizeof(query),"UPDATE `FInfo` SET `iKasse` = '%d', `iDrogen` = '%d' `iWaffen` = '%d' WHERE `iFrak` = '%d'",
    FInfo[id][iKasse],FInfo[id][iDrogen],FInfo[id][iWaffen],FInfo[id][iFrak]);
    mysql_query(query);
    }
    }