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

Autorespawn na całej mapie bez znikania celownika


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 bartek21

    Banned

  • Zbanowany

Reputacja: -4
Nowy

  • Postów:9
  • Lokalizacja:Warszawa
Offline

Napisano 21.01.2013 19:33

Witam szukam pluginu autorespawn , że będzie się odradzało co 3 sekundy będzie odliczanie i ,że po całej mapie. I jeszcze jedno wgrałem jeden autorespawn mam na hostingu zabijaka i mam coda i znikał celownik graczom po respawnie , więc proszę zeby tego nie było.

#include <amxmodx>
#include <hamsandwich>

#define PLUGIN "Autorespawn/Auto-respawn"
#define AUTHOR "HubertTM"
#define VERSION "1.0"

new TimeSpawn[33] = 0;
new bool:Timer[33] = false;
new cTimeSpawn, pTimeSpawn, cInfoSpawn, pInfoSpawn, cTeamSpawn, pTeamSpawn, cSayRespawn, pSayRespawn, cTeamAuto, pTeamAuto, cPlayers, pPlayers, cColor, pColor

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

RegisterHam(Ham_Killed, "player", "ham_killed", 1);
RegisterHam(Ham_Spawn, "player", "ham_spawn", 1);

register_clcmd("say /respawn", "SayRespawn");
register_clcmd("say_team /respawn", "SayRespawn");
register_clcmd("say respawn", "SayRespawn");

cTimeSpawn = register_cvar("spawn_time", "3");
cInfoSpawn = register_cvar("spawn_infotimer", "1");
cTeamSpawn = register_cvar("spawn_team", "0");
cSayRespawn = register_cvar("spawn_say", "1");
cTeamAuto = register_cvar("spawn_auto", "1");
cPlayers = register_cvar("spawn_minplayers", "2");
cColor = register_cvar("spawn_colorhud", "0");
}


public client_putinserver(id){
Timer[id] = false
TimeSpawn[id] = 0;
set_task(5.0, "CheckTeam", id+291,_,_,"b");
}

public client_disconnect(id){
Timer[id] = false
TimeSpawn[id] = 0;
remove_task(id+291);
}


public ham_killed(id)
{
pTimeSpawn = get_pcvar_num(cTimeSpawn);
pInfoSpawn = get_pcvar_num(cInfoSpawn);
pTeamSpawn = get_pcvar_num(cTeamSpawn);
pSayRespawn = get_pcvar_num(cSayRespawn);
pTeamAuto = get_pcvar_num(cTeamAuto);
pPlayers = get_pcvar_num(cPlayers);
pColor = get_pcvar_num(cColor);

if(!is_user_connected(id) || get_user_team(id) == 3 || get_user_team(id) == 0 || is_user_alive(id))
return HAM_IGNORED;

if(pTeamSpawn && get_user_team(id) != pTeamSpawn)
return HAM_IGNORED;

if(pPlayers && get_playersnum() < pPlayers)
return HAM_IGNORED;

TimeSpawn[id] = pTimeSpawn;

UtworzHUD(id);

remove_task(id+492);
set_task(1.0, "TimerSpawn", id+492);
Timer[id] = true;


return HAM_IGNORED;
}


public SpawnPlayer(id)
{
if(!is_user_connected(id) || get_user_team(id) == 3 || get_user_team(id) == 0 || is_user_alive(id))
return PLUGIN_CONTINUE;

if(pTeamSpawn && get_user_team(id) != pTeamSpawn)
return PLUGIN_CONTINUE;

if(get_playersnum() < pPlayers)
return PLUGIN_CONTINUE;



TimeSpawn[id] = pTimeSpawn;

UtworzHUD(id);

remove_task(id+492);
set_task(1.0, "TimerSpawn", id+492);
Timer[id] = true;


return PLUGIN_CONTINUE;
}

public UtworzHUD(id){

if(pInfoSpawn){
switch(pColor)
{
case 0: set_hudmessage(255, 0, 0, -1.0, 0.4, 0, 1.5, 3.0);
case 1: set_hudmessage(0, 255, 0, -1.0, 0.4, 0, 1.5, 3.0);
case 2: set_hudmessage(0, 102, 255, -1.0, 0.4, 0, 1.5, 3.0);
case 3: set_hudmessage(255, 255, 255, -1.0, 0.4, 0, 1.5, 3.0);
}
switch(TimeSpawn[id]){
case 0: show_hudmessage(id, "Odradzanie...");
case 1: show_hudmessage(id, "Odrodzisz sie za: %d sekunde", TimeSpawn[id]);
case 2 .. 4: show_hudmessage(id, "Odrodzisz sie za: %d sekundy", TimeSpawn[id]);
default: show_hudmessage(id, "Odrodzisz sie za: %d sekund", TimeSpawn[id]);
}
}

}

public TimerSpawn(id){
id-=492

if(!is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0){
Timer[id] = false;
return PLUGIN_CONTINUE;
}

if(TimeSpawn[id] > 1)
{
TimeSpawn[id]--;
Timer[id] = true;
UtworzHUD(id);
set_task(1.0, "TimerSpawn", id+492);
}
else
{
PlayerSpawn(id);
Timer[id] = false;
}

return PLUGIN_CONTINUE;
}

public PlayerSpawn(id)
{
if(!is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0)
return PLUGIN_CONTINUE;

ExecuteHamB(Ham_CS_RoundRespawn, id);
Timer[id] = false;

return PLUGIN_CONTINUE;
}

public ham_spawn(id){
if(task_exists(id+492))
remove_task(id+492);

Timer[id] = false;
TimeSpawn[id] = pTimeSpawn
}

public SayRespawn(id)
{

if(!pSayRespawn || !is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0 || Timer[id])
{
if(pSayRespawn && is_user_alive(id))
client_print(id, print_chat, "[Respawn] Jestes zywy!");
else
if(pSayRespawn && (get_user_team(id) == 0 || get_user_team(id) == 3))
client_print(id, print_chat, "[Respawn] Jestes spectatorem!");
else
if(pSayRespawn && Timer[id] && is_user_connected(id) && !is_user_alive(id) && (get_user_team(id) == 1 || get_user_team(id) == 2)){
new menu = menu_create("Trwa odrodzenie jednak odrodzic?", "SayRespawnH");
menu_additem(menu, "Tak, odrodz mnie");
menu_additem(menu, "Nie chce.");
menu_display(id, menu);
}

return PLUGIN_CONTINUE;
}

SpawnPlayer(id);

return PLUGIN_CONTINUE;
}
public SayRespawnH(id, menu , item){
if(item != 0){
menu_destroy(menu);
return PLUGIN_HANDLED;
}

SpawnPlayer(id);
Timer[id] = false;

return PLUGIN_CONTINUE;
}



public CheckTeam(id){
id-=291

if(!is_user_connected(id))
return PLUGIN_CONTINUE;

if(is_user_alive(id)){
Timer[id] = false;
return PLUGIN_CONTINUE;
}

if(!pTeamAuto)
return PLUGIN_CONTINUE;

if(Timer[id])
return PLUGIN_CONTINUE;

if(get_user_team(id) == 1 || get_user_team(id) == 2)
SpawnPlayer(id);

return PLUGIN_CONTINUE;
}


Lub niech ktos zedytuje te sma ,żeby było po calej mapie respawny

CVARY:

spawn_time 3 // po ilu sec odradzac
spawn_infotimer 1 // czy pokazywac HUD "odrodzenie za" 1-tak 0-nie
spawn_team 0 // kogo odradzac 0 - TT i CT 1 - TT 2 - CT
spawn_say 1 // komenda /respawn aktywna? 1-tak 0-nie
spawn_auto 1 // odradzac automatycznie pod dolaczeniu do teamu?
spawn_minplayers 0 // od ilu graczy ma dzialac odrodzenie 0-wylacza ograniczenie graczy (mozesz wpisac 33 jak chcesz zeby plugin nie działał :))
spawn_colorhud 0 // kolor hudu 0 - czerwowny, 1 - zielony 2 - niebieski 3 - bialy

Użytkownik bartek21 edytował ten post 21.01.2013 19:50





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

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