Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

2 pluginy nie graja ze sobaprefix i allchat


Najlepsza odpowiedź Robiin, 26.10.2017 16:27

Kwestia wielkości znaków :)

if(!is_user_connected(id) || !g_vip[id]) return PLUGIN_CONTINUE;

na

if(!is_user_connected(id) || !g_Vip[id]) return PLUGIN_CONTINUE;
Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 jamPatryk

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Patryk
  • Lokalizacja:Gdańsk
Offline

Napisano 25.10.2017 22:07

w VIPie mam prefix i na serwerze wystepuje blad [prefix] s1: s2, do tego wgralem plugin nizej, ktory dziala wysmienicie.
Procz tego ze przez ten plugin nie dziala allchat. Da sie cos z tym zrobic?
 


#include <amxmodx>
 
#pragma semicolon 1
 
new Trie:_hashList;
 
new const
   _getResult[][][] = { 
      { "#Cstrike_Chat_CT",         "^x01(Counter-Terrorist)^x01"},
      { "#Cstrike_Chat_CT_Dead",    "^x01*DEAD* (Counter-Terrorist)^x01"},
      { "#Cstrike_Chat_All",        "^x03"},
      { "#Cstrike_Chat_Spec",       "^x01(Spectator)^x01"},
      { "#Cstrike_Chat_T",          "^x01(Terrorist)^x01"},
      { "#Cstrike_Chat_T_Dead",     "^x01*DEAD* (Terrorist)^x01"},
      { "#Cstrike_Chat_AllDead",    "^x01*DEAD*^x01"},
      { "#Cstrike_Chat_AllSpec",    "^x01*SPEC*^x01"}
   }
;
 
public plugin_end( )       TrieDestroy( _hashList );
public plugin_precache()   register_message(get_user_msgid("SayText"),"sayText_LastBuild_Hook");
 
public plugin_init(){
   
   register_plugin("Some shit", "1.0", "Spawner & SkillartzHD");
   
   _hashList = TrieCreate();
   for(new i; i < sizeof _getResult; i++)
      TrieSetString(  _hashList, _getResult[i][0], _getResult[i][1] );
   
}
 
public sayText_LastBuild_Hook(  ){
   
   // Isn't is user connected (->ingame) already checked?
   new _getMessage[ 192 ];
   read_args(_getMessage, charsmax(_getMessage));
   
   new _getType[ 24 ], _userName[ 32 ], _output[ 34 ];
   
   get_msg_arg_string(2, _getType, charsmax(_getType));
   get_user_name( get_msg_arg_int(1), _userName, charsmax(_userName) );
   TrieGetString( _hashList, _getType, _output, charsmax(_output) );
   
   replace(_getMessage, charsmax(_getMessage), "^"", "");
   format(_getMessage, charsmax(_getMessage), "%s ^x03%s : ^x01%s", _output,  _userName, _getMessage);
   
   !equali(_getType,"#Cstrike_Name_Change") ? set_msg_arg_string( 2, _getMessage ) : 1;  //#'" Somehow there is a unknown bug changing name which displace name :" xx, so this line code will fix it.
   
}

 
AllChat: https://forums.allie...ead.php?t=56825


  • +
  • -
  • 0

#2 heniu1111

    Ja zjadłem ciastko ^^

  • Power User

Reputacja: 149
Zaawansowany

  • Postów:568
  • GG:
  • Imię:heniu
  • Lokalizacja:zapomniałem
Offline

Napisano 25.10.2017 22:13

https://amxx.pl/topi...o-aktualizacji/


  • +
  • -
  • 1

Zawsze służę pomocą, pomogę na tyle ile jestem wstanie  :)

 

Poradnik do instalacji AmxBans: https://www.youtube....h?v=fYq5iKQhVIM

 

Link do lekkiej "modyfikacji" AmxBans: https://amxx.pl/topi...ndpost&p=733955

 


#3 jamPatryk

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Patryk
  • Lokalizacja:Gdańsk
Offline

Napisano 26.10.2017 11:16

Kod od _McHappy pomógł w crashach serwera, nawet nie wiedziałem że to od tego pluginu ^^
AllChat dalej nie działa :/
Ale teraz wszyscy gracze mają [prefix] przed nickiem. Próbowałem coś ale nie znam się na tym, aż tak.
 
public handleSayText(msgId,msgDest,msgEnt){

new id = get_msg_arg_int(1);

if(!is_user_connected(id)) return PLUGIN_CONTINUE;

new szTmp[192], szTmp2[192];
get_msg_arg_string(2, szTmp, charsmax(szTmp));

new szPrefix[64] = "^x01[^x04MISTRZ^x01]";

if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), " ");
add(szTmp2, charsmax(szTmp2), szTmp);
}
else{
new szPlayerName[64];
get_user_name(id, szPlayerName, charsmax(szPlayerName));

get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.

add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "^x03 ");
add(szTmp2, charsmax(szTmp2), szPlayerName);
add(szTmp2, charsmax(szTmp2), "^x01 : ");
add(szTmp2, charsmax(szTmp2), szTmp)
}

set_msg_arg_string(2, szTmp2);

return PLUGIN_CONTINUE;
}

Użytkownik jamPatryk edytował ten post 26.10.2017 11:16

  • +
  • -
  • 0

#4 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 26.10.2017 11:55

new szPrefix[64] = "^x01[^x04MISTRZ^x01]";

na

new szPrefix[64] = "";

  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#5 jamPatryk

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Patryk
  • Lokalizacja:Gdańsk
Offline

Napisano 26.10.2017 12:19

new szPrefix[64] = "^x01[^x04MISTRZ^x01]";
na
new szPrefix[64] = "";

To teraz VIP nie ma prefixu, chyba że to ja coś źle powklejałem.

daje kod calego *.sma

#include 
#include
#include
#include

new Array:g_Array, bool:g_Vip[33];

new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

public plugin_init(){
register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
g_Array=ArrayCreate(64,32);
for(new i;i register_clcmd(g_Langcmd[i], "ShowVips");
}
register_clcmd("say /vip", "ShowMotd");
set_task(45.0, "ShowAdv",.flags = "b");
register_message(get_user_msgid("SayText"),"handleSayText");
RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
}
public client_authorized(id){
if(get_user_flags(id) & 524288 == 524288){
client_authorized_vip(id);
}
}
public client_authorized_vip(id){
g_Vip[id]=true;
new g_Name[64];
get_user_name(id,g_Name,charsmax(g_Name));

new g_Size = ArraySize(g_Array);
new szName[64];

for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, szName, charsmax(szName));

if(equal(g_Name, szName)){
return 0;
}
}
ArrayPushString(g_Array,g_Name);

return PLUGIN_CONTINUE;
}
public client_disconnect(id){
if(g_Vip[id]){
client_disconnect_vip(id);
}
}
public client_disconnect_vip(id){
g_Vip[id]=false;
new Name[64];
get_user_name(id,Name,charsmax(Name));

new g_Size = ArraySize(g_Array);
new g_Name[64];

for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
public ShowVips(id){
new g_Name[64],g_Message[192];

new g_Size=ArraySize(g_Array);

for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

add(g_Message, charsmax(g_Message), g_Name);

if(i == g_Size - 1){
add(g_Message, charsmax(g_Message), ".");
}
else{
add(g_Message, charsmax(g_Message), ", ");
}
}
ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
return PLUGIN_CONTINUE;
}
public client_infochanged(id){
if(g_Vip[id]){
new szName[64];
get_user_info(id,"name",szName,charsmax(szName));

new Name[64];
get_user_name(id,Name,charsmax(Name));

if(!equal(szName,Name)){
ArrayPushString(g_Array,szName);

new g_Size=ArraySize(g_Array);
new g_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

if(equal(g_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
}
}
public plugin_end(){
ArrayDestroy(g_Array);
}
public ShowMotd(id){
show_motd(id, "vip.txt", "Informacje o vipie");
}
public ShowAdv(){
ColorChat(0, NORMAL, "[VIP]^x04 Informacje na temat^x03 VIP?^x04 Napisz na say'u^x02 /vip");
}
public handleSayText(msgId,msgDest,msgEnt){

new id = get_msg_arg_int(1);

if(!is_user_connected(id)) return PLUGIN_CONTINUE;

new szTmp[192], szTmp2[192];
get_msg_arg_string(2, szTmp, charsmax(szTmp));

new szPrefix[64] = "^x01[^x04MISTRZ^x01]";

if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), " ");
add(szTmp2, charsmax(szTmp2), szTmp);
}
else{
new szPlayerName[64];
get_user_name(id, szPlayerName, charsmax(szPlayerName));

get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.

add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "^x03 ");
add(szTmp2, charsmax(szTmp2), szPlayerName);
add(szTmp2, charsmax(szTmp2), "^x01 : ");
add(szTmp2, charsmax(szTmp2), szTmp)
}

set_msg_arg_string(2, szTmp2);

return PLUGIN_CONTINUE;
}
public SpawnedEventPre(id){
if(g_Vip[id]){
if(is_user_alive(id)){
SpawnedEventPreVip(id);
}
}
}
public plugin_precache(){
precache_model("models/player/VipCT/VipCT.mdl");
precache_model("models/player/VipTT/VipTT.mdl");
}
public SpawnedEventPreVip(id){
new g_Model[64];
formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "VipTT" : "VipCT");
cs_set_user_model(id,g_Model);
}


  • +
  • -
  • 0

#6 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 26.10.2017 13:34

if(!is_user_connected(id)) return PLUGIN_CONTINUE; 

na

if(!is_user_connected(id) || !g_vip[id]) return PLUGIN_CONTINUE;

  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#7 jamPatryk

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Patryk
  • Lokalizacja:Gdańsk
Offline

Napisano 26.10.2017 14:05

if(!is_user_connected(id)) return PLUGIN_CONTINUE; 

na

if(!is_user_connected(id) || !g_vip[id]) return PLUGIN_CONTINUE;

 

Wyskakują takie błędy:

 

Spoiler


  • +
  • -
  • 0

#8 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 26.10.2017 15:48

Daj całe sma w pliku, bo nie ma sensu się bawić w tabulację.


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#9 jamPatryk

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Patryk
  • Lokalizacja:Gdańsk
Offline

Napisano 26.10.2017 16:14

https://amxx.pl/past.../14shvk95pw3xo/


  • +
  • -
  • 0

#10 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 053
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 26.10.2017 16:27   Najlepsza odpowiedź

Kwestia wielkości znaków :)

if(!is_user_connected(id) || !g_vip[id]) return PLUGIN_CONTINUE;

na

if(!is_user_connected(id) || !g_Vip[id]) return PLUGIN_CONTINUE;

  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#11 jamPatryk

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Patryk
  • Lokalizacja:Gdańsk
Offline

Napisano 26.10.2017 16:58

Teraz dziala dobrze +

 

Jest tylko 1 problem, allchat dziala tylko na graczy czyli jak napisze teraz ktos zywy z vipem to nie zywy tego nie widzi i jak nie zywy vip cos napisze to zywi tez tego nie widza.


Użytkownik jamPatryk edytował ten post 26.10.2017 17:16

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych