[Pomoc] /invite cmd HITNO


Započeo ...Nikola..., Avgust 29, 2012, 00:11:48 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: GTA RP edit
Detaljan opis problema: Uzo sam obicnu cmd /invite iz gta rp da prebacim da kada lider ukuca /invite id id igraca da igracu dodje dialog i da kad stisne izabere da li oce da se uclani ili ne e problem je sto igracu uopste ne dodje dialog kad lider ukuca /invite ID
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Obicna GTA RP
if(strcmp(cmd, "/invite", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /invite [ID Igraca]");
				return 1;
			}
			new para1;
			new ftext[20];
			para1 = ReturnUser(tmp);
			if (PlayerInfo[playerid][pLider] >= 1)
			{
			    if(IsPlayerConnected(para1))
			    {
  					if(PlayerInfo[para1][pLevel] < 2)
					{
						SendClientMessage(playerid, COLOR_GRAD1, "(greska) Igrac mora biti level 2!");
						return 1;
					}
			        if(para1 != INVALID_PLAYER_ID)
			        {
					    if (gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pClan] == 0 && PlayerInfo[para1][pFMember] == 255)
					    {
					        if(PlayerInfo[playerid][pLider] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Police Force"; ChosenSkin[para1] = 71; SetPlayerSkin(para1, 71); }
					        else if(PlayerInfo[playerid][pLider] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "FBI/ATF"; ChosenSkin[para1] = 286; SetPlayerSkin(para1, 286); }
					        else if(PlayerInfo[playerid][pLider] == 3) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "National Guard"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
					        else if(PlayerInfo[playerid][pLider] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Firemen/Ambulance"; ChosenSkin[para1] = 70; SetPlayerSkin(para1, 70); }
					        else if(PlayerInfo[playerid][pLider] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Surenos"; ChosenSkin[para1] = 116; SetPlayerSkin(para1, 116); }
					        else if(PlayerInfo[playerid][pLider] == 6) { PlayerInfo[para1][pTeam] = 6; gTeam[para1] = 6; ftext = "La Famiglia Sinatra"; ChosenSkin[para1] = 125; SetPlayerSkin(para1, 125); }
					        else if(PlayerInfo[playerid][pLider] == 7) { return 1; }
					        else if(PlayerInfo[playerid][pLider] == 8) { PlayerInfo[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman Agency"; ChosenSkin[para1] = 249; SetPlayerSkin(para1, 249); }
					        else if(PlayerInfo[playerid][pLider] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "RTS Studio"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
					        else if(PlayerInfo[playerid][pLider] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxi Company"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
					        else if(PlayerInfo[playerid][pLider] == 11) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "School Instructors"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
					        else if(PlayerInfo[playerid][pLider] == 15) { PlayerInfo[para1][pTeam] = 15; gTeam[para1] = 15; ftext = "47th Street Saints"; ChosenSkin[para1] = 293; SetPlayerSkin(para1, 293); }
					        else if(PlayerInfo[playerid][pLider] == 16) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "East Side Bloods"; ChosenSkin[para1] = 7; SetPlayerSkin(para1, 7); }
					        else { return 1; }
							GetPlayerName(para1, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							PlayerInfo[para1][pClan] = PlayerInfo[playerid][pLider];
							PlayerInfo[para1][pRank] = 1;
							//printf("[ADMIN] %s je ubacio %s u organizaciju %s.", sendername, giveplayer, ftext);
							format(string, sizeof(string), "{00C0FF}Pozvani ste u {FFFFFF}%s{00C0FF},pozvao vas je Lider {FFFFFF}%s", ftext, sendername);
							SendClientMessage(para1, COLOR_WHITE, string);
							format(string, sizeof(string), "{00C0FF}Pozvali ste {FFFFFF}%s{00C0FF} da se pridruzi {FFFFFF}%s.", giveplayer,ftext);
							SendClientMessage(playerid, COLOR_WHITE, string);
						}
						else
						{
						    SendClientMessage(playerid, COLOR_GRAD1, "(greska) Taj igrac je vec u nekoj organizaciji ili ima wanted level.");
						    return 1;
						}
					}
				}//not connected
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "(greska) Niste lider!");
			}
		}
		return 1;
	}

moja cmd
CMD:invite(playerid, params[])
{
	new id,sendername[MAX_PLAYER_NAME+1],giveplayer[MAX_PLAYER_NAME+1],string[128];
	if(PlayerInfo[playerid][pLider] >= 1)
	{
		if(PlayerInfo[id][pLevel] >= 2)
		{
			if(PlayerInfo[id][pClan] != 0)
			{
				if(sscanf(params, "r", id)) SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /invite [ID Igraca]");
				else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD1, "(greska) Taj igrac je offline!");
   				GetPlayerName(id, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "Lider %s vam je poslao zahtev da budete clan u njegovoj org", sendername);
				SendClientMessage(id, COLOR_WHITE, string);
				format(string, sizeof(string), "Poslali ste zahtev igracu %s !",giveplayer);
				SendClientMessage(playerid, COLOR_WHITE, string);
				ShowPlayerDialog(playerid, IDIALOG, DIALOG_STYLE_MSGBOX,"Zahtev za Org/Bandu/Mafiju","Ako zelite da budete clan stisnite Prihvatam ako necete Odbijam","Prihvatam","Odbijam");
				MemberOffer[id] = playerid;
			} else return SendClientMessage(playerid,COLOR_GRAD1,"(greska) Taj igrac je u nekoj organizaciji!");
		} else return SendClientMessage(playerid,COLOR_GRAD1,"(greska) Igrac mora biti najmanje level 2!");
	} else return SendClientMessage(playerid,COLOR_GRAD1,"(greska) Niste autorizovani da koristite ovu komandu!");
	return 1;
}

pod ondialogresponse
if(dialogid == IDIALOG)
	{
	if(MemberOffer[playerid] < 999)
	{
	if(!response)
	{
	SendClientMessage(playerid,COLOR_GRAD1,"Odbili ste zahtev za org");
	return 1;
	}
	if(IsPlayerConnected(MemberOffer[playerid]))
	{
	new ftext[50];
	new para1;
	new giveplayer[MAX_PLAYER_NAME+1];
	GetPlayerName(MemberOffer[playerid], giveplayer, sizeof(giveplayer));
	GetPlayerName(playerid, sendername, sizeof(sendername));
	PlayerInfo[playerid][pClan] = PlayerInfo[MemberOffer[playerid]][pLider];
	PlayerInfo[playerid][pRank] = 1;
	format(string, sizeof(string), "*%s je prihvatio zahtev za organizaciju.",sendername);
	SendClientMessage(RepairOffer[playerid], COLOR_WHITE, string);
	if(PlayerInfo[playerid][pLider] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Police Force"; ChosenSkin[para1] = 71; SetPlayerSkin(para1, 71); }
	else if(PlayerInfo[playerid][pLider] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "FBI/ATF"; ChosenSkin[para1] = 286; SetPlayerSkin(para1, 286); }
	else if(PlayerInfo[playerid][pLider] == 3) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "National Guard"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
	else if(PlayerInfo[playerid][pLider] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Firemen/Ambulance"; ChosenSkin[para1] = 70; SetPlayerSkin(para1, 70); }
	else if(PlayerInfo[playerid][pLider] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Surenos"; ChosenSkin[para1] = 116; SetPlayerSkin(para1, 116); }
	else if(PlayerInfo[playerid][pLider] == 6) { PlayerInfo[para1][pTeam] = 6; gTeam[para1] = 6; ftext = "La Famiglia Sinatra"; ChosenSkin[para1] = 125; SetPlayerSkin(para1, 125); }
	else if(PlayerInfo[playerid][pLider] == 7) { return 1; }
	else if(PlayerInfo[playerid][pLider] == 8) { PlayerInfo[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman Agency"; ChosenSkin[para1] = 249; SetPlayerSkin(para1, 249); }
	else if(PlayerInfo[playerid][pLider] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "RTS Studio"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
	else if(PlayerInfo[playerid][pLider] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxi Company"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
	else if(PlayerInfo[playerid][pLider] == 11) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "School Instructors"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
	else if(PlayerInfo[playerid][pLider] == 15) { PlayerInfo[para1][pTeam] = 15; gTeam[para1] = 15; ftext = "47th Street Saints"; ChosenSkin[para1] = 293; SetPlayerSkin(para1, 293); }
	else if(PlayerInfo[playerid][pLider] == 16) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "East Side Bloods"; ChosenSkin[para1] = 7; SetPlayerSkin(para1, 7); }
	else { return 1; }
	format(string, sizeof(string), "*Prihvaliti ste zahtev za organizaciju %s od strane lidera %s.",giveplayer,ftext);
	SendClientMessage(playerid, COLOR_WHITE, string);
	SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
	MemberOffer[playerid] = 999;
	return 1;
	}
	return 1;
	}
	else
	{
	SendClientMessage(playerid, COLOR_GRAD1, "Niko vas ne e pitao da se pridruziti organizaciji!");
	return 1;
	}
	}

Vegas.

Probaj ovako.

CMD:invite(playerid, params[])
{
	new id,sendername[MAX_PLAYER_NAME+1],giveplayer[MAX_PLAYER_NAME+1],string[128];
	if(PlayerInfo[playerid][pLider] >= 1)
	{
		if(PlayerInfo[id][pLevel] >= 2)
		{
			if(PlayerInfo[id][pClan] != 0)
			{
				if(sscanf(params, "i", id)) SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /invite [ID Igraca]");
				else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD1, "(greska) Taj igrac je offline!");
   				GetPlayerName(id, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "Lider %s vam je poslao zahtev da budete clan u njegovoj org", sendername);
				SendClientMessage(id, COLOR_WHITE, string);
				format(string, sizeof(string), "Poslali ste zahtev igracu %s !",giveplayer);
				SendClientMessage(playerid, COLOR_WHITE, string);
				ShowPlayerDialog(id, IDIALOG, DIALOG_STYLE_MSGBOX,"Zahtev za Org/Bandu/Mafiju","Ako zelite da budete clan stisnite Prihvatam ako necete Odbijam","Prihvatam","Odbijam");
				MemberOffer[id] = playerid;
			} else return SendClientMessage(playerid,COLOR_GRAD1,"(greska) Taj igrac je u nekoj organizaciji!");
		} else return SendClientMessage(playerid,COLOR_GRAD1,"(greska) Igrac mora biti najmanje level 2!");
	} else return SendClientMessage(playerid,COLOR_GRAD1,"(greska) Niste autorizovani da koristite ovu komandu!");
	return 1;
}


Vegas.

To je onda do komande, jer sam samo izmjeni kod dijaloga, umjesto playerid stavio id.. I koliko vidim provjera za igračev level ti nevalja..

Postavio sam obicnu cmd iz GTA RP mozes li pls nju da editujes i da mi napravis to ZCMD sscanf i da igracu dodje dialog i da to radi jer mi ne radi :S

Vegas.

CMD:invite(playerid, params[])
{
	new id,sendername[MAX_PLAYER_NAME+1],giveplayer[MAX_PLAYER_NAME+1],string[128];
	if(PlayerInfo[playerid][pLider] !>= 1) {SendClientMessage(playerid,COLOR_GRAD1,"(greska) Niste autorizovani da koristite ovu komandu!"); }
	{
		if(PlayerInfo[id][pLevel] !>= 2) { SendClientMessage(playerid,COLOR_GRAD1,"(greska) Igrac mora biti najmanje level 2!"); }
		{
			if(PlayerInfo[id][pClan] != 0) { SendClientMessage(playerid,COLOR_GRAD1,"(greska) Taj igrac je u nekoj organizaciji!"); }
			{
				if(sscanf(params, "i", id)) SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /invite [ID Igraca]");
				else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD1, "(greska) Taj igrac je offline!");
   				GetPlayerName(id, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "Lider %s vam je poslao zahtev da budete clan u njegovoj org", sendername);
				SendClientMessage(id, COLOR_WHITE, string);
				format(string, sizeof(string), "Poslali ste zahtev igracu %s !",giveplayer);
				SendClientMessage(playerid, COLOR_WHITE, string);
				ShowPlayerDialog(id, IDIALOG, DIALOG_STYLE_MSGBOX,"Zahtev za Org/Bandu/Mafiju","Ako zelite da budete clan stisnite Prihvatam ako necete Odbijam","Prihvatam","Odbijam");
				MemberOffer[id] = playerid;
			} 
		} 
	} 
	return 1;
}

CitatBESP.pwn(42999) : error 001: expected token: ")", but found "!"
BESP.pwn(42999) : error 029: invalid expression, assumed zero
BESP.pwn(42999) : warning 215: expression has no effect
BESP.pwn(42999) : error 001: expected token: ";", but found ")"
BESP.pwn(42999) : fatal error 107: too many error messages on one line
Linija
if(PlayerInfo[playerid][pLider] !>= 1) { SendClientMessage(playerid,COLOR_GRAD1,"(greska) Niste autorizovani da koristite ovu komandu!"); }

if(PlayerInfo[playerid][pLider] == 0) { SendClientMessage(playerid,COLOR_GRAD1,"(greska) Niste autorizovani da koristite ovu komandu!"); }



koji ti je broj dialoga?

vidi da stavis br manji od hiljadu... ponekad kada pravim komande sa dialogom i stavim veliki dialog br nekad cak i preko 1000 nece da izadje... stavljaj brojeve 10,11,12, itd idi redom :P sto manje to bolje... bar po meni :)
Poslednja Izmena: Avgust 29, 2012, 01:42:04 PRE PODNE od dock

Nece pise igrac mora biti level 2 a veci sam level i ne izbacuje dialog igracu kome je poslat /invite
#define IDIALOG 56486 ovo sam bezveze stavio broj

Da znam pomogao bi ti al posto ne znam jbg  :o

Vegas.

ID dijaloga ti je prevelik, najviše možeš do oko 34k...

#define IDIALOG 56486

to ti je problem preveliki br... (ja mslm.. meni to predstavlja problem)

stavi broj tipa 158 ako nije zauzeto ... pa javi :) al to bi trebalo biti to :D

@Vegas bravo blizu si :D

Citatdialogid   An ID to assign this dialog to, so responses can be processed. Max dialogid is 32767. Using negative values will close any open dialog.
Poslednja Izmena: Avgust 29, 2012, 01:45:33 PRE PODNE od dock


pa jesi stavio u define-u? odnosno i pod showplayerdialog i ondialogresponse? isti br?