• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Męczący bug większości serverów

Status
Not open for further replies.
hehe ,gz za współprace, ale i tak z nowym bugiem wrócimy do normy. :)
 
ktos testowal tego fixa? bo jak dla mnie to on nie bedzie dzialal.
 
hehe ,gz za współprace, ale i tak z nowym bugiem wrócimy do normy. :)
To teraz pora na exhaust na inne zapytania generowane przez silnik byle by nie ograniczało to nadmiernie gry ^^
 
Bo tam jest sprawdzenie czy utworzono condition, a nie, czy ma go gracz. Swoją drogą debilny błąd ; d.
 
Bo tam jest sprawdzenie czy utworzono condition, a nie, czy ma go gracz. Swoją drogą debilny błąd ; d.

no i trzeba tego condition "dodac" do playera. Narazie to jest tylko obiekt utworzony.
 
Mówiłem, że nie testowałem a na dodatek pisałem na szybko...
Niby taki zgrany PB a nikt mnie nie mógł poprawić?!
Powinno teraz działać, jak coś to pisać (znów nie testowane)!
Code:
bool Game::playerRequestAddVip(uint32_t playerId, const std::string& vipName)
{
	Player* player = getPlayerByID(playerId);
	if(!player || player->isRemoved())
		return false;

	uint32_t guid;
	bool specialVip;
	
	std::string name = vipName;
	
	if(!IOLoginData::getInstance()->getGuidByNameEx(guid, specialVip, name))
	{
		player->sendTextMessage(MSG_STATUS_SMALL, "A player with that name does not exist.");
		return false;
	}

	if(specialVip && !player->hasFlag(PlayerFlag_SpecialVIP))
	{
		player->sendTextMessage(MSG_STATUS_SMALL, "You cannot add this player.");
		return false;
	}
	
	if(player->hasCondition(CONDITION_EXHAUST, 1))
	{
		player->sendTextMessage(MSG_STATUS_SMALL, "Please wait few seconds before adding new player to your vip list.");
		return false;
	}

	bool online = false;
	if(Player* target = getPlayerByName(name))
		online = player->canSeeCreature(target);
	if(Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_EXHAUST, 3000, 0, false, 1))
	player->addCondition(condition);
	return player->addVIP(guid, name, online);
}

bool Game::playerRequestRemoveVip(uint32_t playerId, uint32_t guid)
{
	Player* player = getPlayerByID(playerId);
	
	if(!player || player->isRemoved())
		return false;
		
	if(player->hasCondition(CONDITION_EXHAUST, 1))
	{
		player->sendTextMessage(MSG_STATUS_SMALL, "Please wait few seconds before deleting next player from your vip list.");
		return false;
	}
	
	if(Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_EXHAUST, 3000, 0, false, 1))
	player->addCondition(condition);
	player->removeVIP(guid);
	return true;
}
 
Yyy a nie tak czasem?

Code:
Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_EXHAUST, 60000, 0, false, 1)	

if(!player->hasCondition(CONDITION_EXHAUST, EXHAUST_OTHER))
{
       player->addCondition(condition)
}

@edit
Srry "wykrzyknik" ;p
 
wersja garqeta wydaje sie ok teraz.
 
@siemadlo
ustaw exhaust na 30 sekund, skompiluj i spróbuj gm'em dodać sample chary
 
Last edited:
Nie,

config-and-functions.php

w words_blocked dodajesz po przecinku "'"
u mnie <input id="newcharname" name="newcharname" onkeyup="checkName();" value="" size="30" maxlength="29"> wykonuje funkcje z ajax/change_name.php, a co do "'" a '\'' to moja wersja powinna być szybsza dla php ;)

@edit
trzeba dodać tu i tu :) nie sprawdziłem co sie dzieje po klikniecu Subbmit, a check_name.php odpowiada za pokazanie czy moze byc takie name, a config-and-function.php za sprawdzanie przy dodawaniu do bazy.
 
Last edited:
@edit
trzeba dodać tu i tu :) nie sprawdziłem co sie dzieje po klikniecu Subbmit, a check_name.php odpowiada za pokazanie czy moze byc takie name, a config-and-function.php za sprawdzanie przy dodawaniu do bazy.

Dokładnie.

Serwer jeszcze można zalagować kupując cały czas 100x itemów (with bp, ignore cap) - jak najszybciej klikając w OK.
Można wyrzucić około 5k itemów jak się stoi w bramce lvl'owej - freeze bazy danych na 20 sekund + kick wszystkich graczy., większa ilość crash albo utrata połączenia z bazą danych :) (można rzucać worma, gp na przemiennie.) - potem pójść do przodu ^^.
 
exhausted na npc + usunać ignore cap, a drugie to w configu dodać tileLimit = 20
 
Last edited:
Status
Not open for further replies.
Back
Top