Başlıkta belirttiğim gibi advanced shops scriptinde marketten eşya satın aldığınızda market sahibinin kasasına sadece en son sepete eklediğiniz eşyanın parası x miktar ücreti geçiyor. Yani şu şekilde tarif edeyim. Sepete 5 ekmek 1 telefon ekliyorum. Kasaya sadece 1 telefonun parası geçiyor. (Sadece tek bir eşya tipi satın alırsanız hiçbir sorun yok, mesele farklı tipte eşyaları aynı anda sepete ekleyip aldığınızda oluyor) Bununda sebebini buldum ama çözümü konusunda tıkandım bu konuda yardım istiyorum. esx-kr-advanced-shops\server\main.lua içerisinde 162. satır:
kısmında problem var. Eşya değerlerini aynı anda çalıştırdığı için otomatikman son eklenen eşyanın değerini atayabiliyor sadece.
Şu şekilde tekrar örnek vereyim:
xPlayer.addInventoryItem(result[1].item, ItemCount)
Bu komutta direk olarak arka arkaya sepete ilk eklediğiniz ve 2. eklediğiniz olarak sırayla eşyaları veriyor. Otomatik döngü gibi diyebilirim.
Şimdi sorunun çözümüne gelirsek bana "SET" komutu değil "ADD" komutu lazım bahsettiğim sebeplerden ötürü.
Yani yukarıdaki "UPDATE owned_shops SET money = @money WHERE ShopNumber = @Number" komutu direk olarak datadaki money değerine belirli değeri atama yapıyor. Ben bu money değeri neyse direk olarak onun üzerine eklesin istiyorum. Bunu nasıl sağlayabilirim? Yani addMoney gibi düşünebilirsiniz. Bunun bana MySQL.Async.execute hali lazım.
Açıklayıcı olabilmek adına uzun uzun yazdım ama olay biraz karmaşık olduğu için elimden geldiğince açıklamaya çalıştım. Yardımcı olursanız sevinirim.
Eğer bu sorunun çözülmüş veya hiç sorunu olmayan advanced shops scripti olan varsa elinde direk onu da atabilirse çok hoş olur.
Kod:
MySQL.Async.execute("UPDATE owned_shops SET money = @money WHERE ShopNumber = @Number",
{
['@money'] = result2[1].money + (result[1].price * ItemCount),
['@Number'] = id,
})
kısmında problem var. Eşya değerlerini aynı anda çalıştırdığı için otomatikman son eklenen eşyanın değerini atayabiliyor sadece.
Şu şekilde tekrar örnek vereyim:
xPlayer.addInventoryItem(result[1].item, ItemCount)
Bu komutta direk olarak arka arkaya sepete ilk eklediğiniz ve 2. eklediğiniz olarak sırayla eşyaları veriyor. Otomatik döngü gibi diyebilirim.
Şimdi sorunun çözümüne gelirsek bana "SET" komutu değil "ADD" komutu lazım bahsettiğim sebeplerden ötürü.
Yani yukarıdaki "UPDATE owned_shops SET money = @money WHERE ShopNumber = @Number" komutu direk olarak datadaki money değerine belirli değeri atama yapıyor. Ben bu money değeri neyse direk olarak onun üzerine eklesin istiyorum. Bunu nasıl sağlayabilirim? Yani addMoney gibi düşünebilirsiniz. Bunun bana MySQL.Async.execute hali lazım.
Açıklayıcı olabilmek adına uzun uzun yazdım ama olay biraz karmaşık olduğu için elimden geldiğince açıklamaya çalıştım. Yardımcı olursanız sevinirim.
Eğer bu sorunun çözülmüş veya hiç sorunu olmayan advanced shops scripti olan varsa elinde direk onu da atabilirse çok hoş olur.