Tio Akima

Função retornando player ID

6 posts neste tópico

Já tentou usar como exemplo o getcharid() ?

 

/*==========================================
 * Return charid identification
 * return by @num :
 * 0 : char_id
 * 1 : party_id
 * 2 : guild_id
 * 3 : account_id
 * 4 : bg_id
 *------------------------------------------*/
BUILDIN(getcharid) {
	int num;
	struct map_session_data *sd;

	num = script_getnum(st,2);
	if( script_hasdata(st,3) )
		sd=map->nick2sd(script_getstr(st,3));
	else
		sd=script->rid2sd(st);

	if(sd==NULL) {
		script_pushint(st,0); //return 0, according docs
		return true;
	}

	switch( num ) {
		case 0: script_pushint(st,sd->status.char_id); break;
		case 1: script_pushint(st,sd->status.party_id); break;
		case 2: script_pushint(st,sd->status.guild_id); break;
		case 3: script_pushint(st,sd->status.account_id); break;
		case 4: script_pushint(st,sd->bg_id); break;
		default:
			ShowError("buildin_getcharid: invalid parameter (%d).\n", num);
			script_pushint(st,0);
			break;
	}

	return true;
}

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 horas atrás, Hyroshima disse:

Já tentou usar como exemplo o getcharid() ?

 

/*==========================================
 * Return charid identification
 * return by @num :
 * 0 : char_id
 * 1 : party_id
 * 2 : guild_id
 * 3 : account_id
 * 4 : bg_id
 *------------------------------------------*/
BUILDIN(getcharid) {
	int num;
	struct map_session_data *sd;

	num = script_getnum(st,2);
	if( script_hasdata(st,3) )
		sd=map->nick2sd(script_getstr(st,3));
	else
		sd=script->rid2sd(st);

	if(sd==NULL) {
		script_pushint(st,0); //return 0, according docs
		return true;
	}

	switch( num ) {
		case 0: script_pushint(st,sd->status.char_id); break;
		case 1: script_pushint(st,sd->status.party_id); break;
		case 2: script_pushint(st,sd->status.guild_id); break;
		case 3: script_pushint(st,sd->status.account_id); break;
		case 4: script_pushint(st,sd->bg_id); break;
		default:
			ShowError("buildin_getcharid: invalid parameter (%d).\n", num);
			script_pushint(st,0);
			break;
	}

	return true;
}

 

Nesse caso ai é preciso digitar algo.. Ou seja, é a mesma coisa que se tivesse um parâmetro na função. Não vai me servir.
 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu entender, seria uma função ou apenas uma ação dentro da src?

se é uma função seria tipo oq ? pq algo vai da a call pra puxar o resultado pra algum lugar ou no caso se será apenas uma ação pra uma outra determinada ação dentro de um estrutura na src ?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites