Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

[ROZWIĄZANE] Mała modyfikacja pluginu vip(vip dziala od 2 rundy)

modyfikacja

  • Zamknięty Temat jest zamknięty
9 odpowiedzi w tym temacie

#1 Aniol Smierci

    Pomocny

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:53
  • GG:
  • Imię:Jacek
  • Lokalizacja:Golub-Dobrzyń
Offline

Napisano 30.10.2012 09:43

Witam daje w załączniku mojego vipa możecie zrobić żeby vip działał od 2 rundy i napisac jak to zrobiliście z góry thx oczywiscie nagrodze osobe reputacja

Dziekuje i pozdrawiam
Załączony plik  vip.sma   5,45 KB  34 Ilość pobrań
  vip.amxx
  • +
  • -
  • 0

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 30.10.2012 10:29

O ile kojarzę, to już od samego początku istniała taka możliwość.
BTW.
new g_FreezeTime, gRound=0;
register_logevent("logevent_round_start", 2, "1=Round_Start");
register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
register_logevent("GameCommencing", 2, "1=Game_Commencing");
public logevent_round_start(){
g_FreezeTime=false;
}
public event_new_round(){
g_FreezeTime=true;
++gRound;
}
public GameCommencing(){
gRound=0;
}
a następnie obejmujesz wybrane elementy warunkiem
if(gRound>=2 && !g_FreezeTime)


@edit: Przy okazji, zamień w
if(get_user_team(id)%2){
% na ==

Załączony plik  vip6.sma   5,83 KB  27 Ilość pobrań
  vip6.amxx

Użytkownik benio101 edytował ten post 30.10.2012 12:20


#3 Aniol Smierci

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:53
  • GG:
  • Imię:Jacek
  • Lokalizacja:Golub-Dobrzyń
Offline

Napisano 30.10.2012 22:00

JA zrobiłem tak i tylko deagle i hp i granaty mi daje a w nic wiecej PS to nowy vip wygenerowany nie tamten . Chciałbym żeby Vip działał od 2 Rundy

#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

new Array:g_Array, bool:g_Vip[33], skoki[33], weapon_id;

new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

new g_FreezeTime, gRound=2;

public plugin_init(){
	register_plugin("VIP Ultimate", "5.1.0.2", "benio101 & speedkill");
	RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
	register_forward(FM_CmdStart, "CmdStartPre");
	register_message(get_user_msgid("ScoreAttrib"), "g_VipStatus");
	g_Array=ArrayCreate(64,32);
	for(new i;i<sizeof g_Langcmd;i++)
		register_clcmd(g_Langcmd[i],"g_Vips");
	register_message(get_user_msgid("SayText"),"handleSayText");
	register_event("DeathMsg", "DeathMsg", "a");
	register_logevent("logevent_round_start", 2, "1=Round_Start");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
	register_logevent("GameCommencing", 2, "1=Game_Commencing");
}
public logevent_round_start(){
		g_FreezeTime=false;
}
public event_new_round(){
		g_FreezeTime=true;
		++gRound;
}
public GameCommencing(){
		gRound=2;
}
public client_authorized(id){
	if(get_user_flags(id) & 524288 == 524288){
		client_authorized_vip(id);
	}
}
public client_authorized_vip(id){
	g_Vip[id]=true;
	new g_Name[64];
	get_user_name(id,g_Name,charsmax(g_Name));
	ArrayPushString(g_Array,g_Name);
	set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
	show_hudmessage(0, "Vip %s wbija na serwer !",g_Name);
}
public client_disconnect(id){
	if(g_Vip[id]){
		client_disconnect_vip(id);
	}
}
public client_disconnect_vip(id){
	g_Vip[id]=false;
	new Name[64];
	get_user_name(id,Name,charsmax(Name));

	new g_Size = ArraySize(g_Array);
	new g_Name[64];

	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

		if(equal(g_Name,Name)){
			ArrayDeleteItem(g_Array,i);
			break;
		}
	}
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
		}
	}
}
public CmdStartPre(id, uc_handle){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			CmdStartPreVip(id, uc_handle);
		}
	}
}
public CmdStartPreVip(id, uc_handle){
	new flags = pev(id, pev_flags);
	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
		--skoki[id];
		new Float:velocity[3];
		pev(id, pev_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id,pev_velocity,velocity);
	} else if(flags & FL_ONGROUND && skoki[id]!=-1){
		skoki[id] = 1;
	}
}
public SpawnedEventPreVip(id){
	skoki[id]=1;
	set_user_health(id, get_user_health(id)+10);
	give_item(id, "weapon_hegrenade");
	give_item(id, "weapon_flashbang");
	give_item(id, "weapon_smokegrenade");
	if(get_user_team(id)==1){
		give_item(id, "weapon_deagle");
		give_item(id, "ammo_50ae");
		weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
		if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
		cs_set_user_bpammo(id, CSW_DEAGLE, 35);
	}
	if(get_user_team(id)2){
		give_item(id, "weapon_ak47");
		give_item(id, "ammo_762nato");
		weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
		if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
		cs_set_user_bpammo(id, CSW_AK47, 90);
	}
	if(get_user_team(id)3){
		give_item(id, "weapon_m4a1");
		give_item(id, "ammo_556nato");
		weapon_id=find_ent_by_owner(-1, "weapon_m4a1", id);
		if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
		cs_set_user_bpammo(id, CSW_M4A1, 90);
		give_item(id, "item_thighpack");
	}
}
public g_VipStatus(){
	new id=get_msg_arg_int(1);
	if(is_user_alive(id) && g_Vip[id])
		set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
}
public g_Vips(id){
	new g_Name[64],g_Message[192];

	new g_Size=ArraySize(g_Array);

	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

		add(g_Message, charsmax(g_Message), g_Name);

		if(i == g_Size - 1)
			add(g_Message, charsmax(g_Message), ".");
		else
			add(g_Message, charsmax(g_Message), ", ");
	}
	ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze : ^x04%s", g_Message);
}
public client_infochanged(id){
	if(g_Vip[id]){
		new szName[64];
		get_user_info(id,"name",szName,charsmax(szName));

		ArrayPushString(g_Array,szName);

		new Name[64];
		get_user_name(id,Name,charsmax(Name));

		new g_Size=ArraySize(g_Array);
		new g_Name[64];

		for(new i = 0; i < g_Size; i++){
			ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

			if(equal(g_Name,Name)){
				ArrayDeleteItem(g_Array,i);
				break;
			}
		}
	}
}
public plugin_end(){
	ArrayDestroy(g_Array);
}
public handleSayText(msgId,msgDest,msgEnt){
	new id = get_msg_arg_int(1);

	if(is_user_connected(id) && g_Vip[id]){
		new szTmp[256],szTmp2[256];
		get_msg_arg_string(2,szTmp, charsmax(szTmp))

		new szPrefix[64] = "^x04[VIP]";

		if(!equal(szTmp,"#Cstrike_Chat_All")){
			add(szTmp2,charsmax(szTmp2),szPrefix);
			add(szTmp2,charsmax(szTmp2)," ");
			add(szTmp2,charsmax(szTmp2),szTmp);
		}
		else{
			add(szTmp2,charsmax(szTmp2),szPrefix);
			add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
		}
		set_msg_arg_string(2,szTmp2);
	}
	return PLUGIN_CONTINUE;
}
public DeathMsg(){
	new killer=read_data(1);
	new victim=read_data(2);

	if(is_user_alive(killer) && g_Vip[killer]){
		if(get_user_team(killer) != get_user_team(victim)){
			new g_Hs=read_data(3);
			new g_Hp=get_user_health(killer);
			if(g_Hs){	
				if(g_Hp < 130){
					if(g_Hp + 10 > 110){
						new g_Dif = 110 - g_Hp;
						set_user_health(killer,g_Hp + g_Dif);
					}
					else
						set_user_health(killer,g_Hp + 10);
				}	
			}
			else{	
				if(g_Hp < 110){
					if(g_Hp + 5 > 110 ){
						new g_Dif = 110 - g_Hp;
						set_user_health(killer,g_Hp + g_Dif);
					}
					else
						set_user_health(killer,g_Hp + 5);
				}
			}
		}
	}
}

proszę o zrobienie mi tego w całości z góry thx

Użytkownik Aniol Smierci edytował ten post 30.10.2012 22:02

  • +
  • -
  • 0

#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 30.10.2012 22:10

Między
get_user_team(id)
a liczbą, wstaw dwa znaki równości, czyli porównanie.
if(g_Hp < 130){
130 zamień na 110, tutaj jest błąd w generatorze, gdzie wdarła się na sztywno wartość 130. Więcej grzechów nie pamiętam.

#5 Aniol Smierci

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:53
  • GG:
  • Imię:Jacek
  • Lokalizacja:Golub-Dobrzyń
Offline

Napisano 31.10.2012 11:14

#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

new Array:g_Array, bool:g_Vip[33], skoki[33], weapon_id;

new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

new g_FreezeTime, gRound=2;

public plugin_init(){
        register_plugin("VIP Ultimate", "5.1.0.2", "benio101 & speedkill");
        RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
        register_forward(FM_CmdStart, "CmdStartPre");
        register_message(get_user_msgid("ScoreAttrib"), "g_VipStatus");
        g_Array=ArrayCreate(64,32);
        for(new i;i<sizeof g_Langcmd;i++)
                register_clcmd(g_Langcmd[i],"g_Vips");
        register_message(get_user_msgid("SayText"),"handleSayText");
        register_event("DeathMsg", "DeathMsg", "a");
        register_logevent("logevent_round_start", 2, "1=Round_Start");
        register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
        register_logevent("GameCommencing", 2, "1=Game_Commencing");
}
public logevent_round_start(){
                g_FreezeTime=false;
}
public event_new_round(){
                g_FreezeTime=true;
                ++gRound;
}
public GameCommencing(){
                gRound=2;
}
public client_authorized(id){
        if(get_user_flags(id) & 524288 == 524288){
                client_authorized_vip(id);
        }
}
public client_authorized_vip(id){
        g_Vip[id]=true;
        new g_Name[64];
        get_user_name(id,g_Name,charsmax(g_Name));
        ArrayPushString(g_Array,g_Name);
        set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
        show_hudmessage(0, "Vip %s wbija na serwer !",g_Name);
}
public client_disconnect(id){
        if(g_Vip[id]){
                client_disconnect_vip(id);
        }
}
public client_disconnect_vip(id){
        g_Vip[id]=false;
        new Name[64];
        get_user_name(id,Name,charsmax(Name));

        new g_Size = ArraySize(g_Array);
        new g_Name[64];

        for(new i = 0; i < g_Size; i++){
                ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

                if(equal(g_Name,Name)){
                        ArrayDeleteItem(g_Array,i);
                        break;
                }
        }
}
public SpawnedEventPre(id){
        if(g_Vip[id]){
                if(is_user_alive(id)){
                        SpawnedEventPreVip(id);
                }
        }
}
public CmdStartPre(id, uc_handle){
        if(g_Vip[id]){
                if(is_user_alive(id)){
                        CmdStartPreVip(id, uc_handle);
                }
        }
}
public CmdStartPreVip(id, uc_handle){
        new flags = pev(id, pev_flags);
        if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
                --skoki[id];
                new Float:velocity[3];
                pev(id, pev_velocity,velocity);
                velocity[2] = random_float(265.0,285.0);
                set_pev(id,pev_velocity,velocity);
        } else if(flags & FL_ONGROUND && skoki[id]!=-1){
                skoki[id] = 1;
        }
}
public SpawnedEventPreVip(id){
        skoki[id]=1;
        set_user_health(id, get_user_health(id)+10);
        give_item(id, "weapon_hegrenade");
        give_item(id, "weapon_flashbang");
        give_item(id, "weapon_smokegrenade");
        if(get_user_team(id)==1){
                give_item(id, "weapon_deagle");
                give_item(id, "ammo_50ae");
                weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
                if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
                cs_set_user_bpammo(id, CSW_DEAGLE, 35);
        }
        if(get_user_team(id)2){
                give_item(id, "weapon_ak47");
                give_item(id, "ammo_762nato");
                weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
                if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
                cs_set_user_bpammo(id, CSW_AK47, 90);
        }
        if(get_user_team(id)3){
                give_item(id, "weapon_m4a1");
                give_item(id, "ammo_556nato");
                weapon_id=find_ent_by_owner(-1, "weapon_m4a1", id);
                if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
                cs_set_user_bpammo(id, CSW_M4A1, 90);
                give_item(id, "item_thighpack");
        }
}
public g_VipStatus(){
        new id=get_msg_arg_int(1);
        if(is_user_alive(id) && g_Vip[id])
                set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
}
public g_Vips(id){
        new g_Name[64],g_Message[192];

        new g_Size=ArraySize(g_Array);

        for(new i = 0; i < g_Size; i++){
                ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

                add(g_Message, charsmax(g_Message), g_Name);

                if(i == g_Size - 1)
                        add(g_Message, charsmax(g_Message), ".");
                else
                        add(g_Message, charsmax(g_Message), ", ");
        }
        ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze : ^x04%s", g_Message);
}
public client_infochanged(id){
        if(g_Vip[id]){
                new szName[64];
                get_user_info(id,"name",szName,charsmax(szName));

                ArrayPushString(g_Array,szName);

                new Name[64];
                get_user_name(id,Name,charsmax(Name));

                new g_Size=ArraySize(g_Array);
                new g_Name[64];

                for(new i = 0; i < g_Size; i++){
                        ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));

                        if(equal(g_Name,Name)){
                                ArrayDeleteItem(g_Array,i);
                                break;
                        }
                }
        }
}
public plugin_end(){
        ArrayDestroy(g_Array);
}
public handleSayText(msgId,msgDest,msgEnt){
        new id = get_msg_arg_int(1);

        if(is_user_connected(id) && g_Vip[id]){
                new szTmp[256],szTmp2[256];
                get_msg_arg_string(2,szTmp, charsmax(szTmp))

                new szPrefix[64] = "^x04[VIP]";

                if(!equal(szTmp,"#Cstrike_Chat_All")){
                        add(szTmp2,charsmax(szTmp2),szPrefix);
                        add(szTmp2,charsmax(szTmp2)," ");
                        add(szTmp2,charsmax(szTmp2),szTmp);
                }
                else{
                        add(szTmp2,charsmax(szTmp2),szPrefix);
                        add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
                }
                set_msg_arg_string(2,szTmp2);
        }
        return PLUGIN_CONTINUE;
}
public DeathMsg(){
        new killer=read_data(1);
        new victim=read_data(2);

        if(is_user_alive(killer) && g_Vip[killer]){
                if(get_user_team(killer) != get_user_team(victim)){
                        new g_Hs=read_data(3);
                        new g_Hp=get_user_health(killer);
                        if(g_Hs){       
                                if(g_Hp == 130){
                                        if(g_Hp + 10 > 110){
                                                new g_Dif = 110 - g_Hp;
                                                set_user_health(killer,g_Hp + g_Dif);
                                        }
                                        else
                                                set_user_health(killer,g_Hp + 10);
                                }       
                        }
                        else{   
                                if(g_Hp == 110){
                                        if(g_Hp + 5 == 110 ){
                                                new g_Dif = 110 - g_Hp;
                                                set_user_health(killer,g_Hp + g_Dif);
                                        }
                                        else
                                                set_user_health(killer,g_Hp + 5);
                                }
                        }
                }
        }
}

Całość tak ma wyglądać tak ale to samo sie dzieje dostaje Dgl w 1 rundzie i granaty dobra to moze zostać ale już w 2 nie daje M4a1 i Aka a mi chodziło żeby w 2 rundzie te dwie bronie dawał

Użytkownik Aniol Smierci edytował ten post 31.10.2012 11:18

  • +
  • -
  • 0

#6 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 31.10.2012 11:19

W pierwszym swoim poście o tym już pisałem, nawet podałem gotowy kod.

#7 Aniol Smierci

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:53
  • GG:
  • Imię:Jacek
  • Lokalizacja:Golub-Dobrzyń
Offline

Napisano 31.10.2012 11:36

O to przepraszam nie zauważyłem dowlandu :D możesz mi usunąć mp5 z tamtego vipa co pisałeś w 1 poście i żeby aka było dla tt i al M4a1 Dla Ct z góry thx to bedzie wszystko chyba że by były jakieś kłopoty

Aha i tak na boku ten vip co zrobiles w 1 poscie nie dziala na sam poczatek daje tylko granata potem gram 2/3 rundy i nie daje tych broni

Użytkownik Aniol Smierci edytował ten post 31.10.2012 11:57

  • +
  • -
  • 0

#8 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 31.10.2012 13:18

Załączony plik  vip7.sma   5,41 KB  48 Ilość pobrań
  vip7.amxx

I napisz, czy działa, jak powinno i czy o czymś nie zapomniałem :)

#9 Aniol Smierci

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:53
  • GG:
  • Imię:Jacek
  • Lokalizacja:Golub-Dobrzyń
Offline

Napisano 31.10.2012 14:19

Nagroda dana Temat do zamkniecia THX
  • +
  • -
  • 0

#10 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 31.10.2012 14:21

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

DarkGL to mój autorytet.






Również z jednym lub większą ilością słów kluczowych: modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych