For the research purposes:

What this 0 ( printf("Last weapon used: %s\n", *(char**)(v3 + 0)); ) stands for ?

Can I printf other ints (a1, a2) this way?

I was never good at pointers, what does *(char**) do? Googling it provides only info about char itself..