House System probleme

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 Morgen,


    Ich finde den Fehler einfach nicht.


    Wen ich bei einem Haus bin und /edit level 1 eingebe passiert nicht ausser das mir /edit [aktion] [ammount] gesendet wird -.-


    Ich hoffe mir kann einer von euch helfen ;)



    Hier der Befehl:


    if(strcmp(cmd, "/edit") == 0)
    {
    if(pInfo[playerid][pAdminLevel] < 6)return SendClientMessage(playerid,COLOR_GRAD2, "SERVER: Du hast keine Berechtigung für diesen Befehl.");
    new x_job[256];
    x_job = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Benutze: /edit [aktion] [ammount]");
    SendClientMessage(playerid,COLOR_GRAD2,"Aktionen: Level, Preis");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /edit aktion] [ammount]");
    SendClientMessage(playerid,COLOR_GRAD2,"Aktionen: Level, Preis");
    return 1;
    }
    new proplev = strval(tmp);
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if(!HouseInfo[i][h_SQLid])continue;
    if(IsPlayerInRangeOfPoint(playerid,5,HouseInfo[i][h_Exit][0],HouseInfo[i][h_Exit][1],HouseInfo[i][h_Exit][2]))
    {
    if(strcmp(x_job,"level",true) == 0)
    {
    HouseInfo[i][h_NeedLevel] = proplev;
    UpdateHouseInfo(i);
    SaveHouse(i);
    return 1;
    }
    if(strcmp(x_job,"preis",true) == 0)
    {
    HouseInfo[i][h_Price] = proplev;
    UpdateHouseInfo(i);
    SaveHouse(i);
    return 1;
    }
    }
    else return SendClientMessage(playerid, COLOR_GRAD2, "In deine nähe ist kein Haus.");
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


    2 Mal editiert, zuletzt von Fabi.StaR ()

  • Danke,


    Nun habe ich probleme beim laden:



    public OnQueryFinish1(query[], resultid, connectionHandle)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,connectionHandle);
    switch(resultid)
    {
    case SQL_LOAD_HOUSE:
    {
    new idx = 0;
    if(num_rows == 0)return 1;
    while(idx < num_rows)
    {
    new h = GetFreeHouse(),tmp[MAX_PLAYER_NAME];
    HouseInfo[h][h_SQLid] = cache_get_field_content_int(idx, "SQLid", mycon);

    cache_get_field_content(idx, "Owner", HouseInfo[h][h_Owner], mycon);//wird nicht geladen
    cache_get_field_content(idx, "Discription", HouseInfo[h][h_Discription], mycon);//wird nicht geladen

    HouseInfo[h][h_Owned] = cache_get_field_content_int(idx, "Owned", mycon);
    HouseInfo[h][h_Enter][0] = cache_get_field_content_float(idx, "EnterX", mycon);
    HouseInfo[h][h_Enter][1] = cache_get_field_content_float(idx, "EnterY", mycon);
    HouseInfo[h][h_Enter][2] = cache_get_field_content_float(idx, "EnterZ", mycon);
    HouseInfo[h][h_Exit][0] = cache_get_field_content_float(idx, "ExitX", mycon);
    HouseInfo[h][h_Exit][1] = cache_get_field_content_float(idx, "ExitY", mycon);
    HouseInfo[h][h_Exit][2] = cache_get_field_content_float(idx, "ExitZ", mycon);
    HouseInfo[h][h_Int] = cache_get_field_content_int(idx, "Int", mycon);
    HouseInfo[h][h_Price] = cache_get_field_content_int(idx, "Price", mycon);
    HouseInfo[h][h_NeedLevel] = cache_get_field_content_int(idx, "Level", mycon);
    UpdateHouseInfo(h);
    idx++;
    }
    printf("Es wurden %i Häuser geladen.",idx);
    return 1;
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Nein habe es mal anders versucht und es geht :



    case SQL_LOAD_HOUSE:
    {
    new idx = 1;
    if(num_rows == 0)return 1;
    while(idx < num_rows)
    {
    new h = GetFreeHouse(),tmp[MAX_PLAYER_NAME];
    HouseInfo[h][h_SQLid] = cache_get_field_content_int(idx, "SQLid", mycon);
    cache_get_field_content(idx, "Owner", tmp, mycon);
    strmid(HouseInfo[h][h_Owner],tmp,0,strlen(tmp),MAX_PLAYER_NAME);
    cache_get_field_content(idx, "Discription", tmp, mycon);
    strmid(HouseInfo[h][h_Discription],tmp,0,strlen(tmp),MAX_PLAYER_NAME);
    printf("HausID: %i | Owner: %s",h, HouseInfo[h][h_Owner]);
    HouseInfo[h][h_Owned] = cache_get_field_content_int(idx, "Owned", mycon);
    HouseInfo[h][h_Enter][0] = cache_get_field_content_float(idx, "EnterX", mycon);
    HouseInfo[h][h_Enter][1] = cache_get_field_content_float(idx, "EnterY", mycon);
    HouseInfo[h][h_Enter][2] = cache_get_field_content_float(idx, "EnterZ", mycon);
    HouseInfo[h][h_Exit][0] = cache_get_field_content_float(idx, "ExitX", mycon);
    HouseInfo[h][h_Exit][1] = cache_get_field_content_float(idx, "ExitY", mycon);
    HouseInfo[h][h_Exit][2] = cache_get_field_content_float(idx, "ExitZ", mycon);
    HouseInfo[h][h_Int] = cache_get_field_content_int(idx, "Int", mycon);
    HouseInfo[h][h_Price] = cache_get_field_content_int(idx, "Price", mycon);
    HouseInfo[h][h_NeedLevel] = cache_get_field_content_int(idx, "Level", mycon);
    UpdateHouseInfo(h);
    idx++;
    }
    printf("Es wurden %i Häuser geladen.",idx);
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint: