Beiträge von Pascal.

    Was mir gerade auffält ich habe diese sachen wieder raus gelöscht.
    Ich habe das anders gemacht das man im Business Pickup sein muss das klappt auch.
    Das einzige was ich noch drin hab ist das hier das sie im Interior eine Info kriege das sie /essen benutzen müssen.
    Wird aber auch nicht angezeigt.
    CreatePickup(1239,1,376.5327,-68.1133,1001.5151);
    format(string,200,"Benutze '/essen' um das Menü zu öffnen.");
    Create3DTextLabel(string,-1,376.5327,-68.1133,1001.5151,5,0,1);


    //EDIT:
    Egal, ich werde es anders machen.
    Habe nochmal darüber nach gedacht ob es nicht besser ist 1 Biz zu haben der ca 5 Bürger Shots leitet.
    Weil sonst kommt ja nix auf der Kasse :D
    Habe mit den Pickups brauche ich halt Hilfe, das die laden tuen.

    Testweise habe ich diese 50 Meter entfernt gemacht. Sind therotisch unterschiedliche.
    Interior benutzen alle das gleiche.
    Pickups zum betreten und Test zum betreten Funktioniert überhaupt nicht.
    Werden im Script geladen aber wenn ich da bin ist keins Vorhanden.

    Glaube das gehört hier nicht in die Scripting base sondern zum Coding,
    da ich mit Sannybuilder keine erfahrung habe, habe ich einfach mal Goggle benutzt.


    Code
    123 7B

    Da hast du schon recht aber wie soll ich da sonst machen?
    Andere Interior ID benutzen?
    Weil ich will mehrere Business haben die den Bürgershot haben und ich kann ja nicht einfach andere Kordinaten das Interior geben.

    Lass die PlayerTextdraws bei OnPlayerConnected laden, und dort kannst du die auch direkt wieder schließen.
    Also PlayerTextdraws bei OnPLayerConnected laden ohne eine schleife weil dort playerid schon bereits gibt.
    Und dann wieder bei OnPlayerConnected
    PlayerTextDrawHide(playerid,textdraw);


    Und dann mal sehen ob es Funktioniert :)


    //EDIT:
    Du musst den Tank einfach in einer Variable abspeichern und diese variable beim vehicle-speicher speichern lassen.

    Ne da ist diesmal keine Schleife vorhanden.
    ocmd:essen(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SCM(playerid,COLOR_GRAU,"Info: Du bist nicht Eingeloggt!");
    if(!IsPlayerInRangeOfPoint(playerid,2,376.5327,-68.1133,1001.5151))return 1;
    new string[250];
    format(string,250,"\
    Bürger (+5 HP) - 50$\n\
    Pommes (+10 HP) - 100$\n\
    Cola (+8 HP) - 75$\n\
    Bürger+Cola+Pommes (+35 HP) - 500$\n\
    Bürger+Cola+Pommes+Nuggets (+50 HP) - 1.000$");
    ShowPlayerDialog(playerid,DIALOG_BFOOT,DIALOG_STYLE_LIST,"Bürger Shot",string,"Kaufen","Abbrechen");
    return 1;
    }

    Jeffry:
    Eine weitere frage, ich weiß schon wieder nicht weiter.
    Seit du dein letzten beitrag hier geschrieben hast sitze ich hier dran.
    Wenn ich ein Biz erstelle kriegt jedes Biz eine biz_id zugewiesen also diese b_id,
    so und zb der Bürger Shot kriegt "immer" die 1.
    Aber ich will es so machen, dass ich mehrere Bürger shots als Biz haben kann und wenn jemand in ein Bürger Shot essen geht dass nicht jedes
    biz was die b_id '1' hat, die kasse addiert wird.
    Nur da wo der Spieler essen geht.


    if(dialogid == DIALOG_BFOOT)
    {
    if(response)
    {
    for(new i=0; i<sizeof(bsInfo); i++)
    {
    new id = i;
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(health >100)return SCM(playerid,COLOR_GRAU,"Dein Leben ist bereits voll.");
    if(bsInfo[id][b_id] != 1)continue;
    if(bsInfo[id][b_prods] <0)return SCM(playerid,COLOR_GRAU,"Das Business hat nicht genügend Produkte.");
    switch(listitem)
    {
    case 0:{health +=5;SetPlayerHealth(playerid,health);GivePlayerMoney(playerid,-50);bsInfo[id][b_kasse] +=50;}
    case 1:{health +=10;SetPlayerHealth(playerid,health);GivePlayerMoney(playerid,-100);bsInfo[id][b_kasse]+=100;}
    case 2:{health +=8;SetPlayerHealth(playerid,health);GivePlayerMoney(playerid,-75);bsInfo[id][b_kasse]+=75;}
    case 3:{health +=35;SetPlayerHealth(playerid,health);GivePlayerMoney(playerid,-500);bsInfo[id][b_kasse]+=500;}
    case 4:{health +=50;SetPlayerHealth(playerid,health);GivePlayerMoney(playerid,-1000);bsInfo[id][b_kasse]+=1000;}
    }
    SCM(playerid,COLOR_GELB,"[Bürger Shot]: Guten appetit!");
    SaveBiz(id);
    UpdateBiz(id);
    return 1;
    }
    }
    else{}
    return 1;
    }

    Ich weiß ehrlich gesagt gerade nicht weiter, aber probier mal folgendes:
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /kick [ID] [grund]");


    zu:
    if(sscanf(params,"us[128]",pID,reason))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /kick [ID] [grund]");

    Naja Gib ihn erst eine Private nachricht mit SendClientMessage und dann kick ihn und dann die nachricht zu alle.
    Beispiel:

    new string[128];
    format(string,128,"Du wurdest von Admin %s gekickt, Grund: %s",SpielerName(playerid),grund);
    SendClientMessage(pID,COLOR_ROT,string);
    Kick(pID);
    format(string,128,"Info: %s wurde von %s gekickt, Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(COLOR_ROT,string);

    So.
    Wie gesagt bei der ID 4 Funktioniert es einwandfrei.
    Das steht dort ja auch.
    Aber darunter alles Funktioniert garnicht ob bei ID 5 oder ID 6 geht nicht.

    Code
    [21:45:49] b: 0 / id: 2 / ah_id: 0  /  b_id: 4
    [21:45:49] DEBUG: Auto gekauft bei ID 4
    [21:46:02] b: 0 / id: 22 / ah_id: 2  /  b_id: 4


    So dann gibt es 2x b_id im Log, aber das erste ist nur richtig.
    Die zweite b_id muss eig 6 gewesen sein.

    Was hat der Code mit dem Fehler vom ersten Post zu tun?
    Das ist nicht der gleiche Code, und eine Schleife sehe ich da auch nicht.



    Um das andere Problem können wir uns später kümmern. Eins nach dem anderen, sonst kommt nichts dabei raus.


    Sorry, war ein falscher code -.-
    Hier ist der richtige:


    if(dialogid == DIALOG_AHKAUFEN)
    {
    if(response)
    {
    for(new i= 0; i<sizeof(cInfo); i++)
    {
    for(new b=0; b<sizeof(bsInfo); b++)
    {
    new id = GetPVarInt(playerid,"BuyCarID");
    if(GetPlayerMoney(playerid) < ahCars[id][c_preis])
    {
    SCM(playerid,COLOR_GELB,"[Autohaus]: Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    if(GetPlayerScore(playerid) < ahCars[id][c_level])
    {
    SCM(playerid,COLOR_GELB,"[Autohaus]: Dein Level reicht nicht aus um das Fahrzeug zu kaufen.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    if(ahCars[id][ah_id] == 0 && bsInfo[b][b_id] == 4)
    {
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    bsInfo[b][b_kasse] +=ahCars[id][c_preis]/2;
    bsInfo[b][b_cokasse] +=ahCars[id][c_preis]/4;
    print("DEBUG: Auto gekauft bei ID 4");
    }
    if(ahCars[id][ah_id] == 1 && bsInfo[b][b_id] == 5)
    {
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    bsInfo[b][b_kasse] +=ahCars[id][c_preis]/2;
    bsInfo[b][b_cokasse] +=ahCars[id][c_preis]/4;
    print("DEBUG: Auto gekauft bei ID 5");
    }
    if(ahCars[id][ah_id] == 2 && bsInfo[b][b_id] == 6)
    {
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    bsInfo[b][b_kasse] +=ahCars[id][c_preis]/2;
    bsInfo[b][b_cokasse] +=ahCars[id][c_preis]/4;
    print("DEBUG: Auto gekauft bei ID 6");
    }
    if(ahCars[id][ah_id] == 3 && bsInfo[b][b_id] == 7)
    {
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    bsInfo[b][b_kasse] +=ahCars[id][c_preis]/2;
    bsInfo[b][b_cokasse] +=ahCars[id][c_preis]/4;
    print("DEBUG: Auto gekauft bei ID 7");
    }
    CreatePlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r],-1,-1,
    ahCars[id][c_steuern]);
    SCM(playerid,COLOR_GELB,"[Autohaus]: Herzlichen Glückwunsch, du hast dir soeben ein Fahrzeug gekauft.");
    SCM(playerid,COLOR_GELB,"[Autohaus]: Wir wünschen dir viel Spaß mit dem Fahrzeug, bitte fahren sie Vorsichtig.");
    RemovePlayerFromVehicle(playerid);
    UpdateBiz(b);
    SaveBiz(b);
    return 1;
    }
    }
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }

    if(dialogid == DIALOG_BIZMENU)
    {
    if(response)
    {
    new Float:x,Float:y,Float:z,query[350];
    new id = GetFreeBizID();
    switch(listitem)
    {
    case 0:
    {
    //Bürgershot
    bsInfo[id][ib_x] = 375.962463;
    bsInfo[id][ib_y] = -65.816848;
    bsInfo[id][ib_z] = 1001.507812;
    bsInfo[id][b_interior] = 10;
    bsInfo[id][b_shopname] = "FDBURG";
    bsInfo[id][b_id] = 1;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm den Bürger Shot gewählt.");
    SCM(playerid,COLOR_GELB,"[Business]: Setz bitte noch ein 'Marker' wo der Spieler eintreten soll.");
    SetPVarInt(playerid,"Marker_Biz",1);
    }
    case 1:
    {
    //Tankstelle
    bsInfo[id][ib_x] = 663.836242;
    bsInfo[id][ib_y] = -575.605407;
    bsInfo[id][ib_z] = 16.343263;
    bsInfo[id][b_interior] = 0;
    bsInfo[id][b_id] = 2;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm die Tankstelle gewählt.");
    SCM(playerid,COLOR_GELB,"[Business]: Setz bitte noch ein 'Marker' wo der Spieler eintreten soll.");
    SetPVarInt(playerid,"Marker_Biz",1);
    }
    case 2:
    {
    //24/7
    bsInfo[id][ib_x] = -30.946699;
    bsInfo[id][ib_y] = -89.609596;
    bsInfo[id][ib_z] = 1003.546875;
    bsInfo[id][b_interior] = 18;
    bsInfo[id][b_id] = 3;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm den 24/7 Shop gewählt.");
    SCM(playerid,COLOR_GELB,"[Business]: Setz bitte noch ein 'Marker' wo der Spieler eintreten soll.");
    SCM(playerid,COLOR_GELB,"[Business]: Benutze dafür bitte '/emarker'.");
    SetPVarInt(playerid,"Marker_Biz",1);
    }
    case 3:
    {
    //Noob Autohaus
    bsInfo[id][b_id] = 4;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm das Noob Autohaus gewählt.");
    }
    case 4:
    {
    //Sport Autohaus
    bsInfo[id][b_id] = 5;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm das Sportcar Autohaus gewählt.");
    }
    case 5:
    {
    //Bike Händler
    bsInfo[id][b_id] = 6;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm den Bike Händler gewählt.");
    }
    case 6:
    {
    //Flugzeug shop
    bsInfo[id][b_id] = 7;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm den Flugzeug Shop gewählt.");
    }
    case 7:
    {
    //Fahrschule
    bsInfo[id][b_id] = 8;
    SCM(playerid,COLOR_GELB,"[Business]: Du hast als Unternehm die Fahrschule gewählt.");
    }
    }
    GetPlayerPos(playerid,x,y,z);
    bsInfo[id][bx] = x;
    bsInfo[id][by] = y;
    bsInfo[id][bz] = z;
    strmid(bsInfo[id][b_besitzer], "",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    strmid(bsInfo[id][b_cobesitzer], "",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    format(query,350,"INSERT INTO biz (`bx`, `b_y`, `bz`, `ib_x`, `ib_y`, `ib_z`, `b_interior`,`b_level`,`b_preis`,`b_kasse`) VALUES ('%f','%f','%f','%f','%f','%f','%i','%i','%i','%i')",
    x,y,z,bsInfo[id][ib_x],bsInfo[id][ib_y],bsInfo[id][ib_z],bsInfo[id][b_interior],
    GetPVarInt(playerid,"b_klevel"),GetPVarInt(playerid,"b_kpreis"),GetPVarInt(playerid,"b_kasse"));
    mysql_function_query(dbhandle,query,true,"CreateBiz","i",id);
    UpdateBiz(id);
    }
    else{}
    return 1;
    }


    Dann hab ich irgendwie noch ein Fehler.
    Sowie es aussieht will er immer nur das Biz mit der ID 1 befüllen.
    Im Dialog sagt er mir er hat 50/100 Produkte, aber wenn ich ihn 50 mehr geben möchte sagt er Das Business hat zuviel Produkte.


    if(dialogid == DIALOG_SELLPRODS)
    {
    if(response)
    {
    for(new i=0; i<sizeof(bsInfo); i++)
    {
    if(bsInfo[i][b_kasse] < bsInfo[i][b_pPrice]*strval(inputtext))return SCM(playerid,COLOR_GRAU,"Dieses Business hat nicht genügend Geld auf der Kasse.");
    if(bsInfo[i][b_prods] >= 100)return SCM(playerid,COLOR_GRAU,"Dieses Business hat genügend Produkte.");
    if(pInfo[playerid][pProdukte] < strval(inputtext))return SCM(playerid,COLOR_GRAU,"Soviel Produkte hast du nicht!");
    bsInfo[i][b_prods] +=strval(inputtext);
    pInfo[playerid][pProdukte] -=strval(inputtext);
    bsInfo[i][b_kasse] -=strval(inputtext)*bsInfo[i][b_pPrice];
    GivePlayerMoney(playerid, strval(inputtext)*bsInfo[i][b_pPrice]);
    new string[128];
    format(string,128,"Du hast dass Business beliefert. Gelieferte Produkte (%i). Summe erhalten: %i$",
    strval(inputtext),strval(inputtext)*bsInfo[i][b_pPrice]);
    SCM(playerid,COLOR_GELB,string);
    UpdateBiz(i);
    return 1;
    }
    }
    else{}
    return 1;
    }


    ocmd:sellprods(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Info: Du bist nicht Eingeloggt!");
    if(pInfo[playerid][pFraktion] <1)return SCM(playerid,COLOR_GRAU,"Du bist in keiner Fraktion!");
    if(pInfo[playerid][pFraktion] !=5)return SCM(playerid,COLOR_GRAU,"Du bist kein Trucker!");
    for(new i=0; i<sizeof(bsInfo); i++)
    {
    if(!bsInfo[i][db_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid,3,bsInfo[i][bx],bsInfo[i][by],bsInfo[i][bz]))continue;
    new string[128];
    format(string,128,"Business hat %i/100 Produkte.\nProdukt preis vom Business %i$\nWieviel Produkte möchtest du ihn Liefern?",
    bsInfo[i][b_prods],bsInfo[i][b_pPrice]);
    ShowPlayerDialog(playerid,DIALOG_SELLPRODS,DIALOG_STYLE_INPUT,"Business - Produkte",string,"Verkaufen","Abbrechen");
    return 1;
    }
    return 1;
    }

    Zeig mir mal wo du die Fahrzeuge "eigentlich" löschen tust.
    Es liegt denke daran das wenn ein Spieler sich ausloggt, dass du dann das Fahrzeug löschen tust.
    So und wenn der Spieler sich einloggt erstellst du das car wieder, deshalb wird ein neues gespawnt.

    Ich weiß ja nicht was dieses CarSkill für eine Bdeutung hat.
    Aber du fragst dort ab "ob es größer oder gleich 0" ist.
    Wenn es 0 ist soll der Text kommen richtig?
    if(PlayerInfo[playerid][pCarSkill] <1)


    Oder wenn es größer als 0 sein soll, soll der text kommen? :D
    if(PlayerInfo[playerid][pCarSkill] >0)