Problem range command. -
Edw - 01.02.2015
Hello sa-mp.com! So order has a problem, if we id 0 and given / unfreeze area 100 and works only to go, but other player does not work .. may be the loop, I have a command / healall in using loop and give life using only the command ...
Excuse my English!
PHP код:
CMD:area(playerid, params[]) {
if(PlayerLogat[playerid] == 0) return 1; new item[20], range;
if(PlayerInfo[playerid][pAdmin] < 3 && PlayerInfo[playerid][pLanguage] == 1) return SendClientMessage(playerid, COLOR_GENERAL, "Nu esti autorizat sa folosesti aceasta comanda.");
else if(PlayerInfo[playerid][pAdmin] < 3 && PlayerInfo[playerid][pLanguage] == 2) return SendClientMessage(playerid, COLOR_GENERAL, "You are not authorized to use this command.");
if(sscanf(params, "s[20]i", item, range)) return SendClientMessage(playerid, COLOR_GREY, "Use: {FFFFFF}/area <name> <range>");
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i ++ && IsPlayerConnected(i)) {
if(strcmp(item, "freeze", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
TogglePlayerControllable(i, 0); PlayerFreezed[i] = 1;
SendClientMessage(i, COLOR_YELLOW, "Admin %s ti-a dat freeze.", sendername); return 1; } }
else if(strcmp(item, "unfreeze", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
TogglePlayerControllable(i, 1); PlayerFreezed[i] = 0;
SendClientMessage(i, COLOR_YELLOW, "Admin %s ti-a dat unfreeze.", sendername); return 1; } }
else if(strcmp(item, "fixveh", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
RepairVehicle(GetPlayerVehicleID(i)), SetVehicleHealth(GetPlayerVehicleID(i), 1000.0);
SendClientMessage(i, COLOR_YELLOW, "Admin %s ti-a reparat masina.", sendername); return 1; } }
else if(strcmp(item, "disarm", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
ResetPlayerWeapons(i);
SendClientMessage(i, COLOR_YELLOW, "Admin %s ti-a confiscat armele.", sendername); return 1; } } }
return 1; }
Re: Problem range command. -
Jefff - 01.02.2015
return 1 stops loop after id 0
pawn Код:
CMD:area(playerid, params[])
{
if(PlayerLogat[playerid] == 0) return 0;
new item[20], range;
if(PlayerInfo[playerid][pAdmin] < 3 && PlayerInfo[playerid][pLanguage] == 1) SendClientMessage(playerid, COLOR_GENERAL, "Nu esti autorizat sa folosesti aceasta comanda.");
else if(PlayerInfo[playerid][pAdmin] < 3 && PlayerInfo[playerid][pLanguage] == 2) SendClientMessage(playerid, COLOR_GENERAL, "You are not authorized to use this command.");
else if(sscanf(params, "s[20]f", item, range)) SendClientMessage(playerid, COLOR_GREY, "Use: {FFFFFF}/area <name> <range>");
else
{
new str[128],idx = -1;
if(!strcmp(item, "freeze", true)) idx = 0;
else if(!strcmp(item, "unfreeze", true)) idx = 1;
else if(!strcmp(item, "fixveh", true)) idx = 2;
else if(!strcmp(item, "disarm", true)) idx = 3;
else{}
if(idx < 0) SendClientMessage(playerid, COLOR_GREY, "Use: {FFFFFF}/area <name> <range>");
else{
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, range*1000.0, pX, pY, pZ))
{
switch(idx)
{
case 0,1:
{
TogglePlayerControllable(i, idx);
PlayerFreezed[i] = !idx;
format(str,sizeof(str),"Admin %s ti-a dat %s.",sendername, !idx ? ("freeze") : ("unfreeze"));
SendClientMessage(i, COLOR_YELLOW, str);
}
case 2:
{
RepairVehicle(GetPlayerVehicleID(i));
//SetVehicleHealth(GetPlayerVehicleID(i), 1000.0);
format(str,sizeof(str),"Admin %s ti-a reparat masina.",sendername);
SendClientMessage(i, COLOR_YELLOW, , sendername);
}
case 3:
{
ResetPlayerWeapons(i);
format(str,sizeof(str),"Admin %s ti-a confiscat armele.",sendername);
SendClientMessage(i, COLOR_YELLOW, , sendername);
}
}
}
}
}
return 1;
}
Re: Problem range command. -
Edw - 01.02.2015
Thanks a lot, I had this problem before.
I deleted only return 1 and works perfectly.
Thanks again.
Re: Problem range command. -
Edw - 02.02.2015
I have a problem if we pLanguage on one work and if I give pLanguage 2 restart the server. I checked the console and give [b] Console input: GMX [/ b]
pawn Код:
CMD:area(playerid, params[]) {
if(PlayerLogat[playerid] == 0) return 0; new item[20], range; if(PlayerInfo[playerid][pAdmin] < 3) return NotAdmin(playerid);
if(sscanf(params, "s[20]i", item, range)) return SendClientMessage(playerid, COLOR_GREY, "Use: {FFFFFF}/area <name> <range>");
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++) {
if(strcmp(item, "freeze", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
TogglePlayerControllable(i, 0); PlayerFreezed[i] = 1;
if(PlayerInfo[i][pLanguage] == 1) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s ti-a dat freeze. ))", sendername); }
else if(PlayerInfo[i][pLanguage] == 2) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s gave you freeze. ))"); } } }
else if(strcmp(item, "unfreeze", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
TogglePlayerControllable(i, 1); PlayerFreezed[i] = 0;
if(PlayerInfo[i][pLanguage] == 1) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s ti-a dat unfreeze. ))", sendername); }
else if(PlayerInfo[i][pLanguage] == 2) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s gave you unfreeze. ))"); } } }
else if(strcmp(item, "heal", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
SetPlayerHealth(i, 100);
if(PlayerInfo[i][pLanguage] == 1) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s ti-a dat viata. ))", sendername); }
else if(PlayerInfo[i][pLanguage] == 2) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s gave you health. ))"); } } }
else if(strcmp(item, "fixveh", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) { RepairVehicle(GetPlayerVehicleID(i)), SetVehicleHealth(GetPlayerVehicleID(i), 1000.0); } }
else if(strcmp(item, "disarm", true, strlen(item)) == 0) {
if(IsPlayerInRangeOfPoint(i, range*1000, pX, pY, pZ)) {
ResetPlayerWeapons(i);
if(PlayerInfo[i][pLanguage] == 1) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s ti-a confiscat armele. ))", sendername); }
else if(PlayerInfo[i][pLanguage] == 2) { SendClientMessage(i, COLOR_YELLOW, "(( Admin %s your weapons confiscated. ))"); } } } }
return 1; }
Re: Problem range command. -
Edw - 02.02.2015
uppp