Beiträge von PStar

    {
    if(dialogid==BSN)
    {
    if(response)
    {
    if(listitem==0)
    {
    //Kleines Getränk :3
    if(GetPlayerMoney(playerid) >= 1)
    {
    GivePlayerMoney(playerid,-1);
    SendClientMessage(playerid,WEISS,"Du hast dir ein kleines Getränk bestellt.");
    GivePlayerHealth(playerid,5);
    }
    return 1;
    }
    if(listitem==1)
    {
    //Großes Getränk :3
    if(GetPlayerMoney(playerid) >= 2)
    {
    GivePlayerMoney(playerid,-2);
    SendClientMessage(playerid,WEISS,"Du hast dir ein großes Getränk bestellt.");
    GivePlayerHealth(playerid,8);
    }
    }
    if(listitem==2)
    {
    //BSN Menü :3
    if(GetPlayerMoney(playerid) >= 10)
    {
    GivePlayerMoney(playerid,-10);
    SendClientMessage(playerid,WEISS,"Du hast dir ein BSN-Menü bestellt.");
    SetPlayerHealth(playerid,100);
    }
    }
    if(listitem==3)
    {
    //Hamburger :3
    if(GetPlayerMoney(playerid) >= 3)
    {
    GivePlayerMoney(playerid,-3);
    SendClientMessage(playerid,WEISS,"Du hast dir einen Hamburger bestellt.");
    GivePlayerHealth(playerid,40);
    }
    }
    if(listitem==4)
    {
    //Cheeseburger :3
    if(GetPlayerMoney(playerid) >= 4)
    {
    GivePlayerMoney(playerid,-4);
    SendClientMessage(playerid,WEISS,"Du hast dir einen Cheeseburger bestellt.");
    GivePlayerHealth(playerid,50);
    }
    }
    }
    return 1;
    }
    if(dialogid==KFC)
    {
    if(response)
    {
    if(listitem==0)
    {
    //Kleines Getränk :3
    if(GetPlayerMoney(playerid) >= 1)
    {
    GivePlayerMoney(playerid,-1);
    SendClientMessage(playerid,WEISS,"Du hast dir ein kleines Getränk bestellt.");
    GivePlayerHealth(playerid,5);
    }
    }
    if(listitem==1)
    {
    //Großes Getränk :3
    if(GetPlayerMoney(playerid) >= 2)
    {
    GivePlayerMoney(playerid,-2);
    SendClientMessage(playerid,WEISS,"Du hast dir ein großes Getränk bestellt.");
    GivePlayerHealth(playerid,8);
    }
    }
    if(listitem==2)
    {
    //Menü :3
    if(GetPlayerMoney(playerid) >= 9)
    {
    GivePlayerMoney(playerid,-9);
    SendClientMessage(playerid,WEISS,"Du hast dir ein Menü bestellt.");
    SetPlayerHealth(playerid,100);
    }
    }
    if(listitem==3)
    {
    //Geflügel-BOX :3
    if(GetPlayerMoney(playerid) >= 7)
    {
    GivePlayerMoney(playerid,-7);
    SendClientMessage(playerid,WEISS,"Du hast dir eine Geflügel-BOX bestellt.");
    GivePlayerHealth(playerid,60);
    }
    }
    if(listitem==4)
    {
    //Cheeseburger :3
    if(GetPlayerMoney(playerid) >= 4)
    {
    GivePlayerMoney(playerid,-4);
    SendClientMessage(playerid,WEISS,"Du hast dir einen Chickenburger bestellt.");
    GivePlayerHealth(playerid,40);
    }
    }
    }
    return 1;
    }
    if(dialogid==DONUT)
    {
    if(response)
    {
    if(listitem==0)
    {
    //5 Donuts :3
    if(GetPlayerMoney(playerid) >= 5)
    {
    GivePlayerMoney(playerid,-5);
    SendClientMessage(playerid,WEISS,"Du hast dir ein kleine Schachtel Donuts bestellt.");
    GivePlayerHealth(playerid,25);
    }
    }
    if(listitem==1)
    {
    //10 Donuts :3
    if(GetPlayerMoney(playerid) >= 10)
    {
    GivePlayerMoney(playerid,-10);
    SendClientMessage(playerid,WEISS,"Du hast dir ein mittlere Schachtel Donuts bestellt.");
    GivePlayerHealth(playerid,50);
    }
    }
    if(listitem==2)
    {
    //15 Donuts :3
    if(GetPlayerMoney(playerid) >= 15)
    {
    GivePlayerMoney(playerid,-15);
    SendClientMessage(playerid,WEISS,"Du hast dir eine große Schachtel Donuts bestellt.");
    SetPlayerHealth(playerid,100);
    }
    }
    }
    }
    return 1;
    }

    Ich finde das wirklich super.
    Wie schauts den aus, früher war es doch nötig vorzuweißen das man 10 aktive User hat, ist das immer noch so?
    Und kann es auch passieren das der Server einfach abgestellt wird?
    Wie schauts aus mit Spielen wie MTA, könnte man vielleicht bei euch sowas auch einführen?

    Als CJ nach San Andreas kam, an welchem Flughafen landete er ?
    Er landete am Los Santos International Airport
    Sieht so aus der Airport -->


    Wer veranstaltete in einer der Missionen eine Hausparty in der Groove Street ?
    Er hieß Jeffrey „OG Loc“ Cross
    Sieht so aus -->


    In der zweiten Mission wurde CJ von Big Smoke abgeholt, welches Auto fuhr er ?
    Sie fuhren ein Picador.
    Sieht so aus -->


    Welcher der Groove Street Familienmitglieder war am Ende der Verräter ?
    Bigsmoke war der Verräter gemeinsam mit Ryder macht sie falsche Sachen.
    Sieht so aus -->


    Welches Auto wurde dem Mazda RX7 nach empfunden ?
    ZR-350 kam damals.

    Guten Abend


    Henner und Askari

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Richtig geil :D
    Werbung für Samp auf der Gamescom :P

    Ist klar, dass 0 ausgegeben wird. .. Du musst 'h_id' ausgeben, nicht Haus [..][..]


    Funktioniert bis dahin tadellos, doch leider geht das verlassen nicht mehr:
    ocmd:verlassen(playerid)
    {
    if(!GetPVarInt(playerid,"ImHaus"))return SendClientMessage(playerid,-1,"Du bist in keinem Haus!");
    if(NearestExit(playerid) == -1)return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe der hausabschliessen!");

    new ID = GetPVarInt(playerid,"ImHaus");
    SetPlayerPos(playerid,Haus[ID][haus_x],Haus[ID][haus_y],Haus[ID][haus_z]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SendClientMessage(playerid,-1,"Du hast das Haus verlassen.");
    return DeletePVar(playerid,"ImHaus");
    }


    //Edti habe bei:
    NearsExit einfach das rausgemacht: if(Haus[i][haus_vw]!=GetPlayerVirtualWorld(playerid)) continue;

    Wackelkontakt, Kurzschluss oder Durchgebrannt irgendwie sowas?
    Übrigendes das mit dem Wasser kann gut möglich sein, soweit ich weiß kann das ebenfalls durchgebrannt sein.
    Mein Tipp, probier mal das Ding rauszuschieben und schau mal ob da alles in Ordnung ist.
    Vielleicht Strom checken in der Steckdose...

    Mach anstatt "Haus [h_id][haus_vw]" 》 "h_id"


    Klappt jetzt aber es wird immernoch ausgebeben bei beiden Virtual World: 0!
    Und /Verlassen klappt nicht.
    Aber danke trotzdem schonmal!
    ocmd:betreten(playerid)
    {
    new _str[128]; // <-- diese
    new h_id = NearestHaus (playerid);
    if(h_id == -1)return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses!");
    if(Haus[h_id][haus_lock] == 1)return SendClientMessage(playerid,-1,"Das Haus ist verschlossen!");


    SetPlayerInterior(playerid,Haus[h_id][haus_int]);
    SetPlayerVirtualWorld(playerid,h_id);
    SetPVarInt(playerid,"ImHaus",h_id);
    SendClientMessage(playerid,-1,"Du hast das Haus betreten.");
    format(_str, 128, "VWorld: %d", Haus[h_id][haus_vw]); // <-- diese
    SendClientMessage(playerid, -1, _str); // <-- diese
    return SetPlayerPos(playerid,Haus[h_id][haus_xi],Haus[h_id][haus_yi],Haus[h_id][haus_zi]);
    }


    Danke für die schnelle Antwort habe das mit h_id jetzt wirklich überall gemacht.
    Aber das mit der Virtuelen Welt klappt nicht ganz.
    Beide gehen in verschieden Interiors rein doch spwanen trotzdem in einem.

    Mach mal das SetPlayerPos vor dem 'return ...'


    Die Abfrage bei der stock-Funktion gibt das näheste Haus (die ID) zurück. .
    Bei dem Befehl 'betreten' kannst du 'NearestHaus' auch einer Integer-Variable zuteilen, dann frisst das auch noch weniger Ressourcen. Dann musst du aber auch überall anstatt 'NearestHaus (playerid)' 》beispielsweise 'h_id' machen...


    Danke für die schnelle Antwort.
    Meinst du das so:
    ocmd:betreten(playerid)
    {
    if(NearestHaus(playerid) == -1)return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses!");
    if(Haus[NearestHaus(playerid)][haus_lock] == 1)return SendClientMessage(playerid,-1,"Das Haus ist verschlossen!");


    SetPlayerInterior(playerid,Haus[NearestHaus(playerid)][haus_int]);
    SetPlayerVirtualWorld(playerid,Haus[NearestHaus(playerid)][haus_vw]);
    SetPVarInt(playerid,"ImHaus",NearestHaus(playerid));
    SendClientMessage(playerid,-1,"Du hast das Haus betreten.");
    return SetPlayerPos(playerid,Haus[NearestHaus(playerid)][haus_xi],Haus[NearestHaus(playerid)][haus_yi],Haus[NearestHaus(playerid)][haus_zi]);
    }


    Und mit nearest Haus meinst du das so:
    if(NearestHaus(playerid) == -1)return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses!");
    Zu
    if(h_id(playerid) == -1)return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses!");

    Hier der Befehl:
    ocmd:betreten(playerid)
    {
    if(NearestHaus(playerid) == -1)return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses!");
    if(Haus[NearestHaus(playerid)][haus_lock] == 1)return SendClientMessage(playerid,-1,"Das Haus ist verschlossen!");


    SetPlayerPos(playerid,Haus[NearestHaus(playerid)][haus_xi],Haus[NearestHaus(playerid)][haus_yi],Haus[NearestHaus(playerid)][haus_zi]);
    SetPlayerInterior(playerid,Haus[NearestHaus(playerid)][haus_int]);
    SetPlayerVirtualWorld(playerid,Haus[NearestHaus(playerid)][haus_vw]);
    SetPVarInt(playerid,"ImHaus",NearestHaus(playerid));
    return SendClientMessage(playerid,-1,"Du hast das Haus betreten.");
    }


    Hier wird das mit dem haus_vw nochmal genutzt:
    stock NearestExit(playerid)
    {
    new Float:dist0,ID = -1;
    new Float:dist1 = 2,Float:px,Float:py,Float:pz;
    for(new i = 1; i<MAX_HAUS; i++)
    {
    if(Haus[i][haus_vw]!=GetPlayerVirtualWorld(playerid)) continue;
    GetPlayerPos(playerid,px,py,pz);
    dist0 = GetPlayerDistanceFromPoint(playerid,Haus[i][haus_xi],Haus[i][haus_yi],Haus[i][haus_zi]);
    if(dist0 < dist1) dist1 = dist0,ID = i;
    }
    return ID;
    }


    Was genau bewirkt denn die Abfrage bei dem Stock?
    Eigentlich setzen man die Spieler doch damit in eine ander VirtualeWorld: SetPlayerVirtualWorld(playerid,+1);
    Das Problem ist das mit der VirtualenWorld in dem ocmd: Befehl funktioniert nicht.