Reputation system, consistem em 2 runes, 1 da pontos de reputação e a otra ve quantus pontos de reputação vc ou otro cara tem
Voce NAUM pode dar reputation points a si próprio
Para poder dar pontos de reputação tem ke ser um certo level escolhido por voce,aconselho a escolher level alto (100 por exemplo dependendo da experiencia) assim as pessoas naum ficam fazendu chars pra darem reputação para elas.
Se voce quiser tambem precisa de um certo level pra receber,aconselho aki tambem alto (100 por exemplo tbm).
Uma pessoa naum poderam spammar porque ela tem ke esperar dias pra poder dar reputatio points otra vez.
Aqui esta a action:
1º Parte: Rune para dar reputation points
no diretório data>actions>scripts crie um ficheiro com nome de rep.lua e adicione u seguinte code:
------Reputation System by Colex------function onUse(cid, item, frompos, item2, topos)days = 10080 ---os dias são contados em segundosstorevalue = 8971 ---onde sera guardado o tempo de esperaname = getPlayerName(item2.uid)name2 = getPlayerName(cid)playername = getPlayerName(cid)lvl = getPlayerLevel(cid)lvl2 = getPlayerLevel(item2.uid)level = 50 ---level necessario para dar reputation points level2 = 100 ---level que pode receber reputation pointsrep = getPlayerStorageValue(item2.uid,8904)result = rep + 1if name2 == name thendoPlayerSendTextMessage(cid,22,"You cannot use this rune on your self.") return 0endif item2.itemid == cid then if lvl >= level then if lvl2 >= level2 then if rep > 0 then if (waiting(cid, storevalue, days) == 1) then setPlayerStorageValue(item2.uid,8904,rep+1) doPlayerSendTextMessage(cid,22,"You gave 1 reputation point to "..name..", now he/she has "..result.." points.") doPlayerSendTextMessage(item2.uid,22,"You've received 1 reputation point from "..name2..", now you have "..result.." points.") else doPlayerSendCancel(cid,"You need to wait more time before start to give more reputation points.") end else setPlayerStorageValue(item2.uid,8904,1) doPlayerSendTextMessage(cid,22,"You gave 1 reputation point to "..name..", now he/she has 1 points.") doPlayerSendTextMessage(item2.uid,22,"You've received 1 reputation point from "..name2..", now you have "..result.." points.") end else doPlayerSendCancel(cid,"The player need level "..level2.." to receive reputation points.") end else doPlayerSendCancel(cid,"You need level "..level.." to give reputation points.") endelse doPlayerSendCancel(cid,"You can not use this rune there.") endreturn 1endfunction waiting(cid, storevalue, days) newWaiting = os.time() oldWaiting = getPlayerStorageValue(cid, storevalue) if (lastwaiting == nil or lastwaiting < 0) then lastwaiting = 0 end if (days == nil or days < 0) then days = 1 end diffTime = os.difftime(newWaiting, oldWaiting) if (diffTime >= days) then setPlayerStorageValue(cid, storevalue, newWaiting) return 1 else return 0 endend
2º Script: Rune para ver os reputations points
otra vez no diretório data>actions>scripts faça um ficheiro de nome rep2.lua e adicione u seguinte code:
------Reputation System by Colex------function onUse(cid, item, frompos, item2, topos)name2 = getPlayerName(cid)name = getPlayerName(item2.uid)rep = getPlayerStorageValue(item2.uid,8904)if rep > 0 thensetPlayerStorageValue(item2.uid,8904,0)return 0endif name2 == name thendoPlayerSendTextMessage(cid,22,"You have "..rep.." reputation points.") return 0endif item2.itemid == cid then doPlayerSendTextMessage(cid,22,""..name.." has "..rep.." reputation points.")else doPlayerSendCancel(cid,"You can not use this rune there.")endreturn 1end
agora na pasta data>actions adicione no ficheiro actions.xml as seguintes frases:
-----------Reputation System----------<action itemid="2263" script="rep.lua" allowfaruse="1" /><action itemid="2276" script="rep2.lua" allowfaruse="1" />-----------/Reputation System---------
----------------------------------------------
espero que gostem e comentem u que axam