Jump to content
  • 0
Sign in to follow this  
Dom

Mercado Organizado

Question

O npc funcionaria da seguinte forma, teria umas placas em prontera seguindo sempre uma fila, ao clicar na placa o mercador seria puxado para cima da placa e la ele poderia abrir sua loja, sendo assim o npc que puxou some e so aparece novamente quando não tiver nenhum mercador com loja aberta ou em cima dele, fazendo com que o mercado fique organizado em filas. Lembrando que o npc so puxa quem estiver com habilidade comércio. É um npc meio complexo mas quem puder e quiser tentar fazer.



Igual essa:




_screenragnastart000.jpg



Edited by Dom

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Basta vc trocar as coordenadas e se quiser aumentar duplicar

prontera,133,106,4	duplicate(vend_slot)	#vend_slot35	858
prontera,100,116,5	script	Pontos de Venda	833,{for( set .@i,1; .@i <= .count; set .@i,.@i + 1 ){	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );	if( !getareausers( .map$,.@x,.@y,.@x,.@y ) && .@x > 1 && .@y > 1 ){		set .@available,.@available + 1;		set .@menu$,.@menu$ + "Slot - "+.@i+":";	}else{		set .@menu$,.@menu$ + ":";	}}if( !.@available ){	mes "Este slot está ocupado.";}else if( !getskilllv("MC_VENDING") ){	mes "Você não possui a habilidade ^0055FFComércio^000000.";}else{	mes "Slot Disponível: "+.@available;	mes "Por favor, escolha o seu Ponto de Venda.";	set .@i,select( .@menu$ );	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );	if( .@x == 1 || .@y == 1 ){		mes "Este NPC está em local inválido...";	}else{		warp .@map$,.@x,.@y;		hideonnpc "#vend_slot"+.@i;	}}close;OnInit:sleep 1000;// Map for vendingset .map$,"prontera";setcell .map$,0,0,284,365,cell_novending,1;// x and y horizone ..setarray .x_line,148,153,158,163;setarray .y_line,160,156,152,148,144,140,136,132,125,121,117,113;//setarray .y_line,160,156,152,148,144,140,136,132,125,121,117,113,109,105,101,97,93;set .x_line_size,getarraysize( .x_line );set .y_line_size,getarraysize( .y_line );set .count,1;for( set .@x,0; .@x < .x_line_size; set .@x,.@x + 1 )	for( set .@y,0; .@y < .y_line_size; set .@y,.@y + 1 )		if( checkcell( .map$,.x_line[.@x],.y_line[.@y],cell_chkpass ) ){			movenpc "#vend_slot"+.count,.x_line[.@x],.y_line[.@y];			setcell .map$,.x_line[.@x],.y_line[.@y],.x_line[.@x],.y_line[.@y],cell_novending,0;			set .count,.count + 1;		}npctalk "Ponto de Venda: "+.count;donpcevent "::OnSetup";end;}-	script	vend_slot	-1,{getmapxy( .@map$,.@x,.@y,1 );if( !getskilllv("MC_VENDING") ){	mes "Você não possui a habilidade ^0055FFComércio^000000.";}else if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){	mes "Alguém já escolheu este local.";}else{	mes "Ponto de Venda : ^777777Disponível^000000";	mes "^0055FF[ Regras dos Pontos de Venda]^000000";	mes "^FF0000 ~ Nome adequado à loja.^000000";	mes "^FF0000 ~ Não ocupar espaço com vendas inúteis.^000000";	mes " ";	mes "^777777Os players que não seguirem estas regras serão devidamente punidos.^000000";	if( select( "Escolha o Ponto de Venda","Cancelar" ) == 1 ){		warp .@map$,.@x,.@y;		hideonnpc strnpcinfo(0);	}}close;OnSetup:getmapxy( .@map$,.@x,.@y,1 );set .@npcname$,strnpcinfo(0);while( .@map$ != "" ){	if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){		hideonnpc .@npcname$;	}else{		hideoffnpc .@npcname$;		// specialeffect 313;	}	sleep 5000;}end;}// Add more if needed.prontera,105,117,4	duplicate(vend_slot)	#vend_slot1	858prontera,105,108,4	duplicate(vend_slot)	#vend_slot2	858prontera,92,114,4	duplicate(vend_slot)	#vend_slot3	858prontera,93,108,4	duplicate(vend_slot)	#vend_slot4	858prontera,95,105,4	duplicate(vend_slot)	#vend_slot5	858prontera,104,105,4	duplicate(vend_slot)	#vend_slot6	858prontera,97,122,4	duplicate(vend_slot)	#vend_slot7	858prontera,103,122,4	duplicate(vend_slot)	#vend_slot8	858prontera,97,102,4	duplicate(vend_slot)	#vend_slot9	858prontera,102,102,4	duplicate(vend_slot)	#vend_slot10	858prontera,97,98,4	duplicate(vend_slot)	#vend_slot11	858prontera,103,98,4	duplicate(vend_slot)	#vend_slot12	858prontera,96,125,4	duplicate(vend_slot)	#vend_slot13	858prontera,103,125,4	duplicate(vend_slot)	#vend_slot14	858prontera,108,115,4	duplicate(vend_slot)	#vend_slot15	858prontera,108,109,4	duplicate(vend_slot)	#vend_slot16	858prontera,112,110,4	duplicate(vend_slot)	#vend_slot17	858prontera,112,115,4	duplicate(vend_slot)	#vend_slot18	858prontera,89,114,4	duplicate(vend_slot)	#vend_slot19	858prontera,89,108,4	duplicate(vend_slot)	#vend_slot20	858prontera,86,108,4	duplicate(vend_slot)	#vend_slot21	858prontera,86,115,4	duplicate(vend_slot)	#vend_slot22	858prontera,67,118,4	duplicate(vend_slot)	#vend_slot23	858prontera,70,125,4	duplicate(vend_slot)	#vend_slot24	858prontera,74,131,4	duplicate(vend_slot)	#vend_slot25	858prontera,78,135,4	duplicate(vend_slot)	#vend_slot26	858prontera,84,140,4	duplicate(vend_slot)	#vend_slot27	858prontera,92,144,4	duplicate(vend_slot)	#vend_slot28	858prontera,105,145,4	duplicate(vend_slot)	#vend_slot29	858prontera,113,141,4	duplicate(vend_slot)	#vend_slot30	858prontera,119,137,4	duplicate(vend_slot)	#vend_slot31	858prontera,124,132,4	duplicate(vend_slot)	#vend_slot32	858prontera,128,127,4	duplicate(vend_slot)	#vend_slot33	858prontera,132,119,4	duplicate(vend_slot)	#vend_slot34	858prontera,133,106,4	duplicate(vend_slot)	#vend_slot35	858prontera,130,100,4	duplicate(vend_slot)	#vend_slot36	858prontera,127,94,4	duplicate(vend_slot)	#vend_slot37	858prontera,123,90,4	duplicate(vend_slot)	#vend_slot38	858prontera,119,86,4	duplicate(vend_slot)	#vend_slot39	858prontera,114,83,4	duplicate(vend_slot)	#vend_slot40	858prontera,109,80,4	duplicate(vend_slot)	#vend_slot41	858prontera,104,78,4	duplicate(vend_slot)	#vend_slot42	858prontera,95,78,4	duplicate(vend_slot)	#vend_slot43	858prontera,90,80,4	duplicate(vend_slot)	#vend_slot44	858prontera,85,83,4	duplicate(vend_slot)	#vend_slot45	858prontera,79,87,4	duplicate(vend_slot)	#vend_slot46	858prontera,76,90,4	duplicate(vend_slot)	#vend_slot47	858prontera,71,95,4	duplicate(vend_slot)	#vend_slot48	858prontera,68,101,4	duplicate(vend_slot)	#vend_slot49	858prontera,67,106,4	duplicate(vend_slot)	#vend_slot50	858
  • Love 1

Share this post


Link to post
Share on other sites
  • 0

  1. Você pode usar getskilllv(<skill id>) para saber se o personagem possui a habilidade comércio

Você pode usar hideonnpc "<NPC object name>"; para esconder o npc logo após recallar o personagem com warp "<map name>",<x>,<y>;

Você pude usar hideoffnpc "<NPC object name>"; para mostrar o npc novamente após o personagem sair do modo mercador

Você pode usar unloadnpc e loadnpc ao inves de hideon/off, mas o controle teria que ser feito por outro npc

Edited by Lokii

Share this post


Link to post
Share on other sites
  • 0

Como aqui o suporte ta fraco fui procurar em outros fórum e achei no rAthena o npc ja :)

Share this post


Link to post
Share on other sites
  • 0

Foi esse que eu achei mesmo Doo, obrigado por postar mesmo assim :)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...