Beiträge von Mr.Undercover

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    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
    }