Dyn. Haus System

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
  • Liebe Gäste / Mitglieder,


    ich habe ein sehr beeindrechtigten Fehler in meinem Dyn. Haus System.
    Wenn ich versuche ein Haus zu erstellen mit dem Befehl /czimmer dann steht dort die Normale
    Message "* /czimmer [Preis]" wenn ich nun den Preis Angebe steht dort "Server Unknow Command"


    Befehl


    if(!strcmp(cmd,"/czimmer",true))
    {
    if(SpielerInfo[playerid][pAdmin] == 3)
    {
    cmd = strtok(cmdtext,idx);
    if(!cmd[0])return SendClientMessage(playerid,0xFF0000FF,"* /czimmer [Preis]");
    new hkosten = strval(cmd);
    new Float:nowPos[3];
    new hhaus = 1;
    new slotid = initSlot();
    new fullid = (slotid==-1) ? (_cache_haus) : (slotid);
    GetPlayerPos(playerid,nowPos[0],nowPos[1],nowPos[2]);
    HausDaten[fullid][ax] = nowPos[0];
    HausDaten[fullid][ay] = nowPos[1];
    HausDaten[fullid][az] = nowPos[2];
    HausDaten[fullid][play_time] = 0;
    HausDaten[fullid][kosten] = hkosten;
    HausDaten[fullid][interior] = Typen[hhaus][interior];
    HausDaten[fullid][ix] = Typen[hhaus][haus_x];
    HausDaten[fullid][iy] = Typen[hhaus][haus_y];
    HausDaten[fullid][iz] = Typen[hhaus][haus_z];
    HausDaten[fullid][virtual_world] = 1;
    HausDaten[fullid][verschlossen] = 1;
    HausDaten[fullid][nicht_zum_kauf] = 0;
    strmid(HausDaten[fullid][Besitzer],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    HausDaten[fullid][pickid] = CreatePickup(1273,1,nowPos[0],nowPos[1],nowPos[2],0);
    format(cmd,sizeof cmd,"{FFFFFF}Hoten Zimmer\n{99FFFF}Dieses Zimmer ist frei!\nKosten je Zahltag: {FFFFFF}%d{99FFFF}\nBefehl: {FFFFFF}/einchecken",hkosten);
    HausDaten[fullid][lbl_haus] = Create3DTextLabel(cmd,0x00FF00FF,nowPos[0],nowPos[1],nowPos[2],10.0,0,0);
    HausDaten[fullid][icon_id] = bCreateMapIcon(nowPos[0],nowPos[1],_,31,0);
    if(slotid==-1)_cache_haus++;
    SaveCache();
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "* Du bist kein Head Admin!");
    }
    return 1;
    }



    Liebe Grüße,
    Phönix

  • hast du es auch schon mal mit ocmd zcmd oder dcmd versucht



    //mit ocmd und sscanf
    ocmd:czimmer(playerid, params[])
    {
    if(SpielerInfo[playerid][pAdmin] == 3)
    {
    new hkosten;
    if(sscanf(params, "i",hkosten))return SendClientMessage(playerid,0xFF0000FF,"* /czimmer [Preis]");
    new Float:nowPos[3];
    new hhaus = 1;
    new slotid = initSlot();
    new fullid = (slotid==-1) ? (_cache_haus) : (slotid);
    GetPlayerPos(playerid,nowPos[0],nowPos[1],nowPos[2]);
    HausDaten[fullid][ax] = nowPos[0];
    HausDaten[fullid][ay] = nowPos[1];
    HausDaten[fullid][az] = nowPos[2];
    HausDaten[fullid][play_time] = 0;
    HausDaten[fullid][kosten] = hkosten;
    HausDaten[fullid][interior] = Typen[hhaus][interior];
    HausDaten[fullid][ix] = Typen[hhaus][haus_x];
    HausDaten[fullid][iy] = Typen[hhaus][haus_y];
    HausDaten[fullid][iz] = Typen[hhaus][haus_z];
    HausDaten[fullid][virtual_world] = 1;
    HausDaten[fullid][verschlossen] = 1;
    HausDaten[fullid][nicht_zum_kauf] = 0;
    strmid(HausDaten[fullid][Besitzer],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    HausDaten[fullid][pickid] = CreatePickup(1273,1,nowPos[0],nowPos[1],nowPos[2],0);
    format(cmd,sizeof cmd,"{FFFFFF}Hoten Zimmer\n{99FFFF}Dieses Zimmer ist frei!\nKosten je Zahltag: {FFFFFF}%d{99FFFF}\nBefehl: {FFFFFF}/einchecken",hkosten);
    HausDaten[fullid][lbl_haus] = Create3DTextLabel(cmd,0x00FF00FF,nowPos[0],nowPos[1],nowPos[2],10.0,0,0);
    HausDaten[fullid][icon_id] = bCreateMapIcon(nowPos[0],nowPos[1],_,31,0);
    if(slotid==-1)_cache_haus++;
    SaveCache();
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "* Du bist kein Head Admin!");
    }
    return 1;
    }

  • Server bleibt an


    ich habe eine Dignose gemacht


    HausDaten[fullid][interior] = Typen[hhaus][interior];



    hier sollte der Fehler drinnen liegen

  • Danke euch allen ich habe statt einer 0 eine 1 geschrieben

  • aber mit der enum kann man ja auch 2 mal benutzen
    also fürHausDaten und Typen


    MFG Piet


    Wieso schreibst du das?
    sagte doch es ist erledigt.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen