[ajuda] comando de dar arma -
bombomloko - 21.04.2012
eu gostaria de colocar um comando que o player desse a sua arma que estб segurando para outro player, como faзo?
Re: [ajuda] comando de dar arma -
Lуs - 21.04.2012
pawn Код:
CMD:dararma(playerid, params[])
{
new userid, arma, municao, string[128], string2[128], nome[MAX_PLAYER_NAME], nome2[MAX_PLAYER_NAME];
if(sscanf(params, "u", userid)) return SendClientMessage(playerid, -1, "Use: /dararma [ID]");
if(GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid, -1, "Vocк nгo estб com nenhuma arma equipada");
if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, -1, "Jogador nгo conectado");
GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
GetPlayerName(userid, nome2, MAX_PLAYER_NAME);
arma = GetPlayerWeapon(playerid);
municao = GetPlayerAmmo(playerid);
GivePlayerWeapon(userid, arma, municao);
RemovePlayerWeapon(playerid, arma);
format(string, 128, "O jogador %s te deu a arma de ID %d com %d balas", nome, arma, municao);
format(string2, 128, "Vocк deu para o jogador %s a arma de ID %d com %d balas", nome2, arma, municao);
SendClientMessage(userid, -1, string);
SendClientMessage(playerid, -1, string2);
return 1;
}
stock RemovePlayerWeapon(playerid, weaponid)//By Garfield
{
if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50)
return;
new
saveweapon[13],
saveammo[13];
for(new slot = 0; slot < 13; slot++)
GetPlayerWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
ResetPlayerWeapons(playerid);
for(new slot; slot < 13; slot++)
{
if(saveweapon[slot] == weaponid || saveammo[slot] == 0)
continue;
GivePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]);
}
GivePlayerWeapon(playerid, 0, 1);
}
Respuesta: [ajuda] comando de dar arma -
leosivi - 21.04.2012
Tente:
pawn Код:
if(strcmp(cmd, "/dararma", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /dararma [id] [arma id(ex. 24 = Eagle)] [muniзгo]");
return true;
}
new playa;
new gun;
new ammo;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
gun = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "USE: /dararma [id] [arma id] [muniзгo]");
SendClientMessage(playerid, COLOR_GRAD4, "3(Cassetete) 4(Faca) 5(Taco de Baseball) 6(Pб) 7(Espada) 8(Katana) 10-13(Vibrador) 14(Flores) 16(Granadas) 17(Granada Gбs) 18(Molotovs) 22(Pistola)");
SendClientMessage(playerid, COLOR_GRAD3, "23(Pistola com Silenciador) 24(Eagle) 25(Escopeta) 29(MP5) 30(AK47) 31(M4) 33(Rifle) 34(Sniper) 37(Lanзa Chamas) 41(spray) 42(extintor) 43(Camera) 46(Paraquedas)");
return true;
}
if(gun < 1 || gun > 46 || gun==38 || gun==35 || gun==37 || gun==44 || gun==45 || gun==9 || gun==26 || gun==27 || gun==28 || gun==32)
{ SendClientMessage(playerid, COLOR_GRAD1, " ID Proibido!"); return true; }
tmp = strtok(cmdtext, idx);
ammo = strval(tmp);
if(ammo <1||ammo > 999)
{ SendClientMessage(playerid, COLOR_GRAD1, " O minimo de muniзгo й 1 e o mбximo й 999!"); return true; }
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GivePlayerWeapon(playa, gun, ammo);
}
}
}
return true;
}
Re: Respuesta: [ajuda] comando de dar arma -
Lуs - 21.04.2012
Quote:
Originally Posted by leosivi
Tente:
pawn Код:
if(strcmp(cmd, "/dararma", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /dararma [id] [arma id(ex. 24 = Eagle)] [muniзгo]"); return true; } new playa; new gun; new ammo; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); gun = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "USE: /dararma [id] [arma id] [muniзгo]"); SendClientMessage(playerid, COLOR_GRAD4, "3(Cassetete) 4(Faca) 5(Taco de Baseball) 6(Pб) 7(Espada) 8(Katana) 10-13(Vibrador) 14(Flores) 16(Granadas) 17(Granada Gбs) 18(Molotovs) 22(Pistola)"); SendClientMessage(playerid, COLOR_GRAD3, "23(Pistola com Silenciador) 24(Eagle) 25(Escopeta) 29(MP5) 30(AK47) 31(M4) 33(Rifle) 34(Sniper) 37(Lanзa Chamas) 41(spray) 42(extintor) 43(Camera) 46(Paraquedas)"); return true; } if(gun < 1 || gun > 46 || gun==38 || gun==35 || gun==37 || gun==44 || gun==45 || gun==9 || gun==26 || gun==27 || gun==28 || gun==32) { SendClientMessage(playerid, COLOR_GRAD1, " ID Proibido!"); return true; } tmp = strtok(cmdtext, idx); ammo = strval(tmp); if(ammo <1||ammo > 999) { SendClientMessage(playerid, COLOR_GRAD1, " O minimo de muniзгo й 1 e o mбximo й 999!"); return true; } if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GivePlayerWeapon(playa, gun, ammo); } }
} return true; }
|
Vocк ao menos leu o post?
Re: [ajuda] comando de dar arma -
bombomloko - 21.04.2012
Quote:
Originally Posted by Los
pawn Код:
CMD:dararma(playerid, params[]) { new userid, arma, municao, string[128], string2[128], nome[MAX_PLAYER_NAME], nome2[MAX_PLAYER_NAME]; if(sscanf(params, "u", userid)) return SendClientMessage(playerid, -1, "Use: /dararma [ID]"); if(GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid, -1, "Vocк nгo estб com nenhuma arma equipada"); if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, -1, "Jogador nгo conectado"); GetPlayerName(playerid, nome, MAX_PLAYER_NAME); GetPlayerName(userid, nome2, MAX_PLAYER_NAME); arma = GetPlayerWeapon(playerid); municao = GetPlayerAmmo(playerid); GivePlayerWeapon(userid, arma, municao); RemovePlayerWeapon(playerid, arma); format(string, 128, "O jogador %s te deu a arma de ID %d com %d balas", nome, arma, municao); format(string2, 128, "Vocк deu para o jogador %s a arma de ID %d com %d balas", nome2, arma, municao); SendClientMessage(userid, -1, string); SendClientMessage(playerid, -1, string2); return 1; }
stock RemovePlayerWeapon(playerid, weaponid)//By Garfield { if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50) return;
new saveweapon[13], saveammo[13];
for(new slot = 0; slot < 13; slot++) GetPlayerWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
ResetPlayerWeapons(playerid);
for(new slot; slot < 13; slot++) { if(saveweapon[slot] == weaponid || saveammo[slot] == 0) continue;
GivePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]); }
GivePlayerWeapon(playerid, 0, 1); }
|
apareceram 26 erros ao compilar, todos eram sobre "return 1;"
Re: [ajuda] comando de dar arma -
Lуs - 21.04.2012
Quote:
Originally Posted by bombomloko
apareceram 26 erros ao compilar, todos eram sobre "return 1;"
|
Vocк usa zcmd ou strcmp?
Re: [ajuda] comando de dar arma -
bombomloko - 21.04.2012
uso strcmp
Re: [ajuda] comando de dar arma -
Lуs - 21.04.2012
Quote:
Originally Posted by bombomloko
uso strcmp
|
Entгo basta converter do ZCMD e sscanf para strcmp e strtok..
Re: [ajuda] comando de dar arma -
bombomloko - 22.04.2012
entгo como ficaria o comando? pq aqui da erro do "params" que nгo foi identificado
Re: [ajuda] comando de dar arma -
duuuwh - 27.10.2012
vocк editou o cуdigo?
se sim, manda ai pra nois ver como ficou..