Autore Topic: Drop System  (Letto 6930 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Pascal

  • Admin
  • Veteran
  • *****
  • Post: 981
  • Karma: 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Ecco una parte del Drop system che avevo creato da zero da me, purtroppo non funziona cosi tanto bene come sembra sulla carta:
Codice: [Seleziona]
// Svuota l'inventario del mob

//void main() { }
//void wipe_inv();
//void farm_item();

void wipe_inv(object oMob)
{

if( !GetIsObjectValid(oMob) || !GetHasInventory(oMob)) return;
    // Empty out the inventory.
    object oItem = GetFirstItemInInventory(oMob);
    while( GetIsObjectValid(oItem))
    {   // If the item is a container, empty it before destroying it.
        SetPlotFlag(oItem, FALSE);
        DestroyObject(oItem, (GetHasInventory( oItem) ? 0.2f : 0.1f));
        oItem = GetNextItemInInventory(oMob);
    }

DestroyObject(oMob);
}

void farm_item(object oMob)
{

// prendi il nome completo del mob, senza spazi
string sMob = GetName(oMob);


// il drop dev'essere un resref
if (sMob == "Cinghiale")
    {
    int nDrop = d4();
    int nMoney = d100();
    string sDropA = "it_gold002";       // monete d'oro
    string sDropB = "restidianimale";   // resti di animale
    switch (nDrop)
        {
        case 1: CreateItemOnObject(sDropA, oMob, nMoney); break;
        case 2: CreateItemOnObject(sDropB, oMob); break;
        default: break;
        }
    }

if (sMob == "Topo")
    {
    int nDrop = d4();
    string sDropB = "restidianimale";   // resti di animale
    switch (nDrop)
        {
        case 1: CreateItemOnObject(sDropB, oMob); break;
        default: break;
        }
    }

if (sMob == "Assatanato")
    {
    int nDrop = d4();
    string sDropA = "nw_wspmku009";   // kukri +3
    switch (nDrop)
        {
        case 1: CreateItemOnObject(sDropA, oMob); break;
        default: break;
        }
    }

if (sMob == "Disperato")
    {
    int nDrop = d4();
    int nMoney = d100();
    string sDropA = "nw_wspku001";   // kukri
    string sDropB = "it_gold002";    // monete
    switch (nDrop)
        {
        case 1:  CreateItemOnObject(sDropA, oMob); break;
        default: CreateItemOnObject(sDropB, oMob, nMoney); break;
        }
    }

if (sMob == "Saibasuta")
    {
    int nDrop = d10();
    int nMoney = d100();
    string sDropA = "armaturabastarda"; // armatura bastarda
    string sDropB = "cyberstar";        // spada cyberstar
    string sDropC = "it_gold002";       // monete
    switch (nDrop)
        {
        case 1:  CreateItemOnObject(sDropA, oMob); break;
        case 2:  CreateItemOnObject(sDropB, oMob); break;
        default: CreateItemOnObject(sDropC, oMob, nMoney); break;
        }
    }

if (sMob == "Ioria")
    {
    int nDrop = d10();
    int nMoney = d100();
    string sDropA = "ioria";            // armatura di ioria
    string sDropB = "spadadiioria";     // spada di ioria
    string sDropC = "elmodiioria";      // elmo di ioria
    string sDropD = "anellodiioria";    // anello di ioria
    string sDropE = "it_gold002";       // monete
    switch (nDrop)
        {
        case 1:  CreateItemOnObject(sDropA, oMob); break;
        case 2:  CreateItemOnObject(sDropB, oMob); break;
        case 3:  CreateItemOnObject(sDropC, oMob); break;
        case 4:  CreateItemOnObject(sDropD, oMob); break;
        default: CreateItemOnObject(sDropE, oMob, nMoney); break;
        }
    }

}


Offline Diavolo_Rosso

  • Forum God
  • *****
  • Post: 4881
  • Karma: 119
    • Mostra profilo
Ioria droppa tutta quella roba? Voglio il set completo ;D


sono un dio 8) baciatemi le chiappe ;D
ma si sa: la speranza e' l'ultima a morire ma la prima ad aggrare!
probabilmente molti di coloro che furono vogliono dimenticare di essere mai stati membri di un forum e che ci hanno passato sopra le nottate!

Offline unreal

  • Forum God
  • *****
  • Post: 4197
  • Karma: 85
  • La fortuna è cieca, ma la sfiga ci vede bene!
    • Mostra profilo
la funzione d10 tira un d10 giusto? (non ho mai usato aurora XD )

se è così saibasuta in teoria al 20% droppa qualcosa.. (10 spada, 10 armor) perchè non è così? almeno 5-6 volte che l'ho fatto droppava nulla o qualche moneta....

Offline Diavolo_Rosso

  • Forum God
  • *****
  • Post: 4881
  • Karma: 119
    • Mostra profilo
la funzione d10 tira un d10 giusto? (non ho mai usato aurora XD )

se è così saibasuta in teoria al 20% droppa qualcosa.. (10 spada, 10 armor) perchè non è così? almeno 5-6 volte che l'ho fatto droppava nulla o qualche moneta....

se le prossime 2 volte droppi sei comunque in una probabilità del 20% su 10 tentativi....il fatto che ci sia una possibilità non significa che sicuramente accadrà :D


sono un dio 8) baciatemi le chiappe ;D
ma si sa: la speranza e' l'ultima a morire ma la prima ad aggrare!
probabilmente molti di coloro che furono vogliono dimenticare di essere mai stati membri di un forum e che ci hanno passato sopra le nottate!

Offline Draim

  • Veteran
  • ****
  • Post: 923
  • Karma: 59
  • Rullo
    • Mostra profilo
la funzione d10 tira un d10 giusto? (non ho mai usato aurora XD )

se è così saibasuta in teoria al 20% droppa qualcosa.. (10 spada, 10 armor) perchè non è così? almeno 5-6 volte che l'ho fatto droppava nulla o qualche moneta....
beh secondo questo script nel 40% delle volte ioria droppa qualcosa e il restante solo monete...sei solo leggermente sotto media :D
questa finisce nella mia firma
AHAHAHAHAHAHAHAHAHAHAHA anke questa finisce nella mia firma ;D

Offline 3n1gm4

  • Forum God
  • *****
  • Post: 8432
  • Karma: 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
se le prossime 2 volte droppi sei comunque in una probabilità del 20% su 10 tentativi....il fatto che ci sia una possibilità non significa che sicuramente accadrà :D

Se il 20% delle volte droppa qualcosa, e il random di nwn fosse uno pseudorandom decente e non tarocco per farci fare tiri sfigati in modo da passare a nwn2, fare saiba 10 volte di fila senza droppare una favazza ha una probabilità del 10.7%

Per avere una probabilità inferiore al 5% di non raccoglierie nulla devi segarolo 14 volte.

Chiaramente pascal ha ricambiato le cose con un rate che si basa su d100 :D

nigma blog
Impara Il Sardo 1 2
vengo a cagliari di persona accompagnato dall'armata elfica per giocare a quake3arena dentro casa tua!

Offline unreal

  • Forum God
  • *****
  • Post: 4197
  • Karma: 85
  • La fortuna è cieca, ma la sfiga ci vede bene!
    • Mostra profilo
Chiaramente pascal ha ricambiato le cose con un rate che si basa su d100 :D
stamo freschi!

Offline Pascal

  • Admin
  • Veteran
  • *****
  • Post: 981
  • Karma: 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Se il 20% delle volte droppa qualcosa, e il random di nwn fosse uno pseudorandom decente e non tarocco per farci fare tiri sfigati in modo da passare a nwn2, fare saiba 10 volte di fila senza droppare una favazza ha una probabilità del 10.7%

Per avere una probabilità inferiore al 5% di non raccoglierie nulla devi segarolo 14 volte.

Chiaramente pascal ha ricambiato le cose con un rate che si basa su d100 :D

beh, a quei tempi aveva ancora senso. i drop rate erano cmq mille volte migliori di quelli di L2 a cui venom bene o male si rifà in qualche aspetto.
tuttavia adesso, dopo che tutti si sono bimbominkyati su wow, le cose sono cambiate parecchio e persino il drop alla morte viene visto come un bug, quindi le cose devono cambiare, con mio grandissimo rammarico!  ;D

Offline 3n1gm4

  • Forum God
  • *****
  • Post: 8432
  • Karma: 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
beh, a quei tempi aveva ancora senso. i drop rate erano cmq mille volte migliori di quelli di L2 a cui venom bene o male si rifà in qualche aspetto.
tuttavia adesso, dopo che tutti si sono bimbominkyati su wow, le cose sono cambiate parecchio e persino il drop alla morte viene visto come un bug, quindi le cose devono cambiare, con mio grandissimo rammarico!  ;D

il drop alla morte è cosa buona o giusta... dai un po' si deve rosicare :D

nigma blog
Impara Il Sardo 1 2
vengo a cagliari di persona accompagnato dall'armata elfica per giocare a quake3arena dentro casa tua!