Ajutor nelamurire

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
X-D3$[T]Ro!
Membru, skill 0
Membru, skill 0
Posts: 89
Joined: 13 Aug 2018, 20:19
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: NU
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 1 time
Contact:

29 Mar 2021, 18:44

Salut extreamcs deci am aceasta functie

Code: Select all

stock bool:AccVIP(  id  )
{
	
	if(  get_user_flags(  id  )  &  read_flags(  "t"  )  )
		return true;
		
	return false;
	
}
- iar la case 8: am urmatoarea

Code: Select all

if(  UserIsVip(  id  ) )
			{

- Cand apasa sa ia ce este in meniu(additem) si nu are flagul t ii dispare meniul, dar eu nu vreau sa-i dispara meniul sa-i returneze inapoi meniul fiindca nu are acces la acel additem menu.
deci cred ca stiti cam ce doresc exact cum este aici, dar vreau sa fie in acels stock bool

Code: Select all

else 
			{
				ReturnMeniuArme( id )
				return PLUGIN_HANDLED 
			}
		}
RoyalServer 2
Shadows Adi
Membru, skill +1
Membru, skill +1
Posts: 349
Joined: 26 Jan 2020, 18:52
Detinator Steam: Da
CS Status: 0x416469
SteamID: shadowsadi120
Fond eXtream: 0
Has thanked: 14 times
Been thanked: 50 times

29 Mar 2021, 19:14

X-D3$[T]Ro! wrote:
29 Mar 2021, 18:44

Code: Select all

stock bool:AccVIP(  id  )
{
	
	if(  get_user_flags(  id  )  &  read_flags(  "t"  )  )
		return true;
		
	return false;
	
}
- iar la case 8: am urmatoarea

Code: Select all

if(  UserIsVip(  id  ) )
			{
1. Functia apelata nu este la fel ca cea definita in stock.
2. Arata mai mult cod sau tot codul ca sa te putem ajuta.
Last edited by Shadows Adi on 29 Mar 2021, 19:56, edited 1 time in total.
X-D3$[T]Ro!
Membru, skill 0
Membru, skill 0
Posts: 89
Joined: 13 Aug 2018, 20:19
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: NU
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 1 time
Contact:

29 Mar 2021, 19:46

Shadows Adi wrote:
29 Mar 2021, 19:14
X-D3$[T]Ro! wrote:
29 Mar 2021, 18:44

Code: Select all

stock bool:AccVIP(  id  )
{
	
	if(  get_user_flags(  id  )  &  read_flags(  "t"  )  )
		return true;
		
	return false;
	
}
- iar la case 8: am urmatoarea

Code: Select all

if(  UserIsVip(  id  ) )
			{
1. Functia apelata nu este la fel ca cea definita in stock.
X-D3$[T]Ro! wrote:
29 Mar 2021, 18:44
2. Arata mai mult cod sau tot codul ca sa te putem ajuta.
Păi și cum pot face în stock ca să-i returneze înapoi meniul, când apasă pe 8 și nu are accesul de VIP?
Shadows Adi
Membru, skill +1
Membru, skill +1
Posts: 349
Joined: 26 Jan 2020, 18:52
Detinator Steam: Da
CS Status: 0x416469
SteamID: shadowsadi120
Fond eXtream: 0
Has thanked: 14 times
Been thanked: 50 times

29 Mar 2021, 19:54

Ai citit ce am spus?
Shadows Adi wrote:
29 Mar 2021, 19:14

1. Functia apelata nu este la fel ca cea definita in stock.
X-D3$[T]Ro! wrote:
29 Mar 2021, 19:46
Păi și cum pot face în stock ca să-i returneze înapoi meniul, când apasă pe 8 și nu are accesul de VIP?
Shadows Adi wrote:
29 Mar 2021, 19:14
2. Arata mai mult cod sau tot codul ca sa te putem ajuta.
Shadows Adi
Membru, skill +1
Membru, skill +1
Posts: 349
Joined: 26 Jan 2020, 18:52
Detinator Steam: Da
CS Status: 0x416469
SteamID: shadowsadi120
Fond eXtream: 0
Has thanked: 14 times
Been thanked: 50 times

29 Mar 2021, 19:55

Shadows Adi wrote:
29 Mar 2021, 19:14
X-D3$[T]Ro! wrote:
29 Mar 2021, 18:44

Code: Select all

stock bool:AccVIP(  id  )
{
	
	if(  get_user_flags(  id  )  &  read_flags(  "t"  )  )
		return true;
		
	return false;
	
}
- iar la case 8: am urmatoarea

Code: Select all

if(  UserIsVip(  id  ) )
			{
1. Functia apelata nu este la fel ca cea definita in stock.
2. Arata mai mult cod sau tot codul ca sa te putem ajuta.
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

29 Mar 2021, 19:56

Man tu ai un stock ca sa iti verifice accesul ,daca nu ai acces il returneaza fals, numai ca tu nu folosesti acel stock. In loc de

Code: Select all

iUserIsVip(  id  )
trebuie sa pui

Code: Select all

 AccVIP( id )
Si iti recomand sa renunti la read_flags("t"). Folosete macrouri :

Code: Select all

 #define VIP_FLAG ADMIN_LEVEL_H
 ...
 stock bool: AccVIP(id) 
 {
 if(get_user_flags(id) & VIP_FLAG) return false;
 return true
 }
. E mai usor de citit ca si cod :D
Last edited by levin on 31 Mar 2021, 15:57, edited 1 time in total.
Reason: definiție poate, nu macro
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 918
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

29 Mar 2021, 23:15

pe langa ce au spus baietii mai sus adaug faptul ca tu daca vrei ca playerului sa ii afiseze iar meniu, trebuie sa apelezi functia care afiseaza meniul, adica:

Code: Select all

public arata_meniu(id)
{
		//... itemurile din meniul
}

public selectare_item_meniu(id)
{
		switch(buton_apasat)
		{
			case 0: 
			{
				// codul pentru itemul selectat din meniu
				arata_meniu(id)// ca sa ii afiseze meniul dupa ce selecteaza un item
			}
		}
}
iar la ce a pus never mind mai sus, macrourile sunt acele #define
de exemplu

Code: Select all

#define orice_vrei_tu_sa_pui ADMIN_LEVEL_H
ADMIN_LEVEL_H reprezinta flagul, de exemplu ADMIN_LEVEL_H este flagul de admin "t"

ca sa vezi mai multe flaguri accesezi linkul astA: https://www.amxmodx.org/api/amxconst
X-D3$[T]Ro!
Membru, skill 0
Membru, skill 0
Posts: 89
Joined: 13 Aug 2018, 20:19
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: NU
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 1 time
Contact:

30 Mar 2021, 15:50

lexz wrote:
29 Mar 2021, 23:15
pe langa ce au spus baietii mai sus adaug faptul ca tu daca vrei ca playerului sa ii afiseze iar meniu, trebuie sa apelezi functia care afiseaza meniul, adica:

Code: Select all

public arata_meniu(id)
{
		//... itemurile din meniul
}

public selectare_item_meniu(id)
{
		switch(buton_apasat)
		{
			case 0: 
			{
				// codul pentru itemul selectat din meniu
				arata_meniu(id)// ca sa ii afiseze meniul dupa ce selecteaza un item
			}
		}
}
iar la ce a pus never mind mai sus, macrourile sunt acele #define
de exemplu

Code: Select all

#define orice_vrei_tu_sa_pui ADMIN_LEVEL_H
ADMIN_LEVEL_H reprezinta flagul, de exemplu ADMIN_LEVEL_H este flagul de admin "t"

ca sa vezi mai multe flaguri accesezi linkul astA: https://www.amxmodx.org/api/amxconst
Eu, nu am nevoie de alte detalii. Doar de un ,,Astfel dacă playerul a apăsat pe ,,1" și nu are flagul ,,t" să-i reafiseze meniul să-și poată alege o altă armă. Și acest astfel dacă să fie în bool dacă se poate o astfel de chestie.

-> Dacă are flag-ul ,,T" șă-i dea itemele și să nu-i mai reafiseze meniul. Chiar nu știu ce e cu toți de tot îmi zic altele de ale lor care nu-mi trebuiesc, dar oricum vă apreciez ofortul de ajutor și din partea mea aveți un +1 dar nu este ceea ce vreau.

PS: Am văzut acum 2 ani în trecut într-un plugin o chestie la ,,menu_additem" și chestia este: Dacă jucătorul nu avea flagul respectiv, nu putea apăsa pe item, și dacă-l avea putea, și dacă nu avea flagul menu_additem-ul îl apărea cu \d și dacă-l avea era fară \d. Știi o astfel de chestie uite ceva asemănător.

Code: Select all

if(get_user_flags(id) & VIP_LEVEL) {
			else {
				if(get_user_credits(id) >= 100)
					menu_additem(Menu, "\wVip Pack - \r100 Credite", "8", 0)
				else 
					menu_additem(Menu, "\dVip Pack\w - \r100 Credite", "8", 0)	
			}
		}
		else 
			menu_additem(Menu, "\dVip Pack\w - \rDoar VIP", "8", 0)
Mă rog eu vreau fără credite, ăsta era un exemplu cu \d
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

30 Mar 2021, 17:06

Code: Select all

#include <amxmodx>

#define ACCESFLAG ADMIN_LEVEL_H // "t"


public plugin_init() register_clcmd("say /meniul_menu", "MenuMain")

public MenuMain(id)
{
	new menu = menu_create("Meniul Menu", "MenuHandler")

	menu_additem(menu, "Deagle AK47", "", ACCESFLAG) // daca userul nu are flagul respectiv nu poate apasa
	menu_additem(menu, "Deagle Player", "", 0) // oricine poate folosi

	menu_display( id, menu, 0 )
}

public MenuHandler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
	menu_destroy(menu)
	return PLUGIN_HANDLED
	}
	switch(item)
	{
		case 0:
		{
			give_item(id, "weapon_ak47")
			client_print(id, print_chat, "Pentru ca esti VIP ai putut selecta acest meniu")
		}
		case 1:
		{
			give_item(id, "weapon_deagle")
			client_print(id, print_chat, "Ai selecat acest meniu pentru ca ai avut acces .")
		}
	}
	menu_destroy( menu );
    return PLUGIN_HANDLED
}
Sper ca te-ai prins , daca nu verifica https://www.amxmodx.org/api/newmenus/menu_additem !
Tu trebuie sa umbli doar aici :

Code: Select all

 menu_additem(a,b,c,d) 
Unde :
a = meniul unde se vor adauga itemele
b = numele dat liniei respective
c = lasi liber deobicei ( "" )
d = acces-ul necesar , daca vrei sa aiba toti acces pui 0 , daca nu faci cum ti-am aratat in exemplu
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 918
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

31 Mar 2021, 05:06

Code: Select all

#include <amxmodx>
#include <amxmisc>

#define FLAG ADMIN_LEVEL_H

public plugin_init()
 {
	register_clcmd("say /menu", "arata_meniu")
	register_clcmd("say_team /menu", "arata_meniu")
}

public arata_meniu(id)
{
	new iMenu[512] = menu_create("\y[MENU]\w Meniu", "selectare_meniu_handler") // cream meniul
	menu_additem(iMenu, "First item") // adaugam 2 iteme
	menu_additem(iMenu, "Second item")
	
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)//ii setam proprietatea ca atunci cand se apasa butonul de iesire sa il inchida de tot
	menu_display(id, iMenu, 0); // afisam meniul playerului (id pentru player, 0 pentru a il afisa tuturor)
}


public selectare_item_meniu(id, iMenu, buton_apasat)
{
	switch(buton_apasat)
	{
		case 0: // in cazul in care jucatorul apasa butonul 1 (primul item)
		{
			if(is_user_vip(id))
			{
				//cod ca sa ii dea itemul vipului
				client_print(id, print_chat, "Ai achizitionat itemul VIP !")
				return PLUGIN_HANDLED // asta in cazul in care nu vrei sa-i mai deschida meniul dupa ce acceseaza itemul
			}
			else if (!is_user_vip(id))
			{
				//cod care nu ii da meniul, poti face asa->
				client_print(id, print_chat, "Nu poti lua acest item pentru ca ca nu ai vip !")
			}
			arata_meniu(id)// ca sa ii afiseze meniul dupa ce selecteaza primul item
		}
		
		case 1: // in cazul in care jucatorul apasa butonul 2 (al doilea item)
		{
			// aceeasi situatie ca mai sus
		}
	}
}

stock bool:is_user_vip( id ) // cream un stock care verifica daca playerul este vip, acesta returneaza true sau false 
{
	if(get_user_flags(id) & FLAG) 
		return true
	else
		return false
}
iar daca vrei ca meniul sa arate mai interesant

Code: Select all


public arata_meniu(id)
{
	new iMenu[512] = menu_create("\y[MENU]\w Meniu", "selectare_meniu_handler") 
	
	if(is_user_vip(id)) // verificam daca este vip
	{
		menu_additem(iMenu, "First item") 
		menu_additem(iMenu, "Second item")
	}
	else // in cazul in care nu este vip
	{
		menu_additem(iMenu, "First item \d- [VIP ONLY]") // \d inseamna ca textul care este dupa acesta va fi afisat cu gri
		menu_additem(iMenu, "Second item \d- [VIP ONLY]")	
	}
	
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, iMenu, 0); 
}

User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

31 Mar 2021, 15:59

pare că ai 2 stock-uri care fac aceeași chestie..una e UserIsVip( id ) alta e AccVIP( id )
renunți la 1..folosești cea care se bazează pe booleanu pentru vip[index], faci if cu acel stock gen if(!stock vip(index)) { nume_meniu_arme(index); return 1; }
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
X-D3$[T]Ro!
Membru, skill 0
Membru, skill 0
Posts: 89
Joined: 13 Aug 2018, 20:19
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: NU
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 1 time
Contact:

31 Mar 2021, 17:40

Vă multumesc mult! Se poate T/C
REZOLVAT!
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 123 guests