Lootshare Skript

Gott und die Welt, das Huhn und das Ei, DOS/Linux...

Moderatoren: Mythonos, Helena, Seer

Xho
Seer
Beiträge: 18
Registriert: 16 Mai 2007, 19:18

Lootshare Skript

Beitrag von Xho »

Ich hab mir mal vor nem halben Jahr ein Skript geschrieben mit dem man den gesammelten loot auf bis zu 9 Spieler aufteilen kann, da es mir einfach auf die Nerven ging Stunden damit zu verbringen die Sachen auseinander zu klauben.
Vielleicht findet ja der eine oder andere von euch Verwendung dafür.
;================================================= ================
;Skript zum Aufteilen von Loot
;Author Hirad Coldheart
;Benoetigte Utensilien:
;Easyuo 1.5
;Pro Person einen Bag
;1 Bag fuer den nichtteilbaren Lootrest
;Wichtig: Diese Bags duerfen sich nicht im
; Lootbag befinden
;in der 14. Zeile muss dein Name stehen
;================================================= ================
deletejournal
set %checkvar 0
set %j 0
set %my_name Hirad_Coldheart ;hier muss dein Name hin

event sysmessage { Auf wieviele Personen soll der Loot }
event sysmessage { aufgeteilt werden ? (max 9) }
set %jindex #jindex
wait 2s

;Einlesen der Anzahl der Leute
;Abspeichern dieser Zahl in
;%personen_anzahl
while ( %checkvar = 0 )
{
scanloop:
if ( %jindex <= #jindex ) && ( %checkvar = 0 )
{
scanjournal %jindex
;wenn es fuer mehr als 9 Leute auch gehen
;soll muesste man das anders machen, erkennt
;mit scanjournal nur die erste Zahl
for %j 1 9
{
if %my_name , :_ , %j in #journal
{
; Personenanzahl wird um 1 erhoeht damit der Restbag
;auch dabei ist
set %personen_anzahl %j
set %beutel_anzahl %personen_anzahl + 1
set %checkvar 1
event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { %personen_anzahl Personen }
}
}
set %jindex %jindex + 1
Goto scanloop
}

;Wenn keine Zahl fuer die Personen bestimmt wurde
;kurz warten und noch mal schauen, solange bis
;gueltige Zahl
if ( %checkvar = 0 )
{
event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { Bitte Anzahl der Personen waehlen }
wait 3s
}
}


;Beutel bestimmen auf die aufgeteilt werden soll
;der letzte Beutel ist der mit dem Restloot
event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { Jeder Person einen Bag }
event sysmessage { zuweisen & Restbag }
event sysmessage { bestimmen }
wait 2s
for %i 1 %beutel_anzahl
{
set %beutel . %i YC
set #ltargetid YC
set #ltargetkind 1
;solange kein gueltiger Beutel gewaehlt
;wurde, wieder danach fragen
event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { Beutel %i }
while ( %beutel . %i = YC )
{
set #targcurs 1
wait 3s
set %beutel . %i #ltargetid
}
event sysmessage { Beutel %i ID: %beutel . %i }
}

;lootbag waehlen
event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { Lootbag waehlen: }
set %lootbag YC
set #ltargetid YC
set #ltargetkind 1
while ( %lootbag = YC )
{
set #targcurs 1
wait 3s
set %lootbag #ltargetid
}


;sicherstellen dass im lootbag
;alle sachen von 1 typ gestapelt sind
lootbagsort:
findItem * C_ , %lootbag
if #findkind <> -1
{
exevent Drag #findid #findstack
wait 10
exevent Dropc %beutel1
wait 10
GoTo lootbagsort
}

zurueckinlootbag:
findItem * C_ , %beutel1
if #findkind <> -1
{
exevent Drag #findid #findstack
wait 10
exevent Dropc %lootbag
wait 10
GoTo zurueckinlootbag
}

event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { Lootbag sortiert }


;Aufteilen des Lootes
Lootaufteilung:
findItem * C_ , %lootbag
if #findkind <> -1
{
;Berechne Rest
set %rest #findstack % %personen_anzahl
;den gefundenen stack & die gefundene id merken
set %findtype #findtype
set %findstack #findstack
set %teiler #findstack / %personen_anzahl
;event sysmessage { %rest Rest %findtype findid }
if ( %rest <> 0 )
{
;falls Rest bleibt in den Restbag legen
exevent Drag #findid %rest
wait 10
;nicht teilbarer Rest kommt in den
;dafuer vorgesehenen Bag
exevent Dropc %beutel . %beutel_anzahl
wait 10
}

;Jeder bekommt gleich viel
event sysmessage { %teiler Stueck von %findtype pro Person }
for %k 1 %personen_anzahl
{
findItem %findtype C_ , %lootbag
if #findkind <> -1
{
;event sysmessage { %k Runde %teiler Stueck }
exevent Drag #findid %teiler
wait 10
exevent Dropc %beutel . %k
wait 10
}
else
{
;event sysmessage { Objekt konnte im Lootbag nicht gefunden werden }
}
}
GoTo Lootaufteilung
}
else
{
event sysmessage { } ;fuer die optik ne zeile frei
event sysmessage { Loot wurde erfolgreich auf %personen_anzahl Personen
event sysmessage { aufgeteilt }
}

stop
ManiacKS
Beiträge: 183
Registriert: 22 Mär 2006, 17:04
Wohnort: Kassel
Kontaktdaten:

Beitrag von ManiacKS »

Hab davon gehört aber die Person die es hatte von dir wollte es nicht weiter geben. Danke das du es hier rein stellst.
Bild