AquaYoup
[SQL 6xx] Phaser un joueur par spell (spell_area) - Version imprimable

+- AquaYoup (https://aquayoup.123.fr)
+-- Forum : Développement World of Warcraft (https://aquayoup.123.fr/forum-1.html)
+--- Forum : Tutoriels (https://aquayoup.123.fr/forum-6.html)
+--- Sujet : [SQL 6xx] Phaser un joueur par spell (spell_area) (/thread-32.html)



Phaser un joueur par spell (spell_area) - Stitch - 29/09/2016

[Image: Orneval.jpg]

Phaser un joueur par spell




Ce petit tutoriel est générique , le principe peut s'adapter pour phaser les joueurs dans un lieu précis sous certaines conditions comme celle d'avoir une quête en cour ou terminé ou bien appliquer un bonus ou aura dans une zone  . Nul besoin de C++ , juste avec la table spell_area .


Comme exemple je prendrais la quete Dans le royaume des ombres (quete 12687) faisant partie de la zone de depart du DK .


Il ce passe quoi au juste ?

- Le joueur en prenant cette quete quite l'espace normal et ce retrouve dans la phase Phase 174 grace a mon spell 52693 , pour imager c'est comme si le joueur avait été téléporté sur une autre map lui ressemblant avec des mob et objet différents ... sauf que c'est la même map avec plusieurs couches dont seule l'active pour les joueurs phasés est visible . Il poura voir d'autres mob ou gameobject que ceux présent dans la map normale .
- Lorsque le joueur rend la quete il quite la phase 174 pour revenir dans le monde normal qu'il avait quité .


1) Connaitre les différentes variables qui vont activer  cette phase : Quete de départ , Quete de fin , la zone , le sort qui va phaser le joueur
La zone sera donné par une simple commande .gps  : 4298


2) L'appliquer automatiquement (suivant des conditions de zone ou de quetes)
Sous phpmyadmin j'ouvre la table spell_area et je filtre par zone soit ici 4298 (j entre cette valeur dans la case  area , sa peut prêter a confusion) et j obtient ceci :



Connaissant l'id de la quete par wowhead , soit 12687 et que la phase dure du moment ou je la prend au moment ou je la rend , je peux donc en deviner la condition pour qu'elle s'applique.

Je vois de suite sur la dernière ligne que la condition et donc mon joueur sera phasé par le spell 52693 de la quête (quest_start) jusqu’à la quête (quest_end) dans la zone 4298 , quest_start & quest_end peuvent comme ici etre une seule quête ou différente pour indiquer la 1ere et la dernière d'une suite .

Les colonnes quest_start_status & quest_end_status sont des flags indiquant l'etat dans lesquelles doivent être les quêtes défini en quest_start & quest_end . A lire comme des " ou " c'est a dire pour 74 = 64 ou 8 ou 2


QUEST_STATUS_NONE = 0               flag 1      Le joueur n'a pas encore la quete
QUEST_STATUS_COMPLETE = 1       flag 2      Le joueur a remplit les objectifs mais n'a pas  rendu la quete
QUEST_STATUS_UNAVAILABLE = 2   flag 4      (NOT USED) (Not used)
QUEST_STATUS_INCOMPLETE = 3    flag 8      Le joueur n'a pas remplit les objectifs , quete en cour
QUEST_STATUS_AVAILABLE = 4       flag 16    (NOT USED) (Not used)
QUEST_STATUS_FAILED = 5             flag 32    Le joueur a faillit dans les objectifs pour une raison quelconque, par exemple limite de temps
QUEST_STATUS_REWARDED = 6     flag 64    Le joueur est mort ?!


racemask : toute les races = 44042239 ou 0 , horde = 33555378 , alliance = 18875469
gender : Male = 0 , Female = 1 , les deux = 2.La colonne autocast permet d activer par 1 ou désactiver par 0 cette condition .

Exemples :
Citation :#--- Quete incomplete , Complete , rendu et au dela
DELETE FROM `spell_area` WHERE  `spell_area`.`area` = 5668  AND `spell_area`.`quest_start` = 28376 ; 
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(158554, 5668, 28376, 0, 0, 0, 2, 1, 74, 0); # Phase 171 / Quest generique Aquayoup  5 300161

#--- Quete dispo , incomplete , rendu
DELETE FROM `spell_area` WHERE  `spell_area`.`area` = 5668  AND `spell_area`.`quest_start` = 28376 ; 
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(158554, 5668, 28376, 28376, 0, 0, 2, 1, 26, 64); # Phase 171 

#--- Pour la duree d une quete
DELETE FROM `spell_area` WHERE  `spell_area`.`area` = 4437  AND `spell_area`.`quest_start` = 12851 ; 
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(158554, 4165, 12132, 0, 0, 0, 2, 1, 8, 66); # Phase 171 incomplete - complete/rendu
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(52598, 3670, 0, 0, 0, 0, 2, 1, 0, 0); # Effet coucher de soleil

#--- avant une quete jusqué a ce qu'on la rende
DELETE FROM `spell_area` WHERE  `spell_area`.`area` = 4580 ; 
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(57674, 4580, 0, 13141, 0, 0, 2, 1, 0, 11); # Phase 176

#--- Permanent 'Interdiction de vol 58600 / pour 1 zone screen effet)
DELETE FROM `spell_area` WHERE  `spell_area`.`area` = 4583  AND `spell_area`.`spell` = 58600 ; 
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(58600, 4583, 0, 0, 0, 0, 2, 1, 18, 1); # Interdiction de vol

DELETE FROM `spell_area` WHERE  `spell_area`.`area` = 4720  AND `spell_area`.`quest_start` = 59074 ; 
INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
(59074, 4720, 14236, 0, 0, 0, 2, 1, 64, 0); # phase 171
#------




3) L'appliquer manuellement : (par un pnj grace a smartai)
- L'event : importe peut , vous pouvez par exemple choisir quand le joueur prend une quete : EVENT_ACCEPTED_QUEST (19)
- Action : ACTION_CROSS_CAST (86)    avec comme Paramètre Target type caster =7 et Spell ID le spell qui va faire phasé
- Target : TARGET_SELF (1)

Pour retirer cette phase déclenché manuellement (par un pnj grace a smartai)
- Event : Ce que vous voulez
- Action : ACTION_REMOVEAURASFROMSPELL(28) avec comme Paramètre Spell ID le spell qui avait phasé le joueur
Target : TARGET_ACTION_INVOKER (7)


Quelques ID de spell a utiliser , il est a noter que parfois certains ne veulent pas marcher dans une certaine zone . Il vous faudra tester mais en général les 1er ne me pause pas de soucie .

Spell      Phase
70889    170
59074    171
67789    179
68480    180
70105    180
68481    181
68482    182
68483    183
69077    184
75243    184     Effet Emerald Dream : voile vert
69078    185
69484    186
69484    187
69486    188
70695    189
70696    190
74093    191
74094    192
74095    193
74096    194
74097    195
52598    171    EFFET Coucher de soleil    
73090    183    Effet Mort imminente - goblin
54119    170    brume-des-kvaldirs

Spell custom propre au repack :
300152 Phase 170
300153 Phase 171
300154 Phase 172
300155 Phase 173
300156 Phase 174
300157 Phase 175


RE: Phaser un joueur par spell - Stitch - 01/12/2017

Liste de phases lancé par spell (m-effect=6 , effectAura 261)

m_effectMiscValue  |  m_effectMiscValue_1(N° phase)  |  m_spellID
0 0 77375
0 0 120557
1 169 57675
1 169 74427
0 169 172329
2 170 30181
2 170 42786
2 170 43466
2 170 51671
2 170 51852
2 170 54119
2 170 54635
2 170 55782
2 170 55857
2 170 57413
2 170 57673
2 170 58865
2 170 58869
2 170 58902
2 170 58932
2 170 59073
2 170 61043
2 170 61611
2 170 63704
2 170 64198
2 170 65141
2 170 65181
2 170 65396
2 170 65409
2 170 65469
2 170 65727
2 170 66886
2 170 67501
2 170 67697
2 170 67851
2 170 68243
2 170 69260
2 170 69684
2 170 70889
2 170 71768
2 170 72000
2 170 73592
2 170 73974
2 170 74850
2 170 75633
2 170 77078
2 170 78036
2 170 78271
2 170 78286
2 170 78286
2 170 78321
0 170 84293
0 170 84648
2 170 84676
0 170 158317
0 170 158645
4 171 52597
4 171 55409
4 171 55783
4 171 55858
4 171 58863
4 171 58866
4 171 59074
0 171 59660
0 171 60817
0 171 61253
0 171 61373
4 171 61623
0 171 64241
4 171 67704
4 171 67852
4 171 69812
4 171 74848
4 171 77421
4 171 77565
4 171 77648
4 171 78318
4 171 78644
4 171 80219
2 171 80224
0 171 158554
8 172 55952
8 172 56526
8 172 59087
8 172 61624
8 172 67004
8 172 67853
8 172 68770
8 172 72872
8 172 74849
8 172 78263
1024 172 80677
0 172 89400
16 173 54341
16 173 56618
16 173 57508
16 173 57620
16 173 62168
16 173 64417
16 173 65250
m_effectMiscValue  m_effectMiscValue_11 m_spellID
16 173 65509
16 173 70766
0 173 82139
0 173 96689
16 173 106368
0 173 109480
0 173 116161
0 173 116260
0 173 116272
0 173 144724
0 173 145215
0 173 155005
0 173 177297
0 173 179407
0 173 181488
0 173 185346
0 173 185807
0 173 186952
0 173 190120
32 174 47740
32 174 52275
32 174 52693
32 174 56617
32 174 57509
32 174 74807
0 174 144725
0 174 155006
64 175 53107
64 175 57510
64 175 57569
64 175 58139
64 175 59062
0 175 76646
128 176 53405
128 176 57511
128 176 57674
128 176 60815
128 176 74789
0 176 95187
256 177 55430
256 177 56900
256 177 57512
256 177 58354
256 177 64576
256 177 69819
256 177 70979
256 177 74092
256 177 74310
256 177 75508
1024 179 67789
1024 179 67854
1024 179 69524
1024 179 76642
1024 179 77322
1024 179 77359
2048 180 68480
2048 180 68750
2048 180 70105
2048 180 70193
0 180 75901
2048 180 77665
2048 180 78517
2048 180 79612
0 180 79647
0 180 81160
0 180 89082
0 180 89573
4096 181 68481
4096 181 72157
4096 181 76039
4096 181 77930
4096 181 78051
4096 181 78518
8192 182 68482
8192 182 72676
0 182 77873
8192 182 77931
16384 183 68483
16384 183 73065
0 183 77872
16384 183 78322
32768 184 69077
32768 184 69254
32768 184 73756
32768 184 75243
32768 184 78323
65536 185 69078
65536 185 74025
65536 185 78324
65536 185 78863
0 185 78947
131072 186 69484
0 186 78948
0 186 95490
262144 187 69485
0 187 82251
0 187 82257
0 187 94245
524288 188 69486
0 188 83026
m_effectMiscValue  m_effectMiscValue_11 m_spellID
0 188 83027
1048576 189 70695
2097152 190 70696
4194304 191 74093
4194304 191 76012
0 191 79231
8388608 192 74094
8388608 192 75836
16777216 193 74095
16777216 193 75703
33554432 194 56452
33554432 194 74096
33554432 194 74535
33554432 194 75679
0 194 79514
0 194 81812
67108864 195 74091
67108864 195 74097
65536 195 79003
67108864 195 83033
134217728 196 70593
67108864 196 79041
67108864 196 81377
0 200 77848
0 224 78676
256 230 79457
0 231 79587
256 233 79707
0 234 79821
0 235 79975
0 236 85297
0 239 81890
0 240 81619
0 242 81808
0 257 83700
0 265 83788
0 269 84252
0 272 84525
0 273 84549
0 274 84691
0 275 85074
0 290 86202
0 290 86202
0 290 86202
0 290 86210
0 290 88436
0 290 88436
0 290 88436
0 290 93064
3 290 103755
0 293 86557
0 295 87737
0 298 86792
0 298 86813
0 303 87181
0 307 87436
0 308 87688
0 310 86675
0 312 88111
0 316 88438
0 317 88543
0 326 89149
0 327 89206
0 328 89213
8 329 89152
0 330 89336
0 341 89947
0 343 89970
0 348 90122
2 349 90261
0 355 90714
0 355 90791
0 355 90794
0 355 90796
0 357 91354
0 359 91594
0 360 91875
0 364 91609
0 364 91658
0 364 91660
0 364 91662
0 368 91949
0 368 91955
0 370 87171
0 376 93649
0 385 94052
0 385 94063
0 386 94134
0 387 94189
0 388 94238
0 390 94270
0 394 94536
0 395 88981
0 396 94572
0 399 95247
0 407 95849
0 408 95850
0 424 96535
0 427 97261
0 429 99900
m_effectMiscValue  m_effectMiscValue_11 m_spellID
0 430 97635
0 433 100643
0 434 97710
0 434 97718
0 438 98065
0 438 98069
0 441 98389
0 448 98567
0 450 98990
0 459 99488
0 460 49097
0 470 100661
0 486 102195
0 503 102493
0 504 102515
0 509 102805
0 509 102842
0 529 104364
0 540 105015
0 541 105089
0 542 105262
0 546 105664
0 550 105971
0 553 106152
0 555 106321
0 560 106555
15214 606 128950
0 607 129021
0 628 108994
0 669 110657
0 777 113658
0 777 113669
0 778 113735
0 798 114258
0 920 116289
0 947 116317
0 963 116589
0 994 117432
0 998 117527
0 1001 117621
0 1004 117745
0 1040 118249
0 1147 120418
0 1149 120114
0 1149 121545
0 1197 121243
0 1199 121302
0 1319 128763
0 1352 124256
0 1352 124435
0 1412 125653
0 1487 127827
0 1503 128446
0 1511 128746
0 1595 129361
0 1606 129465
0 1623 129998
0 1671 130152
0 1675 130270
0 1676 130272
0 1677 130276
0 1677 131306
0 1679 130274
0 1680 130273
0 1680 130275
0 1700 130323
0 1725 130954
0 1738 131008
0 1740 131057
0 1743 131102
0 1779 131648
0 1798 131780
0 1911 107958
0 1974 134074
0 1977 134079
0 1980 134096
0 2039 135165
0 2049 135231
0 2051 135248
0 2071 135646
0 2081 135820
0 2083 136027
0 2160 138189
0 2160 138254
0 2160 138264
0 2160 138267
0 2160 139041
0 2213 137469
0 2286 141313
0 2287 141518
0 2288 141519
0 2289 141520
0 2290 141521
0 2291 141522
0 2292 141523
0 2293 141524
0 2294 141525
0 2295 141526
0 2296 141527
0 2306 141685
m_effectMiscValue  m_effectMiscValue_11 m_spellID
0 2307 141690
0 2308 141695
0 2309 141698
0 2310 141700
0 2311 141703
0 2312 141706
0 2321 141671
0 2322 141677
0 2323 141680
0 2326 141758
0 2327 141764
0 2328 141766
0 2330 141772
0 2331 141777
0 2332 141780
0 2333 141782
0 2334 141784
0 2335 141787
0 2336 141791
0 2339 141821
0 2340 141823
0 2341 141825
0 2342 141827
0 2343 141829
0 2344 141831
0 2345 141834
0 2346 141836
0 2347 141838
0 2348 141840
0 2350 142197
0 2439 144726
0 2439 155007
0 2440 144727
0 2440 155009
0 2441 146826
0 2441 155010
0 2510 146827
0 2511 146828
0 2512 146829
0 2513 146830
0 2514 146831
0 2515 146832
0 2516 146833
0 2517 146834
0 2518 146835
0 2519 146836
0 2520 146837
0 2529 144728
0 2584 148754
0 2584 150581
0 2602 149155
0 2755 150683
326 2762 151486
0 2764 151543
0 3015 155161
0 3039 155559
0 3059 155901
0 3132 157463
0 3137 157541
0 3182 158051
0 3293 160202
0 3301 160270
0 3314 166216
0 3474 162801
0 3474 162802
7 3582 164042
7 3582 165052
0 3595 164174
0 3649 164859
0 3649 164859
0 3661 164995
0 3703 165279
0 3704 165279
0 3753 166243
0 3754 166256
0 3767 168022
0 3767 168581
0 3767 174121
0 3789 166705
0 3799 166791
0 3806 166888
0 3806 167138
0 3841 167333
0 3886 167934
0 3888 168131
0 3890 166450
0 3901 168136
0 4030 170305
0 4055 170940
0 4055 170989
0 4055 170990
0 4174 174577
0 4185 178300
0 4278 177398
0 4778 184546


RE: Phaser un joueur par spell - Noc - 02/12/2017

hooo lalaaaa mais comment tu fais?


RE: Phaser un joueur par spell - Stitch - 02/12/2017

une fois que tu as trouvé ce qui reliait les spell connu et extrait m-effect=6 , effectAura 261 il suffisait de lister ce de la dbc .