public OnPlayerDeath(playerid, killerid, reason){if(pInfo[playerid][lvl] < 30){pInfo[playerid][xp]*=0.9;}return 1;}
Sziasztok!Segítséget szeretnék kérni az alábbi kód befejezésében. public OnPlayerDeath(playerid, killerid, reason){if(pInfo[playerid][lvl] < 30){pInfo[playerid][xp]*=0.9;}return 1;} A lényege az lenne, hogyha a játékos szintje 30. szint alatt van, és meghal, akkor 10%-át vegye el az xpjének azaz maradjon meg a 90%-a.A kódra semmi hibát nem ír viszont a valóságban nem mûködik. 10 xp-m van meghalok és a helyzet változatlan ugyan úgy 10 xp-m marad.Elõre is köszönöm a válaszokat Üdv. Klmos
if(pInfo[playerid][lvl] < 30)
if(pInfo[playerid][lvl] > 30)
Nézd csak meg a kódot. Segítek: Még azthiszem másodikban tanultam: \"A kacsa csõre mindig a nagyobb felé néz\".azaz x<y - nál az x a nagyobb.Akkor érted már a hibát?if(pInfo[playerid][lvl] < 30) helyett: if(pInfo[playerid][lvl] > 30) Azaz: < helyett > a játékos szintje 30. szint alatt van[/quote]Segítek. Általános Iskola 1. osztályában kezdtünk el tanulni szöveg értést. Ha 30 alatt van akkor kisebb mint harminc. Naplózva
a játékos szintje 30. szint alatt van[/quote]Segítek. Általános Iskola 1. osztályában kezdtünk el tanulni szöveg értést. Ha 30 alatt van akkor kisebb mint harminc.
pInfo[playerid][xp]*=0.9;
pInfo[playerid][xp] = floatround((pInfo[playerid][xp]*0.9), floatround_ceil);
Ha egy int-et beszorzol egy float-al akkor float értéket kapsz !( még ha egész szám is jön ki akkor is float típus ! pl: 9.0 ) pInfo[playerid][xp]*=0.9; helyett: pInfo[playerid][xp] = floatround((pInfo[playerid][xp]*0.9), floatround_ceil); http://wiki.sa-mp.com/wiki/Floatround
new x = 10;x = floatround((x*0.9), floatround_ceil);printf(\"x:%d\",x);