Advertisement
johnlol

entregador_de_item

May 19th, 2019
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //===== Cronus Script =========================================
  2. //= Entregador de Item
  3. //===== Por: ==================================================
  4. //= Zawe
  5. //===== Versão Atual: =========================================
  6. //= 0.3
  7. //===== Descrição: ==========================================
  8. //= Entregador de Item que entrega para offline. Com
  9. //= modificação para Alterar e Deletar Envios não Completados.
  10. //===== Comentários Adicionais: ===============================
  11. //= 0.1 Criação do Script [Zawe]
  12. //= 0.2 Melhorando no envio Online [Zawe]
  13. //= 0.3 Correção de erros [Zawe]
  14. //===== Observações: ==========================================
  15. //= O Entregador aguenta somente 40 entregas salvas.
  16. //= Não esqueca de alterar as configurações no final do script.
  17. //=============================================================
  18. sec_in02.gat,133,141,2  script  Entregador de Itens 92,{
  19.  
  20. function    Manager {
  21.     if(attachrid(getarg(0))) {
  22.         mes "Olá, "+strcharinfo(0)+".";
  23.         mes "Você possui "+getarg(2)+" "+getitemname(getarg(1))+" esperando para ser resgatado.";
  24.         mes "Você gostária de resgata-los nesse exato momento?";
  25.         mes " ";
  26.         mes "Obs: Tenha cuidado na hora de pegar itens não transferiveis. Tenha certeza de estar com o personagem certo.";
  27.         getitem getarg(1),getarg(2);
  28.         end;
  29.     }
  30.     if(getarraysize($itemsmanage) > 125) {
  31.         mes "Espaço insuficiente. Por favor delete algum envio ou espere um envio ser completado.";
  32.         end;
  33.     }
  34.     for(set .@i,0; .@i < 3; set .@i,.@i + 1) {
  35.         setarray $itemsmanage[getarraysize($itemsmanage)],getarg(.@i);
  36.     }
  37. }
  38.  
  39. function    InputEntreg {
  40.     mes "Digite o ID do Item.";
  41.     while(.@itemid < 512) {
  42.         input .@itemid;
  43.         if(.@itemid < 512) {
  44.             mes "ID de Item inválido.";
  45.             mes "Por favor redigite o ID.";
  46.             next;
  47.         }
  48.     }
  49.     mes "Agora digite a Quantidade de Item a ser dado.";
  50.     while(.@itemquant > .item_quant || .@itemquant == 0) {
  51.         input .@itemquant;
  52.         if(.@itemquant > .item_quant || .@itemquant == 0) {
  53.             mes "Numero inválido. Digite um numero entre(1 ~ "+.item_quant+").";
  54.             mes "Por favor redigite a Quant.";
  55.             next;
  56.         }
  57.     }
  58.     Manager(getarg(0),.@itemid,.@itemquant);
  59. }
  60.  
  61. if(getgmlevel() < .gm_lvl) end;
  62. mes "O que você deseja fazer?";
  63. switch(select("~ Adicionar Envio:~ Alterar Envio:~ Deletar Envio:~ Sair")) {
  64. next;
  65.  
  66. case 1:
  67.     if(.sql) {
  68.         mes "De que maneira você deseja enviar?";
  69.         set .@menu,select("~ Accound ID:~ Personagem:~ Login:~ Sair");
  70.         if(.@menu == 4) end;
  71.         while(.@temp2 < 2000000){
  72.             input .@temp$;
  73.             if(.@temp$ == "0") end;
  74.             if(.@menu == 1) {
  75.                 set .@temp2,.@temp$;
  76.             } else if(.@menu == 2) {
  77.                 query_sql "SELECT `account_id` FROM `char` WHERE `name` = '"+.@temp$+"'",.@temp2;
  78.             } else {
  79.                 query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '"+.@temp$+"'",.@temp2;
  80.             }
  81.         }
  82.         InputEntreg(.@temp2);
  83.     } else {
  84.         mes "Por favor digite o Account ID da Conta.";
  85.         input .@temp;
  86.         InputEntreg(.@temp);
  87.     }
  88.     end;
  89.  
  90. case 2:
  91.     mes "Escolha um dos Envios que você deseja alterar.";
  92.     mes " ";
  93.     mes "Account ID | Item | Quantidade";
  94.     for(set .@i,0; .@i < getarraysize($itemsmanage); set .@i,.@i + 3) {
  95.         set .@temp$,"~ "+$itemsmanage[.@i]+" | "+getitemname($itemsmanage[.@i+1])+" | "+$itemsmanage[.@i+2]+"";
  96.         set .@menu$,.@menu$ + .@temp$ + ":";
  97.     }
  98.     set .@menu$,.@menu$ + "~ Sair" + ":";
  99.     set .@menu,select(.@menu$);
  100.     if(.@menu == (.@i/3)+1) end;
  101.     mes "Account ID: "+$itemsmanage[(.@menu-1)*3]+"";
  102.     mes "Item ID: "+$itemsmanage[((.@menu-1)*3)+1]+"";
  103.     mes "Item Name: "+getitemname($itemsmanage[((.@menu-1)*3)+1])+"";
  104.     mes "Quantidade: "+$itemsmanage[((.@menu-1)*3)+2]+"";
  105.     set .@menu2,select("~ Alterar Item:~ Alterar Quantidade:~ Sair");
  106.     if(.@menu2 == 3) end;
  107.     if(.@menu2 == 1) {
  108.         input .@newid;
  109.         setarray $itemsmanage[((.@menu-1)*3)+1],.@newid;
  110.     } else {
  111.         input .@newquant;
  112.         setarray $itemsmanage[((.@menu-1)*3)+2],.@newquant;
  113.     }
  114.     mes "Alteração completada.";
  115.     end;
  116.  
  117. case 3:
  118.     mes "Escolha um dos Envios que você deseja deletar.";
  119.     mes " ";
  120.     mes "Account ID | Item | Quantidade";
  121.     for(set .@i,0; .@i < getarraysize($itemsmanage); set .@i,.@i + 3) {
  122.         set .@temp$,"~ "+$itemsmanage[.@i]+" | "+getitemname($itemsmanage[.@i+1])+" | "+$itemsmanage[.@i+2]+"";
  123.         set .@menu$,.@menu$ + .@temp$ + ":";
  124.     }
  125.     set .@menu$,.@menu$ + "~ Sair" + ":";
  126.     set .@menu,select(.@menu$);
  127.     if(.@menu == (.@i/3)+1) end;
  128.     mes "Tem certeza que deseja deletar esse Envio?";
  129.     if(select("Sim:Não") == 2) end;
  130.     deletearray $itemsmanage[((.@menu-1)*3)],3;
  131.     mes "Envio deletado com sucesso.";
  132.     end;
  133.  
  134. }
  135.  
  136. OnPCLoginEvent:
  137.     for(set .@i,0; .@i < getarraysize($itemsmanage); set .@i,.@i + 3) {
  138.         if(getcharid(3) == $itemsmanage[.@i]) {
  139.             mes "Olá, "+strcharinfo(0)+".";
  140.             mes "Você possui "+$itemsmanage[.@i+2]+" "+getitemname($itemsmanage[.@i+1])+" esperando para ser resgatado.";
  141.             mes "Você gostária de resgata-los nesse exato momento?";
  142.             mes " ";
  143.             mes "Obs: Tenha cuidado na hora de pegar itens não transferiveis. Tenha certeza de estar com o personagem certo.";
  144.             if(select("Sim:Não") == 2) end;
  145.             getitem $itemsmanage[.@i+1],$itemsmanage[.@i+2];
  146.             deletearray $itemsmanage[.@i],3;
  147.             next;
  148.         }
  149.     }
  150.     end;
  151.  
  152. OnInit:
  153.     set .gm_lvl,90;         // Level minimo do GM para utilizar o Npc
  154.     set .sql,1;             // Servidor usa SQL? 0 = Não | 1 = Sim
  155.     set .item_quant,999;        // Quantidade maxima de item para enviar
  156.     end;
  157.  
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement