[Ayuda] con una funcion
#1

Bueno, tengo una funcion que determina el id del slot al dar un arma, necesito que ese slot sea una variable de mi enum para al momento de dar el arma se de en ese slot, dejo los codigos.


comando:

Код:
CMD:arma(playerid, params[])
{
   	new ID,ADMIN;
   	if(PlayerInfo[playerid][jAdminNvl] < 5) return 1;
	if(sscanf(params, "dd", ID,ADMIN) )return SendClientMessage(playerid,COLOR_WHITE,"Uso: /arma [jugador] [ID]");
   	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,COLOR_WHITE,"Jugador desconectado o id incorrecta");
   	{
    	new slot = GetWeaponSlot(ADMIN);
	    PlayerInfo[playerid][slot] = ADMIN;
	    GivePlayerWeapon(playerid, ADMIN, 999999);
       	return 1;
   	}
}
Funcion:

Код:
stock GetWeaponSlot(weaponid)
{
new slot;
switch(weaponid)
{
case 0,1: slot = pWP0;
case 2 .. 9: slot = pWP1;
case 10 .. 15: slot = pWP10;
case 16 .. 18, 39: slot = pWP8;
case 22 .. 24: slot = pWP2;
case 25 .. 27: slot = pWP3;
case 28, 29, 32: slot = pWP4;
case 30, 31: slot = pWP5;
case 33, 34: slot = pWP6;
case 35 .. 38: slot = pWP7;
case 40: slot = pWP12;
case 41 .. 43: slot = pWP9;
case 44 .. 46: slot = pWP11;
}
return slot;
}
Necesito que por ejemplo al dar una desert eagle se guarda en el slot 2 que seria PlayerInfo[playerid][pWP2],


Gracias.
Reply
#2

esa funciуn no hace eso xD
Reply
#3

https://sampwiki.blast.hk/wiki/GetPlayerWeaponData
pawn Код:
#define SLOTS_ARMAS (13)
new GuardarArma[MAX_PLAYERS][SLOTS_ARMAS],
GuardarMunicion[MAX_PLAYERS][SLOTS_ARMAS];
pawn Код:
CMD:arma(playerid, params[]){
    new ID,ARMA;
    if(PlayerInfo[playerid][jAdminNvl] < 5) return 1;
    if(sscanf(params, "rd", ID,ARMA)return SendClientMessage(playerid,COLOR_WHITE,"Uso: /arma [jugador] [ID]");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,COLOR_WHITE,"Jugador desconectado o id incorrecta");
    GivePlayerWeapon(playerid, ARMA, 999999);
    new slot = GetWeaponSlot(ARMA);
    GetPlayerWeaponData(playerid, slot, GuardarArma[playerid][slot], GuardarMunicion[playerid][slot]);
    return true;
}
pawn Код:
stock GetWeaponSlot(weaponid){
new slot;
switch(weaponid){
    case 0,1: slot = 0;
    case 2,3,4,5,6,7,8,9: slot = 1;
    case 22,23,24: slot = 2;
    case 25,26,27: slot = 3;
    case 28,29,32: slot = 4;
    case 30,31: slot = 5;
    case 33,34: slot = 6;
    case 35,36,37,38: slot = 7;
    case 16,17,18,39: slot = 8;
    case 41,42,43: slot = 9;
    case 44,45,46: slot = 10;
    case 10,11,12,13,14,15: slot = 11;
    case 40: slot = 12;
}return slot;}
Reply
#4

Necesitaba que el id del arma se colocara en la variable para las detecciones del anticheat, igual ya lo he solucionado de otra manera.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)