Wieso passiert nichts?

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
  • ocmd:createhouse(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    new preis;
    new level;
    new Float:ix,Float:iy,Float:iz;
    new iID,wID;
    if(sscanf(params,"ddfffdd",preis,level,ix,iy,iz,iID,wID)) return SendInfo(playerid, "/createhouse [PREIS] [Level] [Interior:X] [Interior:Y] [Interior:Z] [INTERIORID] [VirtuelleWelt (Mindestens 1 sonst überlappt sich alles) ]");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateHaus(x,y,z,preis,level,"Keiner",ix,iy,iz,iID,wID);
    }
    else
    {
    SendFail(playerid, "Du bist nicht befugt!");
    return 1;
    }
    return 1;
    }


    Falls ich nicht den Adminrang habe, wird die Nachricht ausgegeben....Nur falls ich die Rechte habe kommt nichts, auch wenn ich irgendwas eingebe.


    L.G.
    heyho

  • SendInfo^^ verwende ich überall...Geht auch aber hier:
    stock SendInfo(playerid, string[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new string1[300];
    format(string1, sizeof(string1), "{0078FF}[XXX Info]:{FFFFFF} %s", string);
    SendClientMessage(playerid, 0x0078FFFF, string1);
    }
    return 1;
    }

  • Hmm dann setzte doch mal ein Print dazwischen also bei den sccanf dadrüber und darunter.
    ocmd:createhouse(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 5)
    { print("Test 1");
    new preis;
    new level;
    new Float:ix,Float:iy,Float:iz;
    new iID,wID;
    if(sscanf(params,"ddfffdd",preis,level,ix,iy,iz,iID,wID)) { print("Test 2"); return SendInfo(playerid, "/createhouse [PREIS] [Level] [Interior:X] [Interior:Y] [Interior:Z] [INTERIORID] [VirtuelleWelt (Mindestens 1 sonst überlappt sich alles) ]");} new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z); print("Test 3"); CreateHaus(x,y,z,preis,level,"Keiner",ix,iy,iz,iID,wID);
    }
    else
    {
    SendFail(playerid, "Du bist nicht befugt!");
    return 1;
    }
    return 1;}


    Und teste den CMD dann nochmal und sag was er in der Console für ein Test ausgibt.


    E: Sry für die blöde einrückung aber BBCode halt.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Debugge es mal so wie es dog gesagt hat, und schreib mal dein befehl so die ganzen news sind ja schrecklich^^

    ocmd:createhouse(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    print("Test 1");
    new preis,level,Float:i[3],Float:Pos[3],iID,wID;
    if(sscanf(params,"ddfffdd",preis,level,i[0],i[1],i[2],iID,wID))return SendInfo(playerid, "/createhouse [PREIS] [Level] [Interior:X] [Interior:Y] [Interior:Z] [INTERIORID] [VirtuelleWelt (Mindestens 1 sonst überlappt sich alles) ]");
    print("Test 2");
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    print("Test 3");
    CreateHaus(Pos[0],Pos[1],Pos[2],preis,level,"Keiner",i[0],i[1],i[2]);
    }
    else return SendFail(playerid, "Du bist nicht befugt!");
    return 1;
    }

  • Hast du jetzt meins genommen oder das von Music ? Weil, bei Music fehlte der Print von sccanf. Was passiert denn wenn du alle Paramenter in dem CMD angibst die er für das Haus braucht ? Erstellt er das dann oder passiert dort auch nichts ?

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Hast du jetzt meins genommen oder das von Music ? Weil, bei Music fehlte der Print von sccanf. Was passiert denn wenn du alle Paramenter in dem CMD angibst die er für das Haus braucht ? Erstellt er das dann oder passiert dort auch nichts ?

    Meine Befehl sieht jetzt so aus:
    ocmd:createhouse(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    print("Test 1");
    //new preis,level,Float:i[3],Float:Pos[3],iID,wID;
    //if(sscanf(params,"ddfffdd",preis,level,i[0],i[1],i[2],iID,wID))return SendInfo(playerid, "/createhouse [PREIS] [Level] [Interior:X] [Interior:Y] [Interior:Z] [INTERIORID] [VirtuelleWelt (Mindestens 1 sonst überlappt sich alles) ]");
    print("Test 2");
    //GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    print("Test 3");
    //CreateHaus(Pos[0],Pos[1],Pos[2],preis,level,"Keiner",i[0],i[1],i[2],iID,wID);
    CreateHaus(1.0, 1.0, 1.0, 2, 3, "Keiner", 2.0, 2.0, 2.0, 2, 3);
    }
    else return SendFail(playerid, "Du bist nicht befugt!");
    return 1;
    }


    Im Log: Test 1, Test 2, Test 3
    Passieren tut trotzdem nichts....
    Mein CreateHaus Befehl:
    stock CreateHaus(Float:x,Float:y,Float:z,preis,level,besitzer[32],Float:ix,Float:iy,Float:iz,interior,wID) // die ersten 3 Werte sind die Koordinaten, der 4. der Preis und der 5. der Besitzer
    {
    for(new i=1;i<MAX_HAUS;i++)
    {
    new query[100];
    format(query, sizeof(query), "SELECT * FROM `haus` WHERE `hid`='%d'", i);
    mysql_query(query);
    mysql_query(query);
    mysql_store_result();
    if(mysql_CheckHaus(i) == 0)
    {
    format(query, sizeof(query), "INSERT INTO `haus` (`x`,`y`,`z`,`ix`,`iy`,`iz`,`miete`,`interior`,`w`,`preis,`level`,`besitzer`) VALUES ('%f','%f','%f','%f','%f','%f','0','%d','%d','%d','%d','%s')",x,y,z,ix,iy,iz,interior,wID,preis,level,besitzer);
    mysql_query(query);
    LoadHaus(i);
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    HausInfo[haus][haus_lock] = 0;
    }
    }
    }
    return 1;
    }


    Mein mysql_CheckHaus stock:
    stock mysql_CheckHaus(hausid)
    {
    new Query[128],count;
    format(Query, sizeof(Query), "SELECT * FROM `haus` WHERE `hid` = '%d'", hausid);
    mysql_query(Query);
    mysql_store_result();
    count = mysql_num_rows();
    mysql_free_result();
    return count;
    }
    Wenn das irgendwie anders geht, zu fragen, obs existiert; wäre es gut, wenn ihr mir das schreiben könntet^^