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
 

Joke - zdjęcie

Joke

Rejestracja: 20.09.2009
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.10.2014 20:50
-----

#366405 zapis nickow do pliku

Napisane przez ImSpY w 18.02.2012 00:10

Czym edytujesz text? Notatnikiem? Jak otworzysz w notepad++ to będzie linia pod linią :D
  • +
  • -
  • 1


#365954 zapis nickow do pliku

Napisane przez Fili:P w 17.02.2012 15:56

petla lecisz po calym pliku
  • +
  • -
  • 1


#366052 zapis nickow do pliku

Napisane przez DarkGL w 17.02.2012 18:02

Dokumentacja AMXX.pl: Core >> file > read_file

masz tam przykład użycia

//Wypisuje w konsoli zawartość pliku cstrke/liblist.gam linia po linii

new szLine[32], iLen;
for(new i=0;read_file("liblist.gam", i, szLine, 31, iLen);i++){
	log_amx("%s", szLine);
}

  • +
  • -
  • 1


#365807 zapis nickow do pliku

Napisane przez ImSpY w 17.02.2012 10:38

Czyli tylko chcesz zapisać nicki do pliku?

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("zapisz_nicki", "zapis", ADMIN_BAN, "Zapis nickow do pliku")
}
public zapis(){
new gracze[32],ilosc,nick[33];
get_players(gracze,ilosc);
for(new i=0;i<ilosc;i++){
get_user_name(gracze[i],nick,32);
write_file("nicki.txt",nick);
}
}

To po wpisaniu w konsoli zapisz_nicki dopisze do pliku nicki.txt graczy aktualnie będących na serwerze.
Co do zapisywania tylko raz - wystarczy sprawdzić czy w pliku jest już taki nick - użyjesz read_file i equali / equal i zalatwione.
  • +
  • -
  • 2


#158784 Anty kusza

Napisane przez Siemir w 09.08.2010 22:28

Ofiara to raczej id a nie lid.
  • +
  • -
  • 1


#150841 Kusza problemy

Napisane przez Miczu w 11.07.2010 10:39

Dodaj może do:

public client_PreThink ( id )

na poczatek:

if(!is_user_alive(id)) return PLUGIN_CONTINUE


Powinno coś zmienić...
  • +
  • -
  • 1


#150283 Problem z naświetlaniem Ninji? Znak widoczności!

Napisane przez DioW w 08.07.2010 18:19

Witam,
Jest to mój 1 tutorial którego postanowiłem napisać gdyż sam miałem bardzo duży problem z rozwiązaniem tych problemów.
Mianowicie:
Po 1. Ninja po naświetleniu nie znika automatycznie, tylko musi wcisnąć "Q" albo zmienić nóż na nóż
Po 2. Znaczek widoczności ninji co bardzo polepsza grę!
Ten tutorial usuwa bląd 1 i dodaje 2
Dołączona grafika
To co u góry ale w kolorze pomarańczowym.


Zaczynamy!

Krok 1.
Znajdujemy linijkę:
if ((get_user_team(id)!=get_user_team(index1)) && (index1!=0))

I usuwamy wszysto pod aż do linijki
//Before freeze_ended check
lub(jeżeli nie ma @up)
if (((player_b_silent[id] > 0) || (player_class[id] == Zabojca)) && is_user_alive(id)) 


Krok 2.
Dodaj pod:
if ((get_user_team(id)!=get_user_team(index1)) && (index1!=0))

To:
{
if ((index1!=54) && (is_user_connected(index1))) set_user_rendering(index1,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
remove_task(TASK_FLASH_LIGHT+index1);
set_task(7.5, "un_rander",TASK_FLASH_LIGHT+index1)
//set_task(15.0,"un_rander",TASK_NAME,index1)
if(player_class[index1] == Ninja)
{
message_begin(MSG_ONE,g_msg_statusicon,{0,0,0},index1)
write_byte(2)
write_string("dmg_bio")
write_byte(255)
write_byte(0)
write_byte(0)
message_end()
}
}


Krok 3.
Usuwamy całą funkcję un_rander

Krok 4.
Dodaj na miejsce funkcji un_rander
public un_rander(task_id){
new id = task_id - TASK_FLASH_LIGHT
if(is_user_connected(id)){
if (player_class[id] == Ninja) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 15)
Display_Icon(id,0,"dmg_bio",255,0,0)
}
}


Efekt końcowy:
[...]
if ((get_user_team(id)!=get_user_team(index1)) && (index1!=0))
{
if ((index1!=54) && (is_user_connected(index1))) set_user_rendering(index1,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
remove_task(TASK_FLASH_LIGHT+index1);
set_task(7.5, "un_rander",TASK_FLASH_LIGHT+index1)
//set_task(15.0,"un_rander",TASK_NAME,index1)
if(player_class[index1] == Ninja)
{
message_begin(MSG_ONE,g_msg_statusicon,{0,0,0},index1)
write_byte(2)
write_string("dmg_bio")
write_byte(255)
write_byte(0)
write_byte(0)
message_end()
}
}


//Before freeze_ended check
if (((player_b_silent[id] > 0) || (player_class[id] == Zabojca)) && is_user_alive(id))
[...]


[...](0.5,"charge_hunter",attacker,parms,5)

public un_rander(task_id){
new id = task_id - TASK_FLASH_LIGHT
if(is_user_connected(id)){
if (player_class[id] == Ninja) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 15)
Display_Icon(id,0,"dmg_bio",255,0,0)
}
}

public client_PreThink ( id )
{
[...]



Ps. W efekcie końcowym dodałem kawałek kodu za dużo abyście zobaczyli w jakim miejscu i ile klamer ma mieć dokładnie funkcja

Jeżeli wpadła jakaś literówka lub jakiś byczek to proszę o poprawienie
  • +
  • -
  • 10


#149936 Kusza problemy

Napisane przez G[o]Q w 06.07.2010 22:09

w zasadzie jest tak jak mowilem bo bowdelay nie zmienia sie po trafieniu w sciane a po trafieniu w czlowieka zmienia sie wg wzroru

bowdelay[kid] -=  0.5 - floatround(player_intelligence[kid]/5.0)

pomoc powinna zamiana

bowdelay[kid] -=  0.5 - floatround(player_intelligence[kid]/5.0)

na

bowdelay[kid] -=  10.0 - floatround(player_intelligence[kid]/5.0)


ale nie sprawdzalem tego.

Jesli rzeczywiscie istota problemu tkwi w tym co opisalem to Miczu mial racje
  • +
  • -
  • 1


#149979 Kusza problemy

Napisane przez Miczu w 07.07.2010 10:01

Ja bym usunął to floatround, chyba to dałem by równoważyć siłę pojedynczego strzału... -= i - daje razem + wiec wydłuża czas/delay.
  • +
  • -
  • 1


#149338 HE nie zadający obrażeń rzucającemu

Napisane przez mgr inż. Pavulon w 04.07.2010 18:16

HE nie ranią drużyny - Nieoficjalny polski support AMX Mod X
+cvar:
mp_friendly_grenade_damage 1

  • +
  • -
  • 1


#146262 changerace

Napisane przez ZiuTeK w 22.06.2010 20:21

tylko tobie czy innym graczom tez ?
Jesli jestes nowym graczem i nie jestes zapisany w bazie to takie cos sie zdarza, trzeba czekac do zmiany mapy.
Proponuje zastosowac sie do poradnika z tego tematu. U mnie nowi gracze moga miec klase jeszcze na tej samej mapie na ktorej wejda a problemu z brakiem klasy dla pojedynczych osob nie zauwazylem.
Diablo /klasa - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 1


#145227 changerace

Napisane przez Miczu w 18.06.2010 22:34

Zmien taska by wywoływał inną funkcje a tam sprawdz czy już gracz wybrał klase, jesli nie, to dopiero daj tą funkcje (bez taska).
  • +
  • -
  • 1


#144973 Nekromanta

Napisane przez Rygiel12 w 18.06.2010 00:15

1.

change_health(attacker_id,1,0,"")

2. zmień na

change_health(attacker_id,1,3,"")


#144962 Leczenie

Napisane przez G[o]Q w 17.06.2010 22:22

ja go tylko instruuje ja bym to zrobil przy pomocy think-bota chociazby dla fun'u ale jak chcesz to masz
#include <amxmodx>
#include <fun>
public client_putinserver(id)
        set_task(10.0,"HP",id+123,_,_,"b")
public HP(id){
       id-=123 
       if(is_user_alive(id))
                set_user_health(id,get_user_health(id)+5)
}
public client_disconnect(id)
        if(task_exists(id+123)) remove_task(id+123)

  • +
  • -
  • 1


#144804 level klas

Napisane przez ZiuTeK w 17.06.2010 15:12

wejdz w phpmyadmin i usun dla jego nicka zdublowane klasy.
  • +
  • -
  • 1