client_disconnect() - Erori

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
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 2013, 22:56

Salut.
Sa clarific: Nu cer vreun plugin, cer niste sfaturi de la cei priceputi.
Nu am gasit o sectiune mai potrivita.

La subiect:
am scris un plugin care printre altele la deconectarea jucatorului afla echipa in care a fost, aici sunt 2 cai:
1. utilizarea get_user_team();
2. utilizarea cs_get_user_team() din cstrike;
Acum, ce erori sunt, la:
1. daca jucatorul care se deconecteaza este Spectator, pluginul il indica ca fiind la una dintre echipe (la care a fost ultima data); log de erori nu genereaza.
2. functioneaza corect pentru toate echipele insa, genereaza log de erori: [CSTRIKE] Invalid player X (unde X este un numar), cu referire la functia cs_get_user_team();

Code: Select all

[AMXX] Displaying debug trace (plugin "plugin.amxx")
[AMXX] Run time error 10: native error (native "cs_get_user_team")
[AMXX]    [0] plugin.sma::client_disconnect (line 30)
De mentionat ca, am incercat sa reduc functia (lungimea), am folosit stock, am folosit if(), fara reusita.
Ce este interesant: erorile nu apar permanent, la fiecare deconectare, ci la anumite intervale de timp, circa 45-75 minute.

Propuneri?? Alte medote? Rezolvarea?
Va multumesc.
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
RoyalServer
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

10 Jun 2013, 23:09

Ai cumva boti pe server ?
@ Lasa`mi sursa. Am o banuiala, si in acelasi timp si un fel de rezolvare.
Retras
User avatar
ExoTiQ
Membru, skill +1
Membru, skill +1
Posts: 180
Joined: 21 Aug 2012, 21:44
Detinator Steam: Da
CS Status: Funny
Detinator server CS: Da
SteamID: Privat
Has thanked: 4 times
Been thanked: 52 times
Contact:

10 Jun 2013, 23:14

Nubo wrote:Salut.
Sa clarific: Nu cer vreun plugin, cer niste sfaturi de la cei priceputi.
Nu am gasit o sectiune mai potrivita.

La subiect:
am scris un plugin care printre altele la deconectarea jucatorului afla echipa in care a fost, aici sunt 2 cai:
1. utilizarea get_user_team();
2. utilizarea cs_get_user_team() din cstrike;
Acum, ce erori sunt, la:
1. daca jucatorul care se deconecteaza este Spectator, pluginul il indica ca fiind la una dintre echipe (la care a fost ultima data); log de erori nu genereaza.
2. functioneaza corect pentru toate echipele insa, genereaza log de erori: [CSTRIKE] Invalid player X (unde X este un numar), cu referire la functia cs_get_user_team();

Code: Select all

[AMXX] Displaying debug trace (plugin "plugin.amxx")
[AMXX] Run time error 10: native error (native "cs_get_user_team")
[AMXX]    [0] plugin.sma::client_disconnect (line 30)
De mentionat ca, am incercat sa reduc functia (lungimea), am folosit stock, am folosit if(), fara reusita.
Ce este interesant: erorile nu apar permanent, la fiecare deconectare, ci la anumite intervale de timp, circa 45-75 minute.

Propuneri?? Alte medote? Rezolvarea?
Va multumesc.
Arata sursa.
P.S Arata func unde ai folosit

Code: Select all

get_user_team(id)
si

Code: Select all

client_disconnect
=>

Code: Select all

public client_disconnect(id)
{
        if(get_user_team(id) == 1 && is_user_alive(id) && !is_user_bot(id))    
        {
Fara sursa nu pot sa fac nimic :)

Momentan,activitate mai slaba.
.


*[Anti Auto-Connect] [Config exec Connect IP Checker] [60%] [Public]
*[SISA Zombie + CSO Shop] [79%] [Contracost]

*[Plugin Snow] [100%] [La cerere - Privat]

* Screen#1 / Screen#2 / Screen#3
Acest plugin este facut la cerere si nu o sa fie public !
O sa fie public doar daca il face public Askhanar.



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

11 Jun 2013, 01:14

Nu conteaza sursa. E un mini-plugin, are 10 randuri. Se poate spune ca e mai mult pentru testarea problemei cu get_user_team().
Nu am boti.

Codul arata asa, cu get_user_team:

Code: Select all

public client_disconnect(id){
 new team[32]; get_user_team(id,team,31)
 log_to_file(file,"S-a deconectat un %s", team)
}
Si asa cu cs_get_user_team:

Code: Select all

public client_disconnect(id){
 new CsTeams:team; team = cs_get_user_team(id);
 switch(team){
 case (CS_TEAM_T): { log_to_file(file,"S-a dec un T") }
 case (CS_TEAM_CT): { log_to_file(file,"S-a dec un CT") }
 case (CS_TEAM_SPECTATOR): { log_to_file(file,"S-a dec un Spec") }
}
}
Cod exemplificat.

Cum am mentionat, anume la deconectare apare eroarea: [CSTRIKE] Invalid player X

Code: Select all

is_user_alive(id)
Daca jucatorul nu este pe server, ce rost are?
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

11 Jun 2013, 08:51

Incearca asa:

1. Creaza o variabila globala, cu 64 de pozitii.
2. La variabila creata, da`i true la conectare.
3. Cand jucatorul schimba echipa, da`i variabila normala.(if( variabila[ id ] ))
4. Iese cam asa:

Code: Select all

#include < amxmodx >

new f_Connected[ 64 ];

public plugin_init( )

public client_putinserver( id ) { f_Connected[ id ] = true; }
public client_disconnect( id )
{
	if( f_Connected[ id ] )
	{
		cod..
	}
}
Ca si chestie, sa verifice intai daca jucatorul care sa deconectat, era conectat.
@ Singura problema cu care s`ar putea incurca, ar fii ca sa deconectat, cand i se descarca resursele. Sau l`a deconectat netul.(fix cand se conecta)
Retras
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

11 Jun 2013, 13:34

Hmm...da e o idee buna. Nu m-am gandit la asta.

Incerc si revin cu rezultatele.

Multumesc.
Cand nu merge acest forum sunt online aici:
  • * Skype: nubo_cs
    * Y!M ID: nubo_cs
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

11 Jun 2013, 13:55

Nubo wrote:Hmm...da e o idee buna. Nu m-am gandit la asta.

Incerc si revin cu rezultatele.

Multumesc.
Ok, astept rezultatul. :P
Retras
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

11 Jun 2013, 15:53

Code: Select all

public client_disconnect (     id     ) {
    
    if ( get_user_team ( id )  == 1 ) {
    
        log_to_file(file,"S-a dec un T")
        
    }
    
    else if ( get_user_team ( id ) ) == 2 ) {
        
        log_to_file(file,"S-a dec un CT")
        
    }
    
} 
compaq
Fost moderator
Fost moderator
Posts: 2598
Joined: 01 Dec 2008, 15:32
Detinator Steam: Da
Reputatie: Fost eXtream Mod
Fost contribuitor
Fost manager
Fost Scripter eXtreamCS
Has thanked: 15 times
Been thanked: 152 times

11 Jun 2013, 16:05

-ModeR- wrote:Incearca asa:

1. Creaza o variabila globala, cu 64 de pozitii.
2. La variabila creata, da`i true la conectare.
3. Cand jucatorul schimba echipa, da`i variabila normala.(if( variabila[ id ] ))
4. Iese cam asa:

Code: Select all

#include < amxmodx >

new f_Connected[ 64 ];

public plugin_init( )

public client_putinserver( id ) { f_Connected[ id ] = true; }
public client_disconnect( id )
{
	if( f_Connected[ id ] )
	{
		cod..
	}
}
Ca si chestie, sa verifice intai daca jucatorul care sa deconectat, era conectat.
@ Singura problema cu care s`ar putea incurca, ar fii ca sa deconectat, cand i se descarca resursele. Sau l`a deconectat netul.(fix cand se conecta)
O gramada de porcarii. Pentru problema autorului topicului:

Code: Select all

new g_MaxPlayers;

#define IsPlayer(%1) (1 <= %1 <= g_MaxPlayers)

public plugin_init()
{
    g_MaxPlayers = get_maxplayers();
}
O intrebare pentru tine, ModeR: de ce 64 de pozitii?
Si ce ai vrut sa spui prin:
-ModeR- wrote:3. Cand jucatorul schimba echipa, da`i variabila normala.(if( variabila[ id ] ))
Askwrite
Moderator ajutator
Moderator ajutator
Posts: 345
Joined: 26 Apr 2013, 21:59
Detinator Steam: Da
CS Status: Scriptez...!
Reputatie: Fost moderator ajutator
Has thanked: 6 times
Been thanked: 55 times
Contact:

11 Jun 2013, 16:58

-MoDeR- (aka cruyff), de ce ai mai facut variabila aia !?
Puteai sa faci cu is_user_connected .
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

11 Jun 2013, 17:06

3. Cand jucatorul schimba echipa, da`i variabila normala.(if( variabila[ id ] ))
->>

Code: Select all

public client_disconnect( id )
{
	if( f_Connected[ id ] )
	{
		..
	}
}
->>

Code: Select all

Ca si chestie, sa verifice intai daca jucatorul care sa deconectat, era conectat.
Retras
User avatar
cyby
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1777
Joined: 16 Jul 2011, 21:46
Detinator Steam: Da
Detinator server CS: Da
Reputatie: Scripter eXtreamCS
Fost Moderator ajutator
Has thanked: 146 times
Been thanked: 396 times

11 Jun 2013, 17:15

| Afiseaza codul
#include <amxmodx>
#include <hamsandwich>

new bool:tero[33], bool:ct[33];

public plugin_init()
{
	register_plugin("Deconnect team", "1.0", "cyby")
	
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
}

public player_spawn(id)
{
	if(is_user_alive(id))
	{
		if(get_user_team(id) == 1)
		{
			tero[id] = true
			ct[id] = false
		}
		else if(get_user_team(id) == 2)
		{
			ct[id] = true
			tero[id] = false
		}
	}
}

public client_disconnect(id)
{
	if(tero[id])
		client_print(id, print_chat, "S-a deconectat un tero")
	else if(ct[id])
		client_print(id, print_chat, "S-a deconectat un CT")
	
	tero[id] = false
	ct[id] = false
}
Cea mai buna solutie, client_disconnect e post (adica dupa, deci ce team sa mai ia?)
93.114.82.17:27015 - Monster Invasion CO-OP Mod
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 23 guests