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
Nowy Plugin

[Plugin] Interp

Nowy Plugin

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

#1 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 05.02.2010 19:40

Witajcie.
Jestem nowym użytkownikiem forum. Zacząłem się bawić w skryptowanie kilka dni temu.
Ale do rzeczy. Chciałbym się spytać, czy mój styl pisania kodu jest ok, czy dobrze stosuje tabulatory itp. (póki nie ma nawyku). Zamieszcze mój przykładowy prosty skrypt. Powiedzcie mi, czy wszystko w nim jest ok. Plugin ma rzecz jasna co 10s ustawiać u wszystkich graczy interp na 0.01.
#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
	set_task(10.0, "interp")
}
public interp()
{
	client_cmd(0, "ex_interp 0.01")
}

  • +
  • -
  • 0
-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

#2 kubus

    Wszechwidzący

  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:284
  • GG:
  • Lokalizacja:Rzeszów
Offline

Napisano 05.02.2010 19:46

Dobrze, tylko troszeczke za zwięźle, weź to sobie ładniej rozmieszczaj bo będzie Ci lepiej i w razie problemu łatwiej.

Przykład:
#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
	set_task(10.0, "interp")
}

public interp()
{
	client_cmd(0, "ex_interp 0.01")
}

  • +
  • -
  • 1

#3 Owner123

    Wszechpomocny

  • Użytkownik

Reputacja: 146
Zaawansowany

  • Postów:331
  • Lokalizacja:Barty ;]
Offline

Napisano 05.02.2010 19:48

ex_interp 0.01 zostanie ustawiony jednorazowo w twoim kodzie.
Mozesz zrobic tak jak masz i wtedy po client_cmd robisz kolejnego taska żeby się zapętliło.
Co do tabulatorów nie mam zastrzeżeń.
  • +
  • -
  • 0

#4 sbstn

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 05.02.2010 19:48

Ok. Czyli więcej przestrzeni między blokami kodu? (Tak jak napisałeś). A plugin dobry jest? ;)

EDIT: Nie widziałem jeszcze odp Owner123. Ok. Teraz dobrze?:
#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
	set_task(10.0, "interp")
}

public interp()
{
	client_cmd(0, "ex_interp 0.01")
         set_task(10.0, "interp")
}

Użytkownik sbstn edytował ten post 05.02.2010 19:55

  • +
  • -
  • 0
-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

#5 Owner123

    Wszechpomocny

  • Użytkownik

Reputacja: 146
Zaawansowany

  • Postów:331
  • Lokalizacja:Barty ;]
Offline

Napisano 05.02.2010 19:49

Plugin dobry ogółem ale tak jak powiedziałem, otrzymałeś nie zamierzony efekt.
Oraz na twoje pytanie odpowiadam tak ;]
Polecam również pisać w AMXX Studio, automatyczny tabulator, podpowiedzi co do kodu itd. naprawdę przydatne narzędzie :]

Użytkownik Owner123 edytował ten post 05.02.2010 19:51

  • +
  • -
  • 0

#6 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 05.02.2010 20:10

Może to ci się przyda: Nieoficjalny polski support AMX Mod X -> Dokumentacja :: AMXX > Core > amxmodx >> set_task
Bo aktualnie task wykona się po 10sek po starcie mapy i na tym koniec.
  • +
  • -
  • 0

#7 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 05.02.2010 20:13

Optymalnej będzie to zrobić na tzw. evencie - Eventy - Nieoficjalny polski support AMX Mod X

W tym wypadku:

#include <amxmodx>

public client_putinserver(id){
 client_cmd(id, "ex_interp 0.01")
}
Przechwytuje ID gracza który wchodzi na serwer i wykonuję na nim komendę. Nie możesz "ręcznie" określać ID w przypadku wymuszania komend na graczach bo do niczego to nie doprowadzi.

@Łedit...
Proszę mnie skarcić za wprowadzanie ludzi w błąd :(

Usunąłem niezbyt trafną uwagę.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#8 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 05.02.2010 20:17

Wszyscy chwalą a ja się przyczepie :)

client_cmd(id, komenda)
W twoim przypadku ID = 0, komenda zostanie wykonana więc nie na graczu, lecz na serwerze. Optymalnej będzie to zrobić na tzw. evencie - Eventy - Nieoficjalny polski support AMX Mod X

W tym wypadku:

#include <amxmodx>

public client_putinserver(id){
 client_cmd(id, "ex_interp 0.01")
}
Przechwytuje ID gracza który wchodzi na serwer i wykonuję na nim komendę. Nie możesz "ręcznie" określać ID w przypadku wymuszania komend na graczach bo do niczego to nie doprowadzi.




Portuśśśś....
AMX Mod X - Half-Life Scripting for Pros!

Index is a player index from 1 to 32. A zero index executes a command on all players.


Nieoficjalny polski support AMX Mod X -> Dokumentacja :: AMXX > Core > amxmodx >> client_cmd
  • +
  • -
  • 0

#9 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 05.02.2010 20:27

Pavulon, minusa mu za mylenie nam drogich (w utrzymaniu) użytkowników :F
  • +
  • -
  • 0

#10 sbstn

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 05.02.2010 20:31

To teraz to do obróbki :) :

#include <amxmodx>
#include <amxmisc>

public client_putinserver(id)
{
	set_task(10.0, "interp", <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
}

public interp()
{
	client_cmd(id, "ex_interp 0.01")
         set_task(10.0, "interp", <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
}


EDIT: Teraz k.o?

Użytkownik sbstn edytował ten post 05.02.2010 20:40

  • +
  • -
  • 0
-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

#11 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 05.02.2010 20:35

Set_task nie ma flag f,l,g,s,[,],= ... poza tym przez 3x " raczej by sie nie skompilowalo... ja bym dal samo "b" jako flaga taska :F
  • +
  • -
  • 0

#12 sbstn

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 05.02.2010 20:46

A jakbym zrobił tak, to wszystko by działało? :

#include <amxmodx>
#include <amxmisc>

public plugin_putinserver(id) 
{
	set_task(10.0, "interp", "b")
}

public interp()
{
	client_cmd(id, "ex_interp 0.01")
}

  • +
  • -
  • 0
-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

#13 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 05.02.2010 21:24

plugin_putinserver(id)

:o

Prawdopodobnie chodziło ci o :
#include <amxmodx>

public plugin_init() {
register_plugin("interp", "0.1", "amxx.pl")
set_task(10.0, "interp", _, _, _, "b")
}
public interp()
{
client_cmd(id, "ex_interp 0.01")
}

  • +
  • -
  • 0

#14 sbstn

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 05.02.2010 21:29

Optymalnej będzie to zrobić na tzw. evencie - Eventy - Nieoficjalny polski support AMX Mod X

W tym wypadku:

#include <amxmodx>

public client_putinserver(id){
 client_cmd(id, "ex_interp 0.01")
}
Przechwytuje ID gracza który wchodzi na serwer i wykonuję na nim komendę. Nie możesz "ręcznie" określać ID w przypadku wymuszania komend na graczach bo do niczego to nie doprowadzi.

@Łedit...
Proszę mnie skarcić za wprowadzanie ludzi w błąd :(

Usunąłem niezbyt trafną uwagę.



Ok. Pokierowałem się Twoją uwagą... Plugin ma co 10s sprawdzać czy wszystkie interpy są na 0.01.
  • +
  • -
  • 0
-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

#15 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

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

Napisano 05.02.2010 21:42

@Up ten plugin będzie wymuszał, jednak nie zawsze będzie ustawiał dobry interp z racji że zależy on od cl_updaterate
  • +
  • -
  • 0

#16 sbstn

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 05.02.2010 21:48

No to teraz mam nadzieję, że wszystko OK.

#include <amxmodx>
#include <amxmisc>

public plugin_init() 
{
	set_task(10.0, "interp", "b")
}

public interp()
{
	client_cmd(id, "ex_interp 0.01")
	server_cmd("wait")
	client_cmd(id, "cl_udpaterate 101")
}

  • +
  • -
  • 0
-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

#17 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 05.02.2010 22:05

W moich oczach sie nie kompiluje, bo nie podale co to jest id :F

Daj 0 i bedzie spoko.
  • +
  • -
  • 0

#18 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 05.02.2010 23:41

a czy task nie ma przed flaga kilku innych parametrow??
  • +
  • -
  • 0
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

#19 sbstn

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 06.02.2010 11:13

Składnia:
set_task ( Float:time, const function[], id = 0, parameter[]="", len = 0, flags[]="", repeat = 0 )

Źródło: AMXX.pl

Po id=0, jest parameter (określa jakie dodatkowe argumenty mają zostać przesłane do funkcji ), a potem jest len (Tablica znakowa). Jeżeli się mylę, to mnie poprawcie..

Ostateczna wersja:
#include <amxmodx>
#include <amxmisc>

public plugin_init() 
{
	set_task(10.0, "interp", "b")
}

public interp()
{
	client_cmd(0, "ex_interp 0.01")
	server_cmd("wait")
	client_cmd(0, "cl_udpaterate 101")
}

Użytkownik sbstn edytował ten post 06.02.2010 13:23

  • +
  • -
  • 0
-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

#20 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 06.02.2010 11:35

set_task ( Float:time, const function[], id = 0, parameter[]="", len = 0, flags[]="", repeat = 0 )

set_task ( Czas, uruchamiana_funkcja, id_taska, opcjonalny_parametr, rozmiar_parametru, flagi, ilosc_powtorzen)

więc potrzebujesz:
set_task(10.0, "interp", _, _, _, "b")


Poza tym, tu:

client_cmd(id, "ex_interp 0.01")

korzystasz z niezadeklarowanej zmiennej id. daj w jej miejsce 0:
client_cmd(0, "ex_interp 0.01")

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Nowy Plugin

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

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