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.
|
Guest Message by DevFuse
Wynik
Temat rozp.
cedriK
, 05.03.2011 20:19
5 odpowiedzi w tym temacie
#1
Napisano 05.03.2011 20:19
Potrzebuje sprawnie działającego pluginu pokazującego wynik gry na początku każdej rundy, w hud lub say. Ten z listy crashuje serwer i wywala error logi.
#2
Napisano 05.03.2011 21:20
/* Wynik by MaKeL v 1.1 */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Wynik"
#define VERSION "1.1"
#define AUTHOR "MaKeL"
#define MAXSLOTS 32
enum Color
{
YELLOW = 1, // Żółty
GREEN, // Zielony
TEAM_COLOR, // Kolor dla Temu
GREY, // Szary
RED, // Czerwony
BLUE, // Niebieski
}
new TeamInfo;
new SayText;
new MaxSlots;
new TeamName[][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
}
new bool:IsConnected[MAXSLOTS + 1];
new CT = 0
new TT = 0
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
register_logevent("restart", 2, "1=Restart_Round_(1_second)")
TeamInfo = get_user_msgid("TeamInfo");
SayText = get_user_msgid("SayText");
MaxSlots = get_maxplayers();
}
public restart(id) {
CT = TT = 0
return PLUGIN_CONTINUE
}
public Nowa_Runda()
{
if(CT == TT)
{
ColorChat(0, GREY, "Remis ^x01%d : ^x01%d",CT,TT);
}
if(CT > TT)
{
ColorChat(0, BLUE, "Antyterrorysci ^x04prowadza ^x01%d : ^x01%d",CT,TT);
}
if(CT <TT)
{
ColorChat(0, RED, "Terrorysci ^x04prowadza ^x01%d : ^x01%d",TT,CT);
}
}
public ct_win()
{
CT++
}
public t_win()
{
TT++
}
public client_putinserver(player)
{
IsConnected[player] = true;
}
public client_disconnect(player)
{
IsConnected[player] = false;
}
public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{
case YELLOW: // Yellow
{
message[0] = 0x01;
}
case GREEN: // Green
{
message[0] = 0x04;
}
default: // White, Red, Blue
{
message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
// Make sure message is not longer than 192 character. Will crash the server.
message[192] = '^0';
new team, ColorChange, index, MSG_Type;
if(!id)
{
index = FindPlayer();
MSG_Type = MSG_ALL;
} else {
MSG_Type = MSG_ONE;
index = id;
}
team = get_user_team(index);
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);
if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}
ShowColorMessage(id, type, message[])
{
message_begin(type, SayText, _, id);
write_byte(id)
write_string(message);
message_end();
}
Team_Info(id, type, team[])
{
message_begin(type, TeamInfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}
FindPlayer()
{
new i = 0;
while(i < MaxSlots)
{
if(IsConnected[++i])
{
return i;
}
}
return -1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
If you can dream it, you can do it.
#3
Napisano 05.03.2011 22:35
/ * Wynik przez BenQ77 i Mochi 3.1 / Edit: * DaddyKuba /
# Include <amxmodx>
# Include <amxmisc>
# Define PLUGIN "Wynik"
# Define VERSION "1.1"
# Define AUTHOR "BenQ77 i Mochi Edit: DaddyKuba"
# Define MAXSLOTS 32
enum Color
{
YELLOW = 1 , / / Żółty
GREEN , / / Zielony
TEAM_COLOR , / Temu DLA Kolor
GREY , / / Szary
RED , / / Czerwony
BLUE , / / Niebieski
}
nowy TeamInfo ;
nowy SayText ;
nowy MaxSlots ;
nowy TeamName [] [] =
{
"" ,
"Terrorystów" ,
"CT" ,
"Spectator"
}
nowy bool : IsConnected [ MAXSLOTS + 1 ];
Nowy CT = 0
nowe TT = 0
publicznych plugin_init () {
register_plugin ( PLUGIN , VERSION , AUTHOR )
register_event ( "HLTV" , "Nowa_Runda" , "a" , "1 = 0" , "2 = 0" )
register_event ( "SendAudio" , "t_win" , "a" , "2 &%! MRAD_terwin" )
register_event ( "SendAudio" , "ct_win" , "a" , "2 &%! MRAD_ctwin" )
register_event ( "TextMsg" , "fwRestart" , "a" , "2 & # Game_will_restart_in" )
TeamInfo = get_user_msgid ( "TeamInfo" );
SayText = get_user_msgid ( "SayText" );
MaxSlots = get_maxplayers ();
}
publicznych fwRestart () {
TT = 0 ;
CT = 0 ;
}
publicznych Nowa_Runda ()
{
jeśli ( CT == TT )
{
Colorchat ( 0 , ZIELONY , "* ^ ^ x04 x01 Remis% d ^ x01::: ^ X03% d" , TT , CT );
}
jeśli ( CT > TT )
{
Colorchat ( 0 , ZIELONY , "^ ^ * X03 CT wynikiem Prowadzi x04% ^ d x01::: ^ X03% d" , CT , TT );
}
jeśli ( CT < TT )
{
Colorchat ( 0 , ZIELONY , "^ ^ * X03 TT wynikiem Prowadzi x04% ^ d x01::: ^ X03% d" , TT , CT );
}
}
publicznych ct_win ()
{
CT + +
Colorchat ( 0 , ZIELONY , "X03 * ^ ^ Runde wygrala Drużyna x04 CT!" );
}
publicznych t_win ()
{
TT + +
Colorchat ( 0 , ZIELONY , "X03 * ^ ^ Runde wygrala Drużyna x04 TT!" );
}
publicznych client_putinserver ( odtwarzacz )
{
IsConnected [ gracz ] = true ;
}
publicznych client_disconnect ( odtwarzacz )
{
IsConnected [ gracz ] = false ;
}
publicznych colorchat ( id , Kolor : rodzaj , const msg [], { float , SQL , Wynik , _ }:...)
{
statyczne wiadomość [ 256 ];
przełącznika ( typ )
{
przypadku YELLOW : / / Yellow
{
Wiadomość [ 0 ] = 0x01 ;
}
przypadku GREEN : / / Green
{
Wiadomość [ 0 ] = 0x04 ;
}
default : / / Biały, Czerwony, Niebieski
{
Wiadomość [ 0 ] = 0x03 ;
}
}
vformat ( wiadomość [ 1 ], 251 , msg , 4 );
/ / Upewnij się, że wiadomość nie jest dłuższy niż 192 znaków. Czy crash serwera.
Wiadomość [ 192 ] = '^ 0' ;
nowy zespół , ColorChange , indeks , MSG_Type ;
jeśli (! id )
{
index = FindPlayer ();
MSG_Type = MSG_ALL ;
} else {
MSG_Type = MSG_ONE ;
index = id ;
}
zespół = get_user_team ( indeks );
ColorChange = ColorSelection ( indeks , MSG_Type , rodzaj );
ShowColorMessage ( indeks , MSG_Type , komunikat );
jeśli ( ColorChange )
{
Team_Info ( indeks , MSG_Type , TeamName [ team ]);
}
}
ShowColorMessage ( id , typ , wiadomości [])
{
message_begin ( typ , SayText , _ , id );
write_byte ( id )
write_string ( wiadomości );
message_end ();
}
Team_Info ( id , typ , zespół [])
{
message_begin ( typ , TeamInfo , _ , id );
write_byte ( id );
write_string ( zespół );
message_end ();
powrót 1 ;
}
ColorSelection ( indeks , rodzaj , kolor : Typ )
{
Przełącznik ( Typ )
{
przypadku RED :
{
powrót Team_Info ( indeks , typ , TeamName [ 1 ]);
}
przypadku BLUE :
{
powrót Team_Info ( indeks , typ , TeamName [ 2 ]);
}
przypadku GREY :
{
powrót Team_Info ( indeks , typ , TeamName [ 0 ]);
}
}
powrót 0 ;
}
FindPlayer ()
{
nowych i = - 1 ;
a ( i <= MaxSlots )
{
jeśli ( IsConnected [+ + i ])
{
powrót i ;
}
}
powrót - 1 ;
}
- Pisanie pluginów: http://amxx.pl/topic...napisac-plugin/
- Backlinks, podstawy i pozycjonowanie SEO: http://amxx.pl/topic...cjonowanie-seo/
#4
Napisano 06.03.2011 06:48
Dzięki, ale czym się różnią w skrócie i którą wersje wybrać ?
#5
Napisano 06.03.2011 08:03
Ten co ja dałem pokaje antyterrorysci prowadza albo terrorysci : wynik 0 : 1 itp
ten drugi pokazuje ktora druzynak wygrała o ile prowadzi itp
ten drugi pokazuje ktora druzynak wygrała o ile prowadzi itp
If you can dream it, you can do it.
#6
Napisano 06.03.2011 08:52
Ta wersja przynajmniej działa, tamten skopiował i nie sprawdził czy chociażby się kompiluje ten shit.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









