lekpri 0 Odesláno: 3. Září, 2013 Share Odesláno: 3. Září, 2013 Ahoj. Pomůže někdo? Udělal jsem několik pickupu na port a to jde v pohodě , ale mam problém pickup baličky. Udělal jsem balíček, ale když se někdo portne tak dostane i to co je v balíčku. Takto mam port: #include <a_samp> #define FILTERSCRIPTS // ! new Pickup1; public OnGameModeInit() { Pickup1 = CreatePickup(1318,2,2143.0168,1424.8624,10.8203,0); Create3DTextLabel("Port do LS",0x008080FF,2143.0168,1424.8624,10.8203,50,0,0);// LS public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Pickup1) { SetPlayerPos(playerid,1758.1249,-1861.9103,13.5769); //nastavi pozici return 1; } //-------------------------------- Takto Baličky #define filterscript #include <a_samp> new pickup50; public OnGameModeInit() { pickup50 = CreatePickup(1276,3,-1862.6554,564.0529,35.6910 -1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == balikpickup50){ } GivePlayerMoney(playerid, 100); // penize return 1; } Zkoušel jsem i přejmenovat Pickup na balikPickup , ale to asi nemá vliv Moc Vás prosím o radu a pomoc, děkuji Link to comment Share on other sites More sharing options...
0 Frajtr 8 Odesláno: 3. Září, 2013 Share Odesláno: 3. Září, 2013 Vytvoř si funkci a nekontroluj přes proměnou při více pickupech se můžou prohodit forward CreateBalicek(id,Float:xyz.... /// ale prvně definuj proměnou a newneš si proměnné pro pozici každého balíčku takže něco jako new Float:BalicekX[kolikbalicku]; a to i u Y a Z v publicu budeš ukládat parametry do proměnné public CreateBalicek(id,Float:xyz.... { BalicekX[id]=x; a vytvoříš si pickup funkci CreateBalicek(parametry funkce)dáš do gamemodeinit a v onplayerpickuppickup kontrolujes pozici každého balíčku pomocí cyklusu for for(new i=0; i < pocet balicku;i++) //nejlepe je si definovat mnozstvi balicku a map misto cisla das definici do zapisoveho pole { if(IsPlayerInRangeOfPoint(playerid,nejlepe 1,BalicekX,y a z)) { ... takhle nějak by to mělo vypadat .) Link to comment Share on other sites More sharing options...
0 ATomas 291 Odesláno: 3. Září, 2013 Share Odesláno: 3. Září, 2013 mas tam chybu to GivePlayerMoney nemas v ty podmince ale az pod ni #include <a_samp> new Pickup1; new pickup50; public OnGameModeInit() { Pickup1 = CreatePickup(1318,2,2143.0168,1424.8624,10.8203,0); Create3DTextLabel("Port do LS",0x008080FF,2143.0168,1424.8624,10.8203,50,0,0);// LS pickup50 = CreatePickup(1276,3,-1862.6554,564.0529,35.6910,-1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Pickup1) { SetPlayerPos(playerid,1758.1249,-1861.9103,13.5769); //nastavi pozici } else if(pickupid == balikpickup50) { GivePlayerMoney(playerid, 100); // penize } return 1; } Az se ti budou prohazovat akce v pickupech tak reseni je tu: http://pawno.cz/topi...ci-v-pickupech/ Link to comment Share on other sites More sharing options...
0 lekpri 0 Odesláno: 3. Září, 2013 Author Share Odesláno: 3. Září, 2013 Děkuji ATomas Ještě jeden dotaz, jak udělat aby se balíček ukázal po sebrání až třeba za půl min. Teď se po sebraní ukáže okamžitě nebo po portu Z5 Děkuji Mam to tak to: #include <a_samp> #define FILTERSCRIPTS // ! new Pickup16;//LS new Pickup17;//LS // ---- balik new bpickup50; new bpickup51; public OnGameModeInit() { Pickup16 = CreatePickup(1318,2,1804.7156,-1883.9016,13.5793,0); Create3DTextLabel("Port do LV",0x008080FF,1804.7156,-1883.9016,13.5793,50,0,0);// v SF do LV Pickup17 = CreatePickup(1318,2,1802.2806,-1883.8529,13.5776,0); Create3DTextLabel("Port do LV",0x008080FF,1802.2806,-1883.8529,13.5776,50,0,0);// v SF do LV //------------------- balik------------------------------------------------ bpickup50 = CreatePickup(1276,3,2132.9006,1426.7583,10.8203 -1); bpickup51 = CreatePickup(1276,3,2119.1370,1434.0957,10.8203 -1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Pickup16) { SetPlayerPos(playerid,2151.6243,1440.0266,10.8125); //nastavi pozici } if(pickupid == Pickup17) { SetPlayerPos(playerid,-1918.5293,574.0905,35.2285); //nastavi pozici } //------------ balik ---------------- if(pickupid == bpickup50) { GivePlayerMoney(playerid, 1000); // penize } if(pickupid == bpickup51) { GivePlayerMoney(playerid, 100); // dame prachy GivePlayerWeapon(playerid, 34, 10); // dame Weapon } //------------KONEC--------------------------- return 1; } Link to comment Share on other sites More sharing options...
0 Army 5 Odesláno: 3. Září, 2013 Share Odesláno: 3. Září, 2013 Potřebuješ si to předělat na verzi, jakou tu postoval frajtr, protože s využíváním funkce DestroyPickup příjde i pomíchání id pickupů, tím pádem i jejich funkcí Jinak pro příklad k tomu jak to máš teď: if(pickupid == bpickup50) { DestroyPickup(bpickup50); //zničí pickup s názvem bpickup50 GivePlayerMoney(playerid, 1000); // penize } Pro respawn pickupu musíš přidat timerex(http://wiki.sa-mp.com/wiki/SetTimerEx), například na tvojí minutu a půl a v něm opět použít CreatePickup na vytvoření tvého pickupu pro balíček. Link to comment Share on other sites More sharing options...
0 lekpri 0 Odesláno: 3. Září, 2013 Author Share Odesláno: 3. Září, 2013 Jo tak to je ? No moc děkuji a ukáže se za nějakou dobu? Třeba za 1 min. Link to comment Share on other sites More sharing options...
Dotaz
lekpri 0
Ahoj.
Pomůže někdo?
Udělal jsem několik pickupu na port a to jde v pohodě , ale mam problém pickup baličky.
Udělal jsem balíček, ale když se někdo portne tak dostane i to co je v balíčku.
Takto mam port:
#include <a_samp>
#define FILTERSCRIPTS // !
new Pickup1;
public OnGameModeInit()
{
Pickup1 = CreatePickup(1318,2,2143.0168,1424.8624,10.8203,0);
Create3DTextLabel("Port do LS",0x008080FF,2143.0168,1424.8624,10.8203,50,0,0);// LS
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == Pickup1)
{
SetPlayerPos(playerid,1758.1249,-1861.9103,13.5769); //nastavi pozici
return 1;
}
//--------------------------------
Takto Baličky
#define filterscript
#include <a_samp>
new pickup50;
public OnGameModeInit()
{
pickup50 = CreatePickup(1276,3,-1862.6554,564.0529,35.6910 -1);
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == balikpickup50){
}
GivePlayerMoney(playerid, 100); // penize
return 1;
}
Zkoušel jsem i přejmenovat Pickup na balikPickup , ale to asi nemá vliv
Moc Vás prosím o radu a pomoc, děkuji
Link to comment
Share on other sites
5 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now