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: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty










