[AMXX] Modificarea DMG-ul făcut de o arma.

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

15 Apr 2015, 20:41

Code: Select all

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, CSW_DEAGLE )
schimbi cu

Code: Select all

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, damage_type )
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
RoyalServer
Redul
Membru, skill 0
Membru, skill 0
Posts: 2
Joined: 15 Apr 2015, 20:36
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

16 Apr 2015, 13:15

Rezolvat , mersi frumos :P
Kalypso
Membru, skill 0
Membru, skill 0
Posts: 11
Joined: 27 Sep 2015, 00:18
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

27 Sep 2015, 10:36

Foarte folositor tutorialul, si eu cautam asa ceva, sa modific dmg-ul armelor.
Last edited by The Kalu on 27 Sep 2015, 10:58, edited 1 time in total.
Reason: Post-hunt.+1 avertisment
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

08 Jun 2017, 05:48

Salut, ma gandeam ca in loc de methoda cu IsPlayer() ar fi mai eficient sa folositi una din aceste 2 metode:

Code: Select all

#define is_valid_player(%0)	( 1 <= %0 <= get_playersnum() );

Code: Select all

bool:is_entity_player(id)
{
	new classname[7];
	pev( id, pev_classname , classname, charsmax(classname) )
	
	return bool:(classname[0]=='p'&&classname[2]=='a'&&classname[5]=='r');
}  
Last edited by Fuffy on 08 Jun 2017, 17:31, edited 1 time in total.
AMXX Blue e acum doar pe github.
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

08 Jun 2017, 09:43

Fuffy wrote:Salut, ma gandeam ca in loc de methoda cu IsPlayer() ar fi mai eficient sa folositi una din aceste 2 metode:

Code: Select all

#define is_valid_player(%0)	( 1 >= %0 <= get_playersnum() );

Code: Select all

bool:is_entity_player(id)
{
	new classname[7];
	pev( id, pev_classname , classname, charsmax(classname) )
	
	return bool:(classname[0]=='p'&&classname[2]=='a'&&classname[5]=='r');
}  
De ce crezi asa?
Prin ce se manifesta eficienta?
Avand in vedere ca:
1. Gresit. Daca ar fi corect devine inutil fiind mai lent.
2. Mai 'costisitor', respectiv mai lent, adica inutil.

Cat timp se verifica doar index range, 0 < id <= MaxPlayers, e decizia corecta.
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

08 Jun 2017, 16:05

- sa zicem ca MaxPlayers ar fi 32(adica ar fi 32 de locuri rezervate pe server
- dar pe server ar fi doar 2 playeri
- daca %0 ar avea id-ul '4' ar primi eroare de la server

Si 'daca asta nu s-ar putea intampla' atunci ce rost ar mai avea sa folosimg get_maxplayers() cand poate direct sa faca o verificare pana la 32.
AMXX Blue e acum doar pe github.
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

08 Jun 2017, 21:40

Fuffy wrote:- sa zicem ca MaxPlayers ar fi 32(adica ar fi 32 de locuri rezervate pe server
- dar pe server ar fi doar 2 playeri
- daca %0 ar avea id-ul '4' ar primi eroare de la server

Si 'daca asta nu s-ar putea intampla' atunci ce rost ar mai avea sa folosimg get_maxplayers() cand poate direct sa faca o verificare pana la 32.
Incurci IsPlayer cu IsValidPlayer.
Ce ai propus tu de schimbat e IsPlayer - index range.
Valabilitatea id-ului se verifica separat cu is_user_connected().
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

09 Jun 2017, 17:17

Inca nu vad un argument solid pentru care nu am dreptate.
AMXX Blue e acum doar pe github.
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

09 Jun 2017, 17:42

Fuffy wrote:Inca nu vad un argument solid pentru care nu am dreptate.
Asta e, nu te intrista, vei ajunge sa intelegi daca continui sa exersezi.
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

09 Jun 2017, 18:10

Ok, in opinia ta, care ar fi diferenta dintre cele 2 ?

IsPlayer -
IsValidPlayer -

:?
AMXX Blue e acum doar pe github.
User avatar
Nubo
Fost moderator
Fost moderator
Posts: 2734
Joined: 11 Jul 2012, 18:45
Detinator Steam: Da
CS Status: [əˈnɒn.ɪ.məs]
Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod
Has thanked: 8 times
Been thanked: 27 times

10 Jun 2017, 00:35

De opinia mea nu avem nevoie, raspuns corect e doar unul, fie il stii, fie nu, cum e cazul tau.

IsPlayer verifica daca index e player: 0 < index <= MaxPlayers
IsValidPlayer verifica daca index e player valid (pe care poate fi executat cod), adica conectat.

La TakeDamage se foloseste IsPlayer pentru a fi sigur ca attacker e player si nu un alt entity.
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

10 Jun 2017, 16:53

Cea ce inseamna ca codurile care le-am postat sunt folositoare, avand in vedere ca verifici si daca e jucator si daca jucatorul e valid ... chiar si asa , mi se pare inutil avand in vedere ca a folost classname-ul 'player' in RegisterHam(), ar mai trebui verificata doar validitatea jucatorului cu is_user_alive() in cazul asta.

Si btw, te-am intrebat frumos, nu trebuie sa adopti o atitudine de grandoman intelectual.
AMXX Blue e acum doar pe github.
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 8 guests