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

Dodawanie Fraga za zabicie członka drużyny.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 nad3jf

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:68
  • GG:
  • Lokalizacja:xx.xxx.xxx:xxx
Offline

Napisano 08.05.2010 17:39

Jak każdy z Was wie Counter Strike 1.6 za zabicie członka drużyny odbiera dwa fragi. Jednak w niektórych modyfikacjach przydaję się aby dość, że nie zabierało to dodatkowo dodawało fraga.

/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Fragi za Team Killer"
#define VERSION "1.0"
#define AUTHOR "Nad3jf"

new zabojca
new ofiara
new team_ofiary
new team_zabojcy
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "DeathMsg", "a") // Rejestrujemy Event Smierci Gracza
}

public DeathMsg()
{
zabojca = read_data(1) // Pobieramy id zabojce
ofiara = read_data(2) // Pobieramy id ofiary
set_task(0.1,"statystyki",zabojca,_,0,"a") // Robimy zadanie, ktore wysle id zabojcy do funkcji statystyki
set_task(0.1,"statystyki",ofiara,_,0,"a") // Robimy Zadanie, ktore wysle id ofiary do funkcji statystyki.

}
public statystyki()
{
team_ofiary = get_user_team(ofiara) // Pobieramy team ofiary
team_zabojcy = get_user_team(zabojca) // Pobieramy team zabojcy
if(team_zabojcy == team_ofiary) // Jezeli sa z jednego teamu to:
{
new fragi = get_user_frags(zabojca) // Pobiera obecna liczbe fragow
set_user_frags(zabojca,fragi + 2) // Ustawia liczbe fragow na poprawna wartosc po zabiciu
}

}

Użytkownik nad3jf edytował ten post 08.05.2010 17:40

  • +
  • -
  • 0

#2 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 08.05.2010 17:46

Po co to komu...
Czary mary, hokus pokus, bum bum 38linijkek vs. 18 !! Oszczędzasz pamięć i miejsce.
#include <amxmodx>
#include <fun>

public plugin_init()
{
register_event("DeathMsg", "Death", "a")
}

public Death()
{
new killer=read_data(1)
new victim=read_data(2)

if(get_user_team(killer)==get_user_team(victim))
{
set_user_frags(killer,get_user_frags(killer)+2)
}
}

  • +
  • -
  • 2
-Piszę pluginy na zamówienie.
-Przerabiam pluginy (nie mody) na zamówienie.
-Piszę kursy/poradniki "Pisania pluginów w PAWN'ie"

Nie udzielam pomocy na GG, ani na innym komunikatorze internetowym.
Masz sprawę? PISZ NA PW

#3 nad3jf

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:68
  • GG:
  • Lokalizacja:xx.xxx.xxx:xxx
Offline

Napisano 08.05.2010 17:51

A no w sumie nie przemyślałem. Optymalizacja to niestety nie moja dobra strona. :wstyd:
  • +
  • -
  • 0

#4 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 08.05.2010 22:26

set_task(0.1,"statystyki",zabojca,_,0,"a") // Robimy zadanie, ktore wysle id zabojcy do funkcji statystyki
        set_task(0.1,"statystyki",ofiara,_,0,"a")


hmm po co wywolujesz taska z takimi parametrami skoro funkcja zadnych nie ma :?: mogles np dac w jednym tasku id 333 a w drugim 444

nie sprawdzalem jak jest z tym eventem ale jesli jest on wywolywany gdy sami zginiemy to co wtedy :?:

nie przypisuj danych z eventow do globalnych zmiennych jesli chcesz ich uzyc w innej funkcji bo po to sa wlasnie w funkcjach parametry i troche trudniejsza rzecz a mianowicie referencja


aha no i oczywiscie set_user_frags nie zmienia danych w tablicy musicie wyslac do silnika "wiadomosc" - message zeby to zmienic bo tak to efekt nie bedzie widoczny :D
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#5 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 09.05.2010 00:02

Można użyć hamsandwicha i na moment przed śmiercią zmienić team ofiary po czym zaraz zmienić go na poprzedni :>
I to nawet da fraga nie będą to mniejsze obrażenia (do teamu są mniejsze) i dostaniemy hajs :>
  • +
  • -
  • 1

#6 QTM. Peyote

    Wszechpomocny

  • Użytkownik

Reputacja: 1 010
Hero

  • Postów:330
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 10.05.2010 07:58

Tutaj według pomysłu Verticus'a:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>

#define PLUGIN "Bij Wszystkich"
#define VERSION "0.1"
#define AUTHOR "QTM_Peyote"

new bool: zmienione[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamage")
RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamagePost", 1)
}

public PlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
new victim_team = get_user_team(this)
if(victim_team == get_user_team(idattacker))
{
switch(victim_team)
{
case 1: cs_set_user_team(this, 2)
case 2: cs_set_user_team(this, 1)
}
zmienione[this] = true
}
}

public PlayerTakeDamagePost(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(zmienione[this])
{
switch(get_user_team(this))
{
case 1: cs_set_user_team(this, 2)
case 2: cs_set_user_team(this, 1)
}
zmienione[this] = false
}
}

public client_connect(id)
zmienione[id] = false


Można dodać tylko w Ham_Killed, ale wtedy obrażenia będą zmniejszone.

Użytkownik QTM_Peyote edytował ten post 10.05.2010 13:13

  • +
  • -
  • 0




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

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