CoLoRaDo 83 Postado Agosto 3, 2011 Share Postado Agosto 3, 2011 (editado) olá gente estou com um problema na verdade 4... eu queria colocar os seguintes comandos só para vips usar que no caso a storage da vip é 88888 casa.lua - vai até sua casa desde que não esteja com battle: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) end tirar pk.lua - comando para tirar o pk white black e red --50% kung lao %50 Vodkart function onSay(cid, words, param) local S = { [3] = {price = 1000000,cobrar = true,msg = "Você perdeu seu white skull e frags.", premium = true}, [4] = {price = 3000000,cobrar = true,msg = "Você perdeu seu red skull e frags", premium = true}, [5] = {price = 5000000,cobrar = true,msg = "Você perdeu seu black skull e frags", premium = true}, } local skull = S[getCreatureSkullType(cid)] if(not skull) then doPlayerSendCancel(cid,"Você nao está com nenhum tipo de skull.") return TRUE elseif skull.premium == true and not isPremium(cid) then doPlayerSendCancel(cid,"Apenas players premium podem remover skull.") return TRUE elseif skull.cobrar == true and doPlayerRemoveMoney(cid, skull.price) == FALSE then doPlayerSendCancel(cid,"Você não tem " .. skull.price .. " gps para remover sua skull.") doSendMagicEffect(getPlayerPosition(cid), 2) return TRUE end db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doCreatureSetSkullType(cid, 0) doRemoveCreature(cid) doPlayerSendTextMessage(cid, 22,skull.msg) doSendMagicEffect(getPlayerPosition(cid), 26) return TRUE end outfit.lua - muda outfit do player para a que ele quiser menos as de GOD, CM e GM! function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local failout = {"66","302","56","45","10"} -- outfits proibidas for i = 1, #failout do if string.find(tostring(param), failout[i]) then doPlayerSendCancel(cid,"Não pode usar estas outfit.") return TRUE end end if(t[1] <= 1 or t[1] == 135 or (t[1] > 160 and t[1] < 192) or t[1] > 351) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Such outfit does not exist.") return true end local tmp = getCreatureOutfit(cid) tmp.lookType = t[1] doCreatureChangeOutfit(cid, tmp) return true end changesex.lua - para mudar de sexo local config = { costPremiumDays = 3 } function onSay(cid, words, param, channel) if(getPlayerSex(cid) >= 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You cannot change your gender.") return TRUE end if(getPlayerPremiumDays(cid) < config.costPremiumDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, not enough premium time- changing gender costs " .. config.costPremiumDays .. " days.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end if(getPlayerPremiumDays(cid) < 65535) then doPlayerAddPremiumDays(cid, -config.costPremiumDays) end if(getPlayerSex(cid) == PLAYERSEX_FEMALE) then doPlayerSetSex(cid, PLAYERSEX_MALE) else doPlayerSetSex(cid, PLAYERSEX_FEMALE) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have changed your gender and lost " .. config.costPremiumDays .. " days of premium time.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) return TRUE end Editado Agosto 3, 2011 por ADM_Forever Link para o comentário Compartilhar em outros sites More sharing options...
Mulizeu 86 Postado Agosto 3, 2011 Share Postado Agosto 3, 2011 (editado) Affew Eu esqueci de por storage!...Vo rever e posto se eu conseguir! Editado Agosto 4, 2011 por mulizeu Link para o comentário Compartilhar em outros sites More sharing options...
over12 0 Postado Agosto 3, 2011 Share Postado Agosto 3, 2011 8888 é o id do storage ou e o value? se for o id passa o value de Vip... se for o value me passe o id... ^^ Link para o comentário Compartilhar em outros sites More sharing options...
CoLoRaDo 83 Postado Agosto 4, 2011 Autor Share Postado Agosto 4, 2011 (editado) mulizeu ok nao testei ainda eu ia testar agora vou esperar tu postar! ------------------------------------------------------------- disk o storage value da vip é 88888 é só isso que precisa? Editado Agosto 4, 2011 por ADM_Forever Link para o comentário Compartilhar em outros sites More sharing options...
over12 0 Postado Agosto 4, 2011 Share Postado Agosto 4, 2011 mulizeu ok nao testei ainda eu ia testar agora vou esperar tu postar! ------------------------------------------------------------- disk o storage value da vip é 88888 é só isso que precisa? Storage e composto: getPlayerStorageValue(cid,valueid) setPlayerStorageValue(cid,valueid,newvalue) Tipo o comando que seria adicionado ai seria: ID = numero do ID playerstorage = getPlayerStorageValue(cid,ID) if playerstorage == 88888 then else end Ja que 88888 é o valor me passa o ID do Storage que te mando o codigo pronto... Link para o comentário Compartilhar em outros sites More sharing options...
CoLoRaDo 83 Postado Agosto 4, 2011 Autor Share Postado Agosto 4, 2011 @Disk ta mas onde eu coloco isso add ai no script pra mim?? Link para o comentário Compartilhar em outros sites More sharing options...
over12 0 Postado Agosto 4, 2011 Share Postado Agosto 4, 2011 Tem que por Antes de Tudo mais depois do Function.... mais tem ke editar o ID Link para o comentário Compartilhar em outros sites More sharing options...
CoLoRaDo 83 Postado Agosto 4, 2011 Autor Share Postado Agosto 4, 2011 (editado) id do que man? que eu saiba só tem storage 88888 e deu não precisa mais nada... vou mandar um exemplo de comando que eu ja tenho mas nao sei o que pegar: local config = { vip = "yes", priceForEachMessage = 10000, -- preço de cada mensagem storage = 88888 } function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return TRUE end if (config.vip == "yes") and getPlayerStorageValue(cid, tonumber(config.storage)) - os.time() <= 0 then doPlayerSendCancel(cid,"Você não possui vip.") return TRUE end if(doPlayerRemoveMoney(cid, config.priceForEachMessage) == TRUE) then doBroadcastMessage("[V.I.P] " .. getPlayerName(cid) .. ": " .. param .. "", MESSAGE_INFO_DESCR) else doPlayerSendCancel(cid, "Você precisa de " .. config.priceForEachMessage .. " gps para enviar a messagem.") end return TRUE end esse é um broadcast só para vips nao sei o que tem que pegar Editado Agosto 4, 2011 por ADM_Forever Link para o comentário Compartilhar em outros sites More sharing options...
Mulizeu 86 Postado Agosto 4, 2011 Share Postado Agosto 4, 2011 (editado) Teste esse! function isWalkable(pos, creature, proj, pz)-- by Nord local config = { vip = "yes", priceForEachMessage = 0, storage = 88888 } if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then if (config.vip == "yes") and getPlayerStorageValue(cid, tonumber(config.storage)) - os.time() <= 0 then doPlayerSendCancel(cid,"Você não possui vip.") return TRUE end return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) end Editado Agosto 4, 2011 por mulizeu Link para o comentário Compartilhar em outros sites More sharing options...
CoLoRaDo 83 Postado Agosto 5, 2011 Autor Share Postado Agosto 5, 2011 mulizeu não funcionou o comando da um erro no dedicado e aparece como se eu estivesse falando normal! Link para o comentário Compartilhar em outros sites More sharing options...
Mulizeu 86 Postado Agosto 5, 2011 Share Postado Agosto 5, 2011 Dei uma alterada nele ve se agr funfa .... local config = { vip = "yes", priceForEachMessage = 0, storage = 88888 } function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then if (config.vip == "yes") and getPlayerStorageValue(cid, tonumber(config.storage)) - os.time() <= 0 then doPlayerSendCancel(cid,"Você não possui vip.") return TRUE end function isWalkable(pos, creature, proj, pz) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) end Link para o comentário Compartilhar em outros sites More sharing options...
CoLoRaDo 83 Postado Agosto 15, 2011 Autor Share Postado Agosto 15, 2011 mulizeu nao entrei muito por motivos pessoais e nao pude ver o script mas agora eu ja vi e nao funcionou tipo ele te leva pra tua casa tendo vip ou nao! Link para o comentário Compartilhar em outros sites More sharing options...
Blazingfire 13 Postado Agosto 15, 2011 Share Postado Agosto 15, 2011 (editado) @Mulizeu, não precisa disso tudo. @ADM_Forever, tente esse: local config = { vip = "yes", priceForEachMessage = 0, storage = 88888 } function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then if (config.vip == "yes") and getPlayerStorageValue(cid,config.storage) - os.time() <= 0 then doPlayerSendCancel(cid,"Você não possui vip.") return TRUE end function isWalkable(pos, creature, proj, pz) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) end Editado Agosto 15, 2011 por Blazingfire Link para o comentário Compartilhar em outros sites More sharing options...
CoLoRaDo 83 Postado Agosto 15, 2011 Autor Share Postado Agosto 15, 2011 (editado) @Blazingfire vou testa-lo agora se funcionar vou dar rep + pra ti e pro mulizeu tambem pois ele me tentou ajudar EDIT: Testado... deu o seguinte erro no distro: [15/08/2011 02:10:57] [Error - TalkAction Interface] [15/08/2011 02:10:57] data/talkactions/scripts/casa.lua:onSay [15/08/2011 02:10:57] Description: [15/08/2011 02:10:57] data/talkactions/scripts/casa.lua:41: attempt to call global 'isWalkable' (a nil value) [15/08/2011 02:10:57] stack traceback: [15/08/2011 02:10:57] data/talkactions/scripts/casa.lua:41: in function <data/talkactions/scripts/casa.lua:6> e nao acontece nada aparece como se eu estivesse falando normal! Editado Agosto 15, 2011 por ADM_Forever Link para o comentário Compartilhar em outros sites More sharing options...
Blazingfire 13 Postado Agosto 15, 2011 Share Postado Agosto 15, 2011 (editado) @Blazingfire vou testa-lo agora se funcionar vou dar rep + pra ti e pro mulizeu tambem pois ele me tentou ajudar EDIT: Testado... deu o seguinte erro no distro: [15/08/2011 02:10:57] [Error - TalkAction Interface] [15/08/2011 02:10:57] data/talkactions/scripts/casa.lua:onSay [15/08/2011 02:10:57] Description: [15/08/2011 02:10:57] data/talkactions/scripts/casa.lua:41: attempt to call global 'isWalkable' (a nil value) [15/08/2011 02:10:57] stack traceback: [15/08/2011 02:10:57] data/talkactions/scripts/casa.lua:41: in function <data/talkactions/scripts/casa.lua:6> e nao acontece nada aparece como se eu estivesse falando normal! Entre na pasta lib e abra o arquivo 050-function, e coloque isso em qualquer lugar: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end Agora pode testar o script.. Editado Agosto 15, 2011 por Blazingfire Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados