Mam pewien problem bo 2 pluginy, które napisał/edytował dla mnie speedkill mi nie działają. Plugin ma polegać na tym, że na mapie deathrun_skills i deathrun_skills2 ma odradzać RAZ przy wejściu na serwer. Potem ma nie odradzać. Tylko i wyłączanie przy wejściu na serwer.
To co dla mnie wykonał speedkill:
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "respawn na skills"
#define VERSION "1.0"
#define AUTHOR "Miczu"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
new mapa[5]
get_mapname(mapa, 4);
if(equal(mapa, "deathrun_skills") || equal(mapa, "deathrun_skills2")) register_event("TeamInfo","team","a")
}
public team()
{
new id = read_data(1)
set_task(2.0, "Execute_Spawn", id)
}
public Execute_Spawn(id)
if(is_user_connected(id) && !is_user_alive(id) && (get_user_team(id)==1||get_user_team(id)==2)) ExecuteHam(Ham_CS_RoundRespawn, id);
/*
Auto Spawn
Spawn player automaticly on join team.
*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "Auto Spawn"
#define VERSION "1.11"
#define AUTHOR "R3X"
#define CLASS_KEYS MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5
new bool:gRound=true;
new gLastTeam[33] = {false,...};
new gSpawn[33] = {false,...};
new gcvarRevive, gcvarDelay;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
new szMapName[ 20 ];
get_mapname( szMapName, charsmax( szMapName ) );
if( equali( szMapName, "deathrun_skills" ) )
{
register_menucmd(register_menuid("Terrorist_Select", 1), CLASS_KEYS, "checkSpawnT");
register_menucmd(register_menuid("CT_Select", 1), CLASS_KEYS, "checkSpawnCt");
register_logevent( "eventRoundEnd",2, "1=Round_End");
register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0");
register_clcmd("chooseteam","updateTeam");
register_clcmd("jointeam","updateTeam");
/*
0 - wcale
1 - tylko za pierwszym razem
2 - zawsze, gdy do przeciwnej drużyny
3 - zawsze
*/
gcvarRevive = register_cvar("amx_spawn_on_join","1");
gcvarDelay = register_cvar("amx_spawn_delay","0.5",0,0.5);
}
}
public eventRoundEnd()
gRound=false;
public eventRoundInit()
gRound=true;
public updateTeam(id){
if(is_user_connected(id))
gLastTeam[id]=_:cs_get_user_team(id);
}
public checkSpawnCt(id){
checkSpawn(id, 2);
}
public checkSpawnT(id){
checkSpawn(id, 1);
}
public checkSpawn(id, team){
new iValue=get_pcvar_num(gcvarRevive);
if(iValue == 0) return;
if(iValue == 1 && gSpawn[id]) return;
if(iValue == 2 && team == gLastTeam[id]) return;
set_task(get_pcvar_float(gcvarDelay),"checkSpawn2",id);
gLastTeam[id]=team;
gSpawn[id]=true;
}
public checkSpawn2(id){
if(!is_user_alive(id) || !gRound)
ExecuteHamB(Ham_CS_RoundRespawn, id) ;
}
Użytkownik WazzaP edytował ten post 09.08.2011 20:48