GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Davidus - 2014. május 26. - 18:20:23

Cím: Fegyver váltás letíltása.
Írta: Davidus - 2014. május 26. - 18:20:23
Hello, az lenne a gondom, hogy nem tudom, hogy oldjam meg azt, hogy letíltsa a fegyver váltást... Ugye, ha görgövel fegyvert akar váltani, akkor maradjon a régi fegyveren ami a kezébe van. Ez megoldható egyátalán? A válaszokat is elõre köszönöm
Cím: Fegyver váltás letíltása.
Írta: KovaNovik - 2014. május 26. - 18:40:03
SetPlayerArmedWeapon.
Mindenkinek egy Fegyvere változója legyen. Fegyverváltáskor a változót állítsd, OnPlayerUpdate-nél pedig SetPlayerArmedWeapon(playerid, Fegyvere[playerid]);
Remélem érthetõ voltam. Sok szerencsét, további jó scriptelést!
Cím: Fegyver váltás letíltása.
Írta: huhboy - 2014. május 26. - 18:54:40
Idézetet írta: Davidus date=1401121223\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48396\" data-ipsquote-contentclass=\"forums_Topic
Hello, az lenne a gondom, hogy nem tudom, hogy oldjam meg azt, hogy letíltsa a fegyver váltást... Ugye, ha görgövel fegyvert akar váltani, akkor maradjon a régi fegyveren ami a kezébe van. Ez megoldható egyátalán? A válaszokat is elõre köszönöm
 
hát nekem elsõre ez a megoldás jutott eszembe....
 

#include <a_samp>
#include <zcmd>
new PlayerWeaponSlot[MAX_PLAYERS];
new WeaponBlocked;
CMD:fegyverletilt(playerid, params[])
{
#pragma unused params
if(WeaponBlocked != 0) return WeaponBlocked = 0;
else return WeaponBlocked = 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
PlayerWeaponSlot[playerid] = GetPlayerWeaponState(playerid);
if(WeaponBlocked == 1)
{
if(newkeys == KEY_LOOK_LEFT || newkeys == KEY_LOOK_RIGHT)
{
   SetPlayerArmedWeapon(playerid, PlayerWeaponSlot[playerid]);
}
}
return 1;
}

 
E:miközben ezt leírtam, közben KovaNovik is erre gondolt :)
Cím: Fegyver váltás letíltása.
Írta: Davidus - 2014. május 26. - 18:59:13
Köszönöm, a gyors választ, Zárom.
Cím: Fegyver váltás letíltása.
Írta: Davidus - 2014. május 26. - 18:20:23
Hello, az lenne a gondom, hogy nem tudom, hogy oldjam meg azt, hogy letíltsa a fegyver váltást... Ugye, ha görgövel fegyvert akar váltani, akkor maradjon a régi fegyveren ami a kezébe van. Ez megoldható egyátalán? A válaszokat is elõre köszönöm
Cím: Fegyver váltás letíltása.
Írta: KovaNovik - 2014. május 26. - 18:40:03
SetPlayerArmedWeapon.
Mindenkinek egy Fegyvere változója legyen. Fegyverváltáskor a változót állítsd, OnPlayerUpdate-nél pedig SetPlayerArmedWeapon(playerid, Fegyvere[playerid]);
Remélem érthetõ voltam. Sok szerencsét, további jó scriptelést!
Cím: Fegyver váltás letíltása.
Írta: huhboy - 2014. május 26. - 18:54:40
Idézetet írta: Davidus date=1401121223\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48396\" data-ipsquote-contentclass=\"forums_Topic
Hello, az lenne a gondom, hogy nem tudom, hogy oldjam meg azt, hogy letíltsa a fegyver váltást... Ugye, ha görgövel fegyvert akar váltani, akkor maradjon a régi fegyveren ami a kezébe van. Ez megoldható egyátalán? A válaszokat is elõre köszönöm
 
hát nekem elsõre ez a megoldás jutott eszembe....
 

#include <a_samp>
#include <zcmd>
new PlayerWeaponSlot[MAX_PLAYERS];
new WeaponBlocked;
CMD:fegyverletilt(playerid, params[])
{
#pragma unused params
if(WeaponBlocked != 0) return WeaponBlocked = 0;
else return WeaponBlocked = 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
PlayerWeaponSlot[playerid] = GetPlayerWeaponState(playerid);
if(WeaponBlocked == 1)
{
if(newkeys == KEY_LOOK_LEFT || newkeys == KEY_LOOK_RIGHT)
{
   SetPlayerArmedWeapon(playerid, PlayerWeaponSlot[playerid]);
}
}
return 1;
}

 
E:miközben ezt leírtam, közben KovaNovik is erre gondolt :)
Cím: Fegyver váltás letíltása.
Írta: Davidus - 2014. május 26. - 18:59:13
Köszönöm, a gyors választ, Zárom.