Dreii | Дата: Пятница, 27 Января 2012, 20:27:12 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки: ![](/scripts/images/ic_info.gif)
| Code void Trig_KillHero_Timer( ) { timer t = GetExpiredTimer( ) int i = 0 whilenot t==KillTimer[i] { kill[i] = 0 i++ } t = null } void Trig_KillHero_Actions( ) { int i = 0 ,x = 0,r = 0,f = 6 int min=GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_FOOD_USED),sec=GetPlayerState(Player(0), PLAYER_STATE_RESOURCE_FOOD_CAP) unit k = GetKillingUnit( ), d = GetTriggerUnit( ) player pk = GetOwningPlayer( k ), pd = GetOwningPlayer( d ) int idpk = GetPlayerId( pk ), idpd = GetPlayerId( pd ), gold = 55+25*GetHeroLevel(d), goldfb = 100 string m= I2S(min) string s= I2S(sec) string time if min < 10 { m = "0" + m time=m+" : "+s } if sec < 10 { s = "0" + s time=m+" : "+s }
multiboarditem mbitem if IsUnitType( d, UNIT_TYPE_HERO ) { if GetRandomReal(0.,1.)>=.45 { SetPlayerState( pk, PLAYER_STATE_RESOURCE_LUMBER, GetPlayerState( pk, PLAYER_STATE_RESOURCE_LUMBER )+1) TT(pc[GetPlayerId(pk)]+"+1",k) } spree[idpk] ++ kill[idpk] ++ if fb==false { SetPlayerState( pk, PLAYER_STATE_RESOURCE_GOLD, GetPlayerState( pk, PLAYER_STATE_RESOURCE_GOLD ) + gold+goldfb ) DisplayTextToPlayer( GetLocalPlayer( ), 0., 0.,"["+time+"] "+pc[idpk]+GetPlayerName(pk)+"|r" + " pwned " + pc[idpd]+GetPlayerName(pd)+"|r's"+" head for " + "|c00FFFF00" + I2S( R2I( gold) ) + " + " + I2S( R2I( goldfb ) ) + " gold! - |cFFFF0303First blood!|r" ) StartSound(gg_snd_firstblood) fb = true else if spree[idpk] > 2 and spree[idpk]<=10 { StartSound( KS_Sound[spree[idpk]] ) DisplayTextToPlayer( GetLocalPlayer( ), 0., 0.,"["+time+"] "+pc[idpk]+GetPlayerName(pk)+"|r"+" pwned " + pc[idpd]+GetPlayerName(pd)+"|r's" + " head for " + "|c00FFFF00" + I2S( R2I( gold ) ) + "|r gold! - " +ape[spree[idpk]]+ KS_Text[spree[idpk]]) elseif spree[idpk]>10 spree[idpk]=10 StartSound( KS_Sound[10] ) DisplayTextToPlayer( GetLocalPlayer( ), 0., 0.,"["+time+"] "+pc[idpk]+GetPlayerName(pk)+"|r"+" pwned " + pc[idpd]+GetPlayerName(pd)+"|r's" + " head for " + "|c00FFFF00" + I2S( R2I( gold ) ) + "|r gold! - " +ape[10]+ KS_Text[10]) else DisplayTextToPlayer( GetLocalPlayer( ), 0., 0., "["+time+"] "+pc[idpk]+GetPlayerName(pk)+"|r" + " pwned " + pc[idpd]+GetPlayerName(pd)+"|r's" + " head for " + "|c00FFFF00" + I2S( R2I( gold ) ) + "|r gold!") }
SetPlayerState( pk, PLAYER_STATE_RESOURCE_GOLD, GetPlayerState( pk, PLAYER_STATE_RESOURCE_GOLD )+gold) SetPlayerState( pd, PLAYER_STATE_RESOURCE_GOLD, GetPlayerState( pd, PLAYER_STATE_RESOURCE_GOLD )-gold / 2) if spree[idpd] > 2 and spree[idpd]<=10 { DisplayTextToPlayer( GetLocalPlayer( ), 0., 0.,"["+time+"] "+pc[idpk]+GetPlayerName(pk)+"|r" + " has just ended "+pc[idpd]+GetPlayerName(pd)+"|r's" + KS_Text[spree[idpd]]+ " streak for "+"|c00FFFF00" + I2S( R2I(spree[idpd]*40 ) ) + "|r gold!") SetPlayerState( pk, PLAYER_STATE_RESOURCE_GOLD, GetPlayerState( pk, PLAYER_STATE_RESOURCE_GOLD )+spree[idpd]*30) } if kill[idpk] > 1 and kill[idpk]<=5 { StartSound(SoundS[kill[idpk]]) DisplayTextToPlayer( GetLocalPlayer( ), 0., 0.,"["+time+"] "+ pc[idpk]+GetPlayerName(pk)+"|r" + TextS[kill[idpk]] ) } if kill[idpk]>5 { StartSound(SoundS[5]) DisplayTextToPlayer( GetLocalPlayer( ), 0., 0.,"["+time+"] "+ pc[idpk]+GetPlayerName(pk)+"|r" + TextS[5] ) } } spree[idpd] = 0 } TimerStart(KillTimer[idpk], 9., false, function Trig_KillHero_Timer ) flush locals } Почему то таймер иногда не сбрасывает kill[massive]
|
|
|
|
lawson | Дата: Пятница, 27 Января 2012, 20:55:36 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки: ![](/scripts/images/ic_info.gif)
| Дрюша, все уже видели, какой ты кодер, зачем постить сюда весь код, которого большая часть вообще к ошибке не относится?
Добавлено (27 Январь 2012, 20:53:55) --------------------------------------------- Quote (Dreii) whilenot t==KillTimer[i] а можно ли так делать? И зачем вообще их сравнивать?
Добавлено (27 Январь 2012, 20:55:36) --------------------------------------------- Не понятно по какому условию запускаешь таймер.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Пятница, 27 Января 2012, 22:13:31 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки: ![](/scripts/images/ic_info.gif)
| lawson, вроде испарвил Code void Trig_KillHero_Timer( ) { timer t = GetExpiredTimer( ) int i = 0 whilenot t==KillTimer[i] { i++ } kill[i] = 0 t = null }
|
|
|
|