hlmod.hu
https://hlmod.hu/

cvar készítése egy előre meghatározott értékből
https://hlmod.hu/viewtopic.php?f=10&t=3153
Oldal: 1 / 1

Szerző:  RastafaRi [2012.01.18. 20:23 ]
Hozzászólás témája:  cvar készítése egy előre meghatározott értékből

Sziasztok!

A kérdésem annyi lenne, hogy ezeket az előre meghatározott értékeket cvarral hogyan lehetne kifejezni?
A célja az lenne, hogy XP változtatáskor ne keljen restartolgatni a szervert.

Kód:
#define EXP_PRICE_STAMINA   220
#define EXP_PRICE_STRENGTH   200
#define EXP_PRICE_AGILITY   300
#define EXP_PRICE_DEXTERITY   200
#define EXP_PRICE_DISARM   200

...
Kód:
new const UpgradePrice[UPGRADES+1] = {
   0, //NULL
   EXP_PRICE_STAMINA,
   EXP_PRICE_STRENGTH,
   EXP_PRICE_AGILITY,
   EXP_PRICE_DEXTERITY,
   EXP_PRICE_DISARM,
}

Teljes kód a mellékletben.
43, 240, 1894 sorok.

Csatolmányok:
soccerjam.sma [73.64KiB]
Letöltve 50 alkalommal.

Szerző:  Metal [2012.01.18. 22:25 ]
Hozzászólás témája:  Re: cvar készítése egy előre meghatározott értékből

Szia!

Egy megoldás:
ugyebár az állapottéren a tömb mint konstans jelentkezik, viszont emiatt pont nem megvalósítható az, hogy dinamikusan változtatni lehessen.

Szükséges átalakítások
Kód:
new const UpgradePrice[UPGRADES+1] = {
   0, //NULL
   EXP_PRICE_STAMINA,
   EXP_PRICE_STRENGTH,
   EXP_PRICE_AGILITY,
   EXP_PRICE_DEXTERITY,
   EXP_PRICE_DISARM,
}
Kód:
new UpgradePrice[UPGRADES+1]


Sajma ezzel eltűntek az értékek is viszont a tömb elemei funkcionálhatnak pointerként, azaz:
Kód:
public plugin_init()
{
   // ...

   UpgradePrice[1]=0
   UpgradePrice[1]=register_cvar("cvar_exp_price_stamina", "220")
   UpgradePrice[2]=register_cvar("cvar_exp_price_strength", "100")
   UpgradePrice[3]=register_cvar("cvar_exp_price_agility", "300")
   UpgradePrice[4]=register_cvar("cvar_exp_price_dexterity", "200")
   UpgradePrice[5]=register_cvar("cvar_exp_price_disarm", "200")

   // ...
}

Ez egy lehetséges megoldása a problémának.
Teszteld, ha para van jelezd, s a hatást is írd le.

Szerző:  RastafaRi [2012.01.19. 06:39 ]
Hozzászólás témája:  Re: cvar készítése egy előre meghatározott értékből

Az átváltás során semmilyen warning/errort nem jelzett és ez várt a szerveren.
Előre is kösz a segítséget.

Csatolmányok:
xp.png
xp.png [199.22KiB |Megtekintve 815 alkalommal ]

Szerző:  Metal [2012.01.19. 11:32 ]
Hozzászólás témája:  Re: cvar készítése egy előre meghatározott értékből

Mint írtam: "... Sajna ezzel eltűntek az értékek is, viszont a tömb elemei funkcionálhatnak pointerként ..."
Ergo, nem direktben kell hivatkozni rá, mert akkor a pointer címét kapod meg.
Mikor hivatkozni akarsz az értékre, akkor
Kód:
UpgradePrice[x]
helyett
Kód:
get_pcvar_num(UpgradePrice[x])

Szerző:  RastafaRi [2012.01.19. 15:33 ]
Hozzászólás témája:  Re: cvar készítése egy előre meghatározott értékből

Mostmár értem, köszi szépen a segítséget!

Szerző:  Metal [2012.01.19. 17:29 ]
Hozzászólás témája:  Re: cvar készítése egy előre meghatározott értékből

RastafaRi írta:
Mostmár értem, köszi szépen a segítséget!


Ha nem működne, jelezd pls, bár szerintem át tudod írni azon a 2+2 helyen a kódot

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/