#include "/secure/npcmaster.h"#include "/secure/wizlevels.h"
gehe zum Quellcode dieser Datei
Funktionen | |
| void | make_num (string key) |
| void | create () |
| static int | DumpNPCs () |
| varargs mixed | QueryNPC (int score) |
| int | SetScore (string key, int score) |
| mixed * | QueryNPCbyNumber (int num) |
| int | Recalculate (string s) |
Variablen | |
| private int | lastNum |
| private mapping | npcs |
| static private mapping | by_num |
| void create | ( | ) |
Definiert in Zeile 42 der Datei npcmaster.c.
Benutzt by_num, lastNum, npcs, NPCSAVEFILE und restore_object().
00043 { 00044 seteuid(getuid()); 00045 if (!restore_object(NPCSAVEFILE)) 00046 { 00047 lastNum=0; 00048 npcs=m_allocate(0,2); 00049 } 00050 by_num = m_allocate(0,2); 00051 filter_indices(npcs, #'make_num/*'*/); 00052 }

| static int DumpNPCs | ( | ) | [static] |
Definiert in Zeile 88 der Datei npcmaster.c.
Benutzt i, keys, NPC_NUMBER, NPC_SCORE und npcs.
Wird benutzt von SetScore().
00089 { 00090 mixed *keys; 00091 int i, max; 00092 00093 keys=m_indices(npcs); 00094 rm(NPCDUMPFILE); 00095 for (i=sizeof(keys)-1, max=0;i>=0;i--) { 00096 write_file(NPCDUMPFILE,sprintf("%5d %4d %s\n",npcs[keys[i],NPC_NUMBER], 00097 npcs[keys[i],NPC_SCORE],keys[i])); 00098 max += npcs[keys[i],NPC_SCORE]; 00099 } 00100 write_file(NPCDUMPFILE,sprintf("====================\nGesamt: %d Punkte\n",max)); 00101 return 1; 00102 }

| void make_num | ( | string | key | ) |
Definiert in Zeile 38 der Datei npcmaster.c.
Benutzt by_num, NPC_NUMBER, NPC_SCORE und npcs.
00038 { 00039 by_num += ([ npcs[key,NPC_NUMBER] : key; npcs[key,NPC_SCORE] ]); 00040 }
| varargs mixed QueryNPC | ( | int | score | ) |
Definiert in Zeile 56 der Datei npcmaster.c.
Benutzt by_num, call_out(), lastNum, NPC_INVALID_ARG, NPC_NUMBER, NPC_SCORE, npcs, NPCSAVEFILE, old_explode() und save_object().
00057 { 00058 string key, val; 00059 00060 if (!previous_object()) 00061 return NPC_INVALID_ARG; 00062 key=old_explode(object_name(previous_object()),"#")[0]; 00063 if (val=npcs[key,NPC_NUMBER]) 00064 return ({val,npcs[key,NPC_SCORE]}); 00065 if (score<=0 || member(inherit_list(previous_object()),"/std/living/life.c") < 0) 00066 return NPC_INVALID_ARG; 00067 npcs[key,NPC_SCORE]=score; 00068 npcs[key,NPC_NUMBER]=++lastNum; 00069 by_num += ([lastNum:key;score]); 00070 save_object(NPCSAVEFILE); 00071 call_out("DumpNPCs",0); 00072 return ({lastNum,score}); 00073 }

| mixed* QueryNPCbyNumber | ( | int | num | ) |
Definiert in Zeile 104 der Datei npcmaster.c.
Benutzt by_num, NPC_NUMBER und NPC_SCORE.
00105 { 00106 if (by_num[num]) 00107 return ({num,by_num[num,NPC_SCORE],by_num[num,NPC_NUMBER]}); 00108 00109 return 0; 00110 }
| int Recalculate | ( | string | s | ) |
| int SetScore | ( | string | key, | |
| int | score | |||
| ) |
Definiert in Zeile 75 der Datei npcmaster.c.
Benutzt by_num, DumpNPCs(), IS_ARCH, NPC_INVALID_ARG, NPC_NO_PERMISSION, NPC_NUMBER, NPC_SCORE, npcs, NPCSAVEFILE und save_object().
00076 { 00077 if (!IS_ARCH(this_interactive())||!IS_ARCH(geteuid(previous_object()))) 00078 return NPC_NO_PERMISSION; 00079 if (!npcs[key,NPC_NUMBER]) 00080 return NPC_INVALID_ARG; 00081 npcs[key,NPC_SCORE]=score; 00082 by_num += ([npcs[key,NPC_NUMBER]:key;score]); 00083 save_object(NPCSAVEFILE); 00084 DumpNPCs(); 00085 return 1; 00086 }

private mapping by_num [static] |
Definiert in Zeile 36 der Datei npcmaster.c.
Wird benutzt von AddMiniQuest(), ChangeMiniQuest(), create(), make_num(), QueryMiniQuestByNumber(), QueryMiniQuestPoints(), QueryNPC(), QueryNPCbyNumber(), Recalculate(), RemoveMiniQuest(), reset() und SetScore().
| private int lastNum |
Definiert in Zeile 34 der Datei npcmaster.c.
Wird benutzt von create() und QueryNPC().
| private mapping npcs |
Definiert in Zeile 35 der Datei npcmaster.c.
Wird benutzt von _getTip(), addTip(), check_all_player(), check_player(), ClearScoreBit(), create(), DumpNPCs(), LiquidateEK(), make_num(), MarkEKForLiquidation(), QueryNPC(), SetScore() und SetScoreBit().
1.6.3