Ayuda para hacer este tipode comandos
#1

HOla foro samp

TEngo duda de como hacer comandos que Afecten a otros user no Solo a el que pone el comando

Espero me ayuden
Reply
#2

Imagino que te refieres a usar el formato /comando [ID]. Basicamente debes seguir este formato:

pawn Код:
if (strcmp("/comandoquequieras", cmdtext, true, nъmero de caracteres de tu comando) == 0)
    {
        new playerid1;
if(sscanf(params, "d", playerid1)) return SendClientMessage(playerid, 0x9BE9F104, "ЎDebes escribir la ID del jugador! /comandoquequieras ID"); // Esto comprueba si se ha introducido la ID del jugador despues del comando. En caso contrario, envia un mensaje al jugador con la sintaxis correcta.
if(!IsPlayerConnected(playerid1)) return SendClientMessage(playerid, 0x9BE9F104, "ЎEse jugador no esta conectado!"); // Esto comprueba que la ID especificada pertenezca a un jugador vбlido
if(playerid == playerid1) return SendClientMessage(playerid, 0x9BE9F104, "ЎNo puedes hacerlo contigo mismo!"); // Comprueba que el jugador no esta aplicandose el comando a sн mismo. Si quieres que pueda aplicarselo a sн mismo, simplemente borra la lнnea.
            /* Escribe aqui lo que quieras que pase si el comando es realizado con йxito. "playerid1" serб la ID del jugador a la que afecte el comando y "playerid" el jugador que escribiу el comando. Ejemplo

"SetPlayerHealth(playerid1, 0);
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid1, -1, "ЎAlguien te ha robado la salud que tenias!");*/

    }
Saludos.
Reply
#3

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])//
{
    if (strcmp("/SentenciarMuerte", cmdtext, true, 17) == 0)//
    {
    new playerid1;
    if(sscanf(params, "d", playerid1)) return SendClientMessage(playerid, 0x9BE9F104, "Ayuda /Sentenciarmuerte [id]"); //
    if(!IsPlayerConnected(playerid1)) return SendClientMessage(playerid, 0x9BE9F104, "Id Incorrecta/jugador OffLine"); //
    if(playerid == playerid1) return SendClientMessage(playerid, 0x9BE9F104, "ЎNo puedes hacerlo contigo mismo!"); //
    PenaAsig[playerid1] = 1;
    return 1;
    }
    return 0;
}
Lo ise como tu me dijiste y me dio este error mira

Quote:

C:\Documents and Settings\FEDE\Menъ Inicio\Escritorio\Mis Filterscripts\Pena de muerte by fede\Penademuerte.pwn(74) : error 017: undefined symbol "sscanf"

por que ?
Reply
#4

Ah, imaginarнa que tendrнas el plugin sscanf. Te recomiendo que te lo bajes, te va a ser muy ъtil para hacer este comando y muchos mбs que incluyan parбmetros.
Puedes bajarlo aquн.

Una vez aplicado el plugin, imagino que ya te compilarб sin problemas.
Saludos.
Reply
#5

Donde pongo la carpeta SSCANF? que viene dentro de lo qe baje ? disculpa mi ignorancia pero soi nuevo en estos comandos :_
Reply
#6

Ahh no ahi lo solucione lo inclui en el PAwn Qe bobo jaja pero ahora me tira el sig error :_

Quote:

C:\Documents and Settings\FEDE\Menъ Inicio\Escritorio\todo san andrea\[0.3c]Los Santos RP - Modificado 4.9(1)\[0.3c]Los Santos RP - Modificado 4.9\filterscripts\Penademuerte.pwn(75) : error 017: undefined symbol "params"

Reply
#7

Quote:
Originally Posted by PHudson
Посмотреть сообщение
Imagino que te refieres a usar el formato /comando [ID]. Basicamente debes seguir este formato:

pawn Код:
if (strcmp("/comandoquequieras", cmdtext, true, nъmero de caracteres de tu comando) == 0)
    {
        new playerid1;
if(sscanf(params, "d", playerid1)) return SendClientMessage(playerid, 0x9BE9F104, "ЎDebes escribir la ID del jugador! /comandoquequieras ID"); // Esto comprueba si se ha introducido la ID del jugador despues del comando. En caso contrario, envia un mensaje al jugador con la sintaxis correcta.
if(!IsPlayerConnected(playerid1)) return SendClientMessage(playerid, 0x9BE9F104, "ЎEse jugador no esta conectado!"); // Esto comprueba que la ID especificada pertenezca a un jugador vбlido
if(playerid == playerid1) return SendClientMessage(playerid, 0x9BE9F104, "ЎNo puedes hacerlo contigo mismo!"); // Comprueba que el jugador no esta aplicandose el comando a sн mismo. Si quieres que pueda aplicarselo a sн mismo, simplemente borra la lнnea.
            /* Escribe aqui lo que quieras que pase si el comando es realizado con йxito. "playerid1" serб la ID del jugador a la que afecte el comando y "playerid" el jugador que escribiу el comando. Ejemplo

"SetPlayerHealth(playerid1, 0);
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid1, -1, "ЎAlguien te ha robado la salud que tenias!");*/

    }
Saludos.
Eso es copia y pega le estas dando un comando hecho con strcmp que usa parametros -.-
Reply
#8

Quote:
Originally Posted by dis77urbio
Посмотреть сообщение
Eso es copia y pega le estas dando un comando hecho con strcmp que usa parametros -.-
lo que dice disturbio es cierto los parametros a lo que yo se se usan con dcmd
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)