Dodanie komendy /respawn
Dens
09.03.2012
Witam mam prosbę aby ktoś przerobił mi plugin aby gracze którzy weszli na server mogli wpisać /respawn i się zrespić.
Ale aby to nie działało dla graczy którzy czekają te 8 sekund na respawn. Lub 2 opcja dawało automatyczny respawn po wejściu na serwer. Z góry dzięki za pomoc
Ale aby to nie działało dla graczy którzy czekają te 8 sekund na respawn. Lub 2 opcja dawało automatyczny respawn po wejściu na serwer. Z góry dzięki za pomoc
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Auto Respawn"
#define AUTHOR "hiroshima"
#define VERSION "1.0"
new czas[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Killed, "player","Killed", 1)
set_task(90.0,"info",_,_,_,"b")
}
public Killed(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
czas[id] = 1;
if( task_exists(id))
{
remove_task(id)
}
set_task(1.0,"timer",id,_,_,"b")
}
else
{
czas[id] = 8;
if( task_exists(id))
{
remove_task(id)
}
set_task(1.0,"timer",id,_,_,"b")
}
}
public Respawn(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
public timer(id)
{
set_hudmessage(0, 255, 0, 0.1, 0.7, 0, 6.0, 10.0)
show_hudmessage(id, "[CIACH.com] Odrodzisz sie za %d sekund^nPo natychmiastowe odrodzenie pisz na GG: 10706888",czas[id])
czas[id]--
if(czas[id] <= 0)
{
Respawn(id)
if( task_exists(id))
{
remove_task(id)
}
}
}
sebul
09.03.2012
Automatyczna wiadomość
Ten temat został przeniesiony z forum:
AMX Mod X > Problemy z pluginami
do
Scripting AMXX > Pluginy
sebul
10.03.2012
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Auto Respawn"
#define AUTHOR "hiroshima"
#define VERSION "1.0"
new czas[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Killed, "player","Killed", 1)
register_clcmd("say /spawn", "Killed");
set_task(90.0,"info",_,_,_,"b")
}
public Killed(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
czas[id] = 1;
remove_task(id)
set_task(1.0,"timer",id,_,_,"b")
}
else
{
czas[id] = 8;
remove_task(id)
set_task(1.0,"timer",id,_,_,"b")
}
}
public Respawn(id)
{
if(is_user_connected(id) && !is_user_alive(id) && (get_user_team(id) == 1 || get_user_team(id) == 2))
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
public timer(id)
{
set_hudmessage(0, 255, 0, 0.1, 0.7, 0, 6.0, 10.0)
show_hudmessage(id, "[CIACH.com] Odrodzisz sie za %d sekund^nPo natychmiastowe odrodzenie pisz na GG: 10706888",czas[id])
czas[id]--
if(czas[id] <= 0)
{
Respawn(id)
remove_task(id)
}
}
kapi10072
10.03.2012
Spróbuj tak:
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Auto Respawn"
#define AUTHOR "hiroshima"
#define VERSION "1.0"
new czas[33];
new bool:laczy_sie
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /respawn", "Respawn_say");
RegisterHam(Ham_Killed, "player","Killed", 1);
set_task(90.0,"info",_,_,_,"b");
}
public client_connect(id)
{
laczy_sie = true
}
public Killed(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
czas[id] = 1;
if( task_exists(id))
{
remove_task(id);
}
set_task(1.0,"timer",id,_,_,"b");
}
else
{
czas[id] = 8;
if( task_exists(id))
{
remove_task(id);
}
set_task(1.0,"timer",id,_,_,"b");
}
}
public Respawn_say(id)
{
if(laczy_sie == true)
{
Respawn(id);
}
laczy_sie = false
}
public Respawn(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
public timer(id)
{
set_hudmessage(0, 255, 0, 0.1, 0.7, 0, 6.0, 10.0)
show_hudmessage(id, "[CIACH.com] Odrodzisz sie za %d sekund^nPo natychmiastowe odrodzenie pisz na GG: 10706888",czas[id])
czas[id]--
if(czas[id] <= 0)
{
Respawn(id);
if( task_exists(id))
{
remove_task(id);
}
}
}
Dens
11.03.2012
Leci oczywiście pomógł! I wielkie sorki bo zapomniałem napisać aby na spectators nie było /respawn ani w ogóle nie można było grać na spect. PRzerobi ktoś?
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Auto Respawn"
#define AUTHOR "hiroshima"
#define VERSION "1.0"
new czas[33];
new bool:laczy_sie
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /respawn", "Respawn_say");
RegisterHam(Ham_Killed, "player","Killed", 1);
set_task(90.0,"info",_,_,_,"b");
}
public client_connect(id)
{
laczy_sie = true
}
public Killed(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
czas[id] = 1;
if( task_exists(id))
{
remove_task(id);
}
set_task(1.0,"timer",id,_,_,"b");
}
else
{
czas[id] = 8;
if( task_exists(id))
{
remove_task(id);
}
set_task(1.0,"timer",id,_,_,"b");
}
}
public Respawn_say(id)
{
if(laczy_sie == true)
{
Respawn(id);
}
laczy_sie = false
}
public Respawn(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
public timer(id)
{
set_hudmessage(0, 255, 0, 0.1, 0.7, 0, 6.0, 10.0)
show_hudmessage(id, "[CIACH.com] Odrodzisz sie za %d sekund^nPo natychmiastowe odrodzenie pisz na GG: 10706888",czas[id])
czas[id]--
if(czas[id] <= 0)
{
Respawn(id);
if( task_exists(id))
{
remove_task(id);
}
}
}
kapi10072
11.03.2012
Zamień całą funkcję Respawn_say(id) na tą
public Respawn_say(id)
{
if(get_user_team == 3)
return PLUGIN_HANDLED;
if(laczy_sie == true)
{
Respawn(id);
}
laczy_sie = false
return PLUGIN_CONTINUE;
}
Dens
11.03.2012
Przy kompilacji pojawia się 1 error. Kompiluje lokalnie. Może źle podmieniłem? Proszę o konsultacje
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Auto Respawn"
#define AUTHOR "hiroshima"
#define VERSION "1.0"
new czas[33];
new bool:laczy_sie
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /respawn", "Respawn_say");
RegisterHam(Ham_Killed, "player","Killed", 1);
set_task(90.0,"info",_,_,_,"b");
}
public client_connect(id)
{
laczy_sie = true
}
public Killed(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
czas[id] = 1;
if( task_exists(id))
{
remove_task(id);
}
set_task(1.0,"timer",id,_,_,"b");
}
else
{
czas[id] = 8;
if( task_exists(id))
{
remove_task(id);
}
set_task(1.0,"timer",id,_,_,"b");
}
}
public Respawn_say(id)
{
if(get_user_team == 3)
return PLUGIN_HANDLED;
if(laczy_sie == true)
{
Respawn(id);
}
laczy_sie = false
return PLUGIN_CONTINUE;
}
public Respawn(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
public timer(id)
{
set_hudmessage(0, 255, 0, 0.1, 0.7, 0, 6.0, 10.0)
show_hudmessage(id, "[CIACH.com] Odrodzisz sie za %d sekund^nPo natychmiastowe odrodzenie pisz na GG: 10706888",czas[id])
czas[id]--
if(czas[id] <= 0)
{
Respawn(id);
if( task_exists(id))
{
remove_task(id);
}
}
}
speedkill
11.03.2012
3maj
#include <amxmodx> #include <hamsandwich> #define PLUGIN "Auto Respawn" #define AUTHOR "hiroshima" #define VERSION "1.0" new czas[33]; new bool:laczy_sie public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /respawn", "Respawn_say"); RegisterHam(Ham_Killed, "player","Killed", 1); set_task(90.0,"info",_,_,_,"b"); } public client_connect(id) { laczy_sie = true } public Killed(id) { if(get_user_flags(id) & ADMIN_LEVEL_F) { czas[id] = 1; if( task_exists(id)) { remove_task(id); } set_task(1.0,"timer",id,_,_,"b"); } else { czas[id] = 8; if( task_exists(id)) { remove_task(id); } set_task(1.0,"timer",id,_,_,"b"); } } public Respawn_say(id) { if(laczy_sie == true && get_user_team(id) != 3) { Respawn(id); } laczy_sie = false return PLUGIN_CONTINUE; } public Respawn(id) { ExecuteHamB(Ham_CS_RoundRespawn, id); } public timer(id) { set_hudmessage(0, 255, 0, 0.1, 0.7, 0, 6.0, 10.0) show_hudmessage(id, "[CIACH.com] Odrodzisz sie za %d sekund^nPo natychmiastowe odrodzenie pisz na GG: 10706888",czas[id]) czas[id]-- if(czas[id] <= 0) { Respawn(id); if( task_exists(id)) { remove_task(id); } } }
kapi10072
11.03.2012
Rzeczywiście mój błąd
Nowy kod
Nowy kod
public Respawn_say(id)
{
if(get_user_team(id) == 3)
return PLUGIN_HANDLED;
if(laczy_sie == true)
{
Respawn(id);
}
laczy_sie = false
return PLUGIN_CONTINUE;
}
Dens
11.03.2012
A nie jednak komenda /respawn zostala zablokowana na spect. Ale gracze dalej respia sie na spect
speedkill
11.03.2012
Podmień public Respawn(id)
na :
na :
public Respawn(id) { if(get_user_team(id) != 3) { ExecuteHamB(Ham_CS_RoundRespawn, id); } }I nie ma szans aby spect się odrodził
kapi10072
11.03.2012
W takim razie dodaj na początku pluginu
i podmień ten kod na
I ewentualnie jeszcze to
#include <cstrike>
i podmień ten kod na
public Respawn_say(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR )
return PLUGIN_HANDLED;
if(laczy_sie == true)
{
Respawn(id);
}
laczy_sie = false
return PLUGIN_CONTINUE;
}
I ewentualnie jeszcze to
public Respawn(id)
{
if(cs_get_user_team(id) != CS_TEAM_SPECTATOR )
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
}
}
Enson
13.03.2012
skoro on wg nie chce aby na spekcie ktos siedzial to moze niech ustawi w server.cfg komende allow_spectators na 0
wtedy zaden gracz nie moze dolaczac na spekta xP
lecz nie jestem w 100% pewien czy w tym przypadku pomoze ale warto sprobowac
wtedy zaden gracz nie moze dolaczac na spekta xP
lecz nie jestem w 100% pewien czy w tym przypadku pomoze ale warto sprobowac