Beiträge von Quini2

    Ok klappt nun doch jetzt buggen igendwie die Labels und Pickups
    wenn ich eins erstelle wird es angezeigt doch dann wenn ich ein neues Haus erstelle
    zeigt er es nicht mehr an hier alles was mann brauch:


    #define MaxHaus 50


    enum Hausdatei
    {
    Besitzer[30],
    Float:Hx,
    Float:Hy,
    Float:Hz,
    Float:Ix,
    Float:Iy,
    Float:Iz,
    Zimmer,
    Inte,
    World,
    HPreis,
    Verkauft,
    Verschlossen,
    Hlevel,
    Hkasse,
    Hmiete
    }
    new HausInfo[MaxHaus][Hausdatei];
    new Hausp[MaxHaus];
    new Text3D:Hausa[MaxHaus];


    forward LoadHaus();
    forward SaveHaus();
    forward UpdaHaus();


    stock CreateHaus(cname[40],Float:cx,Float:cy,Float:cz,Float:zx,Float:zy,Float:zz,zimmer,inte,world,cpreis,csell,clock,clevel,ckasse,cmiete)
    {
    new string[128];
    for(new i=1;i<MaxHaus;i++)
    {
    format(string,sizeof(string),"/Haus/Hausid %d.ini",i);
    if(!dini_Exists(string))
    {
    dini_Create(string);
    dini_Set(string,"Besitzer",cname);
    dini_FloatSet(string,"Hx",cx);
    dini_FloatSet(string,"Hy",cy);
    dini_FloatSet(string,"Hz",cz);
    dini_FloatSet(string,"Ix",zx);
    dini_FloatSet(string,"Iy",zy);
    dini_FloatSet(string,"Iz",zz);
    dini_IntSet(string,"Zimmer",zimmer);
    dini_IntSet(string,"Interior",inte);
    dini_IntSet(string,"World",world);
    dini_IntSet(string,"HPreis",cpreis);
    dini_IntSet(string,"Verkauft",csell);
    dini_IntSet(string,"Verschlossen",clock);
    dini_IntSet(string,"Level",clevel);
    dini_IntSet(string,"Kasse",ckasse);
    dini_IntSet(string,"Miete",cmiete);
    LoadHaus();
    return 1;
    }
    }
    return 1;
    }


    public LoadHaus()
    {
    new string[128];
    for(new i=1;i<MaxHaus;i++)
    {
    format(string,sizeof(string),"/Haus/Hausid %d.ini",i);
    if(dini_Exists(string))
    {
    format(HausInfo[i][Besitzer],40,"%s",dini_Get(string,"Besitzer"));
    HausInfo[i][Hx] = dini_Float(string,"Hx");
    HausInfo[i][Hy] = dini_Float(string,"Hy");
    HausInfo[i][Hz] = dini_Float(string,"Hz");
    HausInfo[i][Ix] = dini_Float(string,"Ix");
    HausInfo[i][Iy] = dini_Float(string,"Iy");
    HausInfo[i][Iz] = dini_Float(string,"Iz");
    HausInfo[i][Zimmer] = dini_Int(string,"Zimmer");
    HausInfo[i][Inte] = dini_Int(string,"Inte");
    HausInfo[i][World] = dini_Int(string,"World");
    HausInfo[i][HPreis] = dini_Int(string,"HPreis");
    HausInfo[i][Verkauft] = dini_Int(string,"Verkauft");
    HausInfo[i][Verschlossen] = dini_Int(string,"Verschlossen");
    HausInfo[i][Hlevel] = dini_Int(string,"Level");
    HausInfo[i][Hkasse] = dini_Int(string,"Kasse");
    HausInfo[i][Hmiete] = dini_Int(string,"Miete");
    }
    if(HausInfo[i][Verkauft] == 0)
    {
    Hausp[i] = CreatePickup(1273,2,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz]);
    Hausp[i] = CreatePickup(1318,2,HausInfo[i][Ix],HausInfo[i][Iy],HausInfo[i][Iz]);
    format(string, sizeof(string), "Besitzer: %s \nZimmer: %d \nPreis: %d$ \nLevel: %d",HausInfo[i][Besitzer],HausInfo[i][Zimmer],HausInfo[i][HPreis],HausInfo[i][Hlevel]);
    Hausa[i] = Create3DTextLabel(string,Orange,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz],10,0,1);
    return 1;
    }
    if(HausInfo[i][Verkauft] == 1)
    {
    Hausp[i] = CreatePickup(1272,2,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz]);
    Hausp[i] = CreatePickup(1318,2,HausInfo[i][Ix],HausInfo[i][Iy],HausInfo[i][Iz]);
    format(string, sizeof(string), "Besitzer: %s \nZimmer: %d \nMiete: %d$",HausInfo[i][Besitzer],HausInfo[i][Zimmer],HausInfo[i][Hmiete]);
    Hausa[i] = Create3DTextLabel(string,Orange,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz],10,0,1);
    }
    }
    return 1;
    }


    public SaveHaus()
    {
    new string[128];
    for(new i=1;i<MaxHaus;i++)
    {
    format(string,sizeof(string),"/Haus/Hausid %d.ini",i);
    if(dini_Exists(string))
    {
    dini_Set(string,"Besitzer",HausInfo[i][Besitzer]);
    dini_FloatSet(string,"Hx",HausInfo[i][Hx]);
    dini_FloatSet(string,"Hy",HausInfo[i][Hy]);
    dini_FloatSet(string,"Hz",HausInfo[i][Hz]);
    dini_FloatSet(string,"Ix",HausInfo[i][Ix]);
    dini_FloatSet(string,"Iy",HausInfo[i][Iy]);
    dini_FloatSet(string,"Iz",HausInfo[i][Iz]);
    dini_IntSet(string,"Zimmer",HausInfo[i][Zimmer]);
    dini_IntSet(string,"Inte",HausInfo[i][Inte]);
    dini_IntSet(string,"World",HausInfo[i][World]);
    dini_IntSet(string,"HPreis",HausInfo[i][HPreis]);
    dini_IntSet(string,"Verkauft",HausInfo[i][Verkauft]);
    dini_IntSet(string,"Verschlossen",HausInfo[i][Verschlossen]);
    dini_IntSet(string,"Level",HausInfo[i][Hlevel]);
    dini_IntSet(string,"Kasse",HausInfo[i][Hkasse]);
    dini_IntSet(string,"Miete",HausInfo[i][Hmiete]);
    return 1;
    }
    }
    return 1;
    }


    public UpdaHaus()
    {
    new string[128];
    for(new i=1;i<MaxHaus;i++)
    {
    if(HausInfo[i][Verkauft] == 0)
    {
    DestroyPickup(Hausp[i]);
    Hausp[i] = CreatePickup(1273,2,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz]);
    Hausp[i] = CreatePickup(1318,2,HausInfo[i][Ix],HausInfo[i][Iy],HausInfo[i][Iz]);
    format(string, sizeof(string), "Besitzer: %s \nZimmer: %d \nPreis: %d$ \nLevel: %d",HausInfo[i][Besitzer],HausInfo[i][Zimmer],HausInfo[i][HPreis],HausInfo[i][Hlevel]);
    Update3DTextLabelText(Hausa[i],Orange,string);
    return 1;
    }
    if(HausInfo[i][Verkauft] == 1)
    {
    DestroyPickup(Hausp[i]);
    Hausp[i] = CreatePickup(1272,2,HausInfo[i][Hx],HausInfo[i][Hy],HausInfo[i][Hz]);
    Hausp[i] = CreatePickup(1318,2,HausInfo[i][Ix],HausInfo[i][Iy],HausInfo[i][Iz]);
    format(string, sizeof(string), "Besitzer: %s \nZimmer: %d \nMiete: %d$",HausInfo[i][Besitzer],HausInfo[i][Zimmer],HausInfo[i][Hmiete]);
    Update3DTextLabelText(Hausa[i],Orange,string);
    }
    }
    return 1;
    }

    Ich habe eben ein Test durch geführt und das ergebniss war:
    ich konnte ein haus erstellen doch er hat das haus was ich erstellt habe sofort
    50 mal erstellt also das Limit nur wieso? vlt beim Createn wegen MaxHaus?
    ich habe mir das Tutorial von Haxler als vorlage genommen.

    Hallo ich habe heute mal angefangen ein haus System zu machen das sollte so aussehen


    CreateHaus(Hausid,Hx,Hy,Hz,Ix,Iy,Iz,Zimmer,Inte,World,HPreis,Verkauft,Verschlossen,Level)


    CreateHaus(0,745.1514,-556.7821,18.0129,2317.8201,-1024.7500,1050.2109,5,9,0,30000,0,1,3);


    Doch es gibt nur warnings aus:


    Code
    C:\Users\Qini\Desktop\Scripting\Testserver\gamemodes\DR.pwn(1471) : warning 213: tag mismatch


    ich weiß nicht wieso die werte sind vorhanden die er brauch doch igendwie klappts net so..

    Warum so kompliziert?
    einfach Abfragen ob der Spieler an der Position ist unter (OnPlayerPickupPickup) viel einfach
    so brauch mann den ganzen Timer mist etc net was ich unötig finde.

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if((newkeys == KEY_ACTION) && (IsPlayerInAnyVehicle(playerid)) && (GetPlayerState(playerid) == 2))
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    new Float:vX, Float:vY, Float:vZ;
    new Found = 0;
    new vdid = 0;
    while((vid<MAX_VEHICLES)&&(!Found))
    {
    vdid++;
    GetVehiclePos(vdid,vX,vY,vZ);
    if((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vdid!=GetPlayerVehicleID(playerid)))
    {
    Found=1;
    if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    }
    AttachTrailerToVehicle(vdid,GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,0xFFFF00AA,"Das Auto ist am Hacken!");
    return 1;
    }
    }
    }
    }
    return 1;
    }

    Du musst auch abfragen unter


    public OnPlayerText


    ob die Spieler in der nähe sind such mal in der Sufu nach
    GobalChatLimitRadius oder ChatLimitRadius dort findest du nen code
    damit kannst du die entfernung einstellen

    ich wollte ein befehl erstellen der nur von 6 - 22 uhr geht doch igendwie klappt das nicht ganz ich habe es mit diesem Code gemacht:


    if(Sstd < 6 && Smin == 00 || Sstd > 22 && Smin == 00)


    und eben mit "Gettime" abgefragt


    immer wenn ich ihn ausführe klappt es nicht wo ist der Fehler?

    Nein ich wollte es für mein Skin System haben das wenn er via dialog auswählt
    und dann stirbt und dann Ist es in der Class Selection ^^ so meinte ich das nur wie mache ich das
    wenn er es ausgewählt hat das er auch den key F4 drückt automatisch?