Jump to content
  • 0

pomoc [Pawn Help] Neviem si rady.. :-/


_Martin_

Dotaz

Čau. Potreboval by som pomôcť s týmito príkazmi:

 

1. /tgterc - ide o boxovacie vrecia ktoré poslúžia ako terče ale, keď ich chcem zmazať tak to nejde..neviem prečo.

 

dcmd_tgterc(playerid,params[])
{
   #pragma unused params
new vrece1,vrece2,vrece3,vrece4,vrece5,vrece6,vrece7;
new str[95];
new bool:active = false;
   if(GetPlayerAdminLevel(playerid) < 1) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF}Nemáš Admin Level 1!");
   else if(strval(params[0]) > 2 || strval(params[0]) < 1) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF}Neplatný formát!");
if(strval(params[0]) == 1 && active == false)
{
    format(str,sizeof(str),"Administrátor %s zapol tréningové vrecia",PlayerName(playerid));
    SendClientMessageToAll(COLOR_RED,str);
	vrece1 = CreateObject(1985, -1132.001953125, -185.10739135742, 16.592277526855, 0, 0, 0);
	vrece2 = CreateObject(1985, -1118.2939453125, -198.68139648438, 16.609479904175, 0, 0, 0);
	vrece3 = CreateObject(1985, -1114.1422119141, -180.39721679688, 16.633438110352, 0, 0, 0);
	vrece4 = CreateObject(1985, -1121.3913574219, -187.91691589355, 16.744491577148, 0, 0, 0);
	vrece5 = CreateObject(1985, -1123.4709472656, -176.69854736328, 16.581283569336, 0, 0, 0);
	vrece6 = CreateObject(1985, -1127.8194580078, -194.97764587402, 16.705814361572, 0, 0, 0);
	vrece7 = CreateObject(1985, -1109.9122314453, -190.3377532959, 16.732566833496, 0, 0, 0);
	active = true;
	return 1;
}
else if(strval(params[0]) == 1 && active == true)
{
	SendClientMessage(playerid,COLOR_RED,"Vrecia už sú zapnuté !");
	return 1;
}
else if(strval(params[0]) == 2 && active == true)
{
    format(str,sizeof(str),"Administrátor %s vypol tréningové vrecia",PlayerName(playerid));
    SendClientMessageToAll(COLOR_RED,str);
	DestroyObject(vrece1);
	DestroyObject(vrece2);
	DestroyObject(vrece3);
	DestroyObject(vrece4);
	DestroyObject(vrece5);
	DestroyObject(vrece6);
	DestroyObject(vrece7);
	active = false;
	return 1;
}
else if(strval(params[0]) == 2 && active == false)
{
	SendClientMessage(playerid,COLOR_RED,"Vrecia už sú vypnuté !");
	return 1;
}
return 0;
}

 

 

Chyba: Napíšem /tgterc 1 a zapnú sa. Keď napíšem /tgterc 2 tak mi napíše čo je v tej poslednej podmienke. A môžem donekonečna písať /tgterc 1 a stále sa mi tam pridávajú tie vrecia takže ignoruje 2. podmienku..

 

------------------------------------------------

 

2. Nastavenie mena týmu.

 

 

dcmd_team(playerid,params[])
{
new id = strval(params[0]);
if(GetPlayerAdminLevel(playerid) < 4) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF}Nemáš Admin Level 4!");
if(!strval(params[0])) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF} Zabudol si zadať ID Teamu (1 - Home; 0 - Away)!");
if(!params[1]) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF} Zabudol si zadať nové meno!");
if(id == 1)
{
	format(banform,sizeof(banform),"{CC0000}Administrátor %s zmenil meno teamu %s na %s",PlayerName(playerid),TEAM_1, params[1]);
	SendClientMessageToAll(COLOR_WHITE,banform);
	new straaa[50];
	format(straaa,50,"%s",params[1]);
	TEAM_1 = straaa;
		new straa[50];
	format(straa,50,"[%s] vs [%s]",TEAM_1,TEAM_2);
	SetGameModeText(straa);
}
else if(id == 2)
{
	format(banform,sizeof(banform),"{CC0000}Administrátor %s zmenil meno teamu %s na %s",PlayerName(playerid),TEAM_2, params[1]);
	SendClientMessageToAll(COLOR_WHITE,banform);
	new straaa[50];
	format(straaa,50,"%s",params[1]);
	TEAM_2 = straaa;
	new straa[50];
	format(straa,50,"[%s] vs [%s]",TEAM_1,TEAM_2);
	SetGameModeText(straa);
}
return 1;
}

 

 

Chyba: Toto funguje až na to, že sa mi pred meno týmu pridá medzerník. Takže ak chcem aby to meno bolo normálne musím príkaz napísať: /team 1Fuck a keď napíšem /team 1 Fuck tak sa mi tam pridá ten medzerník. Tomuto nechápem taktiež.

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

a) premeny

new vrece1,vrece2,vrece3,vrece4,vrece5,vrece6,vrece7;

daj ako globálne, a nie ako lokálne...

 

B) params[1]); zmeň na prams[2]

 

 

     format(straaa,50,"%s",params[2]);// TU SOM ZMENIL "1" NA "2"
     TEAM_1 = straaa;
     new straa[50];
     format(straa,50,"[%s] vs [%s]",TEAM_1,TEAM_2);
     SetGameModeText(straa);
  }
  else if(id == 2)
  {
     format(banform,sizeof(banform),"{CC0000}Administrátor %s zmenil meno teamu %s na %s",PlayerName(playerid),TEAM_2, params[1]);
     SendClientMessageToAll(COLOR_WHITE,banform);
     new straaa[50];
     format(straaa,50,"%s",params[2]);// TU TIEZ SOM ZMENIL "1" NA "2"

Link to comment
Share on other sites

  • 0

kebyže miesto params používaš sscanf tak nemáš takýto problém... aspoň kebyže to chápeš

 

Keď napíšeš

 

"/team 1Fuck"

tak params obsahuje string "1Fuck"

a prvý znak (params[0]) je "1" a druhý znak (params[1]) je "F" takže ak dáš

"/team 1 Fuck" tak params[1] bude obsahovať " " (prázdnu medzeru) kapiš ?

Link to comment
Share on other sites

  • 0
MartiN":hcrdyh9y]Čau. Potreboval by som pomôcť s týmito príkazmi:

 

1. /tgterc - ide o boxovacie vrecia ktoré poslúžia ako terče ale, keď ich chcem zmazať tak to nejde..neviem prečo.

 

dcmd_tgterc(playerid,params[])
{
   #pragma unused params
new vrece1,vrece2,vrece3,vrece4,vrece5,vrece6,vrece7;
new str[95];
new bool:active = false;
   if(GetPlayerAdminLevel(playerid) < 1) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF}Nemáš Admin Level 1!");
   else if(strval(params[0]) > 2 || strval(params[0]) < 1) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF}Neplatný formát!");
if(strval(params[0]) == 1 && active == false)
{
    format(str,sizeof(str),"Administrátor %s zapol tréningové vrecia",PlayerName(playerid));
    SendClientMessageToAll(COLOR_RED,str);
	vrece1 = CreateObject(1985, -1132.001953125, -185.10739135742, 16.592277526855, 0, 0, 0);
	vrece2 = CreateObject(1985, -1118.2939453125, -198.68139648438, 16.609479904175, 0, 0, 0);
	vrece3 = CreateObject(1985, -1114.1422119141, -180.39721679688, 16.633438110352, 0, 0, 0);
	vrece4 = CreateObject(1985, -1121.3913574219, -187.91691589355, 16.744491577148, 0, 0, 0);
	vrece5 = CreateObject(1985, -1123.4709472656, -176.69854736328, 16.581283569336, 0, 0, 0);
	vrece6 = CreateObject(1985, -1127.8194580078, -194.97764587402, 16.705814361572, 0, 0, 0);
	vrece7 = CreateObject(1985, -1109.9122314453, -190.3377532959, 16.732566833496, 0, 0, 0);
	active = true;
	return 1;
}
else if(strval(params[0]) == 1 && active == true)
{
	SendClientMessage(playerid,COLOR_RED,"Vrecia už sú zapnuté !");
	return 1;
}
else if(strval(params[0]) == 2 && active == true)
{
    format(str,sizeof(str),"Administrátor %s vypol tréningové vrecia",PlayerName(playerid));
    SendClientMessageToAll(COLOR_RED,str);
	DestroyObject(vrece1);
	DestroyObject(vrece2);
	DestroyObject(vrece3);
	DestroyObject(vrece4);
	DestroyObject(vrece5);
	DestroyObject(vrece6);
	DestroyObject(vrece7);
	active = false;
	return 1;
}
else if(strval(params[0]) == 2 && active == false)
{
	SendClientMessage(playerid,COLOR_RED,"Vrecia už sú vypnuté !");
	return 1;
}
return 0;
}

 

 

Chyba: Napíšem /tgterc 1 a zapnú sa. Keď napíšem /tgterc 2 tak mi napíše čo je v tej poslednej podmienke. A môžem donekonečna písať /tgterc 1 a stále sa mi tam pridávajú tie vrecia takže ignoruje 2. podmienku..

 

------------------------------------------------

 

2. Nastavenie mena týmu.

 

 

dcmd_team(playerid,params[])
{
new id = strval(params[0]);
if(GetPlayerAdminLevel(playerid) < 4) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF}Nemáš Admin Level 4!");
if(!strval(params[0])) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF} Zabudol si zadať ID Teamu (1 - Home; 0 - Away)!");
if(!params[1]) return SendClientMessage(playerid,COLOR_WHITE,"{CC0000}[ ReS Apanel ]: {FFFFFF} Zabudol si zadať nové meno!");
if(id == 1)
{
	format(banform,sizeof(banform),"{CC0000}Administrátor %s zmenil meno teamu %s na %s",PlayerName(playerid),TEAM_1, params[1]);
	SendClientMessageToAll(COLOR_WHITE,banform);
	new straaa[50];
	format(straaa,50,"%s",params[1]);
	TEAM_1 = straaa;
		new straa[50];
	format(straa,50,"[%s] vs [%s]",TEAM_1,TEAM_2);
	SetGameModeText(straa);
}
else if(id == 2)
{
	format(banform,sizeof(banform),"{CC0000}Administrátor %s zmenil meno teamu %s na %s",PlayerName(playerid),TEAM_2, params[1]);
	SendClientMessageToAll(COLOR_WHITE,banform);
	new straaa[50];
	format(straaa,50,"%s",params[1]);
	TEAM_2 = straaa;
	new straa[50];
	format(straa,50,"[%s] vs [%s]",TEAM_1,TEAM_2);
	SetGameModeText(straa);
}
return 1;
}

 

 

Chyba: Toto funguje až na to, že sa mi pred meno týmu pridá medzerník. Takže ak chcem aby to meno bolo normálne musím príkaz napísať: /team 1Fuck a keď napíšem /team 1 Fuck tak sa mi tam pridá ten medzerník. Tomuto nechápem taktiež.

Nechce sa mi hladat ale neco mu tam chyba (neviem ale co)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...