Beiträge von Mr.Undercover

    Hey,
    Irgendwie erstellt es nach einem Server Restart die PickUps nicht mehr
    stock LoadHaus(hausid)
    {
    new inhalt[35],File:f;
    format(inhalt,20,"Häuser/Haus %d.ini",hausid);
    if(!fexist(inhalt)) return false;
    f=fopen(inhalt,io_read);
    while(fread(f,inhalt))
    {
    StripNL(inhalt);
    if(strfind(inhalt,"Besitzer: ")!=-1) strdel(inhalt,0,10), format(Haus[hausid][Besitzer],MAX_PLAYER_NAME,inhalt);
    else if(strfind(inhalt,"Gekauft: ")!=-1) strdel(inhalt,0,9), Haus[hausid][Gekauft]=(strval(inhalt))?true:false;
    else if(strfind(inhalt,"Abgeschlossen: ")!=-1) strdel(inhalt,0,15), Haus[hausid][Abgeschlossen]=(strval(inhalt))?true:false;
    else if(strfind(inhalt,"AußenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][0]=floatstr(inhalt);
    else if(strfind(inhalt,"AußenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][1]=floatstr(inhalt);
    else if(strfind(inhalt,"AußenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][2]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][3]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][4]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][5]=floatstr(inhalt);
    else if(strfind(inhalt,"Interior: ")!=-1) strdel(inhalt,0,10), Haus[hausid][Int]=strval(inhalt);
    else if(strfind(inhalt,"VirtualWorld: ")!=-1) strdel(inhalt,0,14), Haus[hausid][VirtualWorld]=strval(inhalt);
    else if(strfind(inhalt,"Preis: ")!=-1) strdel(inhalt,0,7), Haus[hausid][Preis]=strval(inhalt);
    }
    Haus[hausid][PickupID] = CreatePickup((Haus[hausid][Gekauft])?1239:1273,1,Haus[hausid][Pos][0],Haus[hausid][Pos][1],Haus[hausid][Pos][2]);
    fclose(f);
    return true;
    }


    Wäre nett wenn ihr mir Helfen könnt
    ocmd:buyhaus(playerid)
    {
    new ID=GetNearestHaus(playerid,4);
    if(ID==-1) return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses");
    if(GetPlayerMoney(playerid)<Haus[ID][Preis]) return SendClientMessage(playerid,-1,"Soviel Geld hast du nicht bei dir");
    if(!strcmp(Haus[ID][Besitzer],"Niemand"))
    {
    GetPlayerName(playerid,Haus[ID][Besitzer],MAX_PLAYER_NAME);
    DestroyPickup(Haus[ID][PickupID]);
    RemovePlayerMapIcon(playerid,STARTMAPICON+ID);
    SetPlayerMapIcon(playerid,STARTMAPICON+ID,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2],32,0xFFFFFFFF);
    Haus[ID][PickupID] = CreatePickup(1239,1,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2]);
    new string[65];
    format(string,65,"Dieses Haus gehört:\n%s%s",Haus[ID][Besitzer],(Haus[ID][Abgeschlossen])?("\n\nAbgeschlossen"):(""));
    Update3DTextLabelText(Haus[ID][Label],0x33AA33FF,string);
    return true;
    }
    return SendClientMessage(playerid,-1,"Dieses Haus kann man nicht kaufen");
    }


    Beim Erstellen vom Haus kommt ein Pickup
    Danke im Vorraus

    Hey,
    Ich würde dir empfehlen mit OCMD zuarbeiten
    Da würde es so aussehen
    cmd:veh(playerid,params[])
    {
    if(!istPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, ROT,"Du bist kein Admin."); //An deine Admin anfrage anpassen
    new Float:X,Float:Y,Float:Z;
    new string[256];
    new CarID,Color1,Color2;
    new Car;
    if(sscanf(params,"iii",CarID,Color1,Color2))
    {
    SendClientMessage(playerid,GRÜN,"Benutze: /veh [CarID] [Color1] [Color2]");
    return 1;
    }
    else
    {
    if(CarID<402||CarID>603)
    {
    SendClientMessage(playerid,ROT,"Die CarID muss zwischen 402 und 603 liegen.");
    return 1;
    }
    else
    {
    format(string,sizeof(string),"Du hast dir die CarID: %i gespawnt.",CarID);
    SendClientMessage(playerid,GELB, string);
    GetPlayerPos(playerid,X,Y,Z);
    Car = AddStaticVehicleEx(CarID,X+3,Y,Z, 0, Color1, Color2,-1);
    PutPlayerInVehicle(playerid,Car,0);
    PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
    new ConsoleString[125];
    format(ConsoleString,sizeof(ConsoleString),"Car Command: %s",SpielerName(playerid));
    print(ConsoleString);
    }
    }
    return 1;
    }

    Du hast doch hier schon die Variable auf 1 gesetzt
    Inviter[pid] = 1;


    Nun
    dcmd_einladung annehmen
    {
    if(Inviter[playerid]==0)
    {
    SendClientMessage(playerid,ROT,"Du hast keine Einladung");
    }
    else if(Inviter[playerid]==1)
    {
    SendClientMessage(playerid,BLAU,"Du hast die Einladung in die Fraktion LSPD Angenommen");
    }
    }


    Meinst du das

    Wie mein vorgänger sagte
    je nachdem in welcher Fraktion er eingeladen wird
    setzt du die Variable


    new Eingeladen[MAX_PLAYERS];
    Auf z.b eins
    Eingeladen[playerid] = 1;


    Dann fragst du ab ob die Variable 1 ist oder 0
    if(Engeladen[playerid]==0)
    {
    Das keine EInladund da ist
    }
    else
    {
    //Die Variable erst wieder auf null
    Eingeladen[playerid] = 0;
    //Und in die Fraktion einladen


    }

    Wie durch eine Variable??
    Kannst du das genauer erklären/zeigen


    ocmd:givemoney(playerid,params[])
    {
    new plid;
    new geld;
    new string[128];
    if(!istPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, ROT,"**Du bist kein Administrator.");
    if(sscanf(params,"ui",plid,geld))return SendClientMessage(playerid, BLAU,"Tippe: /givemoney [Id/Name][Betrag]");
    GivePlayerMoney(plid,geld);
    format(string,sizeof(string),"[AdmCmd]%s bekommt %i$ von %s bekommen,",SpielerName(plid),geld,SpielerName(playerid));
    SendClientMessage(plid, GRÜN,string);
    PlayerInfo[plid][pGeld] == geld;
    SpielerSpeichern(plid);
    return 1;
    }


    Weiß einer warum Das geld nicht gespeichert wird???

    stock SpielerSpeichern(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"logged") == 1)
    {
    new query[200];
    format(query, sizeof(query), "UPDATE `accounts` SET `Tut` = '%d',`Level` = '%d',`Admin` = '%d',`Geld` = '%d',`Tode` = '%d',`Morde` = '%d',`Frak` = '%d', `Member` = '%d',`Leader` = '%d',`Bann` = '%d',`Warn` = '%d',`Payday` = '%d', `Perso` = '%d',`Clic` = '%d',`Flic` = '%d',`Mlic` = '%d',`Wlic` = '%d' WHERE `Name` = '%s'",
    PlayerInfo[playerid][pTut],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pGeld],PlayerInfo[playerid][pTode],PlayerInfo[playerid][pMorde],PlayerInfo[playerid][pFrak],PlayerInfo[playerid][pMember],PlayerInfo[playerid][pLeader],PlayerInfo[playerid][pBann],PlayerInfo[playerid][pWarn],PlayerInfo[playerid][pPayDay],PlayerInfo[playerid][pPerso],
    PlayerInfo[playerid][pClic],PlayerInfo[playerid][pFlic],PlayerInfo[playerid][pMlic],PlayerInfo[playerid][pWlic],SpielerName(playerid));
    mysql_query(query);

    format(query, sizeof(query), "UPDATE `accounts` SET `PosX` = '%f',`PosY` = '%f',`PosZ` = '%f',`PosA` = '%f',`Tod` = '%d',`PosTX` = '%f',`PosTY` = '%f',`PosTZ` = '%f' WHERE `Name` = '%s'",
    PlayerInfo[playerid][pX],PlayerInfo[playerid][pY],PlayerInfo[playerid][pZ],PlayerInfo[playerid][pA],PlayerInfo[playerid][pTod],PlayerInfo[playerid][pTX],PlayerInfo[playerid][pTY],PlayerInfo[playerid][pTZ],SpielerName(playerid));
    PlayerInfo[playerid][pGeld] = mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid),"Name", SpielerName(playerid));
    mysql_query(query);
    }
    }
    return 1;
    }


    Du meinst so???


    Aber wie speichere ich hier das Geld
    Was er bekommt
    Es wird einfach nicht geladen
    oder gespeichert

    Habe ich,
    Also sit es so richtig??


    mysql_SetInt("accounts", "Tut", PlayerInfo[playerid][pTut], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Admin", PlayerInfo[playerid][pAdmin], "Name", SpielerName(playerid));
    PlayerInfo[playerid][pGeld] = mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid),"Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Tode", PlayerInfo[playerid][pTode], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Morde", PlayerInfo[playerid][pMorde], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Frak", PlayerInfo[playerid][pFrak], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Member", PlayerInfo[playerid][pMember], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Leader", PlayerInfo[playerid][pLeader], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Bann", PlayerInfo[playerid][pBann], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Warn", PlayerInfo[playerid][pWarn], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Payday", PlayerInfo[playerid][pPayDay], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Perso", PlayerInfo[playerid][pPerso], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Clic", PlayerInfo[playerid][pClic], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Mlic", PlayerInfo[playerid][pMlic], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "pWlic", PlayerInfo[playerid][pWlic], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", SpielerName(playerid));
    mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", SpielerName(playerid));

    Kann einer mir das Speichern


    enum PInfo
    {
    pTut,
    pLevel,
    pAdmin,
    pGeld,
    pTode,
    pMorde,
    pFrak,
    pMember,
    pLeader,
    pBann,
    pWarn,
    pPayDay,
    pPerso,
    pClic,
    pFlic,
    pMlic,
    pWlic,
    Float:pX,
    Float:pY,
    Float:pZ,
    Float:pA,
    pTod,
    Float:pTX,
    Float:pTY,
    Float:pTZ
    }