Domanda [GUIDA]Soluzione al problema degli hp negativi

Stato
Discussione chiusa ad ulteriori risposte.

gabss

Utente Gold
3 Novembre 2009
255
23
189
208
Ultima modifica da un moderatore:
L'avevo promessa e la posto
E' una soluzione, non è un vero e proprio fix.

Questa soluzione consiste nello sfruttare il comando /r (che recupera tutta la vita e gl mp) e mandarlo ogni qualvolta un player effettua un login, sale di livello, effettua un qualunque warp, con hp negativi.
Il difficile è stato capire come rinominare il comando /r (che sta per /reset) al fine di evitare l'utilizzo continuo da parte dei player.

GUIDA
------------------------------------------
Necessario: |
-Editor hex (Consigliato Hex Workshop) |
-Aver letto la guida: qui |
------------------------------------------

1)
Cambiare il nome al comando reset non è facile come per gl'altri, dove basta fare "sostituisci tutto".
Per fare questo dobbiamo prima "scegliere" un altro comando con cui scambiare il nome del reset. Nella guida che avreste dovuto leggere ci sono tutti i comandi, quindi avete ampia scelta.
Dobbiamo segnarci il codice identificativo (quei numeri che sono prima dei comandi nell'altra guida) dei due comandi che vogliamo scambiare tra loro quindi:

-reset ( D4472008A00E0C08 )

-pcbang_env ( A8C31F0860DF0B08 )

Potete scegliere qualsiasi comando, ma naturalmente se scegliete un comando utilizzato dal client dovrete poi andarlo a modificare anche li.

2)
A questo punto basta invertire le prime 8 cifre tra i due comandi

-reset ( A8C31F08A00E0C08 )

-pcbang_env ( D447200860DF0B08 )

Abbiamo scambiato le prime 8 cifre tra loro. Questa modifica la dovrete fare nel game seguendo l'altra guida.

Sempre seguendo l'altra guida settate il reset a privilegi 0.

3)
Se salvaste ora il game, facendo /pcbang_env (recuperate tutti gli hp e gli mp) e facendo /reset (vi farà quello che prima faceva pcbang).
Ora possiamo modificare il nome di pcbang_env.
Cerchiamo con l'hex editor il testo: pcbang_env
Scorrete i diversi risultati fino a quando non arriverete a un punto dove pcbang_env sarà circondato da tutti gl'altri comandi:


(basta editare qui per cambiare il nome di un comando, non serve fare sostituisci tutto)
Adesso editiamo pcbang_env nella maniera che più ci piace, rispettando le lunghezze.
Per sicurezza non fatelo cominciare per "r" o c'è il rischio che funziona ancora con l'abbreviazione /r. Mettete un nome abbastanza complicato così che nessun utente potrebbe mai scoprirlo.

4)
Adesso basta compilare un semplice script:
Codice:
quest hp_sbug begin
state start begin
when login or levelup or letter with pc.get_hp() < 0 begin
command ( "nome_comando" )
end
end
end

Reboot e test!

Se c'è qualche pezzo che non si capisce bene (molto probabile <.<), segnalatemelo cercherò di migliorarlo con screen.
 
Workaround perfetto, anche se non c'è per forza bisogno di scambiare due comandi XD Si può anche creare una stringa a parte (magari più lunga, così che sia ancora più difficile da trovare)
Grande gabss, come al solito ;)
 
sorry sorry......

Se ho capito bene questo fix ti ricarica gli hp appena sono <0 giusto???? come se usassimo il commando /r
Se non ricordo male, anche quando è un mob a killarci, è difficilissimo che ci killi mandandoci gli hp perfettamente a 0, capita spesso che ci troviamo con -10, -37 ecc ecc

Quindi a rigor di logica questo fix ci rende immortali, perchè appena vanno sotto le 0 tornano istantaneamente al massimo... un GOD MODE XD

Questa non vuole essere una critica, è solo una mia curiosità ^^
In ogni caso bel lavoro ;)
 
when login or levelup or letter with pc.get_hp() < 0 begin
command ( "nome_comando" )

lo fa al login, all'aumento di livello e allo spawn del pg, quindi nessun rischio di god mode
 
Ultima modifica:
Codice:
quest hp_sbug begin
state start begin
when login or levelup or letter with pc.get_hp() < 0 begin
command ( "nome_comando" )
end
end
end
Questo script dove devo inserirlo? come lo faccio partire? ò.ò
Potresti aggiungermi su skype cosi mi togli un po di dubbi? mi faresti un gran favore.
 
Nel post di una guida (che rimane funzionante), mi pare giusto che qualcuno posti se ha un problema.


Gianvyb94 lo script va incollato in un file chiama hp_sbug.quest che creerai nella directory ../locale/xxxx/quest/
Una volta messo li dai il comando ./qc hp_sbug.quest
Fatto questo parte da solo.
(non ti aggiungo su skype <.<)
 
Ok.Un ultima cosa, per essere sicuro,cosa apri con hex workshop? Non riesco a trovare le stringhe .-.
(perchè non mi aggiungi su skype? >_>)
 
Ti da command not found perchè nella macchina devi prima crivere
Codice:
cd usr/.../quest

Naturalmente ai puntini sostituisci tutto il percorso fino a quest. :D

N.B. Fra cd e usr c'è uno spazio. :)
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom