Szerző Téma: Mute  (Megtekintve 3308 alkalommal)

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Mute
« Dátum: 2012. december 01. - 18:13:43 »
+6 Show voters
Üdv.
Most este unalmamban megcsináltam egy kisebb Mute parancsot. Némításnál nem enged beszélni.
Készítési idõ: 4-5 perc
Parancsok :
/mute
/unmute
Kód:
 
#include <a_samp>
#include zcmd
#include sscanf2
#define  COLOR_GREEN        0x33FF33AA
#define  COLOR_RED           0xFF0000AA
public OnPlayerConnect(playerid)
{
SetPVarInt(playerid,\"Muted\",0);
return 1;
}
CMD:mute(playerid,params[])
{
new str[128],indok,id;
if(sscanf(params,\"us\",id,indok)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /mute [iD] [indok]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen  játékos!\");
if(id == playerid)  return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod lenémítani!\");
if(GetPVarInt(id,\"Muted\") == 1) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos már némítva van!\");
{
SetPVarInt(id,\"Muted\",1);
format(str,sizeof(str),\"%s játékos lenémította %s játékost! Indok : %s\",pName(playerid),pName(id),indok);
SendClientMessageToAll(COLOR_GREEN,str);
}
return 1;
}
CMD:unmute(playerid,params[])
{
new str[128],id;
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /unmute [iD]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen  játékos!\");
if(id == playerid)  return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod felnémítani!\");
if(GetPVarInt(id,\"Muted\") == 0) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos nincs még lenémítva!!\");
{
SetPVarInt(id,\"Muted\",0);
format(str,sizeof(str),\"%s játékos engedélyezte a beszédet %s játékosnak! \",pName(playerid),pName(id));
SendClientMessageToAll(COLOR_GREEN,str);
}
return 1;
}
stock pName(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
return name;
}
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid,\"Muted\") == 1)
{
    SendClientMessage(playerid,COLOR_RED,\"Lenémítva nem tudsz beszélni öcsi!\");
return 0;
}
return 1;
}

 
Frissített :
Újdonság : Percre meg lehet adni hogy mikor oldja fel a némítást a játékosról
Kód:
 
#include <a_samp>
#include zcmd
#include sscanf2
#define  COLOR_GREEN        0x33FF33AA
#define  COLOR_RED           0xFF0000AA
new mut;
public OnPlayerConnect(playerid)
{
SetPVarInt(playerid,\"Muted\",0);
return 1;
}
CMD:mute(playerid,params[])
{
new str[128],indok,id,perc;
if(sscanf(params,\"usd\",id,indok,perc)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /mute [iD][indok] [Perc] \");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen  játékos!\");
if(id == playerid)  return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod lenémítani!\");
if(GetPVarInt(id,\"Muted\") == 1) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos már némítva van!\");
{
    perc *= 60000;
    mut = SetTimerEx(\"MutedTime\",perc,false,\"d\",id);
SetPVarInt(id,\"Muted\",1);
format(str,sizeof(str),\"%s játékos lenémította %s játékost! Indok : %s Perc : %d\",pName(playerid),pName(id),indok,perc);
SendClientMessageToAll(COLOR_GREEN,str);
}
return 1;
}
CMD:unmute(playerid,params[])
{
new str[128],id;
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /unmute [iD]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen  játékos!\");
if(id == playerid)  return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod felnémítani!\");
if(GetPVarInt(id,\"Muted\") == 0) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos nincs még lenémítva!!\");
{
SetPVarInt(id,\"Muted\",0);
format(str,sizeof(str),\"%s játékos engedélyezte a beszédet %s játékosnak! \",pName(playerid),pName(id));
SendClientMessageToAll(COLOR_GREEN,str);
KillTimer(mut);
}
return 1;
}
stock pName(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
return name;
}
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid,\"Muted\") == 1)
{
    SendClientMessage(playerid,COLOR_RED,\"Lenémítva nem tudsz beszélni öcsi!\");
return 0;
}
return 1;
}
forward MutedTime(playerid);
public MutedTime(playerid)
{
SetPVarInt(playerid,\"Muted\",0);
SendClientMessage(playerid,COLOR_GREEN,\"Fel lett oldva a némításod legközelebb okosan!\");
return 1;
}
public OnPlayerCommandReceived( playerid, cmdtext[] )
{
if(GetPVarInt(playerid,\"Muted\") == 1)
{
    SendClientMessage(playerid,COLOR_RED,\"Lenémítva nem tudsz parancsot használni!\");
            return 0;
}
return 1;
}

 
Tesztelve mûködik.
« Utoljára szerkesztve: 2012. december 04. - 21:22:19 írta ZzzzzZ »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Mute
« Válasz #1 Dátum: 2012. december 01. - 18:17:46 »
0 Show voters
tetszik :D a következõ verzióba csináld meg úgy, hogy idõre :D  ;)

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Mute
« Válasz #2 Dátum: 2012. december 01. - 18:30:46 »
0 Show voters
jó ötlet ty

Dupla hozzászólás automatikusan összefûzve. ( 2012. december 01. - 18:44:45 )

Frissített változat kiadva.
« Utoljára szerkesztve: 2012. december 01. - 18:44:45 írta ZzzzzZ »

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Mute
« Válasz #3 Dátum: 2012. december 01. - 20:26:48 »
0 Show voters
Szerintem GetTickCounttal egyszerûbben is meglehet csinálni az idõzített verzióját. Illetve ha timert csinálsz, akkor több tömbösnek kell lenni.

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Mute
« Válasz #4 Dátum: 2012. december 01. - 22:23:52 »
0 Show voters
lehetséges , de én azt nem értem annak a mûködését.

Mute
« Válasz #5 Dátum: 2012. december 02. - 00:00:21 »
+1 Show voters
Grat!De kicsit furcsa hogy a lenémít ellentéte a felnémit :D

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
Mute
« Válasz #6 Dátum: 2012. december 02. - 08:09:38 »
0 Show voters
Pont erre volt szükségem! Ment a +!

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
Mute
« Válasz #7 Dátum: 2012. december 02. - 10:42:14 »
+2 Show voters
:)
Vicces stunt szerveresek beletehetik ezt is :D
 
PlayAudioStreamForPlayer(playerid, \"http://mksz.sunwell.hu/kussojjal.wav\");

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Mute
« Válasz #8 Dátum: 2012. december 02. - 13:47:23 »
0 Show voters
Idézetet írta: cappsy date=1354441334\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30464\" data-ipsquote-contentclass=\"forums_Topic
:)
Vicces stunt szerveresek beletehetik ezt is :D
 
PlayAudioStreamForPlayer(playerid, \"http://mksz.sunwell.hu/kussojjal.wav\");

 

lehetséges :DD

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Mute
« Válasz #9 Dátum: 2012. december 04. - 17:43:26 »
0 Show voters
kibõvítve friss verzió 1 picivel hogy némítva nem tudnak parancsot használni.

Mute
« Válasz #10 Dátum: 2012. december 04. - 18:40:43 »
0 Show voters
A sscanf a \'d\' format jelölésre nem fog az \"id\" változóra INVALID_PLAYER_ID értéket adni ha nincs csatlakozva a játékos, csak az \'u\', \'q\' illetve az \'r\' jelölésre.

Kovacs_Bela

  • Vendég
Mute
« Válasz #11 Dátum: 2012. december 04. - 21:46:22 »
0 Show voters
szép lett grat.

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Mute
« Válasz #12 Dátum: 2012. december 04. - 21:53:38 »
0 Show voters
köszi Robot robi :DD
 
Idézetet írta: ɐʞzssǝlosz date=1354642843\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30464\" data-ipsquote-contentclass=\"forums_Topic
A sscanf a \'d\' format jelölésre nem fog az \"id\" változóra INVALID_PLAYER_ID értéket adni ha nincs csatlakozva a játékos, csak az \'u\', \'q\' illetve az \'r\' jelölésre.
 
edited., köszi a tanácsot.

Kovacs_Bela

  • Vendég
Mute
« Válasz #13 Dátum: 2012. december 05. - 06:59:13 »
0 Show voters
Idézetet írta: ZzzzzZ date=1354654418\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30464\" data-ipsquote-contentclass=\"forums_Topic
köszi Robot robi :DD
 

A sscanf a \'d\' format jelölésre nem fog az \"id\" változóra INVALID_PLAYER_ID értéket adni ha nincs csatlakozva a játékos, csak az \'u\', \'q\' illetve az \'r\' jelölésre.
 
edited., köszi a tanácsot.
 
[/quote]
nm zézézézé zézézézé xd
amugy a q jelölés mit is jelent sscafban?

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Mute
« Válasz #14 Dátum: 2012. december 05. - 10:14:45 »
0 Show voters
Idézetet írta: danix99 date=1354687153\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30464\" data-ipsquote-contentclass=\"forums_Topic


köszi Robot robi :DD
 

A sscanf a \'d\' format jelölésre nem fog az \"id\" változóra INVALID_PLAYER_ID értéket adni ha nincs csatlakozva a játékos, csak az \'u\', \'q\' illetve az \'r\' jelölésre.
 
edited., köszi a tanácsot.
 
[/quote]
nm zézézézé zézézézé xd
amugy a q jelölés mit is jelent sscafban?
 
[/quote]
q olyan nem létezik csak:
 
   c - A character.
d, i - An integer.
h, x - A hex number (e.g. a colour).
f - A float.
s - A string.
z - An optional string.
pX - An additional delimiter where X is another character.
\'\' - Encloses a litteral string to locate.
u - User, takes a name, part of a name or an id and returns the id if they\'re connected.
[/quote]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal