So ich hab nun den Code gefunden, das Problem ist nur noch das er beim erstellen folgende Fehler raus gibt.
Log
[CODE]1>------ Erstellen gestartet: Projekt: revision.h, Konfiguration: Release x64 ------
1>
1>
1>
1> – WARNING - Missing or outdated git - did you forget to install a recent version?
1> – WARNING - Observe that for revision ID/hash to work you need at least version 1.7
1> – WARNING - Continuing anyway, but setting the revision-ID and hash to Rev:0 Hash: Archive
1> – WARNING - Missing repository tags - you may need to pull tags with git fetch -t
1> – WARNING - Continuing, but the hash will be set to ‘Archive’
2>------ Erstellen gestartet: Projekt: scripts, Konfiguration: Release x64 ------
2> npc_add.cpp
2>…......\TrinityCore\src\server\scripts\Custom\npc_add.cpp(22): error C2590: “npc_add”: Nur ein Konstruktor kann eine Basis-/Member-Initialisiererliste enthalten.
2>…......\TrinityCore\src\server\scripts\Custom\npc_add.cpp(28): error C2664: ‘GossipMenu::AddMenuItem’: Konvertierung des Parameters 2 von ‘const char [15]’ in ‘uint8’ nicht möglich
2> Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
2>…......\TrinityCore\src\server\scripts\Custom\npc_add.cpp(128): error C2061: Syntaxfehler: Bezeichner ‘npc_add’
3>------ Erstellen gestartet: Projekt: worldserver, Konfiguration: Release x64 ------
3> Bibliothek “C:/Trinity/Git/Win/src/server/worldserver/Release/worldserver.lib” und Objekt “C:/Trinity/Git/Win/src/server/worldserver/Release/worldserver.exp” werden erstellt.
3>game.lib(ScriptLoader.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ““void __cdecl AddSC_npc_add(void)” (?AddSC_npc_add@@YAXXZ)” in Funktion ““void __cdecl AddCustomScripts(void)” (?AddCustomScripts@@YAXXZ)”.
3>C:\Trinity\Git\Win\bin\Release\worldserver.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
4>------ Erstellen übersprungen: Projekt: INSTALL, Konfiguration: Release x64 ------
4>Für diese Projektmappenkonfiguration wurde kein zu erstellendes Projekt ausgewählt.
========== Erstellen: 1 erfolgreich, Fehler bei 2, 11 aktuell, 1 übersprungen ==========[/CODE]
Code
[CODE]/*
made by Hanfer
for IDK? god? education? your mom? this guy from wow studio?
*/
#include “ScriptPCH.h”
#include
std::string sqlcode;
int used;
int id;
bool gotit = true;
#define ITEM_GIFT 44050 //item id of gift
//the crapy code:
class gift_code_npc : public CreatureScript
{
public:
npc_add()
: CreatureScript("npc_add")
{
}
bool OnGossipHello(Player* player, Creature* creature)
{
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(5,"Code eingeben!",GOSSIP_SENDER_MAIN, 10, "", 0, true);
player->ADD_GOSSIP_ITEM(0, "Schoenen Tag noch", GOSSIP_SENDER_MAIN, 99);
player->PlayerTalkClass->SendGossipMenu(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
return true;
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
{
if (sender == GOSSIP_SENDER_MAIN)
{
player->PlayerTalkClass->ClearMenus();
switch(action)
{
case 99:
player->CLOSE_GOSSIP_MENU();
player->GetSession()->SendNotification("Schoenen Tag noch.");
break;
}
}
return true;
}
bool OnGossipSelectCode(Player* player, Creature* /*creature*/, uint32 sender, uint32 action, const char* code)
{
player->PlayerTalkClass->ClearMenus();
if (sender == GOSSIP_SENDER_MAIN)
{
switch (action)
{
case 10:
QueryResult result;
result = WorldDatabase.Query("SELECT `code`, `used`, `id` FROM `codes`"); //get codes from sql
if(result)
{
do
{
Field *fields = result->Fetch();
sqlcode = fields[0].GetString();
used = fields[1].GetInt32();
id = fields[2].GetInt32();
if(sqlcode == code){
//gotit = false; has to be in if (?!? donno)
if(used == 0)
{
gotit = false;
QueryResult exec;
exec = WorldDatabase.PQuery("UPDATE codes SET used = '1' WHERE id = %u", id); //set code to used
player->AddItem(ITEM_GIFT, 1); //get your present
player->GetSession()->SendNotification("Glückwunsch!");
player->CLOSE_GOSSIP_MENU();
}else{
gotit = false;
player->GetSession()->SendNotification("dieser Code wurde schon eingeloest!");//ha! got you! don't use it twice!
player->CLOSE_GOSSIP_MENU();
}
}
} while (result->NextRow());
if(gotit){
player->GetSession()->SendNotification("Code nicht gefunden!"); //Are you kidding me?
player->CLOSE_GOSSIP_MENU(); // Sometimes i want to punch people over TCP!
}
return true;
}
player->CLOSE_GOSSIP_MENU();
return true;
}
}
return false;
}
};
void AddSC_npc_add()
{
new npc_add();
}[/CODE]