Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Portail de retour mixte

Par Blam le 21/8/2002 à 12:12:33 (#1996610)

Portail de retour en cas de: respawn ET de téléportation
les deux liens restent valable.

////////////////////////////////////////////////////////////////////////////////////
/////Moded'emploipasapas///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

A)-Edit/module properties/events/onActiveItem/it_10_plot

ce script:

#include "NW_I0_Plot"

void main()

{

IsRecall();

}
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------

B)-Creer le Waypoint appelé NW_DEATH_TEMPLE

NW_DEATH_TEMPLE pas de changements dans ses caracteristiques. C'est la que vous respawn en cas de deces.
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------

C)-Maintenant le Portail de retour NW_RECALL_PORTAL

Script: nw_recall_portal dans le OnUsed du portail
ce script:
/////debut//////
void main()
{
ActionStartConversation(GetLastUsedBy());
}
/////fin/////////
Lance une conversation dans advanced/conversation
conversation: nw_00_retour
------------------------------------------------------------------------------------------------------

D)-Conversation pour un choix
(creer une conversation)
"Acces a la dernière téléportation ou au dernier déces ?"

-REPONSE a)_"Dernière téléportation "
action taken/script teleporte
ce script teleporte


/////debut/////
#include "nw_i0_plot"
int CanAffordIt()
{
int nCost = 0; //Change 0 to the number of gold to take from Player
//As the cost of portal use.
// * remove the gold from the player
// * I'm having the player remove it from himself
// * but since I'm also destroying it, this will work

if (GetGold(GetPCSpeaker()) >= nCost)
{
TakeGold(nCost, GetPCSpeaker());
return TRUE;
}
return FALSE;
}

void main()
{
CanAffordIt();
location lLoc = GetLocalLocation(GetPCSpeaker(), "NW_L_LOC_RECALL");
// * Portal stores last location to jump to for future players
SetLocalInt(OBJECT_SELF, "NW_L_LOC_EVERUSED", 1);
SetLocalLocation(OBJECT_SELF, "NW_L_LOC_LAST_RECALL", lLoc);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_UNSUMMON), lLoc);
AssignCommand(GetPCSpeaker(), JumpToLocation(lLoc));
}
/////fin/////

-REPONSE b)"Dernier déces"
action taken/script retourdeces
ce script retourdeces:

/////debut/////
void main()
{

object oSelf = OBJECT_SELF;
effect eVis = EffectVisualEffect(VFX_IMP_UNSUMMON);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eVis, GetLocalLocation(GetPCSpeaker(),"NW_L_I_DIED_HERE"));
SetLocalInt(GetPCSpeaker(), "NW_L_I_DIED", 0);
object oPC = GetPCSpeaker();
ActionCastFakeSpellAtObject(SPELL_FREEDOM_OF_MOVEMENT, OBJECT_SELF);
AssignCommand(GetPCSpeaker(), DelayCommand(0.5, JumpToLocation(GetLocalLocation(oPC,"NW_L_I_DIED_HERE"))));
}
/////fin/////
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Le portail en USEABLE (comme le dit plus bas Anteus)

petite notification

Par anteus le 27/8/2002 à 16:37:00 (#2038657)

Salut Blam et oui a peine logé ke je viens te tracassouiller=)
Il s'agit du portail de recall : penser a le mettre en useable, c'est idiot mais le novice que je suis a été bon pour quelques reload avant de trouver :hardos:
a bientôt , Anteus..xxxx

JOL Archives 1.0.1
@ JOL / JeuxOnLine