Postado Janeiro 29, 2016 9 anos Autor 12 horas atrás, dominus disse: Primeiramente: essa funcao getplayerdamagepercent (), eu desconheço. Se não gerou erro no distro, logo ela existe, mas pode ser que ela execute de uma forma distinta da que tu queres. Isso tem que ser analisado. Creaturescript/script/login.lua: registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "deathPlayer") Isso faz com que seja registrado no player um evento do creaturescript como: premmy account, rook system, etc... Nesse caso nos exemplos acima são os dois eventos que estão adicionado em creaturescript.xml com os seus respectivos nomes (um nome para cada evento). Ao adicionar um novo script em creaturescript voce tem que adicionar esse evento não só no arquivo creaturescript.xml como também no login.lua. O script que você postou, eu creio que esteja certo, mesmo desconhecendo essa função getplayerdamagepercent. será que poderia me ajudar com isso fazendo um teste? o máximo que aconteceu foi o mostro desaparecer quando morre sem deixar corpo, é como se eu tivesse dado um /r nele estou precisando muito desse script e por mais que eu mecha nele não vai, registrei no login.lua e continua do mesmo jeito, sem erro outra coisa o xp de quando se mata um monstro é dividido de acordo com a quantidade de dano que cada jogador deu nele e quem dar mais rit fica com o loot certo? sera que é possivel usar a mesma função pra isso que eu quero?, no caso n daria a xp mas dependendo da quantidade de dano viria os itens, não sei vou começar a estudar o xp, mas se der por favor da uma mãozinha nesse scrip?? é o script que mais da dor de cabeça
Postado Janeiro 30, 2016 9 anos Para termos sucesso na elaboração desse script, é necessário saber se essa função: getplayerdamagepercent existe e funciona da forma requerida. A maior dificuldade é a elaboração dessa função que haveriguará o dano percentual de cada atacante do mesmo. Por demais é revelante. Poccnn.
Postado Fevereiro 1, 2016 9 anos Autor Em 30/01/2016 17:47:42, dominus disse: Para termos sucesso na elaboração desse script, é necessário saber se essa função: getplayerdamagepercent existe e funciona da forma requerida. A maior dificuldade é a elaboração dessa função que haveriguará o dano percentual de cada atacante do mesmo. Por demais é revelante. Poccnn. sera que podemos usar a mesma função do xp? aqui esta o script do xpPOKEEXP.LUA Spoiler local function playerAddExp(cid, exp) doPlayerAddExp(cid, exp) doSendAnimatedText(getThingPos(cid), exp, 215) end function onDeath(cid, corpse, deathList) --if not isCreature(cid) then return true end if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8 -------------Edited Golden Arena------------------------- --alterado v1.7 \/\/ if getPlayerStorageValue(cid, 22546) == 1 then setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1) if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8 end if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then local wave = getGlobalStorageValue(22547) for _, sid in ipairs(getPlayersOnline()) do if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then if getGlobalStorageValue(22547) < #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!") addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true) addEvent(doWave, timeToWaves*1000) elseif getGlobalStorageValue(22547) == #wavesGolden+1 then doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!") doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio setPlayerStorageValue(sid, 22545, -1) doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false) setPlayerRecordWaves(sid) end end end if getGlobalStorageValue(22547) == #wavesGolden+1 then endGoldenArena() end end --------------------------------------------------- /\/\ local givenexp = getWildPokemonExp(cid) ---local killer = getItemAttribute(corpse.uid, "corpseowner") if givenexp > 0 then for a = 1, #deathList do local pk = deathList[a] --- local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false) if isCreature(pk) then local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid)) local party = getPartyMembers(pk) if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then expTotal = math.floor(expTotal/#party) --alterado v1.6.1 for i = 1, #party do if isInArray(list, party) then if getPlayerLevel(pk) <= 50 then playerAddExp(party, expTotal * 200) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(party, expTotal * 130) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(party, expTotal * 80) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(party, expTotal * 40) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(party, expTotal * 20) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(party, expTotal * 10) elseif getPlayerLevel(pk) >= 351 then playerAddExp(party, expTotal * 5) end end end elseif not isInParty(pk) then if getPlayerLevel(pk) <= 50 then playerAddExp(pk, math.floor(200 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then playerAddExp(pk, math.floor(130 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then playerAddExp(pk, math.floor(80 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then playerAddExp(pk, math.floor(40 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then playerAddExp(pk, math.floor(20 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then playerAddExp(pk, math.floor(10 * givenexp * getDamageMapPercent(pk, cid))) elseif getPlayerLevel(pk) >= 351 then playerAddExp(pk, math.floor(5 * givenexp * getDamageMapPercent(pk, cid))) return true end end end end end if isNpcSummon(cid) then local master = getCreatureMaster(cid) doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000)) doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1) doRemoveCreature(cid) return false end if corpse.itemid ~= 0 then --alterado v1.8 doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid)) doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid)) end return true end
Postado Fevereiro 2, 2016 9 anos Autor Em 01/02/2016 15:56:00, dominus disse: Desde que esse boss que tu usarás, seja um Pokémon. É possível. sim será um pokémon podes me ajudar?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.