←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

C4 i napis w HUD

  • +
  • -
ExTaza?!'s Photo ExTaza?! 09.01.2012

Chciałem przerobić sobie plugin Bomb Countdown HUD Timer tak żeby po wybuchu bomby pojawił się na 3 sek ekran , obojetnie jaki kolor. Z napisem. Bomba Wybuchła , poniżej KOD , który crashuje serwer po wybuchu bomby. Co w tym źle ? ;>


#include <amxmodx>
#include <csx>
#include <amxmisc>

#define PLUGIN "Bomb Countdown HUD Timer"
#define VERSION "0.2"
#define AUTHOR "SAMURAI"

new g_c4timer, pointnum;
new bool:b_planted = false;
new g_msgsync;

public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR);

pointnum = get_cvar_pointer("mp_c4timer");

register_logevent("newRound", 2, "1=Round_Start");
register_logevent("endRound", 2, "1=Round_End");
register_logevent("endRound", 2, "1&Restart_Round_");

g_msgsync = CreateHudSyncObj();
}

public newRound()
{
g_c4timer = -1;
remove_task(652450);
b_planted = false;
}

public endRound()
{
g_c4timer = -1;
remove_task(652450);
}

public bomb_planted()
{
b_planted = true;
g_c4timer = get_pcvar_num(pointnum);
dispTime()
set_task(1.0, "dispTime", 652450, "", 0, "b");
}

public bomb_defused()
{
if(b_planted)
{
  remove_task(652450);
  b_planted = false;
}
   
}

public bomb_explode()
{
if(b_planted)
{
  remove_task(652450);
  b_planted = false;
}

message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},0)
write_short( 4<<12 )
write_short( 3.5<16.0 )
write_short( 1<<1 )
write_byte( 255 )
write_byte( 0 )
write_byte( 0 )
write_byte( 255 )
message_end()
set_hudmessage(255, 255, 255, -1.0, -1.0, 2, 0.2, 2.0, 0.1, 0.2, 2)
show_hudmessage(0,"PAKA WYJEBALA!!!")
return PLUGIN_CONTINUE
}

public dispTime()
{  
if(!b_planted)
{
  remove_task(652450);
  return;
}
	   

if(g_c4timer >= 0)
{
  if(g_c4timer > 13) set_hudmessage(0, 150, 0, -1.0, 0.80, 0, 1.0, 1.0, 0.01, 0.01, -1);
  else if(g_c4timer > 7) set_hudmessage(150, 150, 0, -1.0, 0.80, 0, 1.0, 1.0, 0.01, 0.01, -1);
  else set_hudmessage(150, 0, 0, -1.0, 0.80, 0, 1.0, 1.0, 0.01, 0.01, -1);

  ShowSyncHudMsg(0, g_msgsync, "C4: %d", g_c4timer);

  --g_c4timer;
}
 
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Quote

  • +
  • -
^Grzyboo's Photo ^Grzyboo 11.01.2012

Wyświetlasz wiadomość serwerowi, a tak chyba się nie powinno robić.
Podmień odpowiedni kod na to:


for(new iPlayer=1; iPlayer<get_maxplayers(); iPlayer++)
{
if(is_user_connected(iPlayer))
{
message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},iPlayer)
write_short( 4<<12 )
write_short( 3.5<16.0 )
write_short( 1<<1 )
write_byte( 255 )
write_byte( 0 )
write_byte( 0 )
write_byte( 255 )
message_end()
}
}

set_hudmessage(255, 255, 255, -1.0, -1.0, 2, 0.2, 2.0, 0.1, 0.2, 2)
show_hudmessage(0,"PAKA WYJEBALA!!!")


i zobacz czy nadal występuje crash.
Quote

  • +
  • -
Nakupenda.'s Photo Nakupenda. 12.01.2012

for(new iPlayer=1; iPlayer
{
if(is_user_connected(iPlayer))
{
message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},iPlayer)
write_short( 4<<12 )
write_short( 3.5<16.0 )
write_short( 1<<1 )
write_byte( 255 )
write_byte( 0 )
write_byte( 0 )
write_byte( 255 )
message_end()
set_hudmessage(255, 255, 255, -1.0, -1.0, 2, 0.2, 2.0, 0.1, 0.2, 2)
show_hudmessage(iPlayer,"PAKA WYJEBALA!!!")
}
return PLUGIN_HANDLED
}



jak już
Edited by Nakupenda., 12.01.2012 08:36.
Quote

  • +
  • -
^Grzyboo's Photo ^Grzyboo 12.01.2012

Nie ma znaczenia.
Quote

  • +
  • -
ExTaza?!'s Photo ExTaza?! 12.01.2012

Nie ma znaczenia.

Tak nie ma , ale dlatego Że napis w HUD dojedzie do PAK i gasnie HUD
Quote

  • +
  • -
sebul's Photo sebul 12.01.2012

Pętla powinna być zrobiona w ten sposób
for(new iPlayer=1; iPlayer<=get_maxplayers(); iPlayer++)
Quote

  • +
  • -
^Grzyboo's Photo ^Grzyboo 12.01.2012

Ops, zapodział się gdzieś znaczek równości :)
Quote