Beiträge von Fabi.StaR

    Warum wird nix in die Datenbank Tabelle geschrieben hir der code:


    Spoiler anzeigen
    ocmd:createtanke(playerid, params[])
    {
    new Float:oldPosX,Float:oldPosY,Float:oldPosZ,query[128],gname[MAX_PLAYER_NAME],pr,level;
    GetPlayerPos(playerid,oldPosX,oldPosY,oldPosZ);
    GetPlayerName(playerid,gname,sizeof(gname));
    if(IsPlayerAdmin(playerid) || SpielerInfo[playerid][pAdmin] >= 6) {
    if(sscanf(params,"ud",pr,level))return SCM(playerid,Rot,"[BENUTZE]: /createtanke [KaufPReis] [kauflevel]");
    for(new i=0; i < MAX_TANKSTELLEN; i++) {
    pr = TankeInfo[i][tKaufPreis];
    level = TankeInfo[i][tKaufLevel];
    TankeInfo[i][tPosX] = oldPosX;
    TankeInfo[i][tPosY] = oldPosY;
    TankeInfo[i][tPosZ] = oldPosZ;
    TankeInfo[i][tOwned] = 0;
    format(query, 128, "INSERT INTO `tankstellen` (`Besitzer`,`Erpresser`,`Besetzt`,`KaufLevel`,`KaufPreis`,`PosY`, `PosX`, `PosZ`) VALUES ('s','s','%i', '%f', '%f', '%f')",
    TankeInfo[i][tOwned],TankeInfo[i][tExtortion],TankeInfo[i][tOwner],TankeInfo[i][tKaufLevel],TankeInfo[i][tKaufPreis],TankeInfo[i][tPosX],TankeInfo[i][tPosY], TankeInfo[i][tPosZ]);
    mysql_query(query);
    UpdateTank3DText(i);
    }
    }
    return 1;
    }

    Guten Morgen,


    Ich habe folgendes Problem:


    Ich bin grade dabei ein TankStellen System zuschreiben und habe will erst mal die Floats laden doch habe folgende Errors:


    Spoiler anzeigen
    C:\Users\Fabian\Desktop\Mein Samp Server\gamemodes\Selfmade.pwn(581) : error 035: argument type mismatch (argument 4)
    C:\Users\Fabian\Desktop\Mein Samp Server\gamemodes\Selfmade.pwn(582) : error 035: argument type mismatch (argument 4)
    C:\Users\Fabian\Desktop\Mein Samp Server\gamemodes\Selfmade.pwn(583) : error 035: argument type mismatch (argument 4)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    3 Errors.


    Bei diesem Code:


    Spoiler anzeigen
    stock LoadTanke()
    {
    for(new i = 0; i < MAX_TANKSTELLEN; i++) {
    TankeInfo[i][tPosX] = mysql_GetFloat("tankstellen", "PosX", "id", i);//hir Zeile 581
    TankeInfo[i][tPosY] = mysql_GetFloat("tankstellen", "PosY", "id", i);//hir Zeile 582
    TankeInfo[i][tPosZ] = mysql_GetFloat("tankstellen", "PosZ", "id", i);//hir Zeile 583
    }
    return 1;
    }


    Ich bedanke mich für jede hilfe die ihr mit geben könnt.


    mfg. Fabi.StaR

    ja ich speicher das leben las Float.


    hir der code:


    Spoiler anzeigen
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    mysql_SetInt("accounts", "Fraktion", GetFraktion(playerid), "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "FraktionsRange", GetRang(playerid), "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "WantedLevel", GetPlayerWantedLevel(playerid), "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);//hir
    mysql_SetFloat("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    }
    }
    return 1;
    }

    ist das nicht etwas blöd wenn du die wanteds extra abspeicherts du kannst sie doch einfach in der Spieler Datei mit abspeichern und da zu benutzt man in der regel das hir : GetPlayerWantedLevel(playerid)

    wie speicherst du was ab? mit einem Enum wenn ja zeig mal


    naja hab ihr ma geschrieben fals du es mit enum machst :


    pLeader,
    pMember// ins Enum rein



    //hir der befehl wie z.b. Makeleader:
    ocmd:makeleader(playerid, params) {
    if(IsPlayerAdmin(playerid)) {
    new pID;
    if(sscanf(params,"d",pID)) return SendClientMessage(playerid,Gelb,"[Benutze]: /makeleader [PlayerName/ID]");
    PlayerInfo[playerid][pLeader] = 1;
    PlayerInfo[playerid][pMember] = 1;

    }
    else {
    SendClientMessage(playerid,0xFF3200FF,"Du bist nich als Rcon eingeloggt!");
    }
    return 1;
    }


    //Und du fragst wie folgt ab:
    //z.b.
    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1){
    }



    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }