[POMOC] Oruzije Slotovi


Započeo NewOne, Mart 12, 2016, 17:55:32 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: UP
Detaljan opis problema: Ne znam kako da napravim da neki igrac moze imati samo 9 oruzija kod sebe i da kad dajem da  sama skripta prodje kroz slotove i izbroji ako nema oruzije na npr. slot 5 da da tu, i kad dajem preko komande /givegun ako ima vec popunjeno 8 slotova da adminu izbaci poruku " Taj igrac vec ima popunjene slotove oruzija."
Dio skripte: //
Neke slike/video za lakse dobivanje pomoci(neobavezno): //

Da li zelis da sprema ta oruziaj kad igrac ode off ili ne?

"They have computers, and they may have other weapons of mass destruction."

Ako zelis da se cuvaju oruzja uradis u PI enumu varijable, a ako ne zelis da se cuvaju, uradis preko PLAYER varijable.
You have enemies? Good. That means you've stood up for something, sometime in your life.

Konto sam da uradim preko player varijable da ih ima samo dok je na serveru, i planiro sam da uradim komandu /weapons pomocu tdova Slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9 i kad ima na nekom slotu oruzije da se izmijeni settextdrawstring (nez kako se zove tacno) u ime oruzija i kad klikne na taj textdraw da mu bude to oruzije u ruci

Citat: NewOne poslato Mart 12, 2016, 19:35:27 POSLE PODNE
Konto sam da uradim preko player varijable da ih ima samo dok je na serveru, i planiro sam da uradim komandu /weapons pomocu tdova Slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9 i kad ima na nekom slotu oruzije da se izmijeni settextdrawstring (nez kako se zove tacno) u ime oruzija i kad klikne na taj textdraw da mu bude to oruzije u ruci

Pa eto onda sam si sebi dao odgovor, ne znam zasto si postao temu xD? Treba li ti jos nesto?

"They have computers, and they may have other weapons of mass destruction."

Citat: MEDO poslato Mart 12, 2016, 19:47:42 POSLE PODNE
Citat: NewOne poslato Mart 12, 2016, 19:35:27 POSLE PODNE
Konto sam da uradim preko player varijable da ih ima samo dok je na serveru, i planiro sam da uradim komandu /weapons pomocu tdova Slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9 i kad ima na nekom slotu oruzije da se izmijeni settextdrawstring (nez kako se zove tacno) u ime oruzija i kad klikne na taj textdraw da mu bude to oruzije u ruci

Pa eto onda sam si sebi dao odgovor, ne znam zasto si postao temu xD? Treba li ti jos nesto?

Pa ne znam kako uradit ovu definiciju i da broji koji je prazan slot i kad klikne na td da mu da sa tog slota oruzije u ruke  :'(
Poslednja Izmena: Mart 12, 2016, 20:12:22 POSLE PODNE od NewOne

za slotove ako ces preko varijabli onda napravis
new Slot1[MAX_PLAYERS];
new Slot2[MAX_PLAYERS];

I tako koliko ti treba
I kasnije kada dajes igracu neko orizije popunjavas slot
Slot1[playerid] = 1;

E sad mozes i da stavljas ID oruzija npr ovako:
new gunid;
gunid = GetPlayerWeapon(playerid);
Slot1[playerid] = gunid;

E sad to za provere mozes naprimer ovako nesto
Stavis Tajmer za Proveru gore u GmInit
SetTimer("ProveraOruzija", 1000, true);

Pa onda napravis funkciju
forward ProveraOruzija(playerid);
public ProveraOruzija(playerid);
{
if(Slot1[playerid] > 0 || Slot2[playerid] > 0 // I tako dalje)
{
//E sad mozes naprimer da stavis da ako ima popunjene sve slotove da mu je nemoguce dati oruzije pomocu neke varijable
//Naprimer
PopunioSlotove[playerid] = 1; //Samo je  jos definisi gore
//I sad u proveru kada klikne TD samo stavis da ako ima ovu varijablu ne moze da uzme
//Primer
if(PopunioSlotove[playerid] = 1) return SendClientMessage(playerid, Boja, "Poruka");
}
}

E sad to da klikne Td radis pomocu ove funkcije
https://wiki.sa-mp.com/wiki/OnPlayerClickPlayerTextDraw
Poslednja Izmena: Mart 12, 2016, 20:28:27 POSLE PODNE od LAVendeta

Hvala pokusat cu s ovim, ako zapne gdje pisem ovde nemojte zakljucavat temu

Nemoj korsitit timer, koristi OnPlayerUpdate jer ne radis neke velike operacije

"They have computers, and they may have other weapons of mass destruction."

Citat: MEDO poslato Mart 12, 2016, 21:19:06 POSLE PODNE
Nemoj korsitit timer, koristi OnPlayerUpdate jer ne radis neke velike operacije

Nisam jos stigao kuci pa nisam testao, nego jel postoji neka funkcija koja daje oruzije u ruke a da nije GivePlayerWeapon?

ne zasto ce ti to :D?

"They have computers, and they may have other weapons of mass destruction."

Citat: MEDO poslato Mart 12, 2016, 22:27:31 POSLE PODNE
ne zasto ce ti to :D?
Pa kad klikne na td da mu samo premjesti oruzije na neki slot da mu ne daje svaki put iznova

Pa nzm zasto ti to treba al dobro.
Mozes naprimer da definises sve varijable unapred sa ID-jevima oruzija.
Slot1[playerid] = 31;//Znaci 31 je unapred definisana varijabla oruzija

I tako za svako slot.
A kada on klikne i dajes mu onda ako zelis da menjas onda samo premestas id iz jednog u drugo oruzije.
Primer:
new broj;
Slot1[playerid] = broj;//SPremamo ID slota 1. u Neku lokalnu varijablu
Slot1[playerid] = Slot2[playerid];//Izjednacujem (postavljam)Varijabli Slot1 u Slot2
Slot2[playerid] = broj;//Slot 2 stavljam da bude ID od lokalne varijable (broj) koja ima ID od Slota 1

Tako nesto mozes da radis ali mozda ima i laksi nacin (mozda i nema)
Ali ovo ti i nije bas dobro.Bolje radi kao sto sam ti gore vec naveo.Jer ovo ti i nije potrebno...

Citat: LAVendeta poslato Mart 13, 2016, 10:26:34 PRE PODNE
Primer:
new broj;
Slot1[playerid] = broj;//SPremamo ID slota 1. u Neku lokalnu varijablu
Slot1[playerid] = Slot2[playerid];//Izjednacujem (postavljam)Varijabli Slot1 u Slot2
Slot2[playerid] = broj;//Slot 2 stavljam da bude ID od lokalne varijable (broj) koja ima ID od Slota 1


Auf brate sta si ovde napricao
new broj = Slot1[playerid]; //SPremamo ID slota 1. u Neku lokalnu varijablu
Slot2[playerid] = broj; //Slot 2 stavljam da bude ID od lokalne varijable (broj) koja ima ID od Slota 1
Slot1[playerid] = 0; //Slot1 nije u upotrebi :)