-
Sziasztok az lenne a problémám hogy leraktam 2 Pickupot így.
CreatePickup(1275, 2, 210.8591,-128.3841,1003.5152, 0);
CreatePickup(1242, 2, 288.7632,-109.5062,1001.5156, 0);
Amikor belemegy:
public OnPlayerPickUpPickup(playerid, pickupid)
{
ShowPlayerDialog(playerid, DIALOG_0, DIALOG_STYLE_LIST, \"Válassz Ruhat\", \"Öltöny\\nStrand\\nSzabadidõ\\nNõi\\nIng\", \"Rendben\", \"Kilép\");
return 1;
}
így van de ez nem jó mert amikor pld a második Pickupba belemegy akkor is az elsõhöz való szöveget hozza ki.
Próbáltam new változókkal de az csak ezt irta :
new pickup1;
new pickup2;
pickup1 = CreatePickup(1275, 2, 210.8591,-128.3841,1003.5152, 0);
pickup2 = CreatePickup(1242, 2, 288.7632,-109.5062,1001.5156, 0);
Error:C:\\Documents and Settings\\Sajt\\Desktop\\Szerver\\gamemodes\\XYRPG.pwn(1094) : warning 204: symbol is assigned a value that is never used: \"pickup1\"
C:\\Documents and Settings\\Sajt\\Desktop\\Szerver\\gamemodes\\XYRPG.pwn(1095) : warning 204: symbol is assigned a value that is never used: \"pickup2\"
Kérlek segitsetek!
hogy amikor a másodikba megy akkor külön kihozzon neki egy másik Dialogot...
Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 21. - 17:33:40 )
public OnGameModeInit
a pickup1,pickup2 ide irtam alá szóval ne ezt irjátok.
-
Tessék.
#include a_samp
new pickup[2];
public OnGameModeInit()
{
pickup[0] = CreatePickup(1275, 2, 210.8591, -128.3841, 1003.5152, 0);
pickup[1] = CreatePickup(1242, 2, 288.7632, -109.5062, 1001.5156, 0);
return 1;
}
public OnGameModeExit()
{
DestroyPickup(pickup[0]);
DestroyPickup(pickup[1]);
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == pickup[0])
{
ShowPlayerDialog(playerid, DIALOG_0, DIALOG_STYLE_LIST, \"Válassz Ruhat\", \"Öltöny\\nStrand\\nSzabadidõ\\nNõi\\nIng\", \"Rendben\", \"Kilép\");
}
else if(pickupid == pickup[1])
{
// másik dialog!
}
return 1;
}
-
Mostmárcsak 1 valami kellene
ugye 2 pickup van.
Mind a 2-õ dialogos.
1.es dialog.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, 0x001affAA, \"Vettél egy öltönyt!\");
SetPlayerSkin(playerid, 3);
GivePlayerMoney(playerid,-10000);
}
if(listitem == 1)
{
SendClientMessage(playerid, 0xad2828AA, \"Vettél egy strandi ruhát!\");
SetPlayerSkin(playerid, 19);
GivePlayerMoney(playerid,-5000);
}
if(listitem == 2)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Szabadidõ ruhát!\");
SetPlayerSkin(playerid, 7);
GivePlayerMoney(playerid,-15000);
}
if(listitem == 3)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Nõi ruhát!\");
SetPlayerSkin(playerid, 12);
GivePlayerMoney(playerid,-10000);
}
if(listitem == 4)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Inget!\");
SetPlayerSkin(playerid, 15);
GivePlayerMoney(playerid,-2500);
}
}
}else{
SendClientMessage(playerid, 0x00ff55AA, \"Kiléptél a ruhaválasztóbol\");
}
return 1;
}
És hogy csináljam meg hogy a másodiknak külön legyen??? úgyértem hogy ne az 1-es dialogot hanem egy teljesen másat adjon a második pickuphoz.
-
Írd át a ShowDialog-nál az id-t és írd át másikra a dialogot...Vagy nem így gondolod?
-
1.pickuup 1 dialog: Ruha
2.pickup 1.dialog: Fegyver
azaz hogy ne egyforma legyen ha az 1 pickupot felveszem akkor kihozza a ruhas dialogot ha a 2.at veszem fel akkor egy fegyveres dialog.
-
De azt is add meg hogy hol hozza ki a dialogot:
if(IsPlayerInRangeOfPoint(//Ide azt írd hogy mennyi távolságon belül hozza ki a dialogot , //Ide a koordinátákat))
És ugye a ShowDialog-ne ugyan az az id-je legyen mind a 2-nek hanem valami más...
És ugye:
if(dialogid == //Ide a dialog id-jét)
és akkor még 1x-er ugyan ezt a dialogot de másik id-vel és akkor a dialog-ot csináld meg és elv kész is vagy :)
-
Tessék.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, 0x001affAA, \"Vettél egy öltönyt!\");
SetPlayerSkin(playerid, 3);
GivePlayerMoney(playerid,-10000);
}
if(listitem == 1)
{
SendClientMessage(playerid, 0xad2828AA, \"Vettél egy strandi ruhát!\");
SetPlayerSkin(playerid, 19);
GivePlayerMoney(playerid,-5000);
}
if(listitem == 2)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Szabadidõ ruhát!\");
SetPlayerSkin(playerid, 7);
GivePlayerMoney(playerid,-15000);
}
if(listitem == 3)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Nõi ruhát!\");
SetPlayerSkin(playerid, 12);
GivePlayerMoney(playerid,-10000);
}
if(listitem == 4)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Inget!\");
SetPlayerSkin(playerid, 15);
GivePlayerMoney(playerid,-2500);
}
}
else SendClientMessage(playerid, 0x00ff55AA, \"Kiléptél a ruhaválasztóbol\");
}
if(dialogid == DIALOG_1)
{
// ide irkáld be a cuccokat, kb. úgy mint az elõzõnél...
}
return 1;
}
De azt is add meg hogy hol hozza ki a dialogot:
if(IsPlayerInRangeOfPoint(//Ide azt írd hogy mennyi távolságon belül hozza ki a dialogot , //Ide a koordinátákat))
Ez butaság. Akkor hozza ki a párbeszédpanelet, amint belép az egyik pickupba.
-
Tessék.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, 0x001affAA, \"Vettél egy öltönyt!\");
SetPlayerSkin(playerid, 3);
GivePlayerMoney(playerid,-10000);
}
if(listitem == 1)
{
SendClientMessage(playerid, 0xad2828AA, \"Vettél egy strandi ruhát!\");
SetPlayerSkin(playerid, 19);
GivePlayerMoney(playerid,-5000);
}
if(listitem == 2)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Szabadidõ ruhát!\");
SetPlayerSkin(playerid, 7);
GivePlayerMoney(playerid,-15000);
}
if(listitem == 3)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Nõi ruhát!\");
SetPlayerSkin(playerid, 12);
GivePlayerMoney(playerid,-10000);
}
if(listitem == 4)
{
SendClientMessage(playerid, 0xffe600AA, \"Vettél egy Inget!\");
SetPlayerSkin(playerid, 15);
GivePlayerMoney(playerid,-2500);
}
}
else SendClientMessage(playerid, 0x00ff55AA, \"Kiléptél a ruhaválasztóbol\");
}
if(dialogid == DIALOG_1)
{
// ide irkáld be a cuccokat, kb. úgy mint az elõzõnél...
}
return 1;
}
De azt is add meg hogy hol hozza ki a dialogot:
if(IsPlayerInRangeOfPoint(//Ide azt írd hogy mennyi távolságon belül hozza ki a dialogot , //Ide a koordinátákat))
Ez butaság. Akkor hozza ki a párbeszédpanelet, amint belép az egyik pickupba.
[/quote]
Igen igen énis úgy gondoltam csak rosszul fejeztem ki magam:)