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

przerobienie pluginu cover ops na item do diablo moda


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

#1 slowly

    Wszechwidzący

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 16.08.2010 13:22

Witam.
Mam prośbę do was. Chodzi dokładniej o to jak zmienić plugin cover ops(kod jego daje poniżej) na item do diablo moda.
Chodzi mi o to, aby osoba, która posiada tą właściwość podchodząc do trupa i naciskając E może przybrać jego strój. Musi ona stać prosto nad nim. Niżej daję kod pluginu:
#include <amxmodx>
#include <cstrike>

new pl_origins[33][3]
new pl_skins[33][32]
new bool:pl_carmouflaged[33] = {false,...}
new bool:pl_taken[33] = {false,...}

public get_clothes(id) {
    if (get_cvar_num("amx_covertops")==0)
        return PLUGIN_HANDLED
    if (!is_user_alive(id))
        return PLUGIN_HANDLED
    new cur_origin[3],players[32],pl_num=0,dist,last_dist=99999,last_id,model[32]
    get_user_origin(id,cur_origin,0)
    get_players(players,pl_num,"b")
    if (pl_num>0) {
        for (new i=0;i<pl_num;i++) {
            if (players[i]!=id) {
                dist = get_distance(cur_origin,pl_origins[players[i]])
                if (dist<last_dist) {
                    last_id = players[i]
                    last_dist = dist
                }
            }
        }
        if (last_dist<80) {
            if (pl_taken[last_id]) {
                client_print(id,print_chat,"These clothes have already been taken.")
                return PLUGIN_CONTINUE
            }
            get_user_info(last_id,"model",model,31)
            get_user_info(id,"model",pl_skins[id],31)
            cs_set_user_model(id, model)
            pl_carmouflaged[id] = true
            pl_taken[last_id] = true
            emit_sound(id,CHAN_VOICE,"items/tr_kevlar.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            client_print(id,print_chat,"You are now looking like a %s",model)
            client_cmd(id,"say_team Don't shoot, I'm going undercover !")
            return PLUGIN_CONTINUE
        }
    }
    client_print(id,print_chat,"There is no corpse nearby to get clothes from")
    return PLUGIN_CONTINUE
}

public player_die() {
    new victim = read_data(2)
    get_user_origin(victim,pl_origins[victim],0)
    if (pl_carmouflaged[victim]) {
        cs_set_user_model(victim, pl_skins[victim])
    }
    return PLUGIN_CONTINUE
}

public new_round(id){ 
    if (pl_carmouflaged[id]) {
        cs_reset_user_model(id)
        pl_carmouflaged[id] = false
    } else {
        get_user_info(id,"model",pl_skins[id],31)
    }
    pl_taken[id] = false
    return PLUGIN_CONTINUE
}

public covert_help(id){
    client_print(id,print_chat,"Use the bind for CovertOps, in console: bind x getclothes")
    client_print(id,print_chat,"x can be any key you want it to be.")
    return PLUGIN_CONTINUE 
}

public plugin_precache(){
    precache_sound( "items/tr_kevlar.wav")
    return PLUGIN_CONTINUE
} 

public plugin_init()
{
    register_plugin("CovertOps","1.0F","Xmdxtremekiller")
    register_clcmd("say_team getclothes","covert_help")
    register_clcmd("say /covertops","covert_help")
    register_clcmd("getclothes","get_clothes")
    register_event("ResetHUD", "new_round", "b")
    register_event("DeathMsg","player_die","a")
    register_cvar("amx_covertops","1")
    return PLUGIN_CONTINUE
}
Za wszystkie odpowiedzi bardzo dziękuję.
Z góry pozdro, Slowly

@EDIT:
Refresh..

Użytkownik slowly edytował ten post 17.08.2010 11:42


#2 hajtt?

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:51
  • Lokalizacja:Małopolska
Offline

Napisano 18.08.2010 13:39

init do init precache do precache itd itd. Czego tu nie rozumieć ? :X
  • +
  • -
  • 0

#3 Reprezentant

    Pomocny

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:53
  • Lokalizacja:w .sma
Offline

Napisano 18.08.2010 13:46

a potem tylko wywolanie kodu do itemu

#4 hajtt?

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:51
  • Lokalizacja:Małopolska
Offline

Napisano 18.08.2010 14:02

a potem tylko wywolanie kodu do itemu


Raczej woli on zrobić to jako zmienną do klasy :D
  • +
  • -
  • 0

#5 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 18.08.2010 14:46

A mógłbyś mi to tak przerobić, żeby używało się to za pomocą guzika E i wszystko ładnie rozpisać?

#6 hajtt?

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:51
  • Lokalizacja:Małopolska
Offline

Napisano 18.08.2010 16:02

może... jak ktoś Ci tego nie napisze ja to napisze. Teraz mi się nie chce ;P
  • +
  • -
  • 0

#7 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 18.08.2010 16:16

Proszę. Za pomoc postawie reputacje.

#8 hajtt?

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:51
  • Lokalizacja:Małopolska
Offline

Napisano 18.08.2010 16:22

Proszę. Za pomoc postawie reputacje.


po co Ci na E jak masz na binda "getclothes" :?
  • +
  • -
  • 0

#9 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 18.08.2010 16:54

Bo chce na E

#10 hajtt?

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:51
  • Lokalizacja:Małopolska
Offline

Napisano 18.08.2010 16:54

Bo chce na E


Zaraz ci napisze poczekaj...
  • +
  • -
  • 0

#11 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 18.08.2010 19:04

To jak, zrobisz ten kod?

#12 hajtt?

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:51
  • Lokalizacja:Małopolska
Offline

Napisano 19.08.2010 11:46

new pl_origins[33][3]
new pl_skins[33][32]
new bool:pl_carmouflaged[33] = {false,...}
new bool:pl_taken[33] = {false,...}

To gdzieś na górze.

    register_plugin("CovertOps","1.0F","Xmdxtremekiller")
    register_clcmd("say_team getclothes","covert_help")
    register_clcmd("say /covertops","covert_help")
    register_clcmd("getclothes","get_clothes")
    register_event("ResetHUD", "new_round", "b")
    register_event("DeathMsg","player_die","a")
    register_cvar("amx_covertops","1")
    return PLUGIN_CONTINUE

To do init.

    precache_sound( "items/tr_kevlar.wav")
    return PLUGIN_CONTINUE

Do precache.

///////////////////////////////

Tworzysz nową zmienna i wklejasz gdzies :

public get_clothes(id) {
    if (get_cvar_num("amx_covertops")==0)
        return PLUGIN_HANDLED
    if (!is_user_alive(id))
        return PLUGIN_HANDLED
    new cur_origin[3],players[32],pl_num=0,dist,last_dist=99999,last_id,model[32]
    get_user_origin(id,cur_origin,0)
    get_players(players,pl_num,"b")
    if (pl_num>0) {
        for (new i=0;i<pl_num;i++) {
            if (players[i]!=id) {
                dist = get_distance(cur_origin,pl_origins[players[i]])
                if (dist<last_dist) {
                    last_id = players[i]
                    last_dist = dist
                }
            }
        }
        if (last_dist<80) {
            if (pl_taken[last_id]) {
                client_print(id,print_chat,"These clothes have already been taken.")
                return PLUGIN_CONTINUE
            }
            get_user_info(last_id,"model",model,31)
            get_user_info(id,"model",pl_skins[id],31)
            cs_set_user_model(id, model)
            pl_carmouflaged[id] = true
            pl_taken[last_id] = true
            emit_sound(id,CHAN_VOICE,"items/tr_kevlar.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            client_print(id,print_chat,"You are now looking like a %s",model)
            client_cmd(id,"say_team Don't shoot, I'm going undercover !")
            return PLUGIN_CONTINUE
        }
    }
    client_print(id,print_chat,"There is no corpse nearby to get clothes from")
    return PLUGIN_CONTINUE
}

I player_die oraz new_round wkleisz sobie sam.
To chyba dobrze jest :] Nie testowalem a nie znam sie az tak bardzo na diablo.

Użytkownik hajtt? edytował ten post 19.08.2010 11:46

  • +
  • -
  • 0

#13 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 19.08.2010 11:57

hajtt? gratulacje dla Ciebie. -.-

    register_plugin("CovertOps","1.0F","Xmdxtremekiller") // Rejestrujemy drugi raz plugin? Pierw Diablo, brawo!
register_clcmd("say_team getclothes","covert_help") // To można usunąć, po co info?
register_clcmd("say /covertops","covert_help") // To też, po co informacja?
register_clcmd("getclothes","get_clothes") // To też, on chce pod E.
register_event("ResetHUD", "new_round", "b") // Zmienić na RoundStart w Diablo
register_event("DeathMsg","player_die","a") // Już jest event DeathMsg w Diablo, po cholere drugi?
register_cvar("amx_covertops","1") // Po co cvar?
return PLUGIN_CONTINUE // Yyy, bez komentarza.

// Wychodzi na to, że nic nie wpisujemy do init. ;F Chyba, że event ResetHUD, żeby zastąpić...


Jak się na czymś nie znasz, to nawet ludzi w błąd nie wprowadzaj!

Jak już chcesz to pożądnie zrobić, to podepnij pod check_magic a następnie zrób tak, aby używał pod E, usunąć cvara i deathmsg troche zmienić, bo w covert ops jest troche inaczej zapisane niz w Diablo.

Użytkownik Screeaam... edytował ten post 19.08.2010 12:11


#14 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 19.08.2010 13:09

To dasz mi poprawną wersję Screeeam? Oczywiście dostaniesz za to repute..

@@Edit:
Refresh

Użytkownik slowly edytował ten post 19.08.2010 15:26


#15 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 19.08.2010 20:38

To gdzieś na góre:

new pl_origins[33][3]
new pl_skins[33][32]
new ubranie_trupa[33];
new bool:pl_carmouflaged[33] = {false,...}
new bool:pl_taken[33] = {false,...}


To gdzieś na koniec sma.

public get_clothes(id) 
{
	if (used_item[id])
	{
		hudmsg(id,2.0,"Itemu mozesz uzyc raz na runde!")
		return PLUGIN_CONTINUE  
	}
    if (!is_user_alive(id))
        return PLUGIN_HANDLED
    new cur_origin[3],players[32],pl_num=0,dist,last_dist=99999,last_id,model[32]
    get_user_origin(id,cur_origin,0)
    get_players(players,pl_num,"b")
    if (pl_num>0) {
        for (new i=0;i<pl_num;i++) {
            if (players[i]!=id) {
                dist = get_distance(cur_origin,pl_origins[players[i]])
                if (dist<last_dist) {
                    last_id = players[i]
                    last_dist = dist
                }
            }
        }
        if (last_dist<80) {
            if (pl_taken[last_id]) {
                client_print(id,print_chat,"These clothes have already been taken.")
                return PLUGIN_CONTINUE
            }
            get_user_info(last_id,"model",model,31)
            get_user_info(id,"model",pl_skins[id],31)
            cs_set_user_model(id, model)
            pl_carmouflaged[id] = true
            pl_taken[last_id] = true
            emit_sound(id,CHAN_VOICE,"items/tr_kevlar.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            client_print(id,print_chat,"You are now looking like a %s",model)
            return PLUGIN_CONTINUE
        }
    }
    client_print(id,print_chat,"There is no corpse nearby to get clothes from")
    return PLUGIN_CONTINUE
}

public DeathMsg:

get_user_origin(vid,pl_origins[vid],0)
    if (pl_carmouflaged[vid]) {
        cs_set_user_model(vid, pl_skins[vid])
    }


public ResetHUD:


if (pl_carmouflaged[id]) {
        cs_reset_user_model(id)
        pl_carmouflaged[id] = false
    } else {
        get_user_info(id,"model",pl_skins[id],31)
    }
    pl_taken[id] = false



public plugin_precache:

precache_sound( "items/tr_kevlar.wav")

check_magic:

if (ubranie_trupa[id] > 0) get_clothes(id)

Nie wiem czy to będzie działać, jak ja to kiedyś robiłem, to mi nie działało. Item użyjesz za pomocą E raz na rundę.

Głowy nie daje.

Użytkownik Screeaam... edytował ten post 19.08.2010 20:39


#16 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 20.08.2010 08:32

Dzięki, dostajesz plusa.

Użytkownik slowly edytował ten post 20.08.2010 08:36





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

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