Jump to content


Photo

Scripting Competition


  • This topic is locked This topic is locked
24 replies to this topic

#16 OFFLINE   csnreyes

csnreyes

    Unhatched Egg

  • Members
  • 0 posts
  • Gender:Unknown

Posted 25 July 2007 - 09:14 PM

almost finished with my script
  • dreesxsopz, HemaalemBeatt and FuryPef like this

#17 OFFLINE   csnreyes

csnreyes

    Unhatched Egg

  • Members
  • 0 posts
  • Gender:Unknown

Posted 25 July 2007 - 09:21 PM

Auction Npc maxium of 10items per player.



amatsu.gat,207,100,7	script	Auctioneer	807,{	mes "[Auctioneer]";	set @num,0;// These few line below are to recover item that would be lost due to a new auction startingL_RNameLoop:	if(strcharinfo(0)==$ANamesB$[@num] && $paidB[@num]==0) goto L_RBackup;	set @num,@num+1;	if(@num<10) goto L_RNameLoop;	if($Auction==1) goto L_Register;	if($Auction==2) goto L_Bid;	if($Auction==3) goto L_PayPickup;// After a server restart, and no auction value is set, it will run this// People who placed items in there before the restart should still be to retrieve there items	mes "You are able to sell and buy things inside the auction, unfortunately nothing has been started, you need to wait for the auction to start";	mes "No items lost will be given back, please remember you used this at your own risk";	next;	mes "[Auctioneer]";	mes "I am very sorry if you have lost items";	close;// If the Auction has started, it will run this, during this time items can be registered and registered items retrievedL_Register:	mes "Welcome to the auction, you may register you items at this time";	next;	set @num,0;L_NameLoop:	if(strcharinfo(0)==$ANames$[@num]) goto L_Already;	set @num,@num+1;	if(@num<10) goto L_NameLoop;	if(getarraysize($AItems)==10) goto L_AFull;	menu "I want to register an item now",L_IRegister,"I don't want to leave an item",-;L_End:	mes "[Auctioneer]";	mes "Ok, come back whenever";	close;L_IRegister:	mes "[Auctioneer]";	mes "Listed below is the first 10 items you have on you now";	mes "What do you want to register?";	next;	set @array,0;	set @item,500;//	set @loopcount,0;L_ILoop://	set @loopcount,@loopcount+1;//	debugmes @loopcount;	set @item,@item+1;	if(@item>=13005) goto L_Menu;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	set @item,@item+1;	if(countitem(@item)>0) set @item2[@array],@item;	if(countitem(@item)>0) set @array,@array+1;	if(@array==10) goto L_Menu;	goto L_ILoop;L_Menu:	menu getitemname(@item2[0]),-,getitemname(@item2[1]),-,getitemname(@item2[2]),-,getitemname(@item2[3]),-,getitemname(@item2[4]),-,getitemname(@item2[5]),-,getitemname(@item2[6]),-,getitemname(@item2[7]),-,getitemname(@item2[8]),-,getitemname(@item2[9]),-,"Next Page",L_WipeLoop;	set @setitem,@item2[@menu-1];	set @num,0;L_SorryLoop:	set @num,@num+1;	if(@menu==@num && @setitem == 0) goto L_Sorry;	if(@num==10) goto L_FinalReg;	goto L_SorryLoop;L_FinalReg:	mes "[Auctioneer]";	mes "Please remember that if this item does contain cards, or is crafted, these distinctions will be lost when it is put into the auction";	mes "This also means if you get the item back, that this applies to, you will have lost out";	mes " ";	mes "So you want to register your "+getitemname(@setitem);	next;	menu "Yes please",-,"No",L_End;	mes "[Auctioneer]";	mes "Ok I will register this item now";	next;	set @amount,1;	if(countitem(@setitem)==1) goto L_FinalInput;	mes "[Auctioneer]";	mes "Wait a minute it seems you have more than one of that item, please enter the ammount you want to put in the aution";	next;	input @amount;	if(countitem(@setitem)<@amount) goto L_NotEnough;L_FinalInput:	set $AItems[$array],@setitem;	set $ANames$[$array],strcharinfo(0);	set $AAmount[$array],@amount;	set $array,$array+1;	delitem @setitem,@amount;	mes "[Auctioneer]";	mes "You item has been taken into storage, ready for sale, the auction will begin soon, watch for the announcment";	close;L_AFull:	mes "[Auctioneer]";	mes "Oh, sorry, it seems my auction is full this time round, please try in the next one";	close;L_WipeLoop:	deletearray @item2[0],10;	set @array,0;	goto L_ILoop;L_Sorry:	mes "[Auctioneer]";	mes "It seems that is all you have to offer me, come back when you know what you want to sell";	close;L_Already:	mes "[Auctioneer]";	mes "It seems you already have have an item registered here, would you like to retrieve your item?";	next;	menu "Yes",-,"No",L_End;	getitem $AItems[@num],$AAmount[@num];L_AItemsLoop:	set $AItems[@num],$AItems[@num+1];	set $ANames$[@num],$ANames$[@num+1];	set $AAmount[@num],$AAmount[@num+1];	set @num,@num+1;	if(@num<10) goto L_AItemsLoop;	set $array,$array-1;	set @num,0;	mes "[Auctioneer]";	mes "Ok, all items present and acounted for, have a nice day";	close;L_NotEnough:	mes "[Auctioneer]";	mes "Seems you don't have that much "+getitemname(@setitem)+"'s";	close;// If the Auction has enterd phase 2, it will run this, during this time items you can bid on registered// No items can be retrieved during this time, they are now stuckL_Bid:	mes "What would you like to bid on?";	next;	set @num,0;L_MenuLoop:	set @menu$[@num],$AAmount[@num]+" x "+getitemname($AItems[@num])+" "+$bid[@num]+"z";	set @num,@num+1;	if($AItems[@num]!=0) goto L_MenuLoop;	menu 	@menu$[0],-,	@menu$[1],-,	@menu$[2],-,	@menu$[3],-,	@menu$[4],-,	@menu$[5],-,	@menu$[6],-,	@menu$[7],-,	@menu$[8],-,	@menu$[9],-;	mes "[Auctioneer]";	set @num,@menu-1;	if(strcharinfo(0)==$ANames$[@num]) goto L_CantBid;L_ReBid:	mes "You are currently bidding on "+$AAmount[@num]+" x "+getitemname($AItems[@num]);	mes "The current bid is at "+$bid[@num]+"z";	mes "This was made by "+$bidders$[@num];	if($bidders$[@num]==strcharinfo(0)) goto L_AlreadyBid;	mes "How much do you want to bid yourself";	mes "(Use 0 to cancel at this point)";	next;	input @bid;	if(@bid<=0) goto L_End;	if(zeny<@bid) goto L_LowZeny;	if(@bid<$bid[@num]) goto L_LowBid;	mes "[Auctioneer]";	mes "You are about to bid "+@bid+"z for "+$AAmount[@num]+" x "+getitemname($AItems[@num]);	mes "Are you sure?";	next;	menu "Yes",-,"No",L_End;	set $bid[@num],@bid;	set $bidders$[@num],strcharinfo(0);	mes "[Auctioneer]";	mes "Your bid has been entered";	close;L_LowZeny:	mes "[Auctioneer]";	mes "Sorry you need to show me that amount as proof you could pay, if you do win";	mes "Please either get more money, or bid lower";	close;L_CantBid:	mes "Sorry, you can't bid on your own lots";	close;L_LowBid:	mes "[Auctioneer]";	mes "Your bid seems lower than the current one, try entering a higher ammount of zeny";	next;	mes "[Auctioneer]";	goto L_ReBid;L_AlreadyBid:	mes "Hey wait, that is you, you can't bid again";	close;// If the Auction has entered phase 3, it will run this// During this time, items that have been bid on can be bought// Items not bid on can be picked back up by the seller// And if any of the items have been bought, and are paid for, seller can pick up their moneyL_PayPickup:	mes "The auction has now ended";	mes "What would you like to do?";	next;	menu "Check for items I have sold",-,"Check for items I have won",L_Won,"Nothing",L_End;// Check starts here for if you have sold anything during this auction	set @num,0;L_SoldLoop:	if($ANames$[@num]==strcharinfo(0)) goto L_Sold;	set @num,@num+1;	if(@num<10) goto L_SoldLoop;	mes "[Auctioneer]";	mes "Sorry it seems you have either picked up all you items, money";	mes "or you didn't register any items in this auction";	close;L_Sold:	mes "[Auctioneer]";	if($paid[@num]==3) goto L_Returned;	mes "Ah I see here, you sold your "+$AAmount[@num]+" x "+getitemname($AItems[@num]);	mes "Lets see here it sold for";	next;	if($bid[@num]==0) goto L_GiveBack;	if($paid[@num]==2) goto L_AlreadyPaid;	mes "[Auctioneer]";	mes $bid[@num]+"z and "+$bidders$[@num]+" bought it from you";	if($paid[@num]!=1) goto L_NoMoney;	mes "They have fully paid for it, so here is your money";	next;	set zeny,zeny+$bid[@num];	set $paid[@num],2;	goto L_End;L_AlreadyPaid:	mes "[Auctioneer]";	mes "Hmm, seems you already have you money for this lot, not trying to con me are you?";	close;L_Returned:	mes "[Auctioneer]";	mes "Seems we returned you item already";	close;L_GiveBack:	mes "[Auctioneer]";	mes "Seems no-one wanted your item(s)";	mes "So you can have them back now";	getitem $AItems[@num],$AAmount[@num];	set $paid[@num],3;	close;L_NoMoney:	mes "Sorry to say this but they haven't paid this yet";	mes "You can go and talk to them now, or you can wait";	mes "If they haven't paid by the time the next Auction starts come back to me to retrieve your item(s)";	close;// Check starts here for if you won any items during this auction, futher options followL_Won:	set @num,0;	mes "[Auctioneer]";L_WonLoop:	if($bidders$[@num]==strcharinfo(0)) goto L_Winner;L_CarryOn:	set @num,@num+1;	if(@num<10) goto L_WonLoop;	mes "Sorry you didn't win any of the lots, please try again next time";	close;L_Winner:	if($paid[@num]>0) goto L_CarryOn;	mes "Well it does seem you have won an item";	mes "You won "+$AAmount[@num]+" x "+getitemname($AItems[@num]);	mes "And you bid "+$bid[@num]+"z for this lot";	mes "What do you want to do now?";	next;// At this point they can choose from 3 options, to Buy the current lot// see the next one they might have won, or give up that lot	menu "Buy this lot",-,"See Next Lot you won",L_CarryOn,"Relinquish this lot",L_Back;	if(zeny<$bid[@num]) goto L_2lowzeny;	set zeny,zeny-$bid[@num];	getitem $AItems[@num],$AAmount[@num];	set $paid[@num],1;	mes "[Auctioneer]";	mes "Our transaction is completed";	mes "See you again soon";	close;L_2lowzeny:	mes "[Auctioneer]";	mes "Sorry it seems you don't have enough zeny on you, please acquire more";	close;L_Back:	mes "[Auctioneer]";	mes "Are you sure you want to give up this lot?";	next;	menu "Yes",-,"No",L_End;	set $bid[@num],0;	set $bidders$[@num],"no-one";	mes "[Auctioneer]";	mes "It is done, you might want to tell "+$ANames$[@num]+" they can come and pickup his item(s)";	close;		// All the times that will start the AuctionOnClock0100:OnClock0400:OnClock0700:OnClock1000:OnClock1300:OnClock1600:OnClock1900:OnClock2200:// Starting Backup	copyarray $AItemsB[0],$AItems[0],10;	copyarray $ANamesB$[0],$ANames$[0],10;	copyarray $AAmountB[0],$AAmount[0],10;	copyarray $paidB[0],$paid[0],10;// End backup - Start Wiping	deletearray $paid[0],10;	deletearray $bid[0],10;	deletearray $bidders$[0],10;	deletearray $AItems[0],10;	deletearray $ANames$[0],10;	deletearray $AAmount[0],10;	set $array,0;// End Wiping - Begin Announce + Phase setting	announce "Registration time has begun, see the Auctioneer to register your items",0;	cleararray $bidders$[0],"no-one",10;	set $Auction,1;	end;// All the times that will start the bidding sectionOnClock0200:OnClock0500:OnClock0800:OnClock1100:OnClock1400:OnClock1700:OnClock2000:OnClock2300:	if($Auction==0) end;	announce "Registration time has ended, time for the biding to begin",0;	set $Auction,2;	initnpctimer;	end;// All the times that will start the last phase, buying and seller, and item retrievalOnClock0300:OnClock0600:OnClock0900:OnClock1200:OnClock1500:OnClock1800:OnClock2100:OnClock0000:	if($Auction==0) end;	announce "Bidding time has ended, see the Auctioneer to get your items, or money",0;	set $Auction,3;	end;// On the start of the server it will reset the Auction state, but not the items it contains// so people still have have a chance to retrieve there lost itemsOnInit:	copyarray $AItemsB[0],$AItems[0],10;	copyarray $ANamesB$[0],$ANames$[0],10;	copyarray $AAmountB[0],$AAmount[0],10;	copyarray $paidB[0],$paid[0],10;	deletearray $paid[0],10;	deletearray $bid[0],10;	deletearray $bidders$[0],10;	deletearray $AItems[0],10;	deletearray $ANames$[0],10;	deletearray $AAmount[0],10;	set $array,0;	set $Auction,0;	end;// All below is for anouncing the items in this auction, if there are none it will say so// and if there are none in there at the start of phase 2 it will reset the auctions state// This is to stop the auction ending message, and will only start again when it reachs phase 1 againOnTimer5000:	announce "Today in our auction we have",0;	end;OnTimer7000:	if($AItems[0]==0) setnpctimer 25001;	if($AAmount[0]==1) announce "A lovely "+getitemname($AItems[0])+" left by "+$ANames$[0],0; 	if($AAmount[0]>1) announce $AAmount[0]+" lovely "+getitemname($AItems[0])+" left by "+$ANames$[0],0;	end;OnTimer9000:	if($AItems[1]==0) setnpctimer 25001;	if($AAmount[1]==1) announce "A great "+getitemname($AItems[1])+" left by "+$ANames$[1],0;	if($AAmount[1]>1) announce $AAmount[1]+" great "+getitemname($AItems[1])+" left by "+$ANames$[1],0;	end;OnTimer11000:	if($AItems[2]==0) setnpctimer 25001;	if($AAmount[2]==1) announce "A excellent "+getitemname($AItems[2])+" left by "+$ANames$[2],0;	if($AAmount[2]>1) announce $AAmount[2]+" excellent "+getitemname($AItems[2])+" left by "+$ANames$[2],0;	end;OnTimer13000:	if($AItems[3]==0) setnpctimer 25001;	if($AAmount[3]==1) announce "A superb "+getitemname($AItems[3])+" left by "+$ANames$[3],0;	if($AAmount[3]>1) announce $AAmount[3]+" superb "+getitemname($AItems[3])+" left by "+$ANames$[3],0;	end;OnTimer15000:	if($AItems[4]==0) setnpctimer 25001;	if($AAmount[4]==1) announce "A terrific "+getitemname($AItems[4])+" left by "+$ANames$[4],0;	if($AAmount[4]>1) announce $AAmount[4]+" terrific "+getitemname($AItems[4])+" left by "+$ANames$[4],0;	end;OnTimer17000:	if($AItems[5]==0) setnpctimer 25001;	if($AAmount[5]==1) announce "A wonderful "+getitemname($AItems[5])+" left by "+$ANames$[5],0;	if($AAmount[5]>1) announce $AAmount[5]+" wonderful "+getitemname($AItems[5])+" left by "+$ANames$[5],0;	end;OnTimer19000:	if($AItems[6]==0) setnpctimer 25001;	if($AAmount[6]==1) announce "A pretty "+getitemname($AItems[6])+" left by "+$ANames$[6],0;	if($AAmount[6]>1) announce $AAmount[6]+" pretty "+getitemname($AItems[6])+" left by "+$ANames$[6],0;	end;OnTimer21000:	if($AItems[7]==0) setnpctimer 25001;	if($AAmount[7]==1) announce "A sweet "+getitemname($AItems[7])+" left by "+$ANames$[7],0;	if($AAmount[7]>1) announce $AAmount[7]+" sweet "+getitemname($AItems[7])+" left by "+$ANames$[7],0;	end;OnTimer23000:	if($AItems[8]==0) setnpctimer 25001;	if($AAmount[8]==1) announce "A stunning "+getitemname($AItems[8])+" left by "+$ANames$[8],0;	if($AAmount[8]>1) announce $AAmount[8]+" stunning "+getitemname($AItems[8])+" left by "+$ANames$[8],0;	end;OnTimer25000:	if($AItems[9]==0) end;	if($AAmount[9]==1) announce "A fine "+getitemname($AItems[9])+" left by "+$ANames$[9],0;	if($AAmount[9]>1) announce $AAmount[9]+" fine "+getitemname($AItems[9])+" left by "+$ANames$[9],0;OnTimer27000:	if($AItems[0]!=0) announce "That is all the items we have this time round, so get bidding",0;	if($AItems[0]==0) announce "Seems there are no items this time round",0;	if($AItems[0]==0) set $Auction,0;	stopnpctimer;	setnpctimer 0;	end;// this is only be run if you own any items left over, not paid for, from the last auction, or the server failed, and items are left overL_RBackup:	mes "You seem to have items left over from the last auction, here you go, have it back";	next;	getitem $AItemsB[@num],$AAmountB[@num];L_BItemsLoop:	set $AItemsB[@num],$AItemsB[@num+1];	set $ANamesB$[@num],$ANamesB$[@num+1];	set $AAmountB[@num],$AAmountB[@num+1];	set @num,@num+1;	if(@num<10) goto L_BItemsLoop;	mes "[Auctioneer]";	mes "Have a nice day";	close;}// Only for display purposes, and telling people info about the auction// Can also be used for finding out what phase the auction is inprontera,158,193,3	script	Auction Helper	833,{	mes "[Auction Helper]";	set @num,0;	if($Auction==0 && $AItemsB[@num]!=0) goto L_ItemRecover;	if(($Auction==1 || $Auction ==2) && $AItems[@num]!=0) goto L_LLoop;	if($Auction==3 && $AItems[@num]!=0) goto L_Win;	mes "Ok Currently we have nothing in the auction.";	mes "Please return at the correct time.";	close;L_LLoop:	mes "Ok Currently we have :-";L_Loop:	mes $ANames$[@num]+" with "+$AAmount[@num]+" x "+getitemname($AItems[@num])+"('s)";	set @num,@num+1;	if($AItems[@num]==0) close;	if(@num<10) goto L_Loop;	close;L_ItemRecover:	mes "Seems there was a problem, and the auction ended prematurely.";	mes "This means we still have :-";L_BLoop:	if($paid[@num]==0) mes $ANamesB$[@num]+" with "+$AAmountB[@num]+" x "+getitemname($AItemsB[@num])+"('s)";	set @num,@num+1;	if($AItems[@num]==0) close;	if(@num<10) goto L_BLoop;	close;L_Win:	mes "The Auction is in the last stage, at this point you can :-"; 	mes " * buy your items";	mes " * Pick-up you money";	mes "(or if you were unlucky)";	mes " * Pick-up unsold items";	next;	mes "[Auction Helper]";	mes "Here is a list of Sellers and Winners";	set @num,0;L_Loop2:	mes $ANames$[@num]+" with "+$AAmount[@num]+" "+getitemname($AItems[@num])+"('s), won by "+$bidders$[@num]+" for "+$bid[@num]+"z";	set @num,@num+1;	if($AItems[@num]==0) close;	if(@num<10) goto L_Loop2;	close;}


#18 OFFLINE   Maurice

Maurice

    Founder

  • Founder
  • 1,944 posts
  • Location:Toronto, Canada
  • Gender:Male

Posted 25 July 2007 - 10:01 PM

This is a copy of the broken eAthena Auctioner script. >_<
Entry discarded.

Please read the rules of the competition once again...

#19 OFFLINE   csnreyes

csnreyes

    Unhatched Egg

  • Members
  • 0 posts
  • Gender:Unknown

Posted 26 July 2007 - 04:31 AM

o sry didnt read i thought i put creds to oops i m also writing a script but its taking some time

Edited by csnreyes, 26 July 2007 - 04:35 AM.


#20 OFFLINE   Igna-X

Igna-X

    SMOKE WEED EVERY DUCK

  • Advanced Members
  • 1,586 posts
  • Location:your mum.
  • Interests:Ser un troll profesional, incendiar los sue˝os de los infantes y tu vieja.
  • Gender:Male

Posted 27 July 2007 - 08:57 PM

...Lol... I think I'll apply if I have some free time after my honeymoon D:

PS: You are NOT invited <_<

#21 OFFLINE   Delmarion

Delmarion

    Poring

  • Members
  • 29 posts
  • Location:USA
  • Gender:Male

Posted 28 July 2007 - 05:00 PM

Yes, there should definately be an auction only map... or at least in a town that's not the mall or prontera. They're already laggy enough as it is.

Edited by Delmarion, 28 July 2007 - 05:01 PM.


#22 OFFLINE   Eminent Faith

Eminent Faith

    Thats a very dirty pole.

  • Advanced Members
  • 532 posts
  • Location:Australia
  • Interests:Stufff...
  • Gender:Male

Posted 30 July 2007 - 09:11 AM

Too bad im not smart enough to learn this stuff.

#23 OFFLINE   Nachtschrat

Nachtschrat

    Unhatched Egg

  • Members
  • 4 posts
  • Gender:Male

Posted 02 September 2007 - 07:56 PM

hi does someone have Browedit or a downloadlink reply or mail me: blood-tirst@hotmail.de

#24 OFFLINE   -Aeris-

-Aeris-

    Prof class LIVES! u_u"

  • Advanced Members
  • 93 posts
  • Location:Madrid, Spain
  • Interests:I am an eroguro girl! :3<br />I want Kyo from Dir en Grey on my bday!! &gt;o&lt;
  • Gender:Female

Posted 03 September 2007 - 12:18 PM

So, who won momo? ^^

#25 OFFLINE   ▀´°

▀´°

    Here We Go Again

  • Advanced Members
  • 962 posts
  • Location:SP, Brazil
  • Gender:Male

Posted 18 September 2007 - 10:38 PM

I have it like, 60% done.
if you want it Momo lemme know.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users