Die frage ist ja. Was für den Scripter dabei raus springt.
Es muss nicht immer, was für den Scripter was raus springen.
Die frage ist ja. Was für den Scripter dabei raus springt.
Es muss nicht immer, was für den Scripter was raus springen.
Cool, ich danke dir dafür .
10>/10
Ich Rauche
Stuttgart
Haha, echt nicht schlecht geworden ;D
8/10
[MrM]Florian:
Das Forum befindet sich zur Zeit aus folgenden Gründen im Wartungsmodus:MrM Geschlossen
Nachdem der Server wie zu erwarten war nicht mehr aktiv genutzt wird haben wir uns dafür Entschieden bereits jetzt den GameServer abzuschalten. Das Forum wird bis zum 12.12.2012 im Wartungsmodus bleiben und dann gemeinsam mit dem Root Server abgeschaltet werden.
An dieser Stelle möchten wir uns noch einmal recht herzlich bei der Community und besonders bei den vielen Helfern (Teammitglieder und Ex-Teammitglieder) bedanken.
Da wir euch aber keines Falls einfach fallen lassen wollen geben wir euch hier (mrm-com.net) die Möglichkeit weiterhin mit der alten Community in Kontakt zu bleiben. Den Teamspeak Server könnt ihr weiterhin unter der selben Adresse erreichen wie zuvor. Allerdings werdet ihr diesen stark umstrukturiert vorfinden.
Wir wünschen euch viel Spaß beim Zocken !
Euer MrMonat Reallife ServerManagement
15.11.2012 - 13:37
Mh... erklären ist etwas schwer und ich kann auch leider kein Screen machen, da der Server geschlossen wurde.
Hallo liebe Community, hat evl. jemand dass Maskensystem von MrMonat Reallife ?
Ich würde mich über eine Antwort freuen.
MFG
-iClouD
Sehr geil gemacht 10/10
Dachte ich auch gerade. Abgesehen davon, dass auch wenn man Ahnung von C++ hat, einfach irgendwas hingeklatscht wird.
Stimmt schon, aber dieser NPC ist ja noch lange nicht fertig :D. Das würde nichts bringen, wen man dies jetzt einfach Kopiert
und einfügen würde.
TutNichts: kein Plan von C++, aber das ist ja kein Tutorial - das ist ja reiner Code. Kannst genauso gut als "Release" posten.
Ich lasse es als Tutorial hier ;).
Ich bin dabei, meine Name ist Cj-_-furry ;D
Hallo liebe Community, heute zeige ich euch wie ihr einen Buff NPC erstellen könnt.
Schritt 1: Als erstes includiert ihr diese Sachen, dies ist notwendig sonst wird es nicht funktionieren.
#include "GossipDef.h"
#include "Player.h"
#include "ScriptedPch.h"
#include "ScriptedGossip.h"
#include "Database/DatabaseEnv.h"
#include "SpellMgr.h"
#include "Common.h"
Schritt 2: Nun erstellen wir unseren NPC
bool GossipHello_simple_buff_npc(Player *player, Creature *_Creature)
{
player->SetTaxiCheater(true);
player->ADD_GOSSIP_ITEM(5, "Teleports", GOSSIP_SENDER_MAIN, 1/* '1' */ ); // Erstellt einen Menu Eintrag welcher der Spieler den NPC sieht wenn er den NPC ansprich
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _Creature->GetGUID());
return true;
}
Schritt 3: Was passieren soll, wen man in Anklickt
void SendDefaultMenu_simple_buff_npc(Player *player, Creature *_Creature, uint32 action)
{
if(!player->getAttackers().empty()) //Eine Abfrage ob der Spieler in einen Kampf verwickelt ist falls ja schließt der NPC den Dialog und gibt dem Spieler die * Nachricht an
{
player->CLOSE_GOSSIP_MENU();
player->GetSession()->SendNotification("Ihr seid in einen Kampf verwickelt."); // Nachricht = *
}
else
{
switch(action) // Falls der jenige nicht in einen Kampf verwickelt ist wird er weitergeleitet
{
case 1: //Das ist der Fall wenn der Spieler den Menu Punkt 'Teleports' anklickt
player->ADD_GOSSIP_ITEM(5, "Ausdauer", GOSSIP_SENDER_MAIN, 2/* '2' */); //Erstellt erneut eine Auswahl bzw einen Menupunkt
player->ADD_GOSSIP_ITEM(5, "Rüstung", GOSSIP_SENDER_MAIN, 3); //Erstellt eine 2te Auswahl bzw. Menupunkt
player->ADD_GOSSIP_ITEM(0, "Schoenen Tag noch", GOSSIP_SENDER_MAIN, 4);
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _Creature->GetGUID());
break;
case 2://Ausdauerbuff
player->CLOSE_GOSSIP_MENU(); // '3'
_Creature->CastSpell(player, 58453/*4*/, true);
break;
case 3://Rüstungsbuff
player->CLOSE_GOSSIP_MENU();
_Creature->CastSpell(player, 42995, true);
break;
case 4:
player->CLOSE_GOSSIP_MENU(); // Beendet den Dialog
player->GetSession()->SendNotification("Schoenen Tag noch."); // Gibt dem Spieler noch eine Abbschlussnachricht
break;
}
}
}
Alles anzeigen
Schritt 4: Der Buff NPC selber
bool GossipSelect_simple_buff_npc(Player *player, Creature *_Creature, uint32 sender, uint32 action)
{
if (sender == GOSSIP_SENDER_MAIN)
SendDefaultMenu_simple_buff_npc(player, _Creature, action);
return true;
}
void AddSC_simple_buff_npc()
{
Script *newscript;
newscript =new Script;
newscript->Name ="simple_buff_npc";// Definiert den Scriptnamen der später in dem Feld 'Scriptnamen' in dem creature_template bei der Creature angeben werden muss
newscript->pGossipHello =&GossipHello_simple_buff_npc;
newscript->pGossipSelect =&GossipSelect_simple_buff_npc;
newscript->pItemHello =NULL;
newscript->pGOHello =NULL;
newscript->pAreaTrigger =NULL;
newscript->pItemQuestAccept =NULL;
newscript->pGOQuestAccept =NULL;
newscript->pGOChooseReward =NULL;
newscript->RegisterSelf();
}
Alles anzeigen
An Ende, müsste bei euch alles so aussehen.
#include "GossipDef.h"
#include "Player.h"
#include "ScriptedPch.h"
#include "ScriptedGossip.h"
#include "Database/DatabaseEnv.h"
#include "SpellMgr.h"
#include "Common.h"
bool GossipHello_simple_buff_npc(Player *player, Creature *_Creature)
{
player->SetTaxiCheater(true);
player->ADD_GOSSIP_ITEM(5, "Teleports", GOSSIP_SENDER_MAIN, 1/* '1' */ ); // Erstellt einen Menu Eintrag welcher der Spieler den NPC sieht wenn er den NPC ansprich
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _Creature->GetGUID());
return true;
}
void SendDefaultMenu_simple_buff_npc(Player *player, Creature *_Creature, uint32 action)
{
if(!player->getAttackers().empty()) //Eine Abfrage ob der Spieler in einen Kampf verwickelt ist falls ja schließt der NPC den Dialog und gibt dem Spieler die * Nachricht an
{
player->CLOSE_GOSSIP_MENU();
player->GetSession()->SendNotification("Ihr seid in einen Kampf verwickelt."); // Nachricht = *
}
else
{
switch(action) // Falls der jenige nicht in einen Kampf verwickelt ist wird er weitergeleitet
{
case 1: //Das ist der Fall wenn der Spieler den Menu Punkt 'Teleports' anklickt
player->ADD_GOSSIP_ITEM(5, "Ausdauer", GOSSIP_SENDER_MAIN, 2/* '2' */); //Erstellt erneut eine Auswahl bzw einen Menupunkt
player->ADD_GOSSIP_ITEM(5, "Rüstung", GOSSIP_SENDER_MAIN, 3); //Erstellt eine 2te Auswahl bzw. Menupunkt
player->ADD_GOSSIP_ITEM(0, "Schoenen Tag noch", GOSSIP_SENDER_MAIN, 4);
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _Creature->GetGUID());
break;
case 2://Ausdauerbuff
player->CLOSE_GOSSIP_MENU(); // '3'
_Creature->CastSpell(player, 58453/*4*/, true);
break;
case 3://Rüstungsbuff
player->CLOSE_GOSSIP_MENU();
_Creature->CastSpell(player, 42995, true);
break;
case 4:
player->CLOSE_GOSSIP_MENU(); // Beendet den Dialog
player->GetSession()->SendNotification("Schoenen Tag noch."); // Gibt dem Spieler noch eine Abbschlussnachricht
break;
}
}
}
bool GossipSelect_simple_buff_npc(Player *player, Creature *_Creature, uint32 sender, uint32 action)
{
// Der Buff NPC selber
if (sender == GOSSIP_SENDER_MAIN)
SendDefaultMenu_simple_buff_npc(player, _Creature, action);
return true;
}
void AddSC_simple_buff_npc()
{
Script *newscript;
newscript =new Script;
newscript->Name ="simple_buff_npc";// Definiert den Scriptnamen der später in dem Feld 'Scriptnamen' in dem creature_template bei der Creature angeben werden muss
newscript->pGossipHello =&GossipHello_simple_buff_npc;
newscript->pGossipSelect =&GossipSelect_simple_buff_npc;
newscript->pItemHello =NULL;
newscript->pGOHello =NULL;
newscript->pAreaTrigger =NULL;
newscript->pItemQuestAccept =NULL;
newscript->pGOQuestAccept =NULL;
newscript->pGOChooseReward =NULL;
newscript->RegisterSelf();
}
Alles anzeigen
Dies ist ein Tutorial für Anfänger, ihr könnt natürlich auch den NPC erweitern.
WIESO?! Wieso sollte er was hinschreiben was nicht stimmt?! :O Irgendwie sinnlos...
Man weiß nie und jetzt flame mich hier nicht so voll, dass war einfach meine Frage, weil ich im dass irgendwie nicht glaube. Es
ist einfach sehr gut gemacht für 30 Minuten
*Hust* Wer lesen kann ist klar im Vorteil*Hust*
Also erstmal zu deiner Überschrift, lasst es sein Leute immer Sachen zu Schreiben wie z.B. "Mal eben in %d Minuten gemacht" oder "Hat nur %d Minuten gedauert"! Wenn dann noch so kurze Zeiten dort stehen schüttel ich schon immer gleich den Kopf...
Ist mir schon klar, aber ich glaube nicht dass er 30 Minuten gebraucht hat
Sieht sehr schön aus, wie lange hast du dafür gebraucht ?
Naya, so mein Faill ist dass nicht sorry.
Vorstellung: 8/10
Forum: 4/10
Server: Wird noch getestet, ich werde dann ein Edit schreiben.
Ist wirklich sehr gut geworden, würde mich freuen wen du mehr Filterscripts vorstellst.
Es ist dir sehr gut gelungen.
10/10
Sieht echt Super aus, kannst du mir welche machen ;D ?