Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Tag przed nickiem
#1
Napisano 23.07.2011 15:10
Prosiłbym o plugin który dodaje tag przed nickiem - nie ma zmieniać nicku. Szukałem, ale to co znalazłem nie sprawdziło się.
Miały by być cztery rodzaje tagów przed nickiem:
1. [Head-Admin]
2. [Admin]
3. [Vip]
4. [Premium]
Na flagę:
1. ADMIN_IMMUNITY
2. ADMIN_KICK
3. ADMIN_LEVEL_G
4. ADMIN_LEVEL_H
Flagi nie są bardzo ważne - jak będzie kod sma to go edytuję.
Znalazłem Tag Przed Nickiem - AMXX.pl: Support AMX Mod X , gdy kod sma który dodał AmD w pierwszym poście edytowałem, żeby dawał tag dla [Head-Admin] działał dobrze. Gdy zrobiłem drugi plugin (ten sam kod), żeby dodawał adminowi [Admin] działał, ale jak admin pisał to wychodził oto dwa razy.
Pozdrawiam serdecznie PROstyCzlowiek!
Dodano 23 lipiec 2011 - 17:00:
Mój drugi problem:
Na serwerze mam cod mod [CoD Nowy] Call of Duty: MW Mod [UPDATE] - AMXX.pl: Support AMX Mod X , zainstalowałem [CoD Nowy] Admin Menu - v 1.5 - AMXX.pl: Support AMX Mod X W cvarach mam ustawiony max lvl - 16.000. Gdy daje lvl przez /codadmin wybieram gracza - wpisuje lvl 15999 to gracz dostaje lvl: -3783 (lvl na minusie). Co zrobić?
#2
Napisano 23.07.2011 17:43
Załączone pliki
#3
Napisano 23.07.2011 19:29
Użytkownik PROstyCzlowiek edytował ten post 24.07.2011 17:32
#4
Napisano 24.07.2011 10:35
#5
Napisano 24.07.2011 10:40
#6
Napisano 24.07.2011 17:27
#7
Napisano 24.07.2011 17:57
#include <amxmodx>
#include <ColorChat>
new flaga[33];
public plugin_init()
{
register_plugin("Admin Tag", "1.0", "abc")
register_clcmd("say", "handle_say")
}
public client_connect(id) sprawdz(id);
public client_disconnect(id) flaga[id] = 0;
public handle_say(id)
{
if(flaga[id] == 0) return PLUGIN_CONTINUE
flaga[id] = 4
new message[192]
read_args(message, 191)
remove_quotes(message)
trim(message)
if(message[0] == '/' || message[0] == '@' || message[0] == '!' || equal(message, ""))
return PLUGIN_CONTINUE
Wyslij_Wiadomosc(id, message)
return PLUGIN_HANDLED
}
public Wyslij_Wiadomosc(id, message[192])
{
new bool:zyje, dead[9], nick[32], druzyna = 0;
if ( is_user_alive(id) ) zyje = true;
formatex(dead, 8, "* DEAD *");
get_user_name(id, nick, 31)
switch ( get_user_team(id) )
{
case 1: druzyna = 1;
case 2: druzyna = 2;
}
switch ( flaga[id] )
{
case 4: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Head-Admin] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 3: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Admin] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 2: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Vip] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 1: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Premium] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
}
}
public sprawdz(id)
{
switch ( get_user_flags(id) )
{
case ADMIN_IMMUNITY: flaga[id] = 4;
case ADMIN_KICK: flaga[id] = 3;
case ADMIN_LEVEL_G: flaga[id] = 2;
case ADMIN_LEVEL_H: flaga[id] = 1;
default: flaga[id] = 0;
}
}
Użytkownik abcus edytował ten post 24.07.2011 18:01
#8
Napisano 24.07.2011 18:03
@abcus, nie może tak byc gdyż znak "?" obsługuje tylko 2 argumenty wiec co będzie sie wysietlalo na specu do reszta jest dobrze (napisałbym podobnie gdybym mial wczoraj czas )
#9
Napisano 24.07.2011 18:06
#10
Napisano 24.07.2011 18:11
PS. MarWit fajny kod^^ Tylko na !@#$ sobie życie utrudniać?
Kod nie uwzględnia jednej ważnej rzeczy: specta
Załączone pliki
Użytkownik kisiel96 edytował ten post 24.07.2011 18:13
#11
Napisano 24.07.2011 18:14
Ja też zbyt dużo nie miałem czasu, ale coś tam naskrobałem ;d
To nie ma znaczenia "?" obsługuje więcej niż 2 znaki
Na specu, właśnie lipa, bo nie określiłeś, że spec = 3, a mi się tego już nie chciało robić.
@Temat
#include <amxmodx>
#include <ColorChat>
new flaga[33];
public plugin_init()
{
register_plugin("Admin Tag", "1.0", "abc")
register_clcmd("say", "handle_say")
}
public client_connect(id) sprawdz(id);
public client_disconnect(id) flaga[id] = 0;
public handle_say(id)
{
if(flaga[id] == 0) return PLUGIN_HANDLED;
new message[192]
read_args(message, 191)
remove_quotes(message)
trim(message)
if(message[0] == '/' || message[0] == '@' || message[0] == '!' || equal(message, "")) return PLUGIN_HANDLED;
Wyslij_Wiadomosc(id, message)
return PLUGIN_HANDLED
}
public Wyslij_Wiadomosc(id, message[192])
{
new bool:zyje, dead[9], nick[32], druzyna = 0;
if ( is_user_alive(id) ) zyje = true;
formatex(dead, 8, "* DEAD *");
get_user_name(id, nick, 31)
switch ( get_user_team(id) )
{
case 1: druzyna = 1;
case 2: druzyna = 2;
case 3: druzyna = 0
}
switch ( flaga[id] )
{
case 4: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Head-Admin] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 3: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Admin] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 2: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Vip] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 1: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Premium] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
}
}
public sprawdz(id)
{
switch ( get_user_flags(id) )
{
case ADMIN_IMMUNITY: flaga[id] = 4;
case ADMIN_KICK: flaga[id] = 3;
case ADMIN_LEVEL_G: flaga[id] = 2;
case ADMIN_LEVEL_H: flaga[id] = 1;
default: flaga[id] = 0;
}
}
Teraz powinno hulać, daj znać czy działa.
Użytkownik abcus edytował ten post 24.07.2011 18:16
#12
Napisano 24.07.2011 18:19
@kisiel96, uwzględnia speca, myślisz ze czemu stworzyłem zmienna druzyna od razu ustawiana na 0
Użytkownik MarWit edytował ten post 24.07.2011 18:28
#13
Napisano 24.07.2011 18:47
Po 2. nie do końca... Dokumentacja AMXX.pl: Core >> amxmodx > get_user_team
Zwracane wartości to:
0 - brak wybranej drużyny
1 - terrorysci
2 - antyterrorysci
3 - obserwator
Plugin uwzględniający speca: AdminTag.sma 3,16 KB 84 Ilość pobrań
AdminTag.amxx
(usunąłem uwzględaninie braku wybranej drużyny - admin wtedy i tak nie może pisać (no dobra, może ale na cholerę?))
Próbowałem przerobić ten wyżej, ale nie ogarnąłem go
Użytkownik kisiel96 edytował ten post 24.07.2011 18:49
#14
Napisano 24.07.2011 18:50
@MarWit
Ja też zbyt dużo nie miałem czasu, ale coś tam naskrobałem ;d
To nie ma znaczenia "?" obsługuje więcej niż 2 znaki
Na specu, właśnie lipa, bo nie określiłeś, że spec = 3, a mi się tego już nie chciało robić.
@Temat
#include <amxmodx>
#include <ColorChat>
new flaga[33];
public plugin_init()
{
register_plugin("Admin Tag", "1.0", "abc")
register_clcmd("say", "handle_say")
}
public client_connect(id) sprawdz(id);
public client_disconnect(id) flaga[id] = 0;
public handle_say(id)
{
if(flaga[id] == 0) return PLUGIN_HANDLED;
new message[192]
read_args(message, 191)
remove_quotes(message)
trim(message)
if(message[0] == '/' || message[0] == '@' || message[0] == '!' || equal(message, "")) return PLUGIN_HANDLED;
Wyslij_Wiadomosc(id, message)
return PLUGIN_HANDLED
}
public Wyslij_Wiadomosc(id, message[192])
{
new bool:zyje, dead[9], nick[32], druzyna = 0;
if ( is_user_alive(id) ) zyje = true;
formatex(dead, 8, "* DEAD *");
get_user_name(id, nick, 31)
switch ( get_user_team(id) )
{
case 1: druzyna = 1;
case 2: druzyna = 2;
case 3: druzyna = 0
}
switch ( flaga[id] )
{
case 4: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Head-Admin] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 3: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Admin] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 2: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Vip] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
case 1: ColorChat(0, druzyna == 0 ? GREY : druzyna ? RED : BLUE, "%s [Premium] ^x04%s : ^x01%s", zyje ? "" : dead, nick, message)
}
}
public sprawdz(id)
{
switch ( get_user_flags(id) )
{
case ADMIN_IMMUNITY: flaga[id] = 4;
case ADMIN_KICK: flaga[id] = 3;
case ADMIN_LEVEL_G: flaga[id] = 2;
case ADMIN_LEVEL_H: flaga[id] = 1;
default: flaga[id] = 0;
}
}
Teraz powinno hulać, daj znać czy działa.
Prawdę mówiąc : to chat nie działa (dla tych z tagiem)
#15
Napisano 24.07.2011 18:53
Post nr 13: Tag przed nickiem - AMXX.pl: Support AMX Mod X - tutaj nie jest uwzględniany spec
Post nr 10: Tag przed nickiem - AMXX.pl: Support AMX Mod X
Zalecam drugą wersję (w sumie to jej nie testowałem, ale powinna działać)
PS. MarWin: na !@#$ sprawdzasz w swoim pluginie, w przypadku gdy gracz nie ma drużyny czy przypadkiem żyje? Widziałeś kiedyś gracza, bez drużyny, który biega po planszy?
BTW: BARDZO fajny plugin
Użytkownik kisiel96 edytował ten post 24.07.2011 18:54
#16
Napisano 24.07.2011 18:58
To napisz coś na spec... Wyświetli się: * DEAD * zamiast spec
Po 2. nie do końca... Dokumentacja AMXX.pl: Core >> amxmodx > get_user_teamZwracane wartości to:
0 - brak wybranej drużyny
1 - terrorysci
2 - antyterrorysci
3 - obserwator
Plugin uwzględniający speca: AdminTag.sma 3,16 KB 84 Ilość pobrań
AdminTag.amxx
(usunąłem uwzględaninie braku wybranej drużyny - admin wtedy i tak nie może pisać (no dobra, może ale na cholerę?))
Próbowałem przerobić ten wyżej, ale nie ogarnąłem go
Dzięki Ci bardzo !!! ) Działa
Jednak działa, ale.
Ktoś kto ma taga moze pisac normalnie.
A zwykly uzytkownik (bez taga i bez flagi) musi pisac z "/" np. /witam
Czemu?
Mam tez pare innych problemów:
http://amxx.pl/topic...-i-lvl-cod-mod/
Użytkownik PROstyCzlowiek edytował ten post 24.07.2011 19:11
#17
Napisano 24.07.2011 19:17
AdminTag.amxx
Tak na marginesie to żaden plugin prócz tego nie miał prawa przepuścić wiadomości od zwykłego usera, która nie zaczynała się @ albo / bądź też !
Tylko tego w sma nie rozumiem:
equal(message, ""
Po co sprawdzać czy wiadomość zaczyna się od... No właśnie, od czego?
Użytkownik kisiel96 edytował ten post 24.07.2011 19:21
#18
Napisano 24.07.2011 19:46
Temat do zamknięcia.
#19
Napisano 25.07.2011 14:13
equal(message, ""To sprawdza czy wiadomosc jest pusta
P.S. Jak skończę pisać plugin to wrzuce na forum i dam tu linka.
Użytkownik MarWit edytował ten post 25.07.2011 14:14
#20
Napisano 25.07.2011 18:31
/* Script generated by Pawn Studio */
#include <amxmodx>
#include <ColorChat>
new const tagi[][] = {
{ ADMIN_IMMUNITY, "[Head Admin] " },
{ ADMIN_KICK, "[Admin] " },
{ ADMIN_LEVEL_G, "[VIP] " },
{ ADMIN_LEVEL_H, "[Premium] " }
}
public plugin_init() {
register_plugin("TAG", "1.0", "byCZEK");
register_clcmd("say", "handle_say");
}
public handle_say(id) {
new msg[256]; read_args(msg, 191);
new team = get_user_team(id);
new nick[33]; get_user_name(id, nick, 32);
new bool: b = false;
remove_quotes(msg);
for(new i = 0; i < sizeof(tagi); i++) {
if(get_user_flags(id) & tagi[i][0]) {
ColorChat(0, !team ? GREY : team ? RED : BLUE, "%s%s^x04%s: ^x01%s", tagi[i][1], is_user_alive(id) ? "" : "* DEAD * ", nick, msg);
b = true;
break;
}
}
return b ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
}
Dziękuje, dobranoc.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych