Skocz do zawartości

[KOSZ] [CS 1.6] Wiadomosć o zabiciu


Rekomendowane odpowiedzi

Opublikowano

Spróbowałem napisać plugin który ma na celu wyświetlić wiadomość w hudmessage o zgonie gracza. Plugin mi się skompilował poprawni eale niewiem jak działa bo terazz niemam serwera więc proszę kogoś aby mi powiedział czy plugin dobrze napisany :)

 

 

#include <amxmodx>
#include <amxmisc>


#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Daniel"




public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "DeathMsg", "a")
}
public DeathMsg(id)
{
new name[33];
get_user_name(id, name, 31)
client_print(id, print_chat, "Gracz %s Zginal", name);
}
 

 

 

  • Karambit w plecy (-) 1
  • Właściciel
Opublikowano (edytowane)

Źle. Ty nawet podstaw nie znasz... ID te będzie zawsze przyjmowało wartość 0, więc nie pojawi się nigdy nick gracza, a jedynie serwera.

 

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Daniel"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("DeathMsg", "DeathMsg", "a")
}

public DeathMsg(){
	new kid = read_data(1);
	new vid = read_data(2);
	
	new name[32];
	get_user_name(vid, name, charsmax(name))
	
	if(is_user_connected(kid))
		client_print(kid, print_chat, "Gracz %s Zginal", name);
}

Edytowane przez Nesty
Poprawka
  • Właściciel
Opublikowano

A jak Ty sobie to wyobrażasz? Plugin musi sprawdzić przed pobraniem nicku czy gracz jest w ogóle podłączony. Nie trzeba sprawdzać czy jest żywy, ale czy podłączony. Ma niepodłączonego gracza podawać? Gdyby nie było to potrzebne, nie dawałbym Ci tego.

Opublikowano

1. Oglądając filmik na you tube z pawn było że ten warunek był tylko zabezpieczeniem przed bugiem.

2. Skoro się funkcja wykonuje na graczu to logiczne że jeśli się wykonuje to znaczy że jest podłączony. Oczywiśćie błędnie myślałem ale skąd miałem wiedzieć? Jakoś jak naprzykład jest plugin że po wpisaniu komendy gracz dostaje kase to się nie sprawdza jego połączenia z serwerem. Nie rozumiem tego. Ale ja chce w przyszłości być programistą albo coś z informatyką i za wszelką cenę musze się nauczyć pawn. Gdybym Cię znał na żywo gotó bym był zapłacić za nauke 

  • Ustrzel fraga! (+) 1
  • Właściciel
Opublikowano

Tzn. powiem tak, w tym przykładzie racja - nie trzeba rzeczywiście sprawdzać czy gracz jest podłączony przed pobraniem i przypisaniem do tablicy danego nicku. Źle powiedziałem, to prawda. Wynika to ze zmęczenia, bo dzisiaj miałem spory projekt do zrobienia dla kogoś. Wracając, jeśli nie pobierze nicku, to nie przypisze do tablicy i wyświetli się nazwa serwera po prostu. Nie będzie z tym problemu ;)

 

Matematyka tu odgrywa rolę. Jeśli logicznie nie potrafi się w tej dziedzinie obchodzić - można pomarzyć o byciu programistą. Tutaj trzeba zrozumieć i podam Ci kilka przykładów. Przy dodawaniu życia, musisz sprawdzić czy dana osoba, na której chcesz wykonać daną operację jest żywa. Bo może być podłączona, ale niekoniecznie żywa, więc jak podłączonemu nieżyjącemu byś mógł dać... życie? Spowodować mogłoby to problemy, w konsekwencji wyłożenie się serwera. Przed dodaniem pieniędzy, wystarczy sprawdzić czy gracz jest podłączony. Tak samo dodając fragi, nie trzeba sprawdzać czy żyje, wystarczy funkcja sprawdzenia czy gracz jest podłączony. Tutaj musisz pomyśleć logicznie, w jakiej operacji wykonywanej na graczy, potrzebne Ci będzie sprawdzenie czegoś. 

Opublikowano

ja poprostu chcę się nauczyć pawn. najprostsze pluginy typu /komenda i wykonanie funkcji jest proste i to umiem niestety inne pluginy nie wychodzą mi najlepiej. Chciałbym się nauczyć z jakiegoś poradnika taki jak np. na cpp0x.pl .Niestety nie znalazłem takich a takie które są to na pierwszej lekcji odrazu dają tablice i zmienne :(

  • Właściciel
Opublikowano

Bo nie uczy się najpierw pisać, tylko patrzy się na to jak inni robią. Poprawiać ich, szukać rozwiązania różne, stosować lepsze metody. Tylko przy tym trzeba patrzeć na dokumentację bibliotek, bo bez znajomości funkcji nic nie zrobisz.

Opublikowano

client_print(kid, print_chat, "Gracz %s Zginal", name)
 

 

indexem jest tu KID czyli zabójca. Czy oznacza to że wiadomość będzię się wyświetlała tylko zabójcy ?

Opublikowano

o jeju pytam sie normalnie, tak myśle że to index zabójcy ale się chce upewnić. I się chce upewnić czy jeśli dam index 0 to sie wszystkim będzie wyświetlało ?

Opublikowano

Ok Dzięki. Ja widocznie uczę się na błędach. Na amxx.pl jest generator vipa. Tam mogę się nauczyć wielu rzeczy. Nesty fajnie by było jakbyś nakrecił filmik o pisaniu pluginów ale wiem że niemasz czasu na takie sprawy więc szkdoa... :D

  • 3 lata później...
  • Właściciel
Opublikowano

Wiadomość została wygenerowana automatycznie.

 

Ten temat został oznaczony przez Moderatora jako spam i wyrzucony do -> archiwum.

Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności