[Ayuda]Con algo...
#1

Weno miren tngo el Ladmin para un server no? tonces lo re modifique x mi todo barbaro. Pero en algunos casos, cuando uso los comandos: /kick /warn /ban /rban etc, etc quiero q diga la ID del jugador (q seria "playerid")..
En este caso yo la tngo asi:

Код:
dcmd_warn(playerid,params[]) {
    if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256], tmp2[256], Index;		tmp = strtok(params,Index), tmp2 = strtok(params,Index);
	    if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "Escribe: /warn [playerid] [Razon]");
    	new warned = strval(tmp), str[128];
		if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
	 	if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID) {
 	    	if(warned != playerid) {
			    CMDMessageToAdmins(playerid,"WARN");
				PlayerInfo[warned][Warnings]++;
				if( PlayerInfo[warned][Warnings] == MAX_WARNINGS) {
					format(str, sizeof (str), "*** %s (id:%d) fue expulsado por sobrepasar los 3 warnings. (Warning: %d/%d)***", pName(warned), playerid,  params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
					SendClientMessageToAll(grey, str);
					SaveToFile("KickLog",str);	Kick(warned);
					return PlayerInfo[warned][Warnings] = 0;
				} else {
					format(str, sizeof (str), "*** %s (id:%d) fue advertido por un admin.  (Razon: %s) (Warning: %d/%d)***", pName(warned), playerid, params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
					return SendClientMessageToAll(yellow, str);
				}
			} else return SendClientMessage(playerid, red, "No puedes darte una warn a vos mismo!");
		} else return SendClientMessage(playerid, red, "Jugador no conectado!");
	} else return SendClientMessage(playerid,red,"No estas autorizado para usar este comando!");
}
X ejemplo, cuando doy un Warn me dice la ID pero con un amigo lo probamos i el era el ID 1 i yo el 0 pero decia q la ID d el era el 0 :S
Quisiera saber como hago para q salga la verdada ID..
PD: lo mismo me pasa para Kick, Ban, etc..
Gracias
Reply
#2

En el mensaje no tienes que poner "playerid" tienes que poner "warned".
El playerid es quien teclea el comando, el warned, el que ha sido "warneado".
PD: "warneado" que cosa mбs rara, xD
Reply
#3

weno decime como hago para q salga la ID tonces..
Reply
#4

Otra cosa, me decis lo mismo pero para /kick i /ban etc? como seria ?...
Reply
#5

tincho cooj es tu msn
Reply
#6

Код:
dcmd_warn(playerid,params[]) {
    if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256], tmp2[256], Index;		tmp = strtok(params,Index), tmp2 = strtok(params,Index);
	    if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "Uso: /warn [playerid] [razуn]");
    	new warned = strval(tmp), str[128];
		if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"Error: No eres administrador para usar este comando");
	 	if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID) {
 	    	if(warned != playerid) {
			    CMDMessageToAdmins(playerid,"WARN");
				PlayerInfo[warned][Warnings]++;
				if( PlayerInfo[warned][Warnings] == MAX_WARNINGS) {
					format(str, sizeof (str), "***Administrador \"%s\" Ha Advertido ha \"%s\".  (Razуn: %s) (Advertencia: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
					SendClientMessageToAll(grey, str);
					SaveToFile("KickLog",str);	Kick(warned);
					return PlayerInfo[warned][Warnings] = 0;
				} else {
					format(str, sizeof (str), "***Administrador \"%s\" ha dado \"%s\" una advertencia.  (Razуn: %s) (Advertencia: %d/%d)***", pName(playerid), pName(warned), params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
					return SendClientMessageToAll(yellow, str);
				}
			} else return SendClientMessage(playerid, red, "ERROR: No te puedes warnear a ti mismo");
		} else return SendClientMessage(playerid, red, "ERROR: Este jugador no esta conectado");
	} else return SendClientMessage(playerid,red,"ERROR: No tienes el nivel suficiente para utilizar este comando");
}
PD: Lo saque del LAdmin ojala que te sirva!
EDIT: Epic fail xD, tu lo modificastes, sera algo por que lo modificastes entonces no sale la id, Este es el comando ORIGINAL del ladmin.
Reply
#7

No, gracias adonis pero no busco eso lo q qiero es q salga la ID del jugador kickeado, warneado etc.. no c si me explico
PD: ahi te mande mi MSN x PM Flow
Salu2
Reply
#8

Ya entiendo...
Reply
#9

Listo siiiiiiii gracias cesar el warn me anda, aora el kick i el ban como lo hago? xD
Reply
#10

Aaa.., xD
Quote:

dcmd_warn(playerid,params[])
{
if(PlayerInfo[playerid][Level] >= 2)
{
new tmp[256], tmp2[256], Index;
tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "Escribe: /warn [playerid] [Razon]");
new warned = strval(tmp), str[128];
if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID)
{
if(warned != playerid)
{
CMDMessageToAdmins(playerid,"WARN");
PlayerInfo[warned][Warnings]++;
if( PlayerInfo[warned][Warnings] == MAX_WARNINGS)
{
format(str, sizeof (str), "*** %s (id:%d) fue expulsado por sobrepasar los 3 warnings. (Warning: %d/%d)***", pName(warned), playerid, params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
SendClientMessageToAll(grey, str);
SaveToFile("KickLog",str); Kick(warned);
return PlayerInfo[warned][Warnings] = 0;
}
else
{
format(str, sizeof (str), "*** %s (id:%d) fue advertido por un admin. (Razon: %s) (Warning: %d/%d)***", pName(warned), warned, params[1+strlen(tmp)], PlayerInfo[warned][Warnings], MAX_WARNINGS);
return SendClientMessageToAll(yellow, str);
}
}
else return SendClientMessage(playerid, red, "No puedes darte una warn a vos mismo!");

}
else return SendClientMessage(playerid, red, "Jugador no conectado!");
}
else return SendClientMessage(playerid,red,"No estas autorizado para usar este comando!");
}

strval(tmp) es la ID, pues igual con el kick/ban/etc
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)