[PAWNO] ShowPlayerDialog un OnDialogResponse
Posted: 10 Feb 2012, 03:18
Parādīšu jums kā var izveidot 'dialogus'.
Sāksim ar vienkāršu lodziņu kurš parādīs tekstu.
1. Atveram PAWNO un spiežam pogu un izveidojam jaunu failu.
2. Sameklējam 'OnPlayerCommandText'.
3. Zem 'OnPlayerCommandText' izveidojam jaunu komandu kura parādīs šo logu.
4. Ievietojam
5. Tagad jūsu komandai jāizskatās šādi.
Tātad, 'playerid' ir persona kuram logs tiks atvērts. Pirmā nulle ir loga ID, to mēs izmantosim zem 'OnDialogResponse'. Otrā nulle ir loga stils. Lūk arī visi iespējamie stili - http://wiki.sa-mp.com/wiki/Dialog_Styles
'Virsraksts' ir loga virsraksts kurš redzam bildē zemāk. 'Teksts' nāk zem virsraksta, parasti tur arī parāda visu nepieciešamo informāciju. 'Apstiprināt' ir viena no pogām, kura apstiprinās jebko kas rakstīts iekš 'Teksts'. 'Atcelt' arī ir poga, tikai šī atceļ to kas rakstīts iekš 'Teksts'.
Kad viss šis ir izveidots, sameklējam OnDialogResponse.
6. Iekš OnDialogResponse pārbaudam dialoga ID.
7. Iekš tā rakstam
8. Zem tā rakstam
Tagad jūsu kodam jāizskatās šādi
Domāju pēc visa šī jūs sapratīsiet kā kas strādā. Protams ir vel daži citi loga stili, bet tam es veidošu citu pamācību.
Sāksim ar vienkāršu lodziņu kurš parādīs tekstu.
1. Atveram PAWNO un spiežam pogu un izveidojam jaunu failu.
2. Sameklējam 'OnPlayerCommandText'.
3. Zem 'OnPlayerCommandText' izveidojam jaunu komandu kura parādīs šo logu.
Code: Select all
if (strcmp("/dialog1", cmdtext, true, 7) == 0)
{
return 1;
}
Code: Select all
ShowPlayerDialog(playerid, 0, 0, "Virsraksts", "Teksts kurš jāliek zem virsraksta.", "Apstriprināt", "Atcelt");
Code: Select all
if (strcmp("/dialog1", cmdtext, true, 7) == 0)
{
ShowPlayerDialog(playerid, 0, 0, "Virsraksts", "Teksts.", "Apstriprināt", "Atcelt");
return 1;
}
'Virsraksts' ir loga virsraksts kurš redzam bildē zemāk. 'Teksts' nāk zem virsraksta, parasti tur arī parāda visu nepieciešamo informāciju. 'Apstiprināt' ir viena no pogām, kura apstiprinās jebko kas rakstīts iekš 'Teksts'. 'Atcelt' arī ir poga, tikai šī atceļ to kas rakstīts iekš 'Teksts'.
Kad viss šis ir izveidots, sameklējam OnDialogResponse.
6. Iekš OnDialogResponse pārbaudam dialoga ID.
Code: Select all
if(dialogid == 0)
Code: Select all
if(!response) return SendClientMessage(playerid, 0xAFAFAFAA, "Jūs nospiedāt 'Atcelt'");
Code: Select all
SendClientMessage(playerid, 0xAFAFAFAA, "Jūs nospiedāt 'Apstiprināt'");
Code: Select all
if(dialogid == 0)
{
if(!response) return SendClientMessage(playerid, 0xAFAFAFAA, "Jūs nospiedāt 'Atcelt'");
SendClientMessage(playerid, 0xAFAFAFAA, "Jūs nospiedāt 'Apstiprināt'");
return 1;
}