[Ayuda] Comando dar dinero y dar Armas
#2

dardinero esta mal x el simple hecho de que copiaste el comando dararma y no lo editaste practicamente.
pawn Код:
dcmd_dardinero(playerid, params[]){
    if(PlayerInfo[playerid][Nivel] >= 4){
        new tmp[2][256], Index;
        tmp[0] = strtok(params, Index);
        tmp[1] = strtok(params, Index);
        if(!strlen(tmp[0]) || !strlen(tmp[1]) || !IsNumeric(tmp[0]) || !IsNumeric(tmp[1]))return SendClientMessage(playerid, Amarillo, "* Usa: /Dardinero <Id> <Cantidad>");
        new ID = strval(tmp[0]);
        if(IsPlayerConnected(ID) || ID != playerid){
            new monto, Name[2][MAX_PLAYER_NAME], str[128];
            monto = strval(tmp[1]);
            GetPlayerName(ID, Name[0], MAX_PLAYER_NAME);
            GetPlayerName(playerid, Name[1], MAX_PLAYER_NAME);
            format(str, 128, "* Administrador %s (Id:%d) te ha dado %d $.", Name[1], playerid, monto);
            SendClientMessage(ID, Azul, str);
            format(str, 128, "* Le has dado a %s (Id:%d) %d $.", Name[0], ID, monto);
            SendClientMessage(playerid, Azul, str);
            return GivePlayerMoney(playerid, monto);
        }return SendClientMessage(playerid, Rojo, "** Este jugador no estб conectado o eres tъ.");
    }return SendClientMessage(playerid, Rojo, "** Debes ser Administrador nivel +4 para dar dinero a cualquier jugador.");
}
El comando "Dinero" lo podes hacer basandote en el que de acabo de corregir

Y finalmente dararma
pawn Код:
dcmd_dararma(playerid, params[]){
    if(PlayerInfo[playerid][Nivel] >= 4){
        new tmp[3][256], Index;
        tmp[0] = strtok(params, Index);
        tmp[1] = strtok(params, Index);
        tmp[2] = strtok(params, Index);
        if(!strlen(tmp[0]) || !strlen(tmp[1]) || !strlen(tmp[2]) || !IsNumeric(tmp[0]) || !IsNumeric(tmp[1]))return SendClientMessage(playerid, Amarillo, "* Usa: /Dararma <Id> <Arma> <Balas>");
        new arma;
        if(!IsNumeric(tmp[2]))arma = GetWeaponIDFromName(tmp[2]);
        else arma = strval(tmp[1]);
        if(!IsValidWeapon(arma)) return SendClientMessage(playerid, Rojo, "** Arma invalida");
        new ID = strval(tmp[0]);
        if(IsPlayerConnected(ID) || ID != playerid){
            new armaN[32], balas, Name[2][MAX_PLAYER_NAME], str[128];
            GetWeaponName(arma, ArmaN, 32);
            balas = strval(tmp[2]);
            GetPlayerName(ID, Name[0], MAX_PLAYER_NAME);
            GetPlayerName(playerid, Name[1], MAX_PLAYER_NAME);
            format(str, 128, "Administrador %s (Id:%d) te ha dado una %s con %d de muiniciуn.", Name[1], playerid, armaN, balas);
            SendClientMessage(ID, Azul, str);
            format(str, 128, "* Le has dado a %s (Id:%d) el arma %s con %d de muiniciуn.", Name[0], ID, armaN, balas);
            SendClientMessage(playerid, Azul, str);
            return GivePlayerWeapon(id, arma, balas);
        }return SendClientMessage(playerid, Rojo, "** Este jugador no estб conectado o eres tъ.");
    }return SendClientMessage(playerid, Rojo, "** Debes ser Administrador nivel +4 para dar dinero a cualquier jugador.");
}
pawn Код:
stock GetWeaponIDFromName(Name[])
{
    if(!strfind("molotov",Name,true)) return 18;
    for(new i; i<47; i++){
        switch(i){
            case 0,19,20,21,44,45: continue;
            default:{
                new name[32];
                GetWeaponName(i, name, 32);
                if(!strfind(name,Name,true))return i;
            }
        }
    }return -1;
}

stock IsValidWeapon(weaponid)
{
    if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
    return 0;
}
No las testie pero supongo q funcionan, si no avisame y veo

PD: Usa [pawn*] & [/pawn*] (sin los '*', en vez de [code*] & [/code*])
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)