Witam. Mam kilka pytań:
1. Chciałbym się dowiedzieć jak wykryć w TOP15 (statsx.amxx) 1, 2 i 3 miejsce? Lub czy istnieje już modyfikacja TOP15, która 1, 2 i 3 miejsca wyróżnia w TOP15. Jakoś nie mogłem tego znaleźć, być może źle szukałem.
2. Czy ktoś mógłby wypisać ciekawe sprite w cs lub cs:cz (bo można do CS 1.6 używać sprite, modele i mapy z CS:CZ). Mam na myśli, np. strzałki jakieś lub ciekawe linie.
3. Jaki event najlepiej użyć, aby pobrać zadane obrażenia drugiemu graczowi i tyle ile zadam tyle dostanę, np. pieniędzy?
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.
|
Guest Message by DevFuse
Kilka pytań - top15, sprite
Temat rozp.
Nenczoks
, 01.07.2012 12:00
6 odpowiedzi w tym temacie
#1
Napisano 01.07.2012 12:00
#2 Gość_21977_*
Napisano 01.07.2012 12:47
1. TOP15 jest podstawową komendą AMX MOD X i mieści się w pluginie statsx.amxx
Najłatwiej będzie Ci edytować funkcję format_top15() z pliku statsx.sma, ponownie skompilować i podmienić plik statsx.amxx.
Zalecam wykonać kopię bezpieczeństwa pliku statsx.amxx przed podmianą.
W pętli
Pamiętaj jednak, że top15, jako, że wyświetlane w TOP15, ma swoje ograniczenia dot. liczby znaków.
U mnie, bez wyróżniania, zmodyfikowany top15 wygląda tak:
3. Polecam Ci Ham_TakeDamage z z bilioteki ham_sandwich, koniecznie z ostatnim parametrem równym 1.
Najłatwiej będzie Ci edytować funkcję format_top15() z pliku statsx.sma, ponownie skompilować i podmienić plik statsx.amxx.
Zalecam wykonać kopię bezpieczeństwa pliku statsx.amxx przed podmianą.
W pętli
for(new i = 0; i < 15 && MAX_BUFFER_LENGTH - iLen > 0; i++)możesz dla i<3 dodać kod HTML, zmieniający kolor.
Pamiętaj jednak, że top15, jako, że wyświetlane w TOP15, ma swoje ograniczenia dot. liczby znaków.
U mnie, bez wyróżniania, zmodyfikowany top15 wygląda tak:
format_top15(sBuffer[MAX_BUFFER_LENGTH + 1])
{
new iMax = get_statsnum()
new izStats[8], izBody[8]
new iLen = 0
if (iMax > 15)
iMax = 15
new lEff[16], lAcc[16]
//format(lKills, 15, "%L", LANG_SERVER, "KILLS")
//format(lDeaths, 15, "%L", LANG_SERVER, "DEATHS")
//format(lHits, 15, "%L", LANG_SERVER, "HITS")
//format(lShots, 15, "%L", LANG_SERVER, "SHOTS")
//format(lEff, 15, "%L", LANG_SERVER, "EFF")
//format(lAcc, 15, "%L", LANG_SERVER, "ACC")
ucfirst(lEff)
ucfirst(lAcc)
//iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>")
//iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2s %-22.22s %6s %6s %6s %6s %4s %4s %4s^n", "#", "Nick", lKills, lDeaths, lHits, lShots, "HS", lEff, lAcc)
iLen = format( sBuffer, MAX_BUFFER_LENGTH,"<body bgcolor=#000000><font color=#FFB000><pre>" );
iLen += format( sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%5s %-25.25s %7s %9s %9s %8s %10s %3s %3s %2s^n^n"," #","Nick","Pkt =","Fragi -","Zgony","Uderz","Strzal","HS","Ef","Ce");
/*for (new i = 0; i < iMax && MAX_BUFFER_LENGTH - iLen > 0; i++)
{
get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH)
replace_all(t_sName, MAX_NAME_LENGTH, "<", "[")
replace_all(t_sName, MAX_NAME_LENGTH, ">", "]")
iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS],
izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats))
}*/
new iOldLen = 0;
for(new i = 0; i < 15 && MAX_BUFFER_LENGTH - iLen > 0; i++)
{
new check = get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH);
if ( check == 0 )
return;
iOldLen = iLen;
iLen += format( sBuffer[iLen], MAX_BUFFER_LENGTH - iLen,
"%6d %-22.22s %6d %9d %9d %9d %9d %6d %3d %3d^n", i+1, t_sName,
izStats[STATS_KILLS]-izStats[STATS_DEATHS], izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS],
izStats[STATS_SHOTS], izStats[STATS_HS], floatround(effec(izStats)), floatround(accuracy(izStats)));
while(MAX_BUFFER_LENGTH-iLen > 2 && replace(sBuffer[iOldLen], MAX_BUFFER_LENGTH-iOldLen, "<", "<")) {
iLen += 3;
}
}
}
3. Polecam Ci Ham_TakeDamage z z bilioteki ham_sandwich, koniecznie z ostatnim parametrem równym 1.
#3 Gość_21977_*
Napisano 01.07.2012 12:48
Automatyczna wiadomość
Ten temat został przeniesiony z forum
AMX Mod X → Pytania
do
Scripting AMXX → Pytania
Ten temat został przeniesiony z forum
AMX Mod X → Pytania
do
Scripting AMXX → Pytania
#4
Napisano 01.07.2012 15:44
If you can dream it, you can do it.
#5
Napisano 01.07.2012 17:07
O to mi chodziło speedkill z tym 1. A ma ktoś ciekawe sprite? Np. szlaczki za graczem (nazwy)?
#6 Gość_21977_*
Napisano 01.07.2012 18:23
Tutaj masz małą listę sprite`ów wraz z obrazkami. Zamień końcówkę z .bmp na .spr, aby używać wybranego sprite`a.
Tutaj z kolei masz większą listę sprite`ów, lecz bez obrazków. Być może na coś lista Ci się przyda.
Do szlaczków za graczem polecam sprites/steam1.spr
Tutaj z kolei masz większą listę sprite`ów, lecz bez obrazków. Być może na coś lista Ci się przyda.
Do szlaczków za graczem polecam sprites/steam1.spr
#7
Napisano 02.07.2012 08:39
Możesz użyć forwardu client_damage z csx. http://amxx.pl/dokum...3/client-damage3. Jaki event najlepiej użyć, aby pobrać zadane obrażenia drugiemu graczowi i tyle ile zadam tyle dostanę, np. pieniędzy?
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych