←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

JailBreak
Problem z HP u VIP/SVIP na zabawach

  • +
  • -
Vakos - zdjęcie Vakos 02.01.2017

Mam problem z VIP/SVIP na zabawach.

Otóż niektóre zabawy na JailBreak'u ustawiają HP np: KillDay ustawia graczom po 100 HP.

VIP u mnie posiada 150HP na start a SVIP 200.

Problem w tym gdy jest zabawa VIP/SVIP'owi również ustawia 100 HP a chciałbym aby miał te 150 i 200.

 

Odpowiedz

  • +
  • -
XXL - zdjęcie XXL 03.01.2017

Daj .sma przykładowej zabawy która ustawia hp

Odpowiedz

  • +
  • -
Vakos - zdjęcie Vakos 05.01.2017

Daj .sma przykładowej zabawy która ustawia hp

 

#include 
#include
#include
#include
#include

#define PLUGIN "Mortal Kombat"
#define VERSION "1.0.6"
#define AUTHOR "k4x4z5"

new id_1h1;

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

id_1h1 = jail_register_game("Chuck Norris Style");
}

public plugin_precache()
{
precache_sound("jb_cypis/new_chucknorris.mp3");
}

public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound)
{
static szTime[12];
if(day == id_1h1)
{
format_time(szTime, 11, "%M:%S", gTimeRound-30);
formatex(szInfo2, 511, "Zasady:^n - Walka wiezniow miedzy soba ^n - Ostatni wiezien ma zyczenie", szTime, szTime);
szInfo = "Dzisiaj jest Chuck Norris Style";

for(new i=1; i<=MAX; i++){
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 1){
strip_user_weapons(i);
give_item(i, "weapon_m249")
cs_set_user_bpammo(i, CSW_M249, 999);
set_user_health(i, 1000)
}
}

jail_set_prisoners_micro(true, true);
jail_set_ct_hit_tt(true);
jail_set_god_ct(true);

setting[0] = 1;
setting[1] = 0;
setting[2] = 1;
setting[4] = 1;
}
}

public OnDayStartPost(day)
{
if(day == id_1h1)
{
client_cmd(0, "mp3 play sound/jb_cypis/new_chucknorris.mp3");
jail_open_cele();
jail_set_game_hud(30, "Rozpoczecie zabawy za");
}
}

public OnGameHudEnd(day)
{
if(day == id_1h1)
{
client_cmd(0, "mp3 play sound/jb_cypis/new_chucknorris.mp3");
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 5.0);
show_hudmessage(0, "== TT vs TT ==");

jail_set_prisoners_fight(true, false, false);
}
}

public OnRemoveData(day)
{
client_cmd(0, "mp3 stop");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 05.01.2017

Daj sma zabawy, które ustawia więźniom po 100 hp. Chyba, że chcesz aby na tej zabawie VIP miał 1150hp, a SuperVIP 1200.

Odpowiedz

  • +
  • -
Vakos - zdjęcie Vakos 07.01.2017

Możesz zrobić na tej - 1150 i 1200.

Fajnie jakbyś też opisał jak zrobiłeś to na następnych zabawach zrobił bym sam :)

Odpowiedz

  • +
  • -
XXL - zdjęcie XXL 07.01.2017

Szukasz kodu który odpowiada za HP

set_user_health(i, 1000)

Dodajesz warunek flagi który się spełni jeżeli ktoś będzie miał to co kod wymaga czyli:

if(get_user_flags(id) &  ADMIN_LEVEL_H)
{
set_user_health(i, 1500)
}

Oraz dodajesz warunek który będzie przeciwieństwem dla powyższego kodu czyli dla osób które nie spełniają wymogów kodu

else
{
set_user_health(i, 1000)
}

Inaczej nie umiałem wytłumaczyć :D

 

 

 

Odpowiedz

  • +
  • -
Vakos - zdjęcie Vakos 07.01.2017

Szukasz kodu który odpowiada za HP

set_user_health(i, 1000)

Dodajesz warunek flagi który się spełni jeżeli ktoś będzie miał to co kod wymaga czyli:

if(get_user_flags(id) &  ADMIN_LEVEL_H)
{
set_user_health(i, 1500)
}

Oraz dodajesz warunek który będzie przeciwieństwem dla powyższego kodu czyli dla osób które nie spełniają wymogów kodu

else
{
set_user_health(i, 1000)
}

Inaczej nie umiałem wytłumaczyć :D

 

 

Tak dodałem do killday'a - oczwiście w kodzie nie było set_user_health(i, 100), więc sam dodałem i nie działa dalej VIP/SVIP ma 100 HP.

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <jailbreak>

#define PLUGIN "[Jail] KillDay"
#define VERSION "1.0.7m"
#define AUTHOR "Cypis"

new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100};
new const idWeapons[] = {3,5,7,8,12,13,14,15,18,19,20,21,22,23,27,28,30};

new id_killday;

#if!defined KILLDAY_DAY
#define KILLDAY_DAY SRODA
#endif


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    id_killday = jail_register_game("KillDay");
}

public plugin_precache()
{
    precache_sound("jb_cypis/new_killday.mp3");
}

public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound)
{    
    static szTime[12];
    if(day == KILLDAY_DAY || day == id_killday)
    {
        client_cmd(0, "mp3 play sound/misc/jb_cypis/new_killday.mp3");
        static szTimes[12];
        format_time(szTime, 11, "%M:%S", gTimeRound-30);
        format_time(szTimes, 11, "%M:%S", gTimeRound-60);
        formatex(szInfo2, 511, "Zasady:^n%s - wiezniowie dostaja bron^n%s - walka wiezniow miedzy soba^nGrupy moga byc maksymalnie 2 osobowe!^nOstatni wiezien ma zyczenie", szTime, szTimes);
        szInfo = "Dzisiaj jest KillDay";
        
        for(new i=1; i<=MAX; i++)
        {
            if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 1)
            {
                if(get_user_flags(i) &  ADMIN_LEVEL_H)
                {
                    set_user_health(i, 150);
                }
                    else if(get_user_flags(i) &  ADMIN_LEVEL_G)
                {
                    set_user_health(i, 200);
                }
                    else
                    {
                        set_user_health(i, 100);
                                }
            }
        }

                                
        jail_set_prisoners_micro(true, true);
        jail_set_ct_hit_tt(true);
        jail_set_god_ct(true);
            
        setting[0] = 1;
        setting[1] = 1;
        setting[2] = 1;
        setting[4] = 1;
        setting[6] = 1;
        setting[7] = 1;
    }
}

public OnDayStartPost(day)
{
    if(day == KILLDAY_DAY || day == id_killday)
    {
        client_cmd(0, "mp3 play sound/jb_cypis/new_killday.mp3");
        jail_open_cele();
        jail_set_game_hud(60, "Rozpoczecie zabawy za");
    }
}

public OnGameHudTick(day, count)
{
    if(count != 30)
        return;
        
    if(day != KILLDAY_DAY && day != id_killday)
        return;
    
    new nameweapon[24], wid = idWeapons[random(charsmax(idWeapons))];
    get_weaponname(wid, nameweapon, 23);
    
    for(new i=1; i<=MAX; i++)
    {
        if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_T)
            continue;
        
        strip_user_weapons(i);
        give_item(i, "weapon_knife");
        give_item(i, "weapon_glock18");
        give_item(i, nameweapon);
        
        cs_set_user_bpammo(i, wid, maxAmmo[wid]);
        cs_set_user_bpammo(i, CSW_GLOCK18, maxAmmo[CSW_GLOCK18]);
    }
}

public OnGameHudEnd(day)
{
    if(day == KILLDAY_DAY || day == id_killday)
    {
        client_cmd(0, "mp3 play sound/jb_cypis/new_killday.mp3");
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 5.0);
        show_hudmessage(0, "== TT vs TT ==");
            
        jail_set_prisoners_fight(true, false, false);
    }
}

public OnRemoveData(day)
{
    client_cmd(0, "mp3 stop");
}

 

Sma zabawy a tutaj co zostało dodane:

 

for(new i=1; i<=MAX; i++)
{
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 1)
{
if(get_user_flags(i) & ADMIN_LEVEL_H)
{
set_user_health(i, 150);
}
else if(get_user_flags(i) & ADMIN_LEVEL_G)
{
set_user_health(i, 200);
}
else
{
set_user_health(i, 100);
}
}
}

Odpowiedz

  • +
  • -
Skull. - zdjęcie Skull. 16.01.2017

Sprawdzaj pierw SVIPa. A nie VIPa. Kolejność  musi być: SVIP, VIP, Zwykły gracz

		if(get_user_flags(i) &  ADMIN_LEVEL_G)
			set_user_health(i, 200);
		else if(get_user_flags(i) &  ADMIN_LEVEL_H)
			set_user_health(i, 150);
		else set_user_health(i, 100);

Użytkownik Mr.Skull edytował ten post 16.01.2017 16:21
Odpowiedz

  • +
  • -
Vakos - zdjęcie Vakos 17.01.2017

 

Sprawdzaj pierw SVIPa. A nie VIPa. Kolejność  musi być: SVIP, VIP, Zwykły gracz

		if(get_user_flags(i) &  ADMIN_LEVEL_G)
			set_user_health(i, 200);
		else if(get_user_flags(i) &  ADMIN_LEVEL_H)
			set_user_health(i, 150);
		else set_user_health(i, 100);

 

Kolejność raczej nie musi być.

Po za tym zmieniłem żeby nie było no ale dalej ustawia 100 hp all

Odpowiedz

  • +
  • -
Skull. - zdjęcie Skull. 17.01.2017

 

 

Sprawdzaj pierw SVIPa. A nie VIPa. Kolejność  musi być: SVIP, VIP, Zwykły gracz

		if(get_user_flags(i) &  ADMIN_LEVEL_G)
			set_user_health(i, 200);
		else if(get_user_flags(i) &  ADMIN_LEVEL_H)
			set_user_health(i, 150);
		else set_user_health(i, 100);

 

Kolejność raczej nie musi być.

Po za tym zmieniłem żeby nie było no ale dalej ustawia 100 hp all

 

Musi być, ponieważ inaczej gracze z SVIPami będą dostawać HP od VIPa, 

 

Zapodaj w załączniku .sma zabawy w której nie daje tego HP SVIP/VIP, a chcesz aby dodawało, to ci to zrobię, i będziesz miał przykładny plugin do pozostałych.


Użytkownik Mr.Skull edytował ten post 17.01.2017 16:52
Odpowiedz

  • +
  • -
Vakos - zdjęcie Vakos 17.01.2017

 

 

 

Sprawdzaj pierw SVIPa. A nie VIPa. Kolejność  musi być: SVIP, VIP, Zwykły gracz

		if(get_user_flags(i) &  ADMIN_LEVEL_G)
			set_user_health(i, 200);
		else if(get_user_flags(i) &  ADMIN_LEVEL_H)
			set_user_health(i, 150);
		else set_user_health(i, 100);

 

Kolejność raczej nie musi być.

Po za tym zmieniłem żeby nie było no ale dalej ustawia 100 hp all

 

Musi być, ponieważ inaczej gracze z SVIPami będą dostawać HP od VIPa, 

 

Zapodaj w załączniku .sma zabawy w której nie daje tego HP SVIP/VIP, a chcesz aby dodawało, to ci to zrobię, i będziesz miał przykładny plugin do pozostałych.

 

 

 

 


#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#include <jailbreak>

#define PLUGIN "[Jail] KillDay"
#define VERSION "1.0.7m"
#define AUTHOR "Cypis"

new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100};
new const idWeapons[] = {3,5,7,8,12,13,14,15,18,19,20,21,22,23,27,28,30};

new id_killday;

#if!defined KILLDAY_DAY
#define KILLDAY_DAY SRODA
#endif


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

id_killday = jail_register_game("KillDay");
}

public plugin_precache()
{
precache_sound("jb_cypis/new_killday.mp3");
}

public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound)
{
static szTime[12];
if(day == KILLDAY_DAY || day == id_killday)
{
client_cmd(0, "mp3 play sound/misc/jb_cypis/new_killday.mp3");
static szTimes[12];
format_time(szTime, 11, "%M:%S", gTimeRound-30);
format_time(szTimes, 11, "%M:%S", gTimeRound-60);
formatex(szInfo2, 511, "Zasady:^n%s - wiezniowie dostaja bron^n%s - walka wiezniow miedzy soba^nGrupy moga byc maksymalnie 2 osobowe!^nOstatni wiezien ma zyczenie", szTime, szTimes);
szInfo = "Dzisiaj jest KillDay";

for(new i=1; i<=MAX; i++)
{
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 1)
{
if(get_user_flags(i) & ADMIN_LEVEL_G)
{
set_user_health(i, 200);
}
else if(get_user_flags(i) & ADMIN_LEVEL_H)
{
set_user_health(i, 150);
}
else
{
set_user_health(i, 100);
}
}
}


jail_set_prisoners_micro(true, true);
jail_set_ct_hit_tt(true);
jail_set_god_ct(true);

setting[0] = 1;
setting[1] = 1;
setting[2] = 1;
setting[4] = 1;
setting[6] = 1;
setting[7] = 1;
}
}

public OnDayStartPost(day)
{
if(day == KILLDAY_DAY || day == id_killday)
{
client_cmd(0, "mp3 play sound/jb_cypis/new_killday.mp3");
jail_open_cele();
jail_set_game_hud(60, "Rozpoczecie zabawy za");
}
}

public OnGameHudTick(day, count)
{
if(count != 30)
return;

if(day != KILLDAY_DAY && day != id_killday)
return;

new nameweapon[24], wid = idWeapons[random(charsmax(idWeapons))];
get_weaponname(wid, nameweapon, 23);

for(new i=1; i<=MAX; i++)
{
if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_T)
continue;

strip_user_weapons(i);
give_item(i, "weapon_knife");
give_item(i, "weapon_glock18");
give_item(i, nameweapon);

cs_set_user_bpammo(i, wid, maxAmmo[wid]);
cs_set_user_bpammo(i, CSW_GLOCK18, maxAmmo[CSW_GLOCK18]);
}
}

public OnGameHudEnd(day)
{
if(day == KILLDAY_DAY || day == id_killday)
{
client_cmd(0, "mp3 play sound/jb_cypis/new_killday.mp3");
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 5.0);
show_hudmessage(0, "== TT vs TT ==");

jail_set_prisoners_fight(true, false, false);
}
}

public OnRemoveData(day)
{
client_cmd(0, "mp3 stop");
}


Użytkownik Vakos edytował ten post 17.01.2017 16:59
Odpowiedz

  • +
  • -
Skull. - zdjęcie Skull. 17.01.2017

Łap, tylko nie zapomnij skompilować.

Spoiler
Odpowiedz

  • +
  • -
Vakos - zdjęcie Vakos 17.01.2017

Wrzuciłem i działa :)

Dzięki za pomoc

Odpowiedz