[Pomoc] Dialog


Započeo mr.co0per, Septembar 02, 2012, 03:23:44 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:CLRP
Detaljan opis problema:Pa Ovako , Zelim da Napravim /invite sas Dijalog , ali ne razumem  , probao sam ali ne uspije ... Molim vas Pomozite
Dio skripte: /invite
Neke slike/video za lakse dobivanje pomoci(neobavezno): /

if(strcmp(cmd, "/invite", true) == 0)
 	{
     	if(IsPlayerConnected(playerid))
     	{
   			tmp = strtok(cmdtext, idx);
   			if(!strlen(tmp))
   			{
    			SendClientMessage(playerid, COLOR_WHITE, "{37F906}INFO:{FFFFFF} /invite [Id/Dio Imena Igraca].");
    			return 1;
			}
   			new para1;
   			new ftext[20];
   			para1 = ReturnUser(tmp);
   			if (PlayerInfo[playerid][pLeader] >= 1)
   			{
       			if(IsPlayerConnected(para1))
       			{
           			if(para1 != INVALID_PLAYER_ID)
           			{
     					if (gTeam[para1] == TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
     					{
			              	if(PlayerInfo[playerid][pLeader] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "PD"; ChosenSkin[para1] = 282; SetPlayerSkin(para1, 282); }
			              	else if(PlayerInfo[playerid][pLeader] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "FBI"; ChosenSkin[para1] = 24; SetPlayerSkin(para1, 24); }
			              	else if(PlayerInfo[playerid][pLeader] == 3) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "SWAT"; ChosenSkin[para1] = 285; SetPlayerSkin(para1, 285); }
			              	else if(PlayerInfo[playerid][pLeader] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "MD"; ChosenSkin[para1] = 276; SetPlayerSkin(para1, 276); }
			              	else if(PlayerInfo[playerid][pLeader] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Yakuza"; ChosenSkin[para1] = 121; SetPlayerSkin(para1, 121); }
			              	else if(PlayerInfo[playerid][pLeader] == 6) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "LCN"; ChosenSkin[para1] = 112; SetPlayerSkin(para1, 112); }
			              	else if(PlayerInfo[playerid][pLeader] == 7) { PlayerInfo[para1][pTeam] = 7; gTeam[para1] = 7; ftext = "VLADA"; ChosenSkin[para1] = 164; SetPlayerSkin(para1, 164); }
			              	else if(PlayerInfo[playerid][pLeader] == 8) { PlayerInfo[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman"; ChosenSkin[para1] = 20; SetPlayerSkin(para1, 20); }
			              	else if(PlayerInfo[playerid][pLeader] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "LSN"; ChosenSkin[para1] = 1; SetPlayerSkin(para1, 1); }
			              	else if(PlayerInfo[playerid][pLeader] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxi"; ChosenSkin[para1] = 210; SetPlayerSkin(para1, 210); }
			              	else if(PlayerInfo[playerid][pLeader] == 12) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "LSG"; ChosenSkin[para1] = 175; SetPlayerSkin(para1, 175); }
			              	else if(PlayerInfo[playerid][pLeader] == 13) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Los Surenos"; ChosenSkin[para1] = 175; SetPlayerSkin(para1, 175); }
			              	else if(PlayerInfo[playerid][pLeader] == 14) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Carbon Racer's"; ChosenSkin[para1] = 23; SetPlayerSkin(para1, 23); }
			              	else if(PlayerInfo[playerid][pLeader] == 15) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "GSF"; ChosenSkin[para1] = 105; SetPlayerSkin(para1, 105); }
			              	else if(PlayerInfo[playerid][pLeader] == 16) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "LSV"; ChosenSkin[para1] = 108; SetPlayerSkin(para1, 108); }
			              	else { return 1; }
			        		GetPlayerName(para1, giveplayer, sizeof(giveplayer));
			        		GetPlayerName(playerid, sendername, sizeof(sendername));
			       	 		PlayerInfo[para1][pMember] = PlayerInfo[playerid][pLeader];
			        		PlayerInfo[para1][pRank] = 1;
			       	 		printf("AdmCmd: %s je pozvao %s-a da se pridruzi %s.", sendername, giveplayer, ftext);
			        		format(string, sizeof(string), "{37F906}INFO:{FFFFFF}Pokanjeti ste u %s, od %s", ftext, sendername);
			        		SendClientMessage(para1, COLOR_WHITE, string);
			        		format(string, sizeof(string), "{37F906}INFO:{FFFFFF}Pokanio si %s da udje u %s.", giveplayer,ftext);
			        		SendClientMessage(playerid, COLOR_WHITE, string);
       					}
				       	else
			       		{
          					SendClientMessage(playerid, WHITE, "{FF0000}GRESKA:{FFFFFF}Igrac je vec u org/band/mafiju.");
				           	return 1;
			       		}
  					}
   				}
   			}
	   		else
	   		{
    		SendClientMessage(playerid, WHITE, "{FF0000}GRESKA:{FFFFFF}Samo Lidere.");
			}
		}
		return 1;
	}
ScripT

Stari covek

Hoces da bude /invite u dialogu i onda da tom igracu kojeg lidera pozove u organizaciju da izbaci dialog i da ga pita da li zeli ili ne zeli?
Ako si to zeleo koristis: ShowPlayerDialog i koristi DIALOG_STYLE_MSGBOX i stavis dva dugmeta normalno. U komandi /invite obrisi:
       	 		PlayerInfo[para1][pMember] = PlayerInfo[playerid][pLeader];
			        		PlayerInfo[para1][pRank] = 1;

da nebi igraca odmah ubacilo u organizaciju. I u tu komandu dodaj:
SetPVarInt(para1,"Pozvan",playerid);  - da bi zapamtili ko je pozvao tog igraca uradio sam sa PVar-om nece za toliko biti problem
Zatim idi pod OnDialogResponse i napravis dialog:
switch(dialogid)
{
case ID_DIALOG_KOJI_SI_STAVIO://Stavi svoj id
{
if(!response)//Ako pritisne drugo dugme sto znaci sta ce biti ako ga npr. odbije
{
new id = GetPVarInt(playerid,"Pozvan");
SendClientMessage(id,"Igrac je odbio vas pozvi");
SendClientMessage(playerid,"Odbili ste poziv");
return 1;
}
//Sada ovde ide sta ce biti ako prihvati igraca
new id = GetPVarInt(playerid,"Pozvan");//To ce biti ID igraca koji je kucao /invite
PlayerInfo[playerid][pMember] = PlayerInfo[id][pLeader];
PlayerInfo[playerid][pRank] = 1;
SendClientMessage(id,"Igrac je prihvatio vas poziv");
SendClientMessage(playerid,"Prihvatili ste poziv ste poziv");
}
}

Ovo ti je uglavnom objasnjenje da bi shvatio kako se radi jer je cilj da ti naucis :)