Jump to content
  • 0

pomoc How to: PickUp


MajorGames4

Dotaz

Ahojte, som tu s ďalším problémom (nečakane). Tento krát sa jedná o pickup. Môj FS vyzerá následovne:

Spoiler
#include <a_samp>
#include <zcmd>
 
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
 print("\n--------------------------------------");
 print(" Blank Filterscript by your name here");
 print("--------------------------------------\n");
 return 1;
}
public OnFilterScriptExit()
{
 return 1;
}
#else
main()
{
 print("\n----------------------------------");
 print("FilterScript Vytvoril: MajorGames4");
 print("----------------------------------\n");
}
#endif
 
new pickup_money1;
new pickup_money2;
new pickup_money3;
 
public OnGameModeInit()
{
 pickup_money1 = CreatePickup(1274,2096.1487,1285.3604,10.8203,180.2378,-1);
  pickup_money2 = CreatePickup(1274,1765.5474,624.2534,10.8203,252.5300,-1);
  pickup_money3 = CreatePickup(1274,1484.1519,-193.1826,11.8182,294.0963,-1);
 

 SetGameModeText("Super Parba V1.0");
 AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
 return 1;
}
public OnGameModeExit()
{
 return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
 SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
 SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
 SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
 return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
  if(pickupid == pickup_money1)
  {
    GivePlayerMoney(playerid,1500);
    SendClientMessage(playerid,-1,"{CC66FF}[BONUS] Našiel si bonus v hodnote 1 500$!");
  }
  if (pickupid == pickup_money2)
  {
    GivePlayerMoney(playerid,2873);
    SendClientMessage(playerid,-1,"{CC66FF}[BONUS] Našiel si bonus v hodnote 2 873$!");
  }
  if(pickupid == pickup_money3)
  {
    GivePlayerMoney(playerid,5000);
    SendClientMessage(playerid,-1,"{CC66FF}[BONUS] Našiel si bonus v hodnote 5 000$!"); 
  }
 return 1;
}

Ide o to, že na Servery mi to pickupy na danných miestach neukáže. FS je opäť bez errorov. Postupoval som podľa stránky: http://wiki.sa-mp.com/wiki/CreatePickup

Akurát keď tam pridám ten type, tak mi len pribudnú varovania.

Sem vám ešte dám uložené pozície:

Spoiler

AddPlayerClass(0,2096.1487,1285.3604,10.8203,180.2378,0,0,0,0,0,0); // pickup1
AddPlayerClass(0,1765.5474,624.2534,10.8203,252.5300,0,0,0,0,0,0); // pickup2
AddPlayerClass(0,1484.1519,-193.1826,11.8182,294.0963,0,0,0,0,0,0); // pickup3

Ktoré súradnice teda určujú X,Y,Z? Skúšal som totiž dať len prvé 3 (2096.1487 , 1285.3604 , 10.8203) Nešlo, tak som tam dal tie 4 (2096.1487 , 1285.3604 , 10.8203 , 180.2378) To isté, nešlo.

Link to comment
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 4

Kód nedávaj do spojleru, ale do "code", a vyber tam jazyk "C", potom to tu bude aj vyfarbené (ako v editore) a krajšie naformátované. :)

Z wiki:

CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);

Ty máš:

CreatePickup(1274, 2096.1487, 1285.3604, 10.8203, 180.2378, -1);

..

Nevidíš, že si tam dal tých parametrov viac? :d

Prvý parameter model, druhý je typ a až potom idú x,y,z!
Ty si predsa vynechal typ a dal navyše niečo ďalšie.

Link to comment
Share on other sites

  • 0

Ide o to, že pokud postupuješ podle stránky, tak se na tom snad už nedá nic pokazit. Musíš jen správně vyplnit parametry. Když vidíš že to vyžaduje model,typ,x,y,z,vw tak je tam dej, a nezkoušej dávat 4. Nic jiného se tady nedá poradit když člověk neumí ani číst manuál.

 

Link to comment
Share on other sites

  • 0

Ahoj, nechci zakládat nový topic kvůli takové prkotině. Rád bych se zeptal, jaký type pickupu nastavit. Když nastavím 1, tak nezmizí, ale pořád se obnovuje ta akce. Takže když mi třeba vyjede dialog a já se v listu odkážu na jiný, tak mě to snad za dvě vteřiny kopne na ten původní. Četl jsem všechny typy a ani jeden mi neříká to, co potřebuju. Jak na to?

Link to comment
Share on other sites

  • 0

Použij Typ 1 a nevidím v tom problém pickup se aktualizuje běžně ... V případě toho že se ti vrací Dialog tak si dej někam do módu

new
	bool:dialogfix[MAX_PLAYERS];

stock ShowPlayerDialogEx(playerid, id, style, lis[], mess[], button1[], button2[]){
	if(dialogfix[playerid] == true) return false;
	ShowPlayerDialog(playerid, id, style, lis, mess, button1, button2);
	dialogfix[playerid] = true;
	return true;
}

a do OnDialogResponse si dej dialogfix[playerid] = false;

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    dialogfix[playerid] = false;
    
	//
	return true;
}

a používej místo ShowPlayerDialog u dialogu ShowPlayerDialogEx

Dodatek: příště stačí pohledat už to tu na fóru je alespoň já si tu toho už několikrát všiml

Edited by rEf
Dodatek
Link to comment
Share on other sites

  • 0
před 54 minutami, rEf said:

Dodatek: příště stačí pohledat už to tu na fóru je alespoň já si tu toho už několikrát všiml

Jo, jasný ... problém, že se zeptám na nestandardní věc, ale že tu někdo chce pomoct s primitivním vytvořením pickupu a je schopen i podle dokumentace udělat chybu u něčeho tak jednoduchého, to nikomu nevadí...

Jinak děkuji za pomoc a ochotu

PS. Nic proti Zerovi, jen mi přijde dost hloupé, co je v tom dodatku...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...