Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

Aiuto Nella Definizone

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
arrivato a casa, mi sono messo al lavoro.
Ho notato che esisteva già un sorgente per la gestione del coupon, sinceramente i coupon non me li sono mai cagati infatti non so bene nemmeno come devono funzionare (anche se ora un po' il meccanismo l'ho capito guardando il sorgente).
Ho trovato questo : "HANDLE_COUPON_BUY.cs" , non sapendo se faceva altro l'ho copiato in uno nuovo che ho chiamato "HANDLE_SHOP_COUPON.cs" (preso l'idea dal tuo source).
Ho cambiato la riga iniziale perchè generava un eccezione :
Codice:
int ID = Convert.ToInt32(getBlock(0));

è diventata
Codice:
string ID = getBlock(0);

Infatti il blocco 0 che arriva col pacchetto è una stringa, non un intero, ma cosa arriva?
Ecco cosa arriva.
Se tu scrivi il coupon:
1234-5678-8765-4321
nel codice, nella variabile ID, ti arriva:
12345678-8765-4321

in pratica si perde per la strada il primo "meno"

Allora tanto per fare una prova ho messo un po' di ID a casaccio ( che trovi qui sotto) e quindi li ho inseriti in warrock per vedere cosa succedeva, per essere piu precisi, ho inserito "2234-5678-8765-4321" (che corrisponde alla seconda linea nel codice qui sotto) e infatti nel gioco mi sono ritrovato l'MP5K_RED per 3 giorni , direi che è stato un successo ! Happywide

A sto punto non so cosa volevi ottenere tu (visto che hai messo pure un Random nel tuo codice) ma direi che questo è un buon punto di partenza, fammi sapere.

Qui sotto il codice che ho usato io:

    C++ Programming
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. using GameServer.Networking.Packets;
  7. using GameServer.Virtual_Objects.User;
  8.  
  9. namespace GameServer.Networking.Handlers
  10. {
  11. class HANDLE_SHOP_COUPON : PacketHandler
  12. {
  13. public override void Handle(virtualUser User)
  14. {
  15. string ID = getBlock(0);
  16. int Days = 0;
  17. int CouponToRemove = 0;
  18. string WeaponToBuy = null;
  19. #region Calculate
  20. switch (ID)
  21. {
  22. case "12345678-8765-4321": WeaponToBuy = "DB16"; Days = 3; CouponToRemove = 5; break;
  23. case "22345678-8765-4321": WeaponToBuy = "DB33"; Days = 3; CouponToRemove = 5; break;
  24. case "32345678-8765-4321": WeaponToBuy = "DB15"; Days = 3; CouponToRemove = 5; break;
  25. case "42345678-8765-4321": WeaponToBuy = "DF71"; Days = 7; CouponToRemove = 15; break;
  26. case "52345678-8765-4321": WeaponToBuy = "CI01"; Days = 7; CouponToRemove = 15; break;
  27. case "62345678-8765-4321": WeaponToBuy = "DC76"; Days = 7; CouponToRemove = 15; break;
  28. case "72345678-8765-4321": WeaponToBuy = "DD04"; Days = 14; CouponToRemove = 40; break;
  29. case "82345678-8765-4321": WeaponToBuy = "DC07"; Days = 14; CouponToRemove = 40; break;
  30. case "92345678-8765-4321": WeaponToBuy = "DG28"; Days = 14; CouponToRemove = 70; break;
  31. default: User.disconnect(); break;
  32. }
  33. #endregion
  34. if (User.Coupons >= CouponToRemove)
  35. {
  36. int InventorySlot = User.InventorySlots;
  37. if (InventorySlot > 0)
  38. {
  39. User.Coupons -= CouponToRemove;
  40. DB.runQuery("UPDATE users SET coupons='" + User.Coupons + "' WHERE id='" + User.UserID + "'");
  41. if (WeaponToBuy == null) User.disconnect();
  42. User.AddItem(WeaponToBuy, Days);
  43. User.send(new PACKET_COUPON_BUY(WeaponToBuy, User));
  44. User.send(new PACKET_COUPON_EVENT(User));
  45. User.reloadCash();
  46. }
  47. else
  48. {
  49. User.send(new PACKET_ITEMSHOP(PACKET_ITEMSHOP.ErrorCodes.InventoryFull, "NULL"));
  50. }
  51. }
  52. else
  53. {
  54. User.send(new PACKET_COUPON_BUY(PACKET_COUPON_BUY.ErrorCode.NotEnoughCoupons));
  55. }
  56. }
  57. }
  58. }




digger
25/11/2014, 1:17
#8
Cerca


Messaggi in questa discussione
Aiuto Nella Definizone - da Rokys091 - 23/11/2014, 11:51
RE: Aiuto Nella Definizone - da digger - 23/11/2014, 12:27
RE: Aiuto Nella Definizone - da Rokys091 - 23/11/2014, 15:49
RE: Aiuto Nella Definizone - da digger - 23/11/2014, 23:58
RE: Aiuto Nella Definizone - da Rokys091 - 24/11/2014, 10:41
RE: Aiuto Nella Definizone - da digger - 24/11/2014, 23:00
RE: Aiuto Nella Definizone - da Rokys091 - 24/11/2014, 23:56
RE: Aiuto Nella Definizone - da digger - 25/11/2014, 1:17
RE: Aiuto Nella Definizone - da Rokys091 - 25/11/2014, 10:20
RE: Aiuto Nella Definizone - da digger - 25/11/2014, 10:24

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [aiuto] No segnale su sapphire R9 280. Pocciox 5 2,412 14/01/2015, 22:11
Ultimo messaggio: digger
  aiuto portatile oirad94 1 1,685 22/12/2014, 16:27
Ultimo messaggio: Admin
  Aiuto Connessione w4rh4ck 50 10,659 25/07/2014, 11:28
Ultimo messaggio: Pocciox



Utenti che stanno guardando questa discussione: 1 Ospite(i)