Ayuda con crear estos Comandos
#1

Hola amigos de Forum Samp , bueno este tema lo e echo por q hace 1 dia q estoy intentando crear unos comandos para una faccion de Paramedicos en mi sv y no hay forma de q lo pueda hacer bien! El comando que yo quiero es el sigueinte:

/curar -> Le da al player 100 de vida solamente.
/curar [Player/ID]

[Este comando le da 100 de vida si o si ni mas ni menos a un user. Ej: /curar 5 le da a el ID 5 100 DE VIDA]

/donarsangre -> Quita VIDA
/donarsangre ID [cantidad de sangre]

[Este le quitaria vida al user q le ponga el Paramedico por ej: /donarsangre 5 50 , le saca al player id 5 50 de vida]

Espero que me ayuden. Muchas Gracias!
Reply
#2

Esto va en Pedidos de Script, al menos que pongas el cуdigo que estabas haciendo y nosotros te lo ajustemos, es otra cosa mariposa.
Reply
#3

Mmm.. hay un post para pedidos! Aca te dejo el de curar
pawn Код:
if(strcmp("/curar", cmd, true) == 0) //el codigo lo posteo Michael@Belgium en otro post!
    {
        if (gTeam[playerid] == MEDIC)
        {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                return SendClientMessage(playerid,COLOR_LIGHTBLUE,"USO: /curar [id]");
            }
            new id = strval(tmp);
            new pid = playerid;
            if(!IsPlayerConnected(id))
            {
                return SendClientMessage(playerid,COLOR_GREY,"ERROR: Ese player esta desconectado!");
            }
            new Float:X,Float:Y,Float:Z, string[128], name[MAX_PLAYER_NAME];
            GetPlayerName(id,name,128);
            GetPlayerPos(id,X,Y,Z);
            if(IsPlayerInRangeOfPoint(playerid,3,X,Y,Z))
            {
                format(string,128,"[INFO] El medico %s[%d] te curo!", name, pid);
                                SetPlayerHealth(id,100);
                SendClientMessage(id,COLOR_GREY,string);
                return 1;
            }
            else
            {
                SendClientMessage(playerid,COLOR_RED,"No estas cerca de la persona!");
            }
        }
        else
        {
            SendClientMessage(playerid,COLOR_RED,"No sos medico!");
            return 1;
        }
    }
Reply
#4

va en pedidos pero = te los dejo aca:
pawn Код:
if(!strcmp(cmd, "/curar", true)){
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp) || !IsNumeric(tmp))return SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /curar <id>");
    new id = strval(tmp);
    SetPlayerHealth(playerid, 100);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(id, name, MAX_PLAYER_NAME);
    format(tmp, 128, "Server: Has curado a %s(%i)", name, id);
    return SendClientMessage(playerid, 0xFFFF00FF, tmp);
}

if(!strcmp(cmd, "/donarsangre", true)){
    new tmp[2][256];
    tmp[0] = strtok(cmdtext, idx);
    tmp[1] = strtok(cmdtext, idx);
    if(!strlen(tmp[0]) || !IsNumeric(tmp[0]) || !strlen(tmp[1]) || !IsNumeric(tmp[1]))return SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /curar <id> <cantidad>");
    new id, Float:vida, name[MAX_PLAYER_NAME];
    id = strval(tmp[0]);
    GetPlayerHealth(playerid, vida);
    SetPlayerHealth(playerid, vida-strval(tmp[1]));
    SetPlayerHealth(id, strval(tmp[1]));
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(tmp, 128, "El jugador %s(%i) te ha donado %i de sangre", name, playerid, strval(tmp[1]));
    SendClientMessage(id, 0x00FFFFFF, tmp);
    GetPlayerName(id, name, MAX_PLAYER_NAME);
    format(tmp, 128, "Le has donado a %s(%i) %i sangre", name, id, strval(tmp[1]));
    return SendClientMessage(playerid, 0x00FFFFFF, tmp);
}
Reply
#5

Bueno, te recomiendo que uses el de the_chaoz es mas corto, y seguro mejor !
Reply
#6

pawn Код:
CMD:curar(playerid, params[])
{
    if(strlen(params) < 1)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "[Info]Te has curado!");
        SetPlayerHealth(playerid, 100);
    }
    else
    {
        new pid, pname[MAX_PLAYER_NAME], str[128];
        pid = strval(params);
        GetPlayerName(pid, pname, sizeof(pname));
        format(str, sizeof(str), "[Info]Has curado a %s[%d]", pname, pid);
        SendClientMessage(playerid, 0xFFFFFFFF, str);
    }
    return 1;
}
Se me ocurre que asi podria funcionar para curarte a ti mismo, y para curar a otros tambien.
A ese codigo falta definirle que solo los medicos pueden utilizar el comando, y si usas strcmp, deberбs modificarlo.
Reply
#7

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
va en pedidos pero = te los dejo aca:
pawn Код:
if(!strcmp(cmd, "/curar", true)){
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp) || !IsNumeric(tmp))return SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /curar <id>");
    new id = strval(tmp);
    SetPlayerHealth(playerid, 100);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(id, name, MAX_PLAYER_NAME);
    format(tmp, 128, "Server: Has curado a %s(%i)", name, id);
    return SendClientMessage(playerid, 0xFFFF00FF, tmp);
}

if(!strcmp(cmd, "/donarsangre", true)){
    new tmp[2][256];
    tmp[0] = strtok(cmdtext, idx);
    tmp[1] = strtok(cmdtext, idx);
    if(!strlen(tmp[0]) || !IsNumeric(tmp[0]) || !strlen(tmp[1]) || !IsNumeric(tmp[1]))return SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /curar <id> <cantidad>");
    new id, Float:vida, name[MAX_PLAYER_NAME];
    id = strval(tmp[0]);
    GetPlayerHealth(playerid, vida);
    SetPlayerHealth(playerid, vida-strval(tmp[1]);
    SetPlayerHealth(id, strval(tmp[1]);
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(tmp, 128, "El jugador %s(%i) te ha donado %i de sangre", name, playerid, strval(tmp[1]));
    SendClientMessage(id, 0x00FFFFFF, tmp);
    GetPlayerName(id, name, MAX_PLAYER_NAME);
    format(tmp, 128, "Le has donado a %s(%i) %i sangre", name, id, strval(tmp[1]));
    return SendClientMessage(playerid, 0x00FFFFFF, tmp);
}
Gracias, el /curar no tira ningun error, pero el /donarsangre tiene algo mal por q me tira 26 errores, osea esta incmpleto o algo.
Reply
#8

pawn Код:
SetPlayerHealth(playerid, vida-strval(tmp[1])); // Habia faltado un ")".
SetPlayerHealth(id, strval(tmp[1])); // Habia faltado un ")".
Cambia eso, quizas ahora funcione, o al menos solucione algunos errores.

OFF:
Ustedes, los que piden que les hagan las cosas, no intentan siquiera hacerlas por ustedes mismos? O al menos, revisar el codigo que les dan? Ese codigo ni siquiera era para mi y encontre 2 errores que de seguro te ayudara a ti solucionarlos.
La proxima vez, revisa los codigos que te dan.

Chaoz, no es nada contra vos, no lo malentiendas xD
Reply
#9

Quote:
Originally Posted by leaNN!
Посмотреть сообщение
pawn Код:
SetPlayerHealth(playerid, vida-strval(tmp[1])); // Habia faltado un ")".
SetPlayerHealth(id, strval(tmp[1])); // Habia faltado un ")".
Cambia eso, quizas ahora funcione, o al menos solucione algunos errores.

OFF:
Ustedes, los que piden que les hagan las cosas, no intentan siquiera hacerlas por ustedes mismos? O al menos, revisar el codigo que les dan? Ese codigo ni siquiera era para mi y encontre 2 errores que de seguro te ayudara a ti solucionarlos.
La proxima vez, revisa los codigos que te dan.

Chaoz, no es nada contra vos, no lo malentiendas xD
Cambie todo como dijiste pero sigue igual!
Reply
#10

decinos que lineas dan error y postealas acб
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)