Beiträge von Pascal.

    Hallo Community!
    Ich weise gerade die Bizes Ihr Verkaufsprodukt zu, aber ich habe ein Fehler mit dem Autohaus System.
    Er nimmt immer nur das erste von der Schleife und wenn ich zb in ein anderen Autohaus gehe geht es nicht.
    Nur bei der ersten if-abfrage.


    //Mit if... habe ich auch schon Probiert Funktioniert auch nicht. So langsam weiß ich nicht weiter.
    if(ahCars[id][ah_id] == 0 && bsInfo[b][b_id] == 4)//Die Funktioniert darunter die geht auch nicht
    {
    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");
    }
    else 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");
    }
    else 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");
    }
    else 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");
    }

    Wenn du nur den Name dran haben möchtest:


    dcmd_kennzeichen(playerid,params[])
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(!IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keinem Fahrzeug!"); }
    if(KennzeichenErlaubnis[playerid] == 0) { return SendClientMessage(playerid, COLOR_GRAD1, "Du hast kein Kennzeichen in der ZulassungsStelle gekauft!"); }
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    new vehiclefid = GetPlayerVehicleID(playerid);
    SetVehicleNumberPlate(vehiclefid, name);
    SetVehicleToRespawn(vehiclefid);
    new Float: X,Float: Y,Float: Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetVehiclePos(vehiclefid,X,Y,Z);
    PutPlayerInVehicle(playerid,vehiclefid,0);
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof name);
    format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
    dini_Set(str, "Plate", kz);
    for(new x = 0; x < MaxVeh; x++)
    {
    PlayerCar[playerid][x][Plate] = kz;
    }
    KennzeichenErlaubnis[playerid] = 0;
    }
    return 1;
    }

    Habe ein Problem, sobald ich als Besitzer das Haus verkaufe wird der Text entfernt aber nicht das Pickup.
    Dort sollte eigentlich ein Grünes pickup sein aber es gibt dann 2 Pickups.
    Aber wenn ich es kaufe wird alles richtig angezeigt.
    Was mache ich falsch?


    UpdateHaus(id)
    {
    new string[250];
    if(hInfo[id][h_pickup] != -1)
    {
    DestroyPickup(hInfo[id][h_pickup]);
    }
    if(hInfo[id][h_text] != Text3D:-1)
    {
    Delete3DTextLabel(hInfo[id][h_text]);
    }
    if(!strlen(hInfo[id][h_besitzer]))
    {
    format(string,250,"\
    {007AFF}Besitzer: {FEFEFE}-unbekannt-\n\
    {007AFF}Level: {FEFEFE}%d\n\
    {007AFF}Kaufpreis: {FEFEFE}%d$\n\
    {007AFF}Beschreibung: {FEFEFE}Dieses Haus steht zum Verkauf.\n\n\
    Benutze /buyhouse um das Haus zu kaufen",
    hInfo[id][h_level],hInfo[id][h_preis]);
    hInfo[id][h_pickup] = CreatePickup(1273, 1, hInfo[id][hx],hInfo[id][hy],hInfo[id][hz],-1);
    hInfo[id][h_text] = Create3DTextLabel(string,COLOR_ROT,hInfo[id][hx],hInfo[id][hy],hInfo[id][hz],10,0,1);
    hInfo[id][h_lock] = 1;
    hInfo[id][h_icon] = CreateDynamicMapIcon(hInfo[id][hx],hInfo[id][hy],hInfo[id][hz], 31, -1, -1, -1, -1, 70);
    }
    else
    {
    format(string,250,"\
    {007AFF}Besitzer: {FEFEFE}%s\n\
    {007AFF}Level: {FEFEFE}%d\n\n\
    Benutze die Taste 'ENTER' um in das Haus zu kommen.",
    hInfo[id][h_besitzer],hInfo[id][h_level]);
    hInfo[id][h_pickup] = CreatePickup(1272, 1, hInfo[id][hx],hInfo[id][hy],hInfo[id][hz],-1);
    hInfo[id][h_text] = Create3DTextLabel(string,COLOR_ROT,hInfo[id][hx],hInfo[id][hy],hInfo[id][hz],10,0,1);
    hInfo[id][h_pickup] = CreatePickup(1318, 1, hInfo[id][i_x],hInfo[id][i_y],hInfo[id][i_z],-1);
    DestroyDynamicMapIcon(hInfo[id][h_icon]);
    }
    return 1;
    }


    ocmd:sellhouse(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Info: Du bist nicht Eingeloggt!");
    new string[128];
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][db_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][hx],hInfo[i][hy],hInfo[i][hz]))continue;
    if(!strlen(hInfo[i][h_besitzer]))continue;
    if(!strcmp(hInfo[i][h_besitzer], SpielerName(playerid),true))
    {
    GivePlayerMoney(playerid,hInfo[i][h_preis]/2);
    strmid(hInfo[i][h_besitzer], "",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    format(string,128,"** Du hast das Haus erfolgreich verkauft. Du erhälst: %d$ **",hInfo[i][h_preis]/2);
    SCM(playerid,COLOR_GELB,string);
    SCM(playerid,COLOR_GELB,"** Du erhälst nun 3 prozent weniger Zinsen zum Payday!");
    UpdateHaus(i);
    SaveHaus(i);
    pInfo[playerid][pZinsen] -=3;
    return 1;
    }
    return SCM(playerid,COLOR_GRAU,"Du bist nicht der Besitzer des Hauses!");
    }
    return 1;
    }

    for(new i=0; i<num_rows; i++)
    {
    new id = GetFreeCarID();
    cInfo[id][model] = cache_get_field_content_int(i,"model",dbhandle);
    new tmp_name[MAX_PLAYER_NAME];
    cache_get_field_content(i,"besitzer",tmp_name,dbhandle);
    strmid(cInfo[id][besitzer],tmp_name,0,sizeof(tmp_name),sizeof(tmp_name));
    cInfo[id][c_x] = cache_get_field_content_float(i,"cSpawnX",dbhandle);
    cInfo[id][c_y] = cache_get_field_content_float(i,"cSpawnY",dbhandle);
    cInfo[id][c_z] = cache_get_field_content_float(i,"cSpawnZ",dbhandle);
    cInfo[id][c_r] = cache_get_field_content_float(i,"cSpawnR",dbhandle);
    cInfo[id][clr1] = cache_get_field_content_int(i,"farbe1",dbhandle);
    cInfo[id][clr2] = cache_get_field_content_int(i,"farbe2",dbhandle);
    cInfo[id][d_id] = cache_get_field_content_int(i,"id",dbhandle);
    cInfo[id][csteuern] = cache_get_field_content_int(i,"steuern",dbhandle);
    cInfo[id][c_lock] = cache_get_field_content_int(i,"c_lock",dbhandle);
    cInfo[id][id_x] = CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][clr1],cInfo[id][clr2],-1);
    gas[cInfo[id][id_x]] = 100;
    new engine, lights, alarm, doors, boonet, boot, objective;
    GetVehicleParamsEx(cInfo[id][id_x], engine, lights, alarm, doors, boonet, boot, objective);
    SetVehicleParamsEx(cInfo[id][id_x], engine, lights, alarm, cInfo[id][c_lock], boonet, boot, objective);
    }

    Hey ;)
    Ich habe eine Frage und zwar zu mein Car System, wegen der Versteuerung.
    Wenn User X 3 Fahrzeuge hat (Infernus: 3000$), Sultan(1500$), Bullet(2000$) soll er 6500$ weniger zum Payday Kriegen.
    Aber ich weiß nicht wie ich das addieren soll von der Datenbank aus.
    Ich finde einfach kein ansatz.
    Wenn der Spieler ein auto besitzt oder mehr wird immer nur das erste auto versteuert, die anderen nicht.
    Hat jemand ein bsp code oder so? Ich arbeite mit der MySQL version R39.

    Hast du schon etwas selber erstellt?
    Wenn ja schick mal im pwn code.


    //EDIT:
    Frage ab wo der Spieler steht, und lass dort das Pickup mit der ID erstellen.
    bsp:


    ganz oben im script.
    new waffe[1];//Oder soviel waffen wie du willst


    Beim Command etc.
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    waffe[0] = CreatePickup(355,1,x,y,z);


    So wenn er rein läuft kannste das bei OnPlayerPickUpPickUp machen, was dort dann passieren soll.


    Es ist ungetestet sollte aber so ähnlich ablaufen.

    Schick die Funktion wo du den Spieler Speicherst.


    //EDIT:
    bsp:


    format(query,128,"skin='%i'",GetPlayerSkin(playerid));
    So beim Speichern..


    beim Spawnen bsp:
    SetPlayerSkin(playerid, pInfo[playerid][pSkin]);


    Beim Speichern wird ja der skin abgefragt, dieser wird ja dann in das Datenbank feld "skin" eingetragen.
    Beim Laden des Spielers wird das Datenbank feld "skin" in die variable (pInfo[playerid][pSkin]) gespeichert.
    Und zum letzten musst du bei OnPlayerSpawn ihn den Skin vergeben.


    Du Wiederholst dich, mit den Bedeutungen.
    || = und
    && = oder