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

set_task zwiększanie zmiennej


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
13 odpowiedzi w tym temacie

#1 Automatyk

    Profesjonalista

  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 13.04.2018 12:26

Witam. Piszę z pewnym problemem ponieważ niewiem w jaki sposób mam w komendzie set_task zwiększać zdefiniowaną wcześniej zmienną. Konkretnie chodzi o to żeby zdefiniować zmienną na początku rundy która w set_tasku będzie się zwiększała co sekunde oraz sprawdzać przy tym wszystkim czy cele zostały otwarte, potrafi mi ktoś pomóc? Mój obecny kod prezentuje się następująco :

/* Plugin generated by AMXX-Studio */
#if defined _jailbreak_included
  #endinput
#endif
#define _jailbreak_included
#include <amxmodx>
#include <amxmisc>
#include <jailbreak>

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

#define stala_czasu 25

native jail_open_cele();


public plugin_init() 
{
	register_plugin("xxx","1.0","xxx")
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start") 
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
}

public Poczatek_Rundy()
{
	set_task(30.0,"OtwarcieCeli");
	
}

public OtwarcieCeli()
{
	
	jail_open_cele();
	client_print(0, print_chat,"cele otwarrte");
}

Użytkownik misiakool12 edytował ten post 13.04.2018 12:30

  • +
  • -
  • 0

#2 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 13.04.2018 13:22

/* Plugin generated by AMXX-Studio */
#if defined _jailbreak_included
#endinput
#endif
#define _jailbreak_included
#include <amxmodx>
#include <amxmisc>
#include <jailbreak>

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

#define stala_czasu 25

native jail_open_cele();

new jakas_zmienna;

public plugin_init() 
{
    register_plugin("xxx","1.0","xxx")
    register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
    register_plugin(PLUGIN, VERSION, AUTHOR)

    set_task(1.0, "twoja_fukncja",_,_,_,"b") // wywoluje sie non stop co 1 sekunde
    
}

public Poczatek_Rundy()
{
    jakas_zmienna=1 // zamiast 1 dajesz swoją wartość
    set_task(30.0,"OtwarcieCeli"); 
    
}

public OtwarcieCeli()
{
    
    jail_open_cele();
    client_print(0, print_chat,"cele otwarrte");
}

public twoja_funkcja()
{
    jakas_zmienna++ // zwieksza zmienna o 1
    // lub
    jakas_zmienna += 3 // do obecnej wartosci zmiennej "jakas_zmienna" dodaje 3

    if(jail_open_cele())
           colorchat(id, GREEN, "Cele sa otwarte");

    //lub
    
    if(!jail_open_cele())
          colorchat(id, GREEN, "Cele sa zamkniete");
}

Chyba niczego nie pomyliłem bo na szybkiego Ci to piszę żebyś po prostu zrozumiał w jaki sposób to zrobić


Użytkownik Toldi edytował ten post 13.04.2018 13:23

  • +
  • -
  • 0

#3 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 13.04.2018 13:49

Zrozumiałem "conieco" lecz ciągle coś z tym kodem jest nie tak bo nie działa jak należy :/ Konkretnie próbuje napisać plugin który właśnie po upłynięciu np. 30 sekund i jeśli po tym czasie prowadzący nie otworzy cel to cele się same otwierają i gracze mają FreeDaya. Jednak wychodzi mi to z marnym skutkiem :/

Użytkownik misiakool12 edytował ten post 13.04.2018 13:55

  • +
  • -
  • 0

#4 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 13.04.2018 15:18

Co w tym kodzie jest nie tak że to w ogóle nawet nie działa? :/

//* Plugin generated by AMXX-Studio */
#if defined _jailbreak_included
#endinput
#endif
#define _jailbreak_included
#include <amxmodx>
#include <amxmisc>
#include <jailbreak>
#include <colorchat> 

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

#define STALA_CZASU 25

native jail_open_cele();

new jakas_zmienna;

public plugin_init() 
{
    register_plugin("xxx","1.0","xxx")
    register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
    register_plugin(PLUGIN, VERSION, AUTHOR)

    set_task(1.0, "funkcja",_,_,_,"b") 
}

public Poczatek_Rundy()
{
    jakas_zmienna=0 
     
    
}

public funkcja()
{
    jakas_zmienna++ 
    
    if(jakas_zmienna==STALA_CZASU)
    {
    	jail_open_cele();
          ColorChat(0, GREEN, "Cele zostaly otwarte");
    }
	  }

Użytkownik misiakool12 edytował ten post 13.04.2018 15:18

  • +
  • -
  • 0

#5 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 13.04.2018 16:14

 

Co w tym kodzie jest nie tak że to w ogóle nawet nie działa? :/

//* Plugin generated by AMXX-Studio */
#if defined _jailbreak_included
#endinput
#endif
#define _jailbreak_included
#include <amxmodx>
#include <amxmisc>
#include <jailbreak>
#include <colorchat> 

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

#define STALA_CZASU 25

native jail_open_cele();

new jakas_zmienna;

public plugin_init() 
{
    register_plugin("xxx","1.0","xxx")
    register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
    register_plugin(PLUGIN, VERSION, AUTHOR)

    set_task(1.0, "funkcja",_,_,_,"b") 
}

public Poczatek_Rundy()
{
    jakas_zmienna=0 
     
    
}

public funkcja()
{
    jakas_zmienna++ 
    
    if(jakas_zmienna==STALA_CZASU)
    {
    	jail_open_cele();
          ColorChat(0, GREEN, "Cele zostaly otwarte");
    }
	  }

 

 

Czysto w teorii mógłbyś zrobić to tak:

 

Spoiler

 

Ale nie rozumiem dlaczego nie chcesz tego zrobić tak:

 

Spoiler

  • +
  • -
  • 2

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#6 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 13.04.2018 16:24

Dzięki Ci wielkie! A mógłbyś mi powiedzieć jaki natyw zrobić aby dodać do tego pluginu automatyczne ustawienie dnia na FreeDay właśnie po otwarciu się cel ? I jeszcze jedno pytanie : czy ustawienie wartości stałej TASK_CELE 6666 było celowe czy to tylko przypadkowe liczby?

 

Użytkownik misiakool12 edytował ten post 13.04.2018 16:25

  • +
  • -
  • 0

#7 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 13.04.2018 16:26

Jest już plugin, który otwiera cele po 30s jeżeli oczywiście nie otworzy prowadzący. Wtedy tylko dopisz w funkcji, która otwiera cele forward, który wywoła freeday. Weź go sobie z zabawy freeday.

 

@edit: Możesz też dać 555. Ważne, aby żaden inny task nie miał takiego samego ID (555).


Użytkownik Toldi edytował ten post 13.04.2018 16:27

  • +
  • -
  • 0

#8 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 13.04.2018 16:31

Dzięki Ci wielkie! A mógłbyś mi powiedzieć jaki natyw zrobić aby dodać do tego pluginu automatyczne ustawienie dnia na FreeDay właśnie po otwarciu się cel ? I jeszcze jedno pytanie : czy ustawienie wartości stałej TASK_CELE 6666 było celowe czy to tylko przypadkowe liczby?

6666 to index taska, właśnie zauważyłem, że w set_task w ogóle go nie wrzuciłem ^.-

https://amxx.pl/doku...a/f120/set-task


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#9 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 13.04.2018 16:33

 

6666 to index taska, właśnie zauważyłem, że w set_task w ogóle go nie wrzuciłem ^.-

https://amxx.pl/doku...a/f120/set-task

 

Korzystałem już z tej dokumentacji aczkolwiek ciężko mi zrozumieć działanie :D a odnośnie automatycznego włączenia się FreeDay'a po upływie czasu ustalonego w kodzie - mógłbym liczyć na Twoją pomoc? Wiem , że powinienem użyć forwardu aczkolwiek jestem dopiero początkujący w języku PAWN i nie mogę tego jeszcze zrozumieć :)


  • +
  • -
  • 0

#10 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 15.04.2018 10:16

@ ref , pomoże ktoś? Nie potrafię wykonać tego pluginu..


  • +
  • -
  • 0

#11 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 16.04.2018 08:40

@ ref , pomoże ktoś? Nie potrafię wykonać tego pluginu..

 

Pokaż wycinek kodu (najlepiej cały public) otwierania cel z silnika, tak będzie łatwiej niż dorabiać osobny plugin


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#12 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 16.04.2018 10:42

Pokaż wycinek kodu (najlepiej cały public) otwierania cel z silnika, tak będzie łatwiej niż dorabiać osobny plugin

public OtworzCele(){	for(new i=0; i<sizeof(g_Buttons); i++)	{		if(!pev_valid(g_Buttons[i]) || !g_Buttons[i])		continue;		ExecuteHam(Ham_Use, g_Buttons[i], 0, 0, 2, 1.0);	}}

Jest to silnik od cypisa.

Użytkownik misiakool12 edytował ten post 16.04.2018 11:11

  • +
  • -
  • 0

#13 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 17.04.2018 18:59

@ref
  • +
  • -
  • 0

#14 Automatyk

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:195
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 01.05.2018 21:06

@ ref ?
  • +
  • -
  • 0




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

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