Jump to content

[ TuT ] Ukládání zbraní


Recommended Posts

Ahoj. Dlouho jsem nevěděl co sem dam za tut. A teď když jsem to nascriptil, chci to zveřejnit. Bugy jsou opraveny!

 

Potřebujete: dudb.inc, dutils.inc, klávesy: CTRL, C, V :d

 

Takže ještě něco před tím. Slouží to na ukládání každého slotu zvlášť, takže to trochu zvětší soubor s ukládáním.

 

Do OnPlayerDisconnect:

   if (PLAYERLIST_authed[playerid]) {

new weapon1, weapon1ammo; //Všechny data musíme "nanewovat"
   new weapon2, weapon2ammo;
   new weapon3, weapon3ammo;
   new weapon4, weapon4ammo;
   new weapon5, weapon5ammo;
   new weapon6, weapon6ammo;
   new weapon7, weapon7ammo;
   new weapon8, weapon8ammo;
   new weapon9, weapon9ammo;
   new weapon10, weapon10ammo;
   new weapon11, weapon11ammo;
   new weapon12, weapon12ammo;

GetPlayerWeaponData(playerid, 1, weapon1, weapon1ammo);//Zjistí data zbraně
dUserSetINT(PlayerName(playerid)).("weapon1",weapon1); //Uloží ID zbraně
dUserSetINT(PlayerName(playerid)).("weapon1ammo",weapon1ammo); //A uloží počet nábojů ve zbrani
//Takhle to jde dál až ke dvanáctému slotu
GetPlayerWeaponData(playerid, 2, weapon2, weapon2ammo);
dUserSetINT(PlayerName(playerid)).("weapon2",weapon2);
dUserSetINT(PlayerName(playerid)).("weapon2ammo",weapon2ammo);

GetPlayerWeaponData(playerid, 3, weapon3, weapon3ammo);
dUserSetINT(PlayerName(playerid)).("weapon3",weapon3);
dUserSetINT(PlayerName(playerid)).("weapon3ammo",weapon3ammo);

GetPlayerWeaponData(playerid, 4, weapon4, weapon4ammo);
dUserSetINT(PlayerName(playerid)).("weapon4",weapon4);
dUserSetINT(PlayerName(playerid)).("weapon4ammo",weapon4ammo);

GetPlayerWeaponData(playerid, 5, weapon5, weapon5ammo);
dUserSetINT(PlayerName(playerid)).("weapon5",weapon5);
dUserSetINT(PlayerName(playerid)).("weapon5ammo",weapon5ammo);

GetPlayerWeaponData(playerid, 6, weapon6, weapon6ammo);
dUserSetINT(PlayerName(playerid)).("weapon6",weapon6);
dUserSetINT(PlayerName(playerid)).("weapon6ammo",weapon6ammo);

GetPlayerWeaponData(playerid, 7, weapon7, weapon7ammo);
dUserSetINT(PlayerName(playerid)).("weapon7",weapon7);
dUserSetINT(PlayerName(playerid)).("weapon7ammo",weapon7ammo);

GetPlayerWeaponData(playerid, 8, weapon8, weapon8ammo);
dUserSetINT(PlayerName(playerid)).("weapon8",weapon8);
dUserSetINT(PlayerName(playerid)).("weapon8ammo",weapon8ammo);

GetPlayerWeaponData(playerid, 9, weapon9, weapon9ammo);
dUserSetINT(PlayerName(playerid)).("weapon9",weapon9);
dUserSetINT(PlayerName(playerid)).("weapon9ammo",weapon9ammo);

GetPlayerWeaponData(playerid, 10, weapon10, weapon10ammo);
dUserSetINT(PlayerName(playerid)).("weapon10",weapon10);
dUserSetINT(PlayerName(playerid)).("weapon10ammo",weapon10ammo);

GetPlayerWeaponData(playerid, 11, weapon11, weapon11ammo);
dUserSetINT(PlayerName(playerid)).("weapon11",weapon11);
dUserSetINT(PlayerName(playerid)).("weapon11ammo",weapon11ammo);

GetPlayerWeaponData(playerid, 12, weapon12, weapon12ammo);
dUserSetINT(PlayerName(playerid)).("weapon12",weapon12);
dUserSetINT(PlayerName(playerid)).("weapon12ammo",weapon12ammo);
   }
   PLAYERLIST_authed[playerid]=false;

 

Do OnPlayerSpawn:

GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon1"),dUserINT(PlayerName(playerid)).("weapon1ammo")/2);//Dává hráčovi zbraně po jednom. Ammo vydělí dvěma, protože mě dělalo že každé zbrani to dalo dvojnásobek.
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon2"),dUserINT(PlayerName(playerid)).("weapon2ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon3"),dUserINT(PlayerName(playerid)).("weapon3ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon4"),dUserINT(PlayerName(playerid)).("weapon4ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon5"),dUserINT(PlayerName(playerid)).("weapon5ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon6"),dUserINT(PlayerName(playerid)).("weapon6ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon7"),dUserINT(PlayerName(playerid)).("weapon7ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon8"),dUserINT(PlayerName(playerid)).("weapon8ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon9"),dUserINT(PlayerName(playerid)).("weapon9ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon10"),dUserINT(PlayerName(playerid)).("weapon10ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon11"),dUserINT(PlayerName(playerid)).("weapon11ammo")/2);
GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("weapon12"),dUserINT(PlayerName(playerid)).("weapon12ammo")/2);

 

Tak a je to hotové! Padejte to zkusit na svůj server :d

 

Errory:

error 017: undefined symbol "PlayerName"

 

Dejte si někam nahoru pod includy:

 

stock PlayerName(playerid){
new name[255];
GetPlayerName(playerid, name, 255);
return name;
}

 

 

Teď už se mi blbě pracuje s editací příspěvku, vzhledem k mnoha znakům mi to nějak poskakuje :d

Link to comment
Share on other sites

Takže mi ti jako pomužem a ty to daš jako tut jo? :d pěstí? :d .. joke ... dobry mno ... :rap: (poprvy sem použil tohodle smajla - )

 

Jo díky. Pěstí? Ani ne, díky. Z toho helpu by to každej nepochopil ;)

Link to comment
Share on other sites

buguje to, uloží to síce zbrane, no počet nábojou sa o polovicu zmenší.

To se nedivim. Mě to nějak bugovalo a dávalo to dvojnásobek amma, takže si z toho v OnPlayerSpawn vymaž nakonci to /2

Link to comment
Share on other sites

  • 1 year later...
Hele dal sem to do toho spawn a normalne po odhlaseni se mi zbrane ulozi ale uz nenactou :( co stim??? :(

a máš v OnPlayerSpawn GivePlayerWeapon(playerid, .....); ?

Link to comment
Share on other sites

Hele dal sem to do toho spawn a normalne po odhlaseni se mi zbrane ulozi ale uz nenactou :( co stim??? :(

a máš v OnPlayerSpawn GivePlayerWeapon(playerid, .....); ?

JJ mam ;) nejsem vul :d :D ale prisel sem ze kdyz mam id 0 natak to nejde :( nevite nekdo jak to id 0 zakazat aby bylo jen id 1 a vis????

Link to comment
Share on other sites

  • 3 months later...

Me to vyhazuje tyto errory

 

C:\Program Files\new gta\Lol\gamemodes\Realné-Město.pwn(334) : error 017: undefined symbol "PLAYERLIST_authed"

C:\Program Files\new gta\Lol\gamemodes\Realné-Město.pwn(334) : warning 215: expression has no effect

C:\Program Files\new gta\Lol\gamemodes\Realné-Město.pwn(334) : error 001: expected token: ";", but found "]"

C:\Program Files\new gta\Lol\gamemodes\Realné-Město.pwn(334) : error 029: invalid expression, assumed zero

C:\Program Files\new gta\Lol\gamemodes\Realné-Město.pwn(334) : fatal error 107: too many error messages on one line

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...