• logo_cipsoft
    Nowe serwery zostały otwarte 27 Paź 2025:
    Idyllia (Optional PvP) Hostera (Open PvP) us_logo Dracobra (Open PvP)

Reborn System

Status
Zamknięty.

Forseti

Senior User
1. Autor: Xelix
2. Opis:
  • Po wbiciu odpowiedniego poziomu pojawia si? napis o informacji potrzeby rebornu.
  • Po wpisaniu !reborn automatycznie nas wylogowuje z postaci.
  • Po zalogowaniu na posta? mamy zresetowany lvl,exp oraz pojawiamy si? w pozycji podanej w config.lua
  • Zwi?ksza procent zadawanych obra?e? po rebornie (config).
  • Po klikni?ciu "Look" na gracza wy?wietlana jest ilo?? wykonanych reborn?w.

3. Klient: 7.60
4. Przedstawienie kodu:

Commands.cpp
Pod:
PHP:
//table of commands
s_defcommands Commands::defined_commands[] = {
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
    {"!reborn",&Commands::reborn},
#endif //_XELIX_REBORN_
Na sam koniec dodaj:
PHP:
#ifdef _XELIX_REBORN_
bool Commands::reborn(Creature* c, const std::string &cmd, const std::string &param)
{
	int reborn_level = (g_config.getGlobalNumber("reborn_level", 2));
    Player* player = dynamic_cast<Player*>(c);
    Position pos;
    if(!player)
        return false;
    if(player->level >= reborn_level){
        pos.x = (g_config.getGlobalNumber("pos_x", 123));
        pos.y = (g_config.getGlobalNumber("pos_y", 123));
        pos.z = (g_config.getGlobalNumber("pos_z", 7));
        game->teleport(player, pos);
        player->experience = 0;
        player->level = 1;
        player->reborn++;
        player->kickPlayer(); //Wyrzuca postac
    }else{
		std::stringstream text;
		text << "Musisz miec " << reborn_level << " poziom.";
        player->sendTextMessage(MSG_BLUE_TEXT, text.str().c_str());
    }
    return true;
}

#endif //_XELIX_REBORN_
Commands.h
Pod:
PHP:
protected:
	bool loaded;
	Game *game;
	std::string datadir;

	//commands
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
	bool reborn(Creature* c, const std::string &cmd, const std::string &param);
#endif //_XELIX_REBORN_
Game.cpp
Pod:
PHP:
		if (damage != 0)
		{
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
if(attackPlayer && attackPlayer->reborn > 0){
    damage += (int)(damage*(0.01*(attackPlayer->reborn*(g_config.getGlobalNumber("addRebornDMG", 2)))));
}
#endif //_XELIX_REBORN_
Ioplayerxml.cpp
Nad:
PHP:
		nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "cap");
		if(nodeValue) {
			player->capacity = atoi(nodeValue);
			xmlFreeOTSERV(nodeValue);
		}
		else
			isLoaded = false;
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
		nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "reborn");
		if(nodeValue) {
			player->reborn = (atoi(nodeValue) != 0);
			xmlFreeOTSERV(nodeValue);
		}
		else
			isLoaded = false;
#endif //_XELIX_REBORN_
Pod:
PHP:
	sb << player->maglevel;	          xmlSetProp(root, (const xmlChar*) "maglevel", (const xmlChar*)sb.str().c_str());  sb.str("");
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
    sb << player->reborn;	          xmlSetProp(root, (const xmlChar*) "reborn", (const xmlChar*)sb.str().c_str());  sb.str("");
#endif //_XELIX_REBORN_
Player.cpp
Pod:
PHP:
	maglevel   = 20;
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
    reborn = 0;
#endif //XELIX_REBORN_
Pod:
PHP:
#ifdef YUR_PREMIUM_PROMOTION
			if (isPromoted() && access == 0 && vocation == 0)
				s << " is "<< g_config.PROMOTED_VOCATIONS[(int)vocation] << ".";
			else
#endif //YUR_PREMIUM_PROMOTION
				s << " is "<< g_config.VOCATIONS[(int)vocation] << ".";
}
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
            if(reborn > 0){
                s << "Posiada " << reborn << ".";
            }else{
                s << "Nie posiada rebornu.";
            }
#endif //_XELIX_REBORN_
Player.h
Pod:
PHP:
class Player : public Creature
{
public:
Dodaj:
PHP:
#ifdef _XELIX_REBORN_
       int reborn;
#endif //_XELIX_REBORN_
Config.lua
Na samym ko?cu dodaj:
PHP:
----XELIX REBORN SYSTEM----
-- Ile % dmg ma dodawac reborn
addRebornDMG = 2
-- Od ktorego poziomu mozna robic reborn
reborn_level = 400000
-- Pozycje do spawnu po rebornie
pos_x = 123
pos_y = 123
pos_z = 7
ALT+P >> Parametry >> Kompilator C++ >> -D_XELIX_REBORN_
 
Odp: Reborn System

witam
posiadam skrypta na reborn ale bardzo dobrym moim zdaniem
ze wbije xx lvl kicka mnie do danej pos i zostaje all na postacie(skill,hp,mana,itemki)
i expie dalej i rosnie hp i mana
ale
potrzrbuje go przerobic ze co reborn zwiksza obrazenia z ue itp
i potrzebuje pomocy go wprowadzenia bo mial on zastosowanie no jednym ots kto wspolke mialem ,,ale on sie zajmowal tym i zapomnialem jak sie to robi ;s nie mam znim kontaktu teraz
moje gg 22105711
jesli chce ktos tego skrypta spoko
ale oczekuje tez pomocy jego zainstalowaniu i dodanie obrazen
 
Odp: Reborn System

Don Dawido napisał:
Po wpisaniu !reborn automatycznie nas wylogowuje z postaci.
Ca?kowicie niepotrzebnie.

Kod mimo wszystko jest bez sensu. Co prawda pozwoli nam wbi? te kilka poziom?w wi?cej ale pojawiaj? si? nast?pne problemy - atak, HP, MP kt?re w ko?cu r?wnie? przekrocz? sw?j zakres.
Najlepszym rozwi?zaniem jest u?ycie biblioteki GMP, a jeszcze lepszym pomniejszenie exprate.
 
Odp: Reborn System

Kurde ma?, niestety musz? to powiedzie? - ja pierdole, co za t?pak wkleja kod, kt?ry ma taki ma?y b??d we wczytywaniu z XML'a, ale jak?e powa?ny!?
NO JAK TAK MO?NA!?
Zamiast przetestowa? i sprawdzi? czy na prawd? dzia?a, wkleja bezmy?lnie z innego forum.
Radz? poszuka? na innych forach, da?em tam super ma?ego fixa.
Przepraszam bardzo za to uniesienie, nie chcia?em nikogo urazi?, ale ta sytuacja ju? powt?rzy?a si? chyba czterokrotnie, to? to absurd jest, jak tak mo?na!?....
 
Odp: Reborn System

zamie?:
Kod:
#ifdef _XELIX_REBORN_ 
        nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "reborn"); 
        if(nodeValue) { 
            player->reborn = (atoi(nodeValue) != 0); 
            xmlFreeOTSERV(nodeValue); 
        } 
        else 
            isLoaded = false; 
#endif //_XELIX_REBORN_
na:
Kod:
#ifdef _XELIX_REBORN_ 
        nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "reborn"); 
        if(nodeValue) { 
            player->reborn = atoi(nodeValue); 
            xmlFreeOTSERV(nodeValue); 
        } 
        else 
            isLoaded = false; 
#endif //_XELIX_REBORN_

teraz wczyta rzeczywist? ilo?? reborn'?w
 
Odp: Reborn System

PHP:
#ifdef _XELIX_REBORN_ 
            if(reborn > 0){ 
                s << "Posiada " << reborn << "reborn."; // tu powinno byc przed kropka reborn ;d bo tak pisze Posiada 5 np :D
            }else{ 
                s << "Nie posiada rebornu."; 
            } 
#endif //_XELIX_REBORN_

Notka moderatorska:
Pami?taj o u?ywaniu znacznik?w.
Forseti.
 
Ostatnio edytowane przez moderatora:
Status
Zamknięty.
Back
Do góry Bottom