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

Zadane obrażenia (funkcja /me)


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

#1 KaRaMusTaFax

    Nowy

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:5
Offline

Napisano 01.12.2010 18:52

Witam, mam prośbę do Was, abyście zmodyfikowali plugin tak, aby działał poprawnie:
#include < amxmodx >
#include < hamsandwich >

new Float:Damage[33];
new Float:Xdamage[33];

new g_playersnum;

new const PLUGIN_VERSION[] = "1.0";


public plugin_init() {
register_plugin("My Damage", PLUGIN_VERSION, "Ortega");

register_event( "HLTV", "NewRound", "a", "1=0", "2=0" );
register_logevent( "EndRound", 2, "1=Round_End" );

RegisterHam(Ham_TakeDamage, "player", "ForwardPlayerDmg", 1);

register_clcmd("say /me", "HookSay");
}

public ForwardPlayerDmg(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits) {

Damage[iAttacker] += fDamage;
floatround(Damage[iAttacker], floatround_floor);
}

public HookSay(id) {
if(Damage[id]) {
client_print(id, print_chat, "Zadales dotychczas %d obrazen.", Damage[id]);
}
else client_print(id, print_chat, "na razie nie zadales obrazen przeciwnikowi.");

return PLUGIN_HANDLED;
}

public NewRound() {
for(new id = 0; id<33; id++) {
Damage[id] = 0.0;
Xdamage[id] = 0.0;
}

g_playersnum = get_playersnum();
}

public EndRound( ) {

new k = 0; while( Damage[k] == Xdamage[k] ) k++;

SortFloats(Xdamage[k], 33, Sort_Descending);

for(new i = 0; i<33; i++) {

static szName[32];
get_user_name(i, szName, sizeof(szName)-1);

floatround(Xdamage[i], floatround_floor);

if( ( Xdamage[0] == Damage[i] ) && g_playersnum > 1 ) {
client_print(0, print_chat, "Najwiecej obrazen zadal %s (%d obrazen!).", szName[i], Xdamage[0] );
break;
}
}
}


Plugin wziąłem z: Funkcja /me i najwiecej DMG pod koniec rundy - Nieoficjalny polski support AMX Mod X

Pozdrawiam.
  • +
  • -
  • 0

#2 ;((

    Super Hero

  • Użytkownik

Reputacja: 347
Wszechpomocny

  • Postów:1 157
  • Lokalizacja:Aha
Offline

Napisano 01.12.2010 18:57

A co nie działa?
  • +
  • -
  • 0

#3 KaRaMusTaFax

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:5
Offline

Napisano 01.12.2010 18:58

Najwiecej obrazen zadal [email protected] (0 obrazen!).
Lame killed twoja stara klaszcze za dolara with awp
Zadales dotychczas 1113063424 obrazen.


Dalej cos nie tak ^^

<-- to ;)
  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 01.12.2010 19:13

client_print(id, print_chat, "Zadales dotychczas %d obrazen.", Damage[id]);
na
client_print(id, print_chat, "Zadales dotychczas %d obrazen.", floatround(Damage[id]));


public EndRound( ) {
     
        for(new i = 0;i<33;i++){
                  Xdamage[i] = Damage[i];
       }
        SortFloats(Xdamage, 33, Sort_Descending);
        
        for(new i = 0; i<33; i++) {
                if(!is_user_alive(i)){
                                       continue;
               }
                static szName[32];
                get_user_name(i, szName, sizeof(szName)-1);
                
                floatround(Xdamage[i], floatround_floor);
                
                if( ( Xdamage[0] == Damage[i] ) && g_playersnum > 1 ) {
                        client_print(0, print_chat, "Najwiecej obrazen zadal %s (%d obrazen!).", szName, floatround(Xdamage[0]) );
                        break;
                }
        }
}

  • +
  • -
  • 1

#5 KaRaMusTaFax

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:5
Offline

Napisano 01.12.2010 22:19

Działać działa, lecz nie zawsze pokazuje pod koniec rundy kto najwięcej obrażeń zadał. Jaka jest tego przyczyna ?
Masz już Plusa :)
Pozdrawiam.
  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 02.12.2010 00:12


public EndRound( ) {

     

        for(new i = 0;i<33;i++){

                  Xdamage[i] = Damage[i];

       }

        SortFloats(Xdamage, 33, Sort_Descending);

        

        for(new i = 0; i<33; i++) {

                if(!is_user_connected(i)){

                                       continue;

               }

                static szName[32];

                get_user_name(i, szName, sizeof(szName)-1);

                

                floatround(Xdamage[i], floatround_floor);

                

                if( ( Xdamage[0] == Damage[i] ) && g_playersnum > 1 ) {

                        client_print(0, print_chat, "Najwiecej obrazen zadal %s (%d obrazen!).", szName, floatround(Xdamage[0]) );

                        break;

                }

        }

}

  • +
  • -
  • 0

#7 KaRaMusTaFax

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: -1
Nowy

  • Postów:5
Offline

Napisano 02.12.2010 13:14

Działa, dzięki ;)
  • +
  • -
  • 0




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

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