Beiträge von Pascal.

    Ich habe das jetzt einfach mal so gemacht, wenn ich im Haus bin und raus gehe bin ich direkt im Bürgershot und wenn ich raus gehe bin ich direkt
    am BSN in LS.
    Aber wenn ich bei einem Marker rein will geht das nicht Oo
    Ich habe bei new bdInfo ganz hinten eine ID gegeben, diese soll übereinstimmen mit der ID aus der Datenbank (b_id).
    So und soll dann in diesen Bürger shot rein gehen, wenn er raus geht soll er dort landen wo er rein ging.
    Folgende codes:
    new bdInfo[][buildingsEnum] = {
    {"Bürger Shot Nord", 1559,1199.2811,-918.6648,43.1191,1}, // 1 steht für die fremdID
    {"Bürger Shot West", 1559, 810.9824,-1616.2720,13.5469,1},
    {"Bürger Shot Nord", 1559, 1872.7986,2071.6619,11.0625,1},
    {"Bürger Shot Nord - West", 1559, 2472.3940,2034.2115,11.0625,1},
    {"Bürger Shot West", 1559, 2169.9138,2795.8726,10.8203,1}
    };


    ocmd:exit(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Info: Du bist nicht Eingeloggt!");
    for(new i=0; i<sizeof(bsInfo); i++)
    {
    new id = GetPVarInt(playerid,"EnterBuiID");
    if(GetPlayerVirtualWorld(playerid)!=i)continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,bsInfo[i][ib_x],bsInfo[i][ib_y],bsInfo[i][ib_z]))continue;
    SetPlayerPos(playerid,bdInfo[id][bd_x],bdInfo[id][bd_y],bdInfo[id][bd_z]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    return 1;
    }
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(GetPlayerVirtualWorld(playerid)!=i)continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][i_x],hInfo[i][i_y],hInfo[i][i_z]))continue;
    SetPlayerPos(playerid,hInfo[i][hx],hInfo[i][hy],hInfo[i][hz]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    return 1;
    }
    return 1;
    }


    ocmd:enter(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Info: Du bist nicht Eingeloggt!");
    for(new i=0; i<sizeof(bsInfo); i++)
    {
    print("DEBUG: bsInfo wurde aufgerufen");
    if(!bsInfo[i][db_id])continue;
    if(!bsInfo[i][b_id])continue;
    if(bsInfo[i][ib_x] == 0.0)continue;
    for(new b=0; b<sizeof(bdInfo); b++)
    {
    if(bsInfo[i][b_id] !=bdInfo[b][bdID])continue;
    print("DEBUG: bdInfo wurde aufgerufen.");
    if(!IsPlayerInRangeOfPoint(playerid,2,bdInfo[b][bd_x],bdInfo[b][bd_y],bdInfo[b][bd_z]))continue;
    printf("IsPlayerInRangeOfPoint(playerid,2,bdInfo[%i][bd_x],bdInfo[%i][bd_y],bdInfo[%i][bd_z]",b,b,b);
    SetPVarInt(playerid,"EnterBuiID",b);
    break;
    }
    printf("BusinessID: %i | ShopID: %i | Produkte %i",i,bsInfo[i][b_id],bsInfo[i][b_prods]);
    if(bsInfo[i][b_prods] < 1)return SCM(playerid,COLOR_GRAU,"Das Lager vom Business ist zurzeit Leer.");
    SetPlayerPos(playerid,bsInfo[i][ib_x],bsInfo[i][ib_y],bsInfo[i][ib_z]);
    SetPlayerInterior(playerid,bsInfo[i][b_interior]);
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][db_id])continue;
    if(hInfo[i][i_x] == 0.0)continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][hx],hInfo[i][hy],hInfo[i][hz]))continue;
    if(hInfo[i][h_lock] == 1)
    {
    if(!strcmp(hInfo[i][h_besitzer],SpielerName(playerid),true))
    {
    SetPlayerPos(playerid,hInfo[i][i_x],hInfo[i][i_y],hInfo[i][i_z]);
    SetPlayerInterior(playerid,hInfo[i][h_interior]);
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    return GameTextForPlayer(playerid,"~r~Abgeschlossen",1000,1);


    }
    else if(hInfo[i][h_lock] == 0)
    {
    SetPlayerPos(playerid,hInfo[i][i_x],hInfo[i][i_y],hInfo[i][i_z]);
    SetPlayerInterior(playerid,hInfo[i][h_interior]);
    SetPlayerVirtualWorld(playerid,i);
    }
    return 1;
    }
    return 1;
    }
    Die FremdID die ich in der Datenbank anlegen sollte, dafür habe ich b_id benutzt.

    Ich habe dir das doch gestern per Teamviewer gemacht Oo
    Würdest du aufgepasst haben, würdest du jetzt wissen wie das Gehen würde.
    Aber daran merkt man natürlich, hauptsache jemand anders scriptet für mich da muss ich ja nicht aufpassen.
    Nun gut, da sieht man dass ja :)

    Sorry, aber wie wäre es mit selber Probieren :)?
    So schwer ist es jetzt auch nicht kriegt man innerhalb einer Stunde hin.
    Und sowie ich weiß ist die Scripting Base auch nicht für so etwas gedacht, dass man Sachen suchen tut.
    Eher für Scripting Probleme :thumbup:

    Wo soll ich den die Schleife einbinden?
    Auch unter ocmd:enter?
    Weil kann ja nicht 1 schleife haben und in der schleife noch eine machen oder?
    Oder soll ich die fremd_id dann in der PVar Speichern in dem ich bei ocmd:enter über der bdInfo schleife eine bsInfo schleife machen?

    Naja irgendwie etwas doof, weil würde die Bürger Shot Kordinaten in der Datenbank lassen.
    Da der Bürger Shot auch schon eine hat in der Datenbank.
    Aber gut muss ich mal gucken wie ich das jetzt noch am besten umschreibe.


    //EDIT:
    Kann ich eig neben den Marker Kordinaten nicht einfach bsInfo benutzen? mit den Interior Kordinaten?

    BTW. Soweit ist Moneyhack eigentlich nicht möglich.
    Solange dein Geld Serverseitig läuft.
    Sprunkautomaten geben auch Money, da würde ich aufpassen das es nicht zu Bugs führt.

    Sprunk Automaten geben Geld?
    Meinst du nicht eher Sprunk automaten 'ziehen' Geld ab?
    Man soll ja auch abfragen ob GetPlayerMoney größer ist und nicht kleiner.
    Sonst wäre ja irgendwie kein Sinn dahinter.

    Okay :)


    enum bizEnum {
    Float:bx,
    Float:by,
    Float:bz,
    Float:ib_x, //Zu den soll er Teleportiert werden (Im Script bereits festgelegt)
    Float:ib_y, //Zu den soll er Teleportiert werden (Im Script bereits festgelegt)
    Float:ib_z, //Zu den soll er Teleportiert werden (Im Script bereits festgelegt)
    b_interior,
    b_besitzer[MAX_PLAYER_NAME],
    b_level,
    b_preis,
    db_id,
    b_pickup,
    Text3D:b_text,
    b_kasse,
    b_cobesitzer[MAX_PLAYER_NAME],
    b_cokasse,
    b_prods,
    b_pPrice,
    b_tauftrag,
    b_id
    }


    enum buildingsEnum {
    bd_itext[128],
    bd_pickup,
    Float:bd_x, //Kordinate vom Marker
    Float:bd_y, //Kordinate vom Marker
    Float:bd_z, //Kordinate vom Marker
    Text3D:bd_text
    }


    new bdInfo[MAX_SHOP][buildingsEnum] = {
    {"Bürger Shot Nord",1559,1199.2811,-918.6648,43.1191}, // BSE1 //Die Kordinaten sagen aus wo der Marker steht.
    {"Bürger Shot West",1559,810.9824,-1616.2720,13.5469}, // BSE2
    {"Bürger Shot Nord",1559,1872.7986,2071.6619,11.0625}, // BSE3
    {"Bürger Shot Nord-West",1559,2472.3940,2034.2115,11.0625}, // BSE4
    {"Bürger Shot West",1559,2169.9138,2795.8726,10.8203} // BSE5
    };

    Dort kommen Fehler.
    Ich will ja das so machen das wenn er im bdInfo im Marker ist dazu sind die Kordinaten drinne.
    bd_x bis z sind nur die Kordinaten der Marker.
    So und wenn der im Marker ist und enter drückt soll er in das Business Interior kommen bsp Bürgershot.

    Geht leider immer noch nicht, ich musste den Code etwas umschreiben weil du hattest überall bdInfo gemacht und da war viel von bsInfo :D
    Aber nun gut.
    Diesmal hat er es nur 4x aufgerufen.