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.
|
[ROZWIĄZANE] automatyczna zmiana teamu gracza i dodawanie fraga co 5 sekund
#1
Napisano 31.10.2012 15:29
Potrzebne są mi 2 rzeczy:
1. Chcę, aby TT po zabiciu stawał się CT (podejrzewam, że znalazł bym to w zombi modzie, bo zarażeniu CT staje się TT) i spawnił się w losowym miejscu z CSDM
2. Co pięć sekund dodawało fraga graczowi, an pewno coś z set_task, ale nie wiem jak dokładnie to zrobić
#2 Gość_21977_*
Napisano 31.10.2012 18:04
#include <amxmodx>
#include <fun>
new maxPlayers, id;
public plugin_init(){
register_plugin("5sec frag", "0.1", "benio101");
}
public plugin_cfg(){
maxPlayers=get_maxplayers();
set_task(5.0, "frag", .flags="b");
}
public frag(){
for(id=1; id<=maxPlayers; ++id){
if(is_user_connected(id) && !is_user_hltv(id) && get_user_team(id)%3){
set_user_frags(id, get_user_frags(id)+1);
}
}
}
#4
Napisano 31.10.2012 21:16
cs_set_user_team(player,( g_iTeam[player] = g_iTeam[player] == CS_TEAM_T ? CS_TEAM_CT : CS_TEAM_T))
if (is_user_alive(player))
ExecuteHamB(Ham_CS_RoundRespawn, player)
Prosto z BaseBuildera (komenda do zmiany drużyny), player to id gracza którego chcesz przenieść, w tablicy g_iTeam jest zapisany aktualna drużyna (można użyć cs_get_user_team() lecz będziesz kilka razy wywoływał funkcję, czasem lepiej coś zapisać )
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
#6 Gość_21977_*
Napisano 31.10.2012 23:13
#7
Napisano 31.10.2012 23:24
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
#9
Napisano 01.11.2012 08:55
#include <amxmodx> #include <fun> #include <cstrike> new maxPlayers; public plugin_init(){ register_plugin("5sec frag", "0.1", "benio101"); } public plugin_cfg(){ maxPlayers = get_maxplayers(); set_task(5.0, "frag", .flags="b"); register_event("DeathMsg", "DeathMsg", "a") } public frag(){ for(new id=1; id<=maxPlayers; ++id){ if(is_user_connected(id) && !is_user_hltv(id) && !is_user_bot(id) && get_user_team(id) == 2){ set_user_frags(id, get_user_frags(id)+1); } } } public DeathMsg(){ new g_Victim = read_data(2); if(is_user_connected(g_Victim)){ if(get_user_team(g_Victim == 1)){ cs_set_user_team(g_Victim, CS_TEAM_CT); } } }
If you can dream it, you can do it.
#11 Gość_21977_*
Napisano 01.11.2012 11:55
#include <amxmodx>
#include <fun>
#include <cstrike>
new maxPlayers;
public plugin_init(){
register_plugin("5sec frag", "0.3", "speedkill & benio101");
register_event("DeathMsg", "DeathMsg", "a");
}
public plugin_cfg(){
maxPlayers = get_maxplayers();
set_task(5.0, "frag", .flags="b");
}
public frag(){
for(new id=1; id<=maxPlayers; ++id){
if(is_user_connected(id) && !is_user_hltv(id) && !is_user_bot(id) && get_user_team(id) == 2){
set_user_frags(id, get_user_frags(id)+1);
}
}
}
public DeathMsg(){
new g_Victim = read_data(2);
if(is_user_connected(g_Victim)){
new vTeam=get_user_team(g_Victim);
switch(vTeam){
case 1:{
cs_set_user_team(g_Victim, CS_TEAM_CT);
}
case 2:{
cs_set_user_team(g_Victim, CS_TEAM_T);
}
}
}
}
#13 Gość_21977_*
Napisano 01.11.2012 13:11
#include <amxmodx>
#include <fun>
#include <cstrike>
new maxPlayers;
public plugin_init(){
register_plugin("5sec frag", "0.4", "speedkill & benio101");
register_event("DeathMsg", "DeathMsg", "a");
}
public plugin_cfg(){
maxPlayers = get_maxplayers();
set_task(5.0, "frag", .flags="b");
}
public frag(){
for(new id=1; id<=maxPlayers; ++id){
if(is_user_connected(id) && !is_user_hltv(id) && !is_user_bot(id) && get_user_team(id) == 2){
set_user_frags(id, get_user_frags(id)+1);
}
}
}
public DeathMsg(g_Killer, g_Victim){
if(is_user_connected(g_Killer) && is_user_connected(g_Victim)){
if(get_user_team(g_Killer)==1 && get_user_team(g_Victim)==2){
cs_set_user_team(g_Killer, CS_TEAM_CT);
cs_set_user_team(g_Victim, CS_TEAM_T);
}
}
}
#14
Napisano 01.11.2012 14:17
#include <amxmodx> #include <fun> #include <cstrike> #include <csx> new maxPlayers; new g_ltimer[33]; new g_msgsync; public plugin_init(){ register_plugin(" BEL", "0.1", "Eustachy8 (+speedkill & benio101)"); register_event("DeathMsg", "DeathMsg", "a"); g_msgsync = CreateHudSyncObj(); } public plugin_cfg(){ maxPlayers = get_maxplayers(); set_task(5.0, "frag", .flags="b"); set_task(5.0, "dispTime", .flags="b"); } public frag(){ for(new id=1; id<=maxPlayers; ++id){ if(is_user_connected(id) && !is_user_hltv(id) && !is_user_bot(id) && get_user_team(id) == 2){ set_user_frags(id, get_user_frags(id)+1); } } } public DeathMsg(g_Killer, g_Victim){ if(is_user_connected(g_Killer) && is_user_connected(g_Victim)){ if(get_user_team(g_Killer)==1 && get_user_team(g_Victim)==2){ cs_set_user_team(g_Killer, CS_TEAM_CT); cs_set_user_team(g_Victim, CS_TEAM_T); spawn_func(g_Killer); g_ltimer[g_Killer]=0; } } } public spawn_func(id) { new parm[1]; parm[0]=id; set_task(0.5,"player_spawn",72,parm,1); } public player_spawn(parm[1]) { spawn(parm[0]); } public dispTime(id) { if (get_user_team(id)==2) { set_hudmessage(255, 255, 255, 0.10, 0.80, 0, 1.0, 1.0, 0.01, 0.01, -1); ShowSyncHudMsg(0, g_msgsync, "Zyjesz juz: %d sekund", g_ltimer[id]); ++g_ltimer[id]; } }
Brakuje mi już tylko jednej rzeczy i nie wiem jak ją ugryźć.
A mianowicie, chcę zrobić ten modzik:
http://amxx.pl/topic...nd-enemy-lines/
brakuje mi punktu pierwszego, plugin ma automatycznie ustawiać graczy w drużynach. Dodatkowo musi ustawiać 0 w tablicy g_ltimer[33]; odpowiednim osobom (tym co zostaną przydzieleni do CT)
Użytkownik Eustachy8 edytował ten post 01.11.2012 14:19
#15 Gość_21977_*
Napisano 01.11.2012 14:37
Jeśli koniecznie nie chcesz korzystać z Kanapki, to skorzystaj z poprawnej formy ożywiania graczy.
#16
Napisano 01.11.2012 15:35
If you can dream it, you can do it.
#17
Napisano 01.11.2012 16:21
(tu ma być 1.0)
dlaczego nie będzie? przecież jest ona wywoływana co sekunde i za każdym razem zmienia czas o 1
wrzuciłem w tej postaci:
i poprawnie działa tylko dodawanie fragów co 5 sec
nie przenosi do przeciwnego teamu, nie ma odliczania
#19
Napisano 01.11.2012 19:56
Do rzeczy:
Odliczania i dodawanie fragów działa elegancko. Jednak event deathMsg jest olewany całkowicie, nic się nie dzieje podczas gdy TT zabija CT
register_event("DeathMsg", "DeathMsg", "a"); . . . public DeathMsg(g_Killer, g_Victim){ if(is_user_connected(g_Killer) && is_user_connected(g_Victim)){ if(get_user_team(g_Killer)==1 && get_user_team(g_Victim)==2){ cs_set_user_team(g_Killer, CS_TEAM_CT); cs_set_user_team(g_Victim, CS_TEAM_T); spawn_func(g_Killer); g_ltimer[g_Killer]=0; new szName[64]; get_user_name(g_Victim,szName,charsmax(szName)); new szName2[64]; get_user_name(g_Killer,szName2,charsmax(szName2)); ColorChat(0,RED,"[ BEL ] ^x04%s zyl ^x04%i sec. Zabil go ^x04%s",szName,g_ltimer[g_Victim],szName2) } } }
Użytkownik Eustachy8 edytował ten post 01.11.2012 20:00
#20
Napisano 01.11.2012 20:18
new iKiller = read_data( 1 );
new iVictim = read_data( 2 );
powinno działać, zawsze możesz spróbować z kanapką:
RegisterHam(Ham_Killed, "player", "Ham_Killed_Post", 1);
-
-
-
public Ham_Killed_Post(vid, kid)
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych