Zdravím vás lidi, vím, že je tu toho hodně, ale když si vzpomenu čím jsem si před třemi roky procházel já sám, tak vím, že se najde hodně lidí, co neumí hledat na webu, popřípadě ani základy pawna.
Tak teď stručně k tomu.
Nahoru do módu vložíme např.
new shop; //což je proměnná pro náš pickup
a teď si pojďmě vytvořit ten náš pickup do OnGameModeInit vložíme
shop = CreatePickup(vzhled pickupu,Typ pickupu,X,Y,Z,-1);
ID vzhledu pickupu najdete http://wiki.sa-mp.com/wiki/Game_Object_ID_List
a typ pickupu najdete http://wiki.sa-mp.com/wiki/PickupTypes
X,Y,Z vysvětlovat doufám nemusím
Číslo na konci (vetšinou -1) znamená virtuální svět, když je -1 jde vidět ve všech světech, když 1 tak jen v tom virtuálním.
A teď si pojďmě vypracovat dialog.
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == shop) { //když vstoupíte na pickup
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Obchod se zbraněmi","Zbran1 \n2Zbran2","Koupit","Zrušit"); //zobrazí se dialog přičemž 1 před DIALOG_STYLE_LIST značí ID daného dialogu.
}
return 1;
}
Ale dialog bohužel ještě nefunguje! Jakože funguje, ale nedá se tam nic koupit, protože tam jsou jen nápisy.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1) //dialog číslo 1
{
if(response)
{
if(listitem == 0) //První věc co jste napsali v dialogu
{
if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, 0xFF0000AA, "Nemáte dostatek penězí"); //napíše při nedostatku penězí
GivePlayerWeapon(playerid,ID zbrane, náboje);
GivePlayerMoney(playerid, -3000);
SendClientMessage(playerid,Vaše definovaná barva, "Koupil jsi ...!");
}
if(listitem == 1) //a to stejné u dalších věcí
{
if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xFF0000AA, "Nedostatek penězí!");
GivePlayerWeapon(playerid, ID ZBRANE, náboje);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid,Vaše definovaná barva, "Koupil jsi...!");
}
if(listitem == 2)
{
if(GetPlayerMoney(playerid) < 8000) return SendClientMessage(playerid, 0xFF0000AA, "Nedostatek penězí!");
GivePlayerWeapon(playerid, ID zbrane, náboje);
GivePlayerMoney(playerid, -8000);
SendClientMessage(playerid, vaše definovaná barva, "Koupil jsi .....!");
}
}
return 1;
}
return 0;
}
ID zbraní najdete http://wiki.sa-mp.com/wiki/Weapons
Mělo by to být všechno, kdybych tam měl případně chyby, opravte mě prosím.
BTW: Je to můj první TuT, nepoužíval jsem žádné návody. I když si to myslet můžete, protože většina těchto věcí vypadá stejně.