Transform Scrypt B??d Help!

Status
Zamknięty.

sStempels

Active User
Zarejestrowany
Dołączył
Marzec 25, 2009
Posty
61
Liczba reakcji
2
Witam. Posiadam w?asnor?cznego Transform Scrypt, lecz sa w nim b??dy, kt?rych nie moge naprawic;// B??d: Scrypt posiada 6 transformacji: 40lv/80lv/120lv/150lv/200lv/300lv chcialbym, aby: gdy mam 40lvl wpisze "trans" to jak w scrypcie zmienia mi outfit na xxx, zabiera co 2s xxmany i jakis tam efekt. W tym scrypcie tak jest lecz tylko na 300lvl. Zalezy mi na tym, aby tak bylo na ka?dej transformacji od 40lv do 300lvl prosz? o pomoc, mo?na pisac na PW. Chcia?bym tak?e aby trans na 40 lvl dodawal 20% hp i many oraz 10% wieksze dmg itd z transem 80, 120,150,200,300. Z g?ry dzi?kuje
O to on:
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 86400000)
addOutfitCondition(condition, 0, 71, 0, 0, 0, 0)
setCombatCondition(combat, condition)
 tail1 = {lookType=398}
 tail2 = {lookType=399}
 tail3 = {lookType=400}
ship = {lookType=401}
tail4 = {lookType=402}
sage = {lookType=525}
second = 2000
function mana(cid)
if getPlayerVocation(cid) == 1 then    
if getPlayerMana(cid) >= 400 then    
          doPlayerAddMana(cid,-10)                    
addEvent(mana,second,cid)
if getPlayerMana(cid) <= 100 then
       stopEvent(mana)
            doPlayerSetVocation(cid,1) 
end
end
end
end
function trans(cid)
if getPlayerVocation(cid) == 1 then	
if getPlayerMana(cid) >= 400 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans,second,cid)
      end
   end
end
function mana1(cid)
if getPlayerVocation(cid) == 2 then    
if getPlayerMana(cid) >= 800 then    
          doPlayerAddMana(cid,-20)                    
addEvent(mana1,second,cid)
if getPlayerMana(cid) <= 1 then
       stopEvent(mana1)
            doPlayerSetVocation(cid,1) 
end
end
end
end
function trans1(cid)
if getPlayerVocation(cid) == 2 then	
if getPlayerMana(cid) >= 800 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans1,second,cid)
      end
   end
end
function mana2(cid)
if getPlayerVocation(cid) == 3 then    
if getPlayerMana(cid) >= 1200 then    
          doPlayerAddMana(cid,-40)                    
addEvent(mana2,second,cid)
if getPlayerMana(cid) <= 1 then
       stopEvent(mana2)
            doPlayerSetVocation(cid,1) 
end
end
end
end
function trans2(cid)
if getPlayerVocation(cid) == 3 then	
if getPlayerMana(cid) >= 1200 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans2,second,cid)
      end
   end
end
function mana3(cid)
if getPlayerVocation(cid) == 4 then    
if getPlayerMana(cid) >= 1800 then    
          doPlayerAddMana(cid,-60)                    
 addEvent(mana3,second,cid)
if getPlayerMana(cid) <= 1 then
       stopEvent(mana3)
            doPlayerSetVocation(cid,4) 
end
end
end
end
function trans3(cid)
if getPlayerVocation(cid) == 4 then	
if getPlayerMana(cid) >= 1800 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans3,second,cid)
      end
   end
end
function mana4(cid)
if getPlayerVocation(cid) == 5 then    
if getPlayerMana(cid) >= 2400 then    
          doPlayerAddMana(cid,-80)                    
addEvent(mana4,second,cid)
if getPlayerMana(cid) <= 1 then
       stopEvent(mana4)
            doPlayerSetVocation(cid,4) 
end
end
end
end
function trans4(cid)
if getPlayerVocation(cid) == 5 then	
if getPlayerMana(cid) >= 2400 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans4,second,cid)
      end
   end
end
function mana5(cid)
if getPlayerVocation(cid) == 6 then    
if getPlayerMana(cid) >= 3600 then    
          getPlayerMana(cid,-200)                    
addEvent(mana5,second,cid)
if getPlayerMana(cid) <= 3600 then
       stopEvent(mana5)
            doPlayerSetVocation(cid,4) 
end
end
end
end
function trans5(cid)
if getPlayerVocation(cid) == 6 then	
if getPlayerMana(cid) >= 3600 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans5,second,cid)
      end
   end
end
function onCastSpell(cid, var)
if getPlayerVocation(cid) == 1 then	
    if getPlayerLevel(cid) >= 40 then
      doPlayerSetVocation(cid,2)
         doSetCreatureOutfit(cid, tail1, -1) 
      addEvent(trans,second,cid) 
	addEvent(mana,second,cid)
			doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 40 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 2 then	
    if getPlayerLevel(cid) >= 80 then
      doPlayerSetVocation(cid,3)
         doSetCreatureOutfit(cid, tail2, -1) 
      addEvent(trans1,second,cid) 
	addEvent(mana1,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 80 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 3 then	
    if getPlayerLevel(cid) >= 120 then
      doPlayerSetVocation(cid,4)
         doSetCreatureOutfit(cid,  tail3, -1) 
      addEvent(trans2,second,cid) 
	addEvent(mana2,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 120 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 4 then	
    if getPlayerLevel(cid) >= 150 then
      doPlayerSetVocation(cid,5)
         doSetCreatureOutfit(cid, ship, -1) 
      addEvent(trans3,second,cid) 
	addEvent(mana3,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 150 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 5 then	
    if getPlayerLevel(cid) >= 200 then
      doPlayerSetVocation(cid,6)
         doSetCreatureOutfit(cid, tail4, -1) 
      addEvent(trans4,second,cid) 
	addEvent(mana4,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 200 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 6 then	
    if getPlayerLevel(cid) >= 300 then
      doPlayerSetVocation(cid,6)
         doSetCreatureOutfit(cid, sage, -1) 
      addEvent(trans5,second,cid) 
	addEvent(mana5,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 300 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
end
 
Odp: Transform Scrypt B??d Help!

PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 86400000)
addOutfitCondition(condition, 0, 71, 0, 0, 0, 0)
setCombatCondition(combat, condition)
 tail1 = {lookType=398}
 tail2 = {lookType=399}
 tail3 = {lookType=400}
ship = {lookType=401}
tail4 = {lookType=402}
sage = {lookType=525}
second = 2000
elseif function mana(cid)
if getPlayerVocation(cid) == 1 then    
if getPlayerMana(cid) >= 400 then    
          doPlayerAddMana(cid,-10)                    
addEvent(mana,second,cid)
if getPlayerMana(cid) <= 100 then
       stopEvent(mana)
            doPlayerSetVocation(cid,1) 
end
end
end
end
elseif function trans(cid)
if getPlayerVocation(cid) == 1 then	
if getPlayerMana(cid) >= 400 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans,second,cid)
      end
   end
end
elseif function mana1(cid)
if getPlayerVocation(cid) == 2 then    
if getPlayerMana(cid) >= 800 then    
          doPlayerAddMana(cid,-20)                    
addEvent(mana1,second,cid)
if getPlayerMana(cid) <= 1 then
       stopEvent(mana1)
            doPlayerSetVocation(cid,1) 
end
end
end
end

Przed function trans(cid) dodaj elseif i tak r?b przy ka?dym tak?e przy function mana(cid)

#down doda?e? przy ka?dym function elseif?
 
Ostatnia edycja:
Odp: Transform Scrypt B??d Help!

@UP
Niestety nie dzia?a. B??d:
Warning: [Event::loadScript] Can not load script. data/spells/scripts/trans.lua
[28/05/2011 21:40:40] data/spells/scripts/trans.lua:20: '<eof>' expected near 'elseif'
To jest silnik TFS pod tibie 8.42 NAPRAWDE PROSZE POMOC!
@up Tak;/ i niestety blad w konsoli
@3xDOWN Arkam Shadow jak znajdziesz czas to prosz? jak mog? bys mi to przerobic bo ja kompletnie nie znam sie na p?tlach, tabelach;/ z g?ry dzi?kuje
 
Ostatnia edycja:
Odp: Transform Scrypt B??d Help!

Ucze sie skryptowac od 4 dni mam nadziej?, ?e b?dzie dzia?a?. Jest problem by w transie dodawac % z many i hp trzeba by by?o pisac now? funkcj?, wi?c zrobi?em ilo??, kt?r? ustawiasz tutaj:
PHP:
local transy ={
tail1 = {lookType=398, mana = 500 hp = 500}
tail2 = {lookType=399, mana = 1000 hp = 1000}
tail3 = {lookType=400, mana = 1500 hp = 1500}
ship = {lookType=401, mana = 2000 hp = 2000}
tail4 = {lookType=402, mana = 2500 hp = 2500}
sage = {lookType=525, mana = 3000 hp = 3000}
second = 2000
}




PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 86400000)
addOutfitCondition(condition, 0, 71, 0, 0, 0, 0)
setCombatCondition(combat, condition)
local transy ={
tail1 = {lookType=398, mana = 500 hp = 500}
tail2 = {lookType=399, mana = 1000 hp = 1000}
tail3 = {lookType=400, mana = 1500 hp = 1500}
ship = {lookType=401, mana = 2000 hp = 2000}
tail4 = {lookType=402, mana = 2500 hp = 2500}
sage = {lookType=525, mana = 3000 hp = 3000}
second = 2000
}
function mana(cid)
if getPlayerVocation(cid) == 1 then    
if getPlayerMana(cid) >= 400 then    
          getPlayerAddMana(cid,-10)                    
addEvent(mana,second,cid)
if getPlayerMana(cid) <= 400 then
       stopEvent(mana)
            doPlayerSetVocation(cid,1) 
end
end
end
end
function trans(cid)
if getPlayerVocation(cid) == 1 then	
if getPlayerMana(cid) >= 400 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans,second,cid)
      end
   end
end
function mana1(cid)
if getPlayerVocation(cid) == 2 then    
if getPlayerMana(cid) >= 800 then    
          getPlayerAddMana(cid,-20)                    
addEvent(mana1,second,cid)
if getPlayerMana(cid) <= 800 then
       stopEvent(mana1)
            doPlayerSetVocation(cid,1) 
end
end
end
end
function trans1(cid)
if getPlayerVocation(cid) == 2 then	
if getPlayerMana(cid) >= 800 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans1,second,cid)
      end
   end
end
function mana2(cid)
if getPlayerVocation(cid) == 3 then    
if getPlayerMana(cid) >= 1200 then    
          getPlayerAddMana(cid,-40)                    
addEvent(mana2,second,cid)
if getPlayerMana(cid) <= 1200 then
       stopEvent(mana2)
            doPlayerSetVocation(cid,1) 
end
end
end
end
function trans2(cid)
if getPlayerVocation(cid) == 3 then	
if getPlayerMana(cid) >= 1200 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans2,second,cid)
      end
   end
end
function mana3(cid)
if getPlayerVocation(cid) == 4 then    
if getPlayerMana(cid) >= 1800 then    
          getPlayerAddMana(cid,-60)                    
 addEvent(mana3,second,cid)
if getPlayerMana(cid) <= 1800 then
       stopEvent(mana3)
            doPlayerSetVocation(cid,4) 
end
end
end
end
function trans3(cid)
if getPlayerVocation(cid) == 4 then	
if getPlayerMana(cid) >= 1800 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans3,second,cid)
      end
   end
end
function mana4(cid)
if getPlayerVocation(cid) == 5 then    
if getPlayerMana(cid) >= 2400 then    
          getPlayerAddMana(cid,-200)                    
addEvent(mana4,second,cid)
if getPlayerMana(cid) <= 2400 then
       stopEvent(mana4)
            doPlayerSetVocation(cid,4) 
end
end
end
end
function trans4(cid)
if getPlayerVocation(cid) == 5 then	
if getPlayerMana(cid) >= 2400 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans4,second,cid)
      end
   end
end
function mana5(cid)
if getPlayerVocation(cid) == 6 then    
if getPlayerMana(cid) >= 3600 then    
          getPlayerMana(cid,-200)                    
addEvent(mana5,second,cid)
if getPlayerMana(cid) <= 3600 then
       stopEvent(mana5)
            doPlayerSetVocation(cid,4) 
end
end
end
end
function trans5(cid)
if getPlayerVocation(cid) == 6 then	
if getPlayerMana(cid) >= 3600 then	 
		doSendMagicEffect(getPlayerPosition(cid), 40)     
            addEvent(trans5,second,cid)
      end
   end
end
function onCastSpell(cid, var)
if getPlayerVocation(cid) == 1 then	
    if getPlayerLevel(cid) >= 40 then
      doPlayerSetVocation(cid,2)
	  doPlayerAddMana(cid, transy.mana)
	  doPlayerAddHealth(cid, transy.hp)
         doSetCreatureOutfit(cid, tail1, -1) 
      addEvent(trans,second,cid) 
	addEvent(mana,second,cid)
			doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 40 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 2 then	
    if getPlayerLevel(cid) >= 80 then
      doPlayerSetVocation(cid,3)
	  doPlayerAddMana(cid, transy.mana)
	  doPlayerAddHealth(cid, transy.hp)
         doSetCreatureOutfit(cid, tail2, -1) 
      addEvent(trans1,second,cid) 
	addEvent(mana1,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 80 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 3 then	
    if getPlayerLevel(cid) >= 120 then
      doPlayerSetVocation(cid,4)
	  doPlayerAddMana(cid, transy.mana)
	  doPlayerAddHealth(cid, transy.hp)
         doSetCreatureOutfit(cid,  tail3, -1) 
      addEvent(trans2,second,cid) 
	addEvent(mana2,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 120 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 4 then	
    if getPlayerLevel(cid) >= 150 then
      doPlayerSetVocation(cid,5)
	  doPlayerAddMana(cid, transy.mana)
	  doPlayerAddHealth(cid, transy.hp)
         doSetCreatureOutfit(cid, ship, -1) 
      addEvent(trans3,second,cid) 
	addEvent(mana3,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 150 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 5 then	
    if getPlayerLevel(cid) >= 200 then
      doPlayerSetVocation(cid,6)
	  doPlayerAddMana(cid, transy.mana)
	  doPlayerAddHealth(cid, transy.hp)
         doSetCreatureOutfit(cid, tail4, -1) 
      addEvent(trans4,second,cid) 
	addEvent(mana4,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 200 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
if getPlayerVocation(cid) == 6 then	
    if getPlayerLevel(cid) >= 300 then
      doPlayerSetVocation(cid,6)
	  doPlayerAddMana(cid, transy.mana)
	  doPlayerAddHealth(cid, transy.hp)
         doSetCreatureOutfit(cid, sage, -1) 
      addEvent(trans5,second,cid) 
	addEvent(mana5,second,cid)
  	  		doSendMagicEffect(getPlayerPosition(cid), 33) 
else
doPlayerSendCancel(cid, "You need 300 level transform")
		doSendMagicEffect(getPlayerPosition(cid), 2) 
end
end
end

Co do hit?w ustawia si? je w vocations.xml masz tutaj fragment 1.0 to normalna czyli jak walisz na revercie 100 i w next transie wpsize 1.1 to ebdziesz walil 110 chyba logiczne.
PHP:
<formula meleeDamage="1.5" distDamage="1.5" wandDamage="1.5" magDamage="1.5" magHealingDamage="1.5" defense="1.3" magDefense="1.3" armor="1.3"/>
 
Odp: Transform Scrypt B??d Help!

#UP
Ekhm...
Kod:
local transy ={
tail1 = {lookType=398, mana = 500 hp = 500}
tail2 = {lookType=399, mana = 1000 hp = 1000}
tail3 = {lookType=400, mana = 1500 hp = 1500}
ship = {lookType=401, mana = 2000 hp = 2000}
tail4 = {lookType=402, mana = 2500 hp = 2500}
sage = {lookType=525, mana = 3000 hp = 3000}
second = 2000
}

na
Kod:
local transy ={
tail1 = {lookType=398, mana = 500 hp = 500},
tail2 = {lookType=399, mana = 1000 hp = 1000},
tail3 = {lookType=400, mana = 1500 hp = 1500},
ship = {lookType=401, mana = 2000 hp = 2000},
tail4 = {lookType=402, mana = 2500 hp = 2500},
sage = {lookType=525, mana = 3000 hp = 3000},
second = 2000
}

Reszty kodu nie patrze, bo za p??no jest.
 
Odp: Transform Scrypt B??d Help!

To co pokaza? Animax to 1 b??d, drugi to to, ?e nie istnieje funkcja
PHP:
 getPlayerAddMana(cid,-10)
a pozatym zr?b wszystko w tablicach i wykorzystaj p?tle to ci zajmie kilka linijek i b?dzie prostrze ;D teraz nie mam czasu ale zrob jak powiedzialem i bedzie dzialac.
 
Odp: Transform Scrypt B??d Help!

AnimaXxX reput polecia?, ucz? sie dopiero skrypt?w thx za wskaz?wk? ;D
I jeszcze jedno pytanie czy w tabeli po mana = x nie powinno byc przecinka?
 
Ostatnia edycja:
Odp: Transform Scrypt B??d Help!

Temat do zamkniecia problem rozwiazalem po swojemu Podzi?kowania dla lordmarian ;d
 
Ostatnia edycja:
Odp: Transform Scrypt B??d Help!

yyy... moze napiszesz czy dzia?a skrypt co da?em albo co? a nie refresh piszesz -.^
 
Status
Zamknięty.
Back
Do góry