• 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!

Nowa funkcja

qruczu

New Member
Joined
Jan 8, 2012
Messages
104
Reaction score
0
Siemanko wszystkim :)
mam pytanie czy da rade zrobić funkcje która pokazuje attackspeed gracza ? (chodzi o attackspeed ten z vocation.xml)
jeśli tak to moge prosić o jakieś porady jak tego dokonać? :p

@down
ta funkcja pokazuje szybkość gracza ;d
 
Last edited:
To pokazuje tylko szybkość poruszania się gracza z buffami, nie ma funkcji pokazującej szybkości ataku. Możesz sobie przeliczyć różnice między eventami onAttack chyba to wtedy ci wyjdzie attack speed ale to dość dziwne. Zresztą po co takie coś skoro atack speed jest przypisywany na stałe w vocations? Możesz zrobić tablice dla każdej profesji jaki ma atack speed i stamtad pokazywać bo ten atk speed się i tak nie zmieni.
 
chodzi o to że zmieni się attackspeed gracza (nie w vocations)
czyli nie da się zrobić takiej funkcji?
 
W jaki sposób się zmieni? Przy pomocy broni dodającej atk speed? To wtedy dodajesz atk speed broni do atk speeda gracza. Chyba, że sam zrobiłeś funkcje zmieniającą atk speed gracza, to wtedy musisz też zrobić taką pokazującą aktualny atk speed. To wszystko dość logiczne jest ;p

A taką funkcje zrobić się da ale w source już oczywiście, w tfsie takiego czegoś wbudowanego nie ma.
 
Mam skill odpowiedzialny zwiększeniu atk speed'a (im wiekszy skill tym szybciej atakujesz)
a jakieś wskazówki dotyczące takiej funkcji ? ;d
 
luascript.cpp i luascript.h, i tam sobie na spokojnie możesz ją dodać. Nie zapomnij, że jeśli broń ma ustalony swoją szybkość ataku, to ta z profesji jest ignorowana.
 
Myślicie że coś takiego może być:
int32_t LuaScriptInterface::luaGetCreatureAttackSpeed(lua_State* L)
{
//getCreatureAttackSpeed(cid)
ScriptEnviroment* env = getEnv();
if(Creature* creature = env->getCreatureByUID(popNumber(L)))
lua_pushnumber(L, creature->getAttackSpeed());
else
{
errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
lua_pushboolean(L, false);
}
return 1;
}

Sprawdziłem i nie działa ;/ jakieś pomysły jak to naprawić ? ;c

lua_pushnumber(L, creature->getAttackSpeed());
przy tym wywala błąd:
'class Creature' has no member named 'getAttackSpeed'
 
Last edited:
głowa mnie boli jak to czytam

przeczytaj ten błąd 5x, albo i 20x i zastanów się co on mówi
 
Wiem co mówi tylko nie wiem jak go naprawić :|
nie bardzo orientuje sie w c++ dlatego licze na pomoc :)
 
Last edited:
Code:
if(Creature* creature = env->getCreatureByUID(popNumber(L)))
lua_pushnumber(L, creature->getAttackSpeed());
else
{
errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
lua_pushboolean(L, false);
}

zamien na

Code:
if(Player* player = env->getPlayerByUID(popNumber(L)))
lua_pushnumber(L, player->getAttackSpeed());
else
{
		errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
		lua_pushboolean(L, false);
}
 
Back
Top Bottom