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
 

Toldi - zdjęcie

Toldi

Rejestracja: 27.11.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 09.02.2024 19:01
-----

#774611 jailbreak_api

Napisane przez Toldi w 16.08.2022 17:34

To tak jak byś napisał prace do szkoły a niej wgrał jej na pena.

Zmian dokonujesz w .sma ale żeby serwer zauważył te zmiany to trzeba przekompilować z formatu .sma na .amxx i dopiero ten plik wgrać na ftp serwera do folderu plugins.


  • +
  • -
  • 1


#774364 EXP dla gracza jeśli padnie, a nie zabije

Napisane przez Toldi w 07.07.2022 19:42

Nie masz czasem jakiegos pluginu od ukrywania lub blokowania komend??


  • +
  • -
  • 1


#774361 EXP dla gracza jeśli padnie, a nie zabije

Napisane przez Toldi w 07.07.2022 19:33

 


Nie działa ani jedno ani drugie 

 

W amxx list plugin jako odpalony, przy testowaniu ani nie dodaje expa, ani brak informacji o tym ze mogłoby dodać.

 

Cóż ta pierwsza wersja nie rozni sie prawie niczym od wersji Toldiego.. Sprawdz w jednym i drugim czy po wywaleniu warunku if(info == 1 && cod_get_user_level(i) < poziom) będzie poprawnie działać.

 

 

Przeanalizuj dokładnie  warunki to znajdziesz błąd.

 

 

 

Dziwne bo nic nie wyskakuje, pomimo ze zmienione.

Być może koliduje z jakimś pluginem. Dodaj plugin na sama gore plugins.ini i sprawdź ewentualnie potem na sam dół.


  • +
  • -
  • 1


#774355 EXP dla gracza jeśli padnie, a nie zabije

Napisane przez Toldi w 07.07.2022 18:08

To dziwne bo mi zawsze takie blokowanie komend działało. Wpisujesz w konsole kill i mimo to giniesz? Coś jeszcze wyświetla się w konsoli?

 

Spróbuj tego ale to jest to samo

public BlockCommand(){
	return PLUGIN_HANDLED;
}

  • +
  • -
  • 1


#774353 EXP dla gracza jeśli padnie, a nie zabije

Napisane przez Toldi w 07.07.2022 16:45

Nie testowane.

#include <amxmodx>
#include <fakemeta>
#include <ColorChat>
#include <codmod>

new xp, lvl, status;
new bool:Frag[33];

public plugin_init() 
{
	register_plugin("[COD] XP za smierc", "1.0", "Mi@po")
	
	register_event("DeathMsg", "DeathMsg", "ade");
	register_logevent("RoundEnd", 2, "1=Round_End")
	register_clcmd("kill", "BlockCommand"); // blokuje komende kill
	
	xp = register_cvar("cod_xpzasmierc", "10");
	lvl = register_cvar("cod_xpzasmierc_odlvl", "10");
	status = register_cvar("cod_xpzasmierc_status", "2");
}

public BlockCommand()
	return PLUGIN_HANDLED;

public RoundEnd()
{
	new reward = get_pcvar_num(xp);
	
	for(new i = 1; i <= 32; i++)
	{
		if(!is_user_connected(i))
			continue;
		
		if(!Frag[i])
		{
			cod_set_user_xp(i, cod_get_user_xp(i) + reward); // daj exp gdy nikogo nie zabil
			ColorChat(i, GREEN, "[COD:MW]^1 Dostales^4 %d XP^1 za smierc nie zabijajac przy tym nikogo!", reward);
		}
		else	Frag[i] = false; // potrzebne zeby w nastepnej rundzie mogl dostac exp za brak fragow.
		
	}
}
	
public DeathMsg()
{
	new kid = read_data(1);
	new vid = read_data(2);
	
	if(!is_user_connected(kid) || kid == vid)
		return PLUGIN_CONTINUE;
	
	Frag[kid] = true;
	
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1


#774256 [KOSZ] Czy dobrze zrobiłem

Napisane przez Toldi w 25.06.2022 15:55

Witam edytowałem sobie plugin od grawitacji z tego tematu: https://amxx.pl/topi...em-low-gravity/dodałem możliwość zakupu w następnej rundzie, bo wcześniej nie można było kupować ani po wzięciu antidotum, jeżeli kupiliśmy przed zarażeniem, a potem wzięliśmy anti i znowu chcieliśmy kupić, to pisało że już kupiliśmy.. 
Mam takie pytanie, czy to jest dobrze zrobione ? Mógłby ktoś zerknąć ? xD

Źle.


  • +
  • -
  • 1


#774027 Natyw

Napisane przez Toldi w 28.05.2022 16:22

 

 

Tu masz tylko natyw sprawdzający czy włączone czy nie, żeby wyłączać musisz zrobić forward do public m

A no i masz błąd, mówisz że skiny dla vipa, przy wyłączaniu sprawdza flagę ale przy autoryzacji nie więc każdy ma skiny

Jaki forward??

 

Zrób tak w silniku:

public plugin_natives()
{
	register_native("get_user_status_models", "_zwroc_status_modeli_gracza", 1);
	register_native("set_user_status_models", "_ustaw_status_modeli_gracza", 1);
}

public bool:_zwroc_status_modeli_gracza(index)
	return modele[index] ? true : false;

public _ustaw_status_modeli_gracza(index, bool:wartosc)
{
	modele[index]=wartosc;
	return 1;
} 

A tu przykładowy plugin pisany na szybko (i nie testowany) dla objaśnienia działania:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

native get_user_status_models(index);
native set_user_status_models(index, bool:wartosc);

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /menu", "MenuModeli");
}

public MenuModeli(id)
{
	new menu = menu_create("Menu Modeli", "_MenuModeli");
	
	new nazwa[64];
	formatex(nazwa, charsmax(nazwa), "Modele: %s", get_user_status_models(id) ? "\yWlaczone" : "\rWylaczone");
	
	menu_additem(menu, nazwa);
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
	menu_display(id, menu);
	
	return PLUGIN_CONTINUE;
} 

public _MenuModeli(id, menu ,item)
{
	if(!is_user_connected(id))
		return PLUGIN_CONTINUE;
		
	if(item == MENU_EXIT)
	{		
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(get_user_status_models(id))
		set_user_status_models(id, false); // Mam włączone modele wiec je teraz wyłączam
	else
		set_user_status_models(id, true); // A teraz włączam

	client_print(id, print_chat, "Modele: %s", get_user_status_models(id) ? "Wlaczone" : "Wylaczone");
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

 

Po co se zycie utrudniasz  i przedluzasz id na index

 

Miałem nie odpisywać bo nic ten post nie wniesie do tego tematu ale co tam lubię życie na krawędzi. Odpowiedź to: lubię mieć w życiu pod górkę.


  • +
  • -
  • 2


#774013 Natyw

Napisane przez Toldi w 27.05.2022 16:04

Tu masz tylko natyw sprawdzający czy włączone czy nie, żeby wyłączać musisz zrobić forward do public m

A no i masz błąd, mówisz że skiny dla vipa, przy wyłączaniu sprawdza flagę ale przy autoryzacji nie więc każdy ma skiny

Jaki forward??

 

Zrób tak w silniku:

public plugin_natives()
{
	register_native("get_user_status_models", "_zwroc_status_modeli_gracza", 1);
	register_native("set_user_status_models", "_ustaw_status_modeli_gracza", 1);
}

public bool:_zwroc_status_modeli_gracza(index)
	return modele[index] ? true : false;

public _ustaw_status_modeli_gracza(index, bool:wartosc)
{
	modele[index]=wartosc;
	return 1;
} 

A tu przykładowy plugin pisany na szybko (i nie testowany) dla objaśnienia działania:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

native get_user_status_models(index);
native set_user_status_models(index, bool:wartosc);

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /menu", "MenuModeli");
}

public MenuModeli(id)
{
	new menu = menu_create("Menu Modeli", "_MenuModeli");
	
	new nazwa[64];
	formatex(nazwa, charsmax(nazwa), "Modele: %s", get_user_status_models(id) ? "\yWlaczone" : "\rWylaczone");
	
	menu_additem(menu, nazwa);
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
	menu_display(id, menu);
	
	return PLUGIN_CONTINUE;
} 

public _MenuModeli(id, menu ,item)
{
	if(!is_user_connected(id))
		return PLUGIN_CONTINUE;
		
	if(item == MENU_EXIT)
	{		
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(get_user_status_models(id))
		set_user_status_models(id, false); // Mam włączone modele wiec je teraz wyłączam
	else
		set_user_status_models(id, true); // A teraz włączam

	client_print(id, print_chat, "Modele: %s", get_user_status_models(id) ? "Wlaczone" : "Wylaczone");
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1


#773783 [ROZWIĄZANE] [join_leave] Disconnected kiedy pobiera pliki?

Napisane przez Toldi w 01.05.2022 09:20

A czytałeś to co jest w linku?

 

 

Forward wykonywany jest w momencie pobrania wszystkich wymaganych plików przez serwer.
W tym momencie drużyna gracza dalej jest nieprzydzielona, jednak od teraz gracz może ją zmienić.

to znaczy że gracz już jest na serwerze i wyświetla mu się menu drużyn.


  • +
  • -
  • 1


#771205 Problem z utworzeniem natywu w pluginie rang.

Napisane przez Toldi w 18.03.2021 13:41

Po co 2 raz pobierasz nazwę rangi skoro już ją pobrałeś wcześniej


new rangName[32], rangId = get_user_rangId(target)
get_user_rangName(rangId, rangName, charsmax(rangName));
 
set_hudmessage(255, 127, 0, 0.02, 0.25, 0, 6.0, 1.0, 0.1, 0.1, -1);
show_hudmessage(id, "Nick: %s^nSkin: [ %s ]^nMonety: %d^nRanga: %s", PlayerName[target], szPlayerSkin, cod_get_user_coins(target), rangName);

  • +
  • -
  • 1


#771174 Problem z utworzeniem natywu w pluginie rang.

Napisane przez Toldi w 17.03.2021 11:57

Piszę tu zamiast na pw bo innym może się przydać. Poprawiony kod. 

public _get_user_rangName(id_rangi, szTable[], iLen)
{
	param_convert(2);
	
	if(id_rangi < 0){
		return -1;
	}
	
	copy(szTable, iLen, ranga[id_rangi]);
	
	return 1;
}

Dodatkowo sam plugin od rang MUSI być włączony i najlepiej usuń/wyłącz sb w nim hud skoro chcesz rangę wyświetlać w pluginie od skinów.


  • +
  • -
  • 1


#771166 Problem z utworzeniem natywu w pluginie rang.

Napisane przez Toldi w 16.03.2021 13:20

public plugin_natives()
{
    register_native("get_user_rangId", "_get_user_rangId", 1)
}
public _get_user_rangId(index)
{
	return ranga[ranganum[index]]
}

W pluginie od skinow nad plugin_init dodaj

native get_user_rangId(index);
native get_user_rangName(id_rangi, szTable[], iLen)

public plugin_init() 
{
...
}

To co podałeś zwraca tylko id rangi gracza. Musisz jeszcze pobrać nazwę tej rangi bo skąd ten plugin ma wiedzieć jakie rangi masz w tym pierwszym pluginie.

 

Więc tworzysz nowy natyw

register_native("get_user_rangName", "_get_user_rangName", 1)

a niżej funkcja:

public _get_user_rangName(id_rangi, szTable[], iLen)
{
	param_convert(2);
	
	if(id_rangi < 0){
		return -1;
	}
	
	copy(szTable, iLen, ranga[ranganum[id]]);
	
	return 1;
}

Sprawdź czy działa bo pisałem na szybkiego. Jak coś po robocie poprawie.

 

W hud: 

new rangName[32], rangId = get_user_rangId(target)
get_user_rangName(rangId, rangName, charsmax(rangName));

  • +
  • -
  • 1


#770722 [ROZWIĄZANE] Połączenie pluginów

Napisane przez Toldi w 22.02.2021 17:39

Daj .sma monet


  • +
  • -
  • 1


#770162 Skiny za Monety

Napisane przez Toldi w 31.01.2021 11:26

Nie mogę edytować posta bo wystepuje jakis problem z bazą to tutaj zapytam a najwyżej niech administacja usunie po otrzymaniu odpowiedzi to czy skiny powinny się zapisywać po wyjsciu z serwera i wejsciu? Bo mi zmienia skina na domyslny.

Czytałeś opis na 1 stronie??? Zapisują się po wyjściu a na wejściu wczytują. Sprawdź czy wogóle. plugin połączył się z baza danych.


  • +
  • -
  • 2


#770035 Dwa prefixy w jednym pluginie

Napisane przez Toldi w 24.01.2021 12:42

Od toldiego nie działa, dwa prefixy są. Od fakena jest ok

Działać działa tyle że na szybkiego sprawdzałem i zrozumiałem że gracz z imunitetem i vipem ma mieć 2 prefixy. Niżej bardziej optymalna kod od tego wyżej.

public handleSayText(msgId,msgDest,msgEnt){	

    new id = get_msg_arg_int(1);
    
    if(is_user_connected(id) && g_Vip[id])
    {  
    
    new szTmp[192], szTmp2[192], szPrefix[64];
    get_msg_arg_string(2, szTmp, charsmax(szTmp));
    
    formatex(szPrefix, charsmax(szPrefix), "^x04%s", (get_user_flags(id) & ADMIN_IMMUNITY) ? "[ADMIN] ": "[VIP]");
    
    if(!equal(szTmp,"#Cstrike_Chat_All")){
        add(szTmp2, charsmax(szTmp2), "^x01");
        add(szTmp2, charsmax(szTmp2), szPrefix);
        add(szTmp2, charsmax(szTmp2), " ");
        add(szTmp2, charsmax(szTmp2), szTmp);
    }
    else{
        new szPlayerName[64];
        get_user_name(id, szPlayerName, charsmax(szPlayerName));
        
        get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
        set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.
    
        add(szTmp2, charsmax(szTmp2), "^x01");
        add(szTmp2, charsmax(szTmp2), szPrefix);
        add(szTmp2, charsmax(szTmp2), "^x03 ");
        add(szTmp2, charsmax(szTmp2), szPlayerName);
        add(szTmp2, charsmax(szTmp2), "^x01 :  ");
        add(szTmp2, charsmax(szTmp2), szTmp)
    }
    
    set_msg_arg_string(2, szTmp2);
    }
    return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1