Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Hamza01 poslato Jul 23, 2017, 18:44:56 POSLE PODNE

Naslov: Komanda
Poruka od: Hamza01 poslato Jul 23, 2017, 18:44:56 POSLE PODNE
Skripta koju koristim:Asus Gaming
Detaljan opis problema:Kako da napravi komandu pomocu koje cu da ugasim /f /g chat i da to moze bilo ko da mu ne pokazuje taj chat kad ugasi ?
Dio skripte[:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: Komanda
Poruka od: Ch00pY poslato Jul 24, 2017, 21:10:12 POSLE PODNE
Zavisno od nacina spremanja treba ti posebna enum varijabla, recimo u MySQL i SQLite ti treba nova kolona u bazi igraca, sa yini ti treba nova varijabla tamo gde spremas igrace... To je za duze cuvanje, da se ne resetuje svaki put kad se udje na server.

A opet, mozes da napravis i da se resetuje, samo koristis obicnu player varijablu.

U oba slucaja ti treba varijabla recimo pFamilyChat i napravis komandu koja ce da, kad bude ukucana, dodeli igracu vrednost 1 za ovu var.

Onda ides do komande /f ili /g i tamo dodas proveru da ako je igracev var pFamilyChat jednaka 1 da njemu ne ispisuje poruku sa chata.

Nadam se da razumes, ako ne, napisi sta je nejasno.  ;)

EDIT: Tamo gde su spremanja igraca kad se registruje dodelis varijabli vrednost 0.
Naslov: Odg: Komanda
Poruka od: Bašovski poslato Jul 24, 2017, 22:33:50 POSLE PODNE
otprilike bi to ovako izgledalo, ukoliko te zbunjuje sto koristim else { umjesto return je da bih preskocio warning u kojem compiler ne dopire do zadnjeg returna u cmd. da bi ti ovo radilo moras imati ZCMD include.
[pawn]new bool:ukljucenfamilychat [ MAX_PLAYERS ];

CMD:f ( playerid, params[] ) {

   if ( ukljucenfamilychat [ playerid ] == true ) {
   
       // ostali dio komande
      
   }
   else {
   
       SendClientMessage ( playerid, -1, "Ukljucite sebi family chat komandom /togf." );
      
   }
   return 1;
   
}

CMD:togf ( playerid, params[] ) {

   if ( ukljucenfamilychat [ playerid ] == true ) {
       ukljucenfamilychat [ playerid ] = false;
   }
   else {
       ukljucenifamilychat [ playerid ] = true;
   }
   return 1;
   
}[/pawn]
Naslov: Odg: Komanda
Poruka od: Slade poslato Jul 25, 2017, 10:39:22 PRE PODNE
Posto te njih dvojica nisu shvatili sta zelis reci, pronadji stock SendFamilyMessage, ili koji je tvoj stock za slanje poruke, i napravi varijablu [pawn]new FamilyChat[ MAX_PLAYERS ];[/pawn]
Taj chat pod OnGameModeInitom postavis na 1, a nekom komandom neka se ukljucuje iskljucuje, u stocku dodas provjeru u if ako je 1 (pozitivno) da salje poruku, sto znaci ako je negativno nece slati poruku tom igracu vec ostalima koji imaju ukljuceno, takodjer na /f onda
dodas istu provjeru, to moze kao u Basovskog