Jump to content

colex

Visconde
  • Posts

    301
  • Joined

  • Last visited

Reputation Activity

  1. Upvote
    colex got a reaction from Skymagnum in Roller Coaster System   
    Roller Coaster System


    Developed by Colex

     
    Introdução:
    Este script de Montanha-Russa é um sistema facil de utilizar, foi elaborado de forma a que qualquer pessoa pudesse usar sem qualquer alteração no script, mas para aquele que gostam de personalizar o script, eu adicionei um sistema de "eventos" e um par de funções para tornar muito facil a alteração e adaptação do script sem ser necessário entender o script em si.
     
    O script foi criado num OTServer 8.1, porém voce pode facilmente actualiza-lo para qualquer outra versão, quando voce faz o download do script, ele vem com um ficheiro README que ajuda-o no processo de actualização e tambem dá algumas informações extras.
     
    Features:

    Um script funciona com todas as montanhas-russas do server
    A velocidade aumenta quando voce desce uma rampa
    A velocidade diminui quando voce sobe uma rampa
    Voce pode adicionar impulsores ao trilho (aumenta a velocidade)*
    Voce pode adicionar freios ao trilho (diminui a velocidade)*
    Voce pode facilmente adicionar comportamentos personalizados ao ficheiro de eventos

     
    *leia o README para ter mais informações de como fazer isso
     
    Roller Coaster's Video:
    Este é um filme de exemplo da Roller Coaster que eu fiz para testar o script (não foi filmado com a ultima versão do script)

     
    Download:
    RollerCoaster___Colex.rar
    O download contem 4 arquivos: README.txt, RollerCoaster.lua, RollerCoasterEvents.lua e actions.xml
     
     
    Script:
    Estou a postar o script no próprio tópico para aqueles que não querem fazer o download do mesmo, mas querem dar uma olhada no script... Para obter todas as informações e ter um funcionamento correcto do sistema, é necessário o download do mesmo.
     

    ------Roller Coaster System by Colex------- dofile('data\\actions\\scripts\\RollerCoasterEvents.lua') local TRAINS = {7131, 7132} local all = {7121, 7122, 7123, 7124, 7125, 7126, 7133, 7134, 7135, 7136} local ACTION_TRAIN = {1001, 1002} local RAILS = { {id = all[1], dirs = {{dir = SOUTH, out = 2},{dir = NORTH, out = 2}}}, {id = all[2], dirs = {{dir = EAST, out = 1},{dir = WEST, out = 1}}}, {id = all[3], dirs = {{dir = EAST, out = 1},{dir = SOUTH, out = 2}}}, {id = all[4], dirs = {{dir = WEST, out = 1},{dir = SOUTH, out = 2}}}, {id = all[5], dirs = {{dir = EAST, out = 1},{dir = NORTH, out = 2}}}, {id = all[6], dirs = {{dir = WEST, out = 1},{dir = NORTH, out = 2}}}, {id = all[7], stop = 1}, {id = all[8], stop = 1}, {id = all[9], stop = 1}, {id = all[10], stop = 1}, } local SLOW = 500 local FAST = 200 local INCREASE = 50 local DECREASE = 50 local DOWN_INCREASE = 450 local UP_DECREASE = 155 local INFOS = {} TRUE = 1 FALSE = 0 function getRail(pos) local stack = 1 local found = 0 repeat pos.stackpos = stack rail = getThingfromPos(pos) if (rail.itemid == 0) then break end for i, r in ipairs(RAILS) do if (rail.itemid == r.id) then found = 1 break end end stack = stack + 1 until (found == 1) return rail end function moveTrain(cid) params = INFOS[cid] pos = getCreaturePosition(cid) rail = getRail(pos) dir = -1 for i,r in ipairs(RAILS) do if (rail.itemid == r.id) then if (RollerCoaster:onMove(cid, rail, r, pos) == FALSE) then table.remove(INFOS, cid) return 1 end if (r.stop ~= nil) then if (r.stop == 1) then RollerCoaster:onExitQuery(cid) addEvent(exitTrain, 2000, cid) return 1 end end change = rail.actionid - 1000 power = 0 power = change doChangeType(cid, r.id, INFOS[cid].beforeid) info = r.dirs[iNFOS[cid].type] dir = info.dir if ((power == 1) or (power == 2)) then if (RollerCoaster:onChangeSpeed(cid, power) == TRUE) then if (power == 2) then INFOS[cid].speed = INFOS[cid].speed - INCREASE elseif (power == 1) then INFOS[cid].speed = INFOS[cid].speed + DECREASE end end end if (INFOS[cid].currZ ~= pos.z) then if (RollerCoaster:onChangeLevel(cid, INFOS[cid].currZ, pos.z) == TRUE) then if (INFOS[cid].currZ > pos.z) then INFOS[cid].speed = INFOS[cid].speed + UP_DECREASE elseif (params.currZ < pos.z) then params.speed = params.speed - DOWN_INCREASE end end end if (params.speed < 1) then params.speed = 1 end params.currZ = pos.z newid = TRAINS[info.out] INFOS[cid].beforeid = r.id break end end if (dir ~= -1) then doSetItemOutfit(cid, newid, -1) doMoveCreature(cid, dir) addEvent(moveTrain,params.speed,cid) else RollerCoaster:onExitQuery(cid) addEvent(exitTrain, 2000, cid) end end function exitTrain(cid) table.remove(INFOS, cid) RollerCoaster:onExit(cid) doSetItemOutfit(cid, TRAINS[1], 0) pos = getCreaturePosition(cid) pos.y = pos.y - 1 doTeleportThing(cid, pos, 1) mayNotMove(cid, 0) end function enterTrain(params) if (RollerCoaster:onEnter(cid, params[2]) == TRUE) then doSetItemOutfit(params[1], params[2], -1) pos = getCreaturePosition(params[1]) table.insert(INFOS, params[1],{type = params.type, speed = SLOW, currZ = pos.z}) addEvent(moveTrain,1000,params[1]) end end function getSpeed(cid) if (INFOS[cid].speed ~= nil) then return INFOS[cid].speed end return FALSE end function setSpeed(cid, speed) if (INFOS[cid].speed ~= nil) then INFOS[cid].speed = speed return TRUE end return FALSE end function onUse(cid, item, fromPosition, itemEx, toPosition) if (isInArray(ACTION_TRAIN, item.actionid) == TRUE) then if (RollerCoaster:onEnterQuery(cid, item) == TRUE) then doTeleportThing(cid, toPosition, 1) mayNotMove(cid, 1) addEvent(enterTrain,500,{cid, item.itemid, type=(item.actionid-1000)}) end end return TRUE end ----"No Scripting Needed" System----- local change = {} change[all[1]] = {all[3], all[4]} change[all[2]] = {all[4], all[6]} change[all[3]] = {all[1], all[4], all[6]} change[all[4]] = {all[1], all[2], all[3], all[5], all[6]} change[all[5]] = {all[4]} change[all[6]] = {all[2], all[3], all[4]} change[all[7]] = {} change[all[8]] = {} change[all[9]] = {} change[all[10]] = {} function doChangeType(cid, id, beforeID) if (table.getn(change[id]) > 0) then if (isInArray(change[id],beforeID) == TRUE) then if (INFOS[cid].type == 1) then INFOS[cid].type = 2 else INFOS[cid].type = 1 end end end end
     
    Espero que gostem e façam bom proveito dele.
     
    Atenciosamente,
    Colex
  2. Upvote
    colex got a reaction from Frenvius in Prison System By Colex   
    Aew,
     
    Criei meu sistema de prisão, ja que eu não vi nenhum parecido em lugar nenhum.
    Meu sistema tem umas coisas inovadoras:
     
    1 - A rune que teleporta o prisioneiro para a prisão tem escolha de 3 penas facilmente configuraveis no script.
     
    2 - Passado o tempo de prisão que o player recebeu de pena, ele poderá sair dando use na porta da prisão, caso não tenha passado o tempo, quando ele der use na door, irá aparecer quanto tempo falta para ele sair.
     
    Assim sua prisão ficará facil de gerenciar!
     
     
    Como escolher um dos 3 tempos de pena com a rune?
    Isso é muito facil, é só o "policia" dar use na rune e em cima de si próprio e vai mudar, ai é só ele repetir isso até chegar na pena desejada.
     
     
    agora o script:
     
    1º na pasta data/actions/scripts crie um documento cujo nome cadeia.lua e dentro dele cole o seguinte:

    --------Prison System by Colex----------- function onUse(cid, item, frompos, item2, topos) preso = os.time() - getPlayerStorageValue(cid,1444) judge = getPlayerStorageValue(cid,1445) tqf = judge - preso if getPlayerStorageValue(cid,1444) == -1 then  doPlayerSendTextMessage(cid,22,"You are not arrested.") else  if preso >= judge then    doPlayerSendTextMessage(cid,22,"You are not a prisioner anymore. Go to your home!")    doTeleportThing(cid,getPlayerMasterPos(cid))    setPlayerStorageValue(cid,1444,-1)  else    doPlayerSendTextMessage(cid,22,"Wait "..tqf.." seconds to get out from here.")  end end return 1 end
     
    2º Agora na mesma pasta crie um documento com o nome cadeia_rune.lua e adicione o seguinte dentro dele:

    ---------Prison System by Colex---------- function onUse(cid, item, frompos, item2, topos) cadeia = {x=485, y=473, z=7} ---coordenadas da cadeia now = os.time() -----tempos de prisão em segundos------- time1 = 10 time2 = 30 time3 = 60 --------------------------------------- time = getPlayerStorageValue(cid,1533) choose = getPlayerStorageValue(cid,1532) access = 3 ---acesso para usar a rune access2 = 3 --- a partir deste acesso nao é preso if getPlayerAccess(cid) >= access then  if item2.itemid == cid then    if getPlayerName(item2.uid) == getPlayerName(cid) then      if choose == -1 then        doPlayerSendTextMessage(cid,22,""..time1.." seconds of prison system.")        setPlayerStorageValue(cid,1532,0)        setPlayerStorageValue(cid,1533,time1)      elseif choose == 0 then          doPlayerSendTextMessage(cid,22,""..time2.." seconds of prison system.")        setPlayerStorageValue(cid,1532,1)          setPlayerStorageValue(cid,1533,time2)      elseif choose == 1 then          doPlayerSendTextMessage(cid,22,""..time3.." seconds of prison system.")        setPlayerStorageValue(cid,1532,-1)          setPlayerStorageValue(cid,1533,time3)      end        else            if getPlayerAccess(item2.uid) < access2 then                                                            if getPlayerStorageValue(item2.uid,1444) == -1 then          doPlayerSendTextMessage(item2.uid,22,"You are arrested for "..time.." seconds! Any word that you say now can be used against you later.")          doTeleportThing(item2.uid,cadeia)          setPlayerStorageValue(item2.uid,1445,time)          setPlayerStorageValue(item2.uid,1444,now)        else          doPlayerSendTextMessage(cid,22,""..getPlayerName(item2.uid).." is already arrested.")        end      else        doPlayerSendCancel(cid,"You cannot make this player a prisioner.")      end    end  else    doPlayerSendCancel(cid,"You can only use this rune on a person.")  end else  doPlayerSendCancel(cid,"You do not have the needed access to use this rune.") end return 1 end
     
    3º Agora para terminar, na pasta data/actions abra o documento actions.xml e adicione as seguintes tags:

    -------prison system------ <action actionid="1169" script="cadeia.lua" /> <action itemid="2312" script="cadeia_rune.lua" allowfaruse="1" blockwalls="0" /> --------------------------
     
    NOTA 1 - a porta da prisão usa actionid 1169
     
    NOTA 2 - a rune usada ali é 2312, caso queira usar outra é só trocar ali no actions.xml
     
     
    Espero que gostem e aproveitem bem
     
    cya~~ :hi:
  3. Upvote
    colex got a reaction from lucao2010 in Temple Rune   
    usa este script ke assim só da pra usar nele:
     
    function onUse(cid, item, frompos, item2, topos)if getPlayerName(item2.uid) == getPlayerName(cid) thenplayer1pos = {x=topos.x, y=topos.y, z=topos.z, stackpos=253}player1 = getThingfromPos(player1pos)if player1.itemid > 0 thentemple = getPlayerMasterPos(cid) ----- agr vc naum precisa mudar as coordenadasdoSendMagicEffect(topos,12)doTeleportThing(player1.uid,temple)doSendMagicEffect(temple,12)doPlayerSendTextMessage(player1.uid,22,"Você se teleportou para o Templo.")if item.type > 1 thendoChangeTypeItem(item.uid,item.type-1)elsedoRemoveItem(item.uid,1)endreturn 0elsedoSendMagicEffect(frompos,2)return 0endelsedoPlayerSendTextMessage(cid,22,"Só players podes usar esta rune em si próprio.")return 0endend  
    espero ter ajudado
  4. Upvote
    colex got a reaction from jedian1 in Plastic Bomb   
    PLASTIC BOMB BY COLEX
     
    Como funciona?
    O player faz use em uma Plastic Bomb (eu uso o item 4825), e ficará imóvel um certo tempo (default é 5 segundos) instalando a bomba, depois de a bomba estar instalada o player poderá mover-se e a bomba irá demorar um certo tempo para explodir (default 5 segundos). A explosão será causada numa área 3x3 em que o player que estiver no centro da explosão levará sempre os danos mais elevados possiveis e os outros players que estiverem à volta será aleatório entre os danos maiores e menores (os danos são definidos no inicio do script em MAX_HIT e MIN_HIT).
     
     
    1º Passo: na pasta data/actions/scripts crie um novo arquivo com o nome bomb.lua e insira o seguinte texto dentro dele:

    ----------Plastic Bomb by Colex----------- local PLANTING_DELAY = 5 --seconds local EXPLOSION_DELAY = 5000 --milliseconds local MAX_HIT = 500 local MIN_HIT = 100 local PVP = true -- true for PVP, false for Non-PVP local PLAYERS = {} function isInArray(table, valor) for i,j in pairs(table) do if (j == valor) then return i end end return 0 end function explosion(info) area = { {0,0,0,0,0}, {0,1,1,1,0}, {0,1,1,1,0}, {0,1,1,1,0}, {0,0,0,0,0}, } hitpos = {x=info.pos.x, y=info.pos.y, z=info.pos.z, stackpos=253} center = {} center.y = math.floor(table.getn(area)/2)+1 for i in ipairs(area) do center.x = math.floor(table.getn(area[i])/2)+1 for j, v in ipairs(area[i]) do if (v == 1) then hitpos.x = info.pos.x + (j - center.x) hitpos.y = info.pos.y + (i - center.y) if (getTilePzInfo(hitpos) == 0) then victim = getThingfromPos(hitpos) effect = 4 if ((j == center.x) and (i == center.y)) then doSendAnimatedText(hitpos,"KABOOOOOM",TEXTCOLOR_RED) hitpoints = MAX_HIT effect = 5 else hitpoints = math.random(MIN_HIT,MAX_HIT) end if (isPlayer(victim.uid) == 1) then if (PVP == true) then doPlayerSendTextMessage(victim.uid,20,"You have lost "..hitpoints.." hitpoints by "..getPlayerName(info.player).."'s plastic bomb") else hitpoints = 0 end end if (isCreature(victim.uid) == 1) then doPlayerAddHealth(victim.uid,-hitpoints) end doSendMagicEffect(hitpos,effect) end end end end PLAYERS[isInArray(PLAYERS, info.player)] = 0 mayNotLogout(info.player, 0) return 1 end function planting(info) if info.num == PLANTING_DELAY then doPlayerSendTextMessage(info.player,22,"Plastic Bomb successfully planted!") mayNotMove(info.player,0) addEvent(explosion,EXPLOSION_DELAY,info) else info.num = info.num + 1 doPlayerSendTextMessage(info.player,22,info.num.."...") addEvent(planting,1000,info) end return 1 end function onUse(cid, item, frompos, item2, topos) position = getThingPos(item.uid) if (getTilePzInfo(position) == 0) then if (isInArray(PLAYERS, cid) == 0) then table.insert(PLAYERS, cid) doSendMagicEffect(frompos,3) info = {player = cid, pos = position, num = 1} doPlayerSendTextMessage(cid,22,"Planting the bomb...") doPlayerSendTextMessage(cid,22,"1...") mayNotMove(cid,1) mayNotLogout(cid, 1) doRemoveItem(item.uid,1) addEvent(planting,1000,info) else doPlayerSendCancel(cid,"You can only plant one bomb at the same time.") end else doPlayerSendCancel(cid,"You can not plant this bomb in a PZ!") end return 1 end
     
     
    2º Passo: abra a pasta data/actions e adicione a seguinte linha dentro do arquivo actions.xml:

    <action itemid="4852" script="bomb.lua" />
     
    Pronto! Sua plastic bomb deve estar funcional...
     
     
    Alguma dúvida? poste e eu tentarei ajuda-lo!
     
    (Esta action foi apenas testado em um server 8.0)
     
    Colex
  5. Upvote
    colex got a reaction from leozinhoac in Reputation System By Colex   
    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
  6. Upvote
    colex got a reaction from chavephilips in Reputation System By Colex   
    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
  7. Upvote
    colex got a reaction from Tryller in [7.6]comando Para Mudar Access   
    hiho
    fiz meu primeiru code e tenhu que agradecer ao Frerety porque se naum fosse ele eu inda taria a procura de como compilar e não saberia metade das coisas ke eu sei fazer nas sources (e olha ke naum saum mts)
    o que tem de bom neste comando:
    Voce pode mudar u access du cara sem precisar ir la na apsta players e abrir u char, mudar u access e dizer pro cara sair e entrar (xatinhu né)
    vc podera dar tutors e counsellors bem mais facilmente
    em que consiste o comando:
    Voce diz /access Nome, Acesso só vai funcionar se u player tiver online, se u player existir (mas ke afirmação boba), se u access do player for menor ke u teu, se o player naum for vc (vc naum pdoe abaixar teu próprio cargo ou aumentar) e o acesso ñ pode ser maior ke o teu
    agora vamos ao code:
    1º no commands.cpp procure por:
     
    {"/kick",&Commands::kickPlayer},  
    e adicione depois dissu a seguinte linha:
     
     {"/access",&Commands::access},  
    2ºainda em commands.cpp adicione no final:
     
    bool Commands::access(Creature* c, const std::string &cmd, const std::string &param){        std::string tmp = param;        std::string::size_type pos;        std::string acessostr;        int acesso = 0;            pos = tmp.find(",");        std::string name = tmp.substr(0, pos).c_str();        tmp.erase(0, pos+1);        acessostr = tmp;        acesso = atoi(acessostr.c_str());                Creature* creature = game->getCreatureByName(name);        Player* target = creature? dynamic_cast<Player*>(creature) : NULL;        Player* player = dynamic_cast<Player*>©;                if(target){                   if(tmp != "" && acesso >= 0 && acesso <= player->access){                             if(target->access < player->access){                                               target->access = acesso;                                               }                                 else{                                               player->sendTextMessage(MSG_BLUE_TEXT,"You can not change the access of a superior or from a person with same access as you or also your own access.");                                               }                                               }                   else{                             player->sendTextMessage(MSG_BLUE_TEXT,"Type a valid access.");                             }                             }        else{                   player->sendTextMessage(MSG_BLUE_TEXT,"Player doesn't exist or isn't online.");                   }                   return true;}  
    3º em commands.h procure por:
     
    bool kickPlayer(Creature* c, const std::string &cmd, const std::string &param);  
    e adicione depois dissu o seguinte:
     
       bool Commands::access(Creature* c, const std::string &cmd, const std::string &param);  
    pronto, agora compile e aproveite bem u comando :icon1:
    nu commands.xml fica assim: (kem kiser diferente pode por diferente)
     
    <command cmd="/access" access="3" />  
    comentem o que axaram
    cya~~
  8. Upvote
    colex got a reaction from Laky in Roller Coaster System   
    Actionid 1001 no trem faz o trem começar a andar para um lado e o actionid 1002 faz ele começar a andar pro outro lado...
    Para o carrinho parar, voce tem de colocar um "fim de trilho" (aquele trilho com uma placa ou algo do genero) no fim...
     
     
    @up
     
    eu nao estou em casa por isso nao posso verificar erros por agora
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...