What's new

-Tibia 7.60 [7.6] Rozszerzenie kombinacji obszaru zakl??

Status
Not open for further replies.

Thorge D

Advanced User
Joined
Jul 24, 2014
Messages
300
Reaction score
29
1. Autor: Baabuseek
2. Link do oryginalnego tematu:
3. Opis: W standardowej area (obszarze) spell'owskim [data/spells/] (0 - pozycja postaci; obszar mo?e by? oczywi?cie mniejszy, ale musi posiada? nieparzyst? liczb? kolumn i wierszy)

4. Kod:

bla, bla:
[LUA]area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
} [/LUA]
...kod ten pozwala na po??czenie direction's (kierunk?w, czyli odpowiednio, w kt?r? stron? obr?cona jest posta?, tak zadzia?a obszar spell'a), kt?rych obszar dzia?a odpowiednio dla liczb:
Code:
1 - North (posta? odwr?cona w p??nocnym kierunku)
2 - West (posta? odwr?cona w zachodnim kierunku)
3 - East (posta? odwr?cona w wschodnim kierunku)
4 - South (posta? odwr?cona w po?udniowym kierunku)
...przyk?adowo takich spelli:
[LUA]area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
} [/LUA]
[LUA]area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
} [/LUA]
[LUA]area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0},
{0, 0, 0, 3, 3, 0, 3, 0, 0, 0, 0},
{0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0},
{0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
} [/LUA]
[LUA]area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 4, 0, 4, 4, 0, 0, 0},
{0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
} [/LUA]
...w taki o to wsp?lny obszar (kt?ry nigdy wcze?niej nie by? mo?liwy):
[LUA]area = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 12, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 123, 1234, 124, 0, 0, 0, 0},
{0, 0, 0, 13, 1234, 0, 1234, 24, 0, 0, 0},
{0, 0, 0, 0, 134, 1324, 234, 0, 0, 0, 0},
{0, 0, 0, 0, 3, 34, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
} [/LUA]
I jeszcze dla przyk?adu takie odpicowane exevo flam hur:
[CPP]area = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 14, 1, 0, 0, 0, 0},
{0, 2, 2, 2, 1234, 1234, 1234, 3, 3, 3, 0},
{2, 2, 2, 23, 1234, 0, 1234, 23, 3, 3, 3},
{0, 2, 2, 2, 1234, 1234, 1234, 3, 3, 3, 0},
{0, 0, 0, 0, 4, 14, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0}
} [/CPP]
Ostrzegam przed nie pisaniem cyferek po kolei, istnieje kombinacja (142) kt?ra nie przejdzie po naszej my?li..

Zrozumia?e?? Uff.. To ?wietnie.. No to koniec teorii, przejd?my do praktyki(nareszcie):

w magic.cpp pod:
[CPP]#include "definitions.h"
#include "creature.h"
#include "monster.h"
#include "player.h"
#include "luascript.h"
#include "magic.h" [/CPP]
dodaj:
[CPP]#include <iostream>
#include <sstream>
using namespace std; [/CPP]
[CPP]w magic.cpp zamie?:[/CPP]
na to:
[CPP]for(int y = 0; y < rows; y++) {
for(int x = 0; x < cols; x++) {
int iarea = (int)(areaVec[y][x]);
ostringstream ss;
ss << iarea;
string varea = ss.str();
if(varea == "56" || varea == "65" || varea == "58" || varea == "68" || varea == "85" || varea == "86"
|| varea == "156" || varea == "157" || varea == "165" || varea == "167" || varea == "175" || varea == "176")
varea = "123";
if(varea == "210" || varea == "219" || varea == "44" || varea == "62" || varea == "143" || varea == "152"
|| varea == "86" || varea == "95" || varea == "10" || varea == "37" || varea == "109" || varea == "127"
|| varea == "52" || varea == "70" || varea == "142" || varea == "169" || varea == "84" || varea == "93"
|| varea == "27" || varea == "36" || varea == "117" || varea == "135" || varea == "216" || varea == "225"
)
varea = "1234";

for(int z = 0; z <= varea.length()-1; z++){
char a = varea.at(z);
int nArea = a - '0';
if(nArea == (int)direction) {
list.push_back(tpos);
}
} [/CPP]

Przebuduj projekt i gotowe! =D
Od teraz mo?esz pisa? w jednej kom?rce od jednego do nawet czterech kierunk?w naraz jak na przyk?adzie.
 

ziemniak262

Active User
Joined
Jul 7, 2009
Messages
69
Reaction score
3
Odp: [7.6] Rozszerzenie kombinacji obszaru zakl??

Mam zamieni? nic na co? ;c Smuteczeq
 
Status
Not open for further replies.
Top