
Odstraneni itemu
#1 Host_zpirit_*
Odesláno 21.09.2005 04:13
#2 Host_gGeorg_*
Odesláno 21.09.2005 12:34
SetItemStackSize()
#3
Odesláno 21.09.2005 12:45
na demone se tyhle veci uz davno nedeji. pokud o necom vis napis to do bugu.
Musim rict, ze rozumet te jeho lustovce je nekdy umeni, pismenko sem pismenko tam. Ale on nechtel rict to, ze se to deje na Demone, ale prave chtel zjistit, jak se to dela, aby se ze stacku smazal jen jeden item, stejne jako to je u proviantu na Demone

#4 Host_zpirit_*
Odesláno 21.09.2005 16:12

#5 Host_Zaki72_*
#6 Host_Zaki72_*
Odesláno 23.09.2005 15:03
Pred znicenim predmetu si musis otestovat jestli je stohovaci.Vzdicky kdyz pouziju destroy item znici to vsechny predmety v jenom policku takze kdyz v baseitem.2da povolim seskupovani treba 99stejnych predmetu na sebe zmizi vsech 99 i kdzy chi aby zmizel jenom jeden podobne jako napriklad provianty na demone.
Odebirame po 1
If JeStack(predmet) = Pravda Then If StackSize(predmet) = 1 Then Destroy(predmet) Else StackSize(predmet) = StackSize(predmet) - 1 End If Else Destroy(predmet) End IfP.S. NENI to NWNScipt! Pisu z hlavy a jde prece hlavne o algoritmus. Pokud chces odebirat vice predmetu najednou, tak to musis osefovat jinak.
#7 Host_En.Kidu_*
Odesláno 23.11.2005 14:59
#8 Host_zpirit_*
Odesláno 15.03.2006 22:16
Zkousel jsem udelat placeab ktery pri kliknuti vezme jednu vec ze stacku vlastne to byla jen zkouska jak vytvorit podobny rest system jako je na demone vsechno fungovalo pekne zjistil jsem si velikost stacku predmet znicil a vytvoril si stack-1 a ejhle mel sem z 10ti predmetu 9 jenze pak to zacalo bugovat misto toho aby se pocet pri dalsim pouzitim snizil na 8 snizil se na 7 a potom misto na 7 byl snizen na 3 takze to vypadalo nejak takhle.
10-1, 9-2, 7-4, 3-x(8?)
void main() { object oPC = GetLastUsedBy(); object oProviant = GetItemPossessedBy(oPC,"proviant"); int nStack = GetNumStackedItems(oProviant); if (GetItemPossessedBy(oPC, "proviant")== OBJECT_INVALID) { SendMessageToPC(oPC,"Nemas proviant voe."); return; } DestroyObject(oProviant); CreateItemOnObject("proviant", oPC, nStack -1); }
#9 Host_gGeorg_*
Odesláno 17.03.2006 16:29
Ale fujky.Asi uz jste si vsimli ze jsem se zase po dlouhy dobe zacal venovat skriptum:) ...
1. Nadefinujes li si promenou tak ji pouzivej.
2. Prikaz create/destroy je jeden z nejnarocnejsich je dobre ho nepouzivat lze li to udelat nejak jinak. A protoze zname prikaz SetStack () mohlo by to vypadat nejak takto --- >
void main() { object oPC = GetLastUsedBy(); object oProviant = GetItemPossessedBy(oPC,"proviant"); int nStack = GetNumStackedItems(oProviant); /////////////////////////////////////////////////////////// if (oProviant != OBJECT_INVALID) { if nStack>1 SetStack (oProviant,nStack-1) // syntaxe tohohle radku muze byt jina, pisu to z hlavy else DestroyObject(oProviant); } else SendMessageToPC(oPC,"Nemas proviant voe."); }
#10 Host_zpirit_*
Odesláno 19.03.2006 01:52
0 uživatelů si čte toto téma
0 členů, 0 návětěvníků, 0 anonymních