[Ajuda] Dъvidas Curtas #1

alinha й aquela ali o q ta no comando

pawn Код:
LINHA AKI!

if(GetPlayerHealth(playerid) < 40)    return SendClientMessage(playerid, 0x33CCFFAA, "Sua vida estб baixa , nao podera comprar Colete!");
Reply

pawn Код:
if( !strcmp(cmdtext, "/colete", true ) )
{
   new Float: kHealth;
   new kDinheiro;
   GetPlayerHealth( playerid, kHealth );
   kDinheiro = GetPlayerMoney( playerid );
   if( !kHealth < 40.0 ) return SendClientMessage( playerid, 0x33CCFFAA, "A sua vida estб demasiado baixa, nгo pode comprar colete!" );
   else if( !kDinheiro < 200 ) return SendClientMessage( playerid, 0x33CCFFAA, "O seu dinheiro й insuficiente (R$200)" );
   SetPlayerArmour( playerid, 100 );
   GivePlayerMoney( playerid, -200 ) ;
   new colete[ 100 ];
   strins( colete, "\n", strlen( colete ) );
   strins( colete, "{7491F6}Comprou Colete com Sucesso!\n", strlen( colete ) );
   strins( colete, "\n", strlen( colete ) );
   ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000} -----------------  ColetE  --------------- ",colete, "Fechar" );
   return true;
}
Reply

3 warning!

pawn Код:
C:\Users\Washington\Desktop\testes\gamemodes\MxP.pwn(461) : warning 213: tag mismatch
C:\Users\Washington\Desktop\testes\gamemodes\MxP.pwn(462) : warning 213: tag mismatch
C:\Users\Washington\Desktop\testes\gamemodes\MxP.pwn(469) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase

Header size:           4064 bytes
Code size:            30360 bytes
Data size:           142032 bytes
Stack/heap size:      16384 bytes; estimated max. usage=40168 cells (160672 bytes)
Total requirements:  192840 bytes

3 Warnings.
Linhas

pawn Код:
LINHA 461
if( !kHealth < 40.0 ) return SendClientMessage( playerid, 0x33CCFFAA, "A sua vida estб demasiado baixa, nгo pode comprar colete!" );

LINHA 462
else if( !kDinheiro < 200 ) return SendClientMessage( playerid, 0x33CCFFAA, "O seu dinheiro й insuficiente (R$200)" );

LINHA469
ShowPlayerDialog(playerid,8439, DIALOG_STYLE_MSGBOX, "{F60000} -----------------  ColetE  --------------- ",colete, "Fechar" );
Reply

Nгo й porque ele vai fazer o random em nъmeros altos que nгo quer dizer que nunca vai dar algum nъmero que jб exista, eu por exemplo jб tive a sorte de ter 4 vezes seguidas o mesmo nъmero em um random de 600.
Entгo oque vocк pode estб fazendo й o seguinte:

Assim que ele definir o nъmero de telefone para o player, vocк pode estб salvando ele como um arquivo.
Entгo na prуxima vez que ele for executar o random ele vai verificar se existe o nъmero(arquivo) caso exista ele farб o random novamente.
Segue o cуdigo abaixo utilizando dini como exemplo:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/comprarcelular", true))
    {
        DefinirNumeroCelularPlayer(playerid);
        return 0x1;
    }
    return 0;
}

stock DefinirNumeroCelularPlayer(playerid)
{
    new arquivo[67];
    new randphone = 1000 + random(8999);
    format(arquivo, sizeof(arquivo), "/Celulares/%d.ini", randphone);
    if(fexist(arquivo)) return DefinirNumeroCelularPlayer(playerid);
    PlayerInfo[playerid][pPnumber] = randphone;
    return 0x1;
}
Atenciosamente,
Falcon.
Reply

Este aqui й o codigo da dialog pra comprar o telefone:

PHP код:
            if(listitem == 0)
            {
                if(
PlayerInfo[playerid][pTraderPerk] > 0)
                {
                    new 
skill 500 100;
                    new 
price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
                    new 
payout 500 price;
                    
format(stringsizeof(string), "~r~R$ %d"payout);
                    
GameTextForPlayer(playeridstring50001);
                    
GivePlayerGP(playerid,- payout);
                    
SBizzInfo[9][sbTill] += payout;
                    
ExtortionSBiz(9payout);
                }
                else
                {
                    
format(stringsizeof(string), "~r~R$ %d"500);
                    
GameTextForPlayer(playeridstring50001);
                    
GivePlayerGP(playerid,-500);
                    
SBizzInfo[9][sbTill] += 500;
                    
ExtortionSBiz(9500);
                }
                
PlayerPlaySound(playerid10520.00.00.0);
                new 
randphone 1000 random(8999);//minimum 1000  max 9999
                
PlayerInfo[playerid][pPnumber] = randphone;
                
PlayerInfo[playerid][pPhone] = 1;
                
format(stringsizeof(string), "   Vocк comprou um celular com nъmero: %d"randphone);
                
SendClientMessage(playeridCOLOR_GRAD4string);
                
SendClientMessage(playeridCOLOR_GRAD5"Vocк pode checar o nъmero qualquer hora no /rg");
                
SendClientMessage(playeridCOLOR_WHITE"DICA: Vocк pode digitar /ajuda para saber comandos do celular");
                
TogglePlayerControllable(playerid1);
            } 
Eu procurei todas referencias а pPnumber e em nenhuma delas foi encontrada verificaзгo de existencia de algum numero igual ao do random.
Reply

Tentou oque eu disse ??
Reply

Eu nгo quero criar um codigo, eu sу quero saber como que este funciona.

#DUVIDA

Criei um comando para guardar alguma arma no porta-malas ou porta-luvas, mas estou encontrando um erro na linha que cria e define o "mun":

OBS: O "c" do "[c]" й de um loop que tem algumas linhas acima.

PHP код:
if(Arma2[c][2] == 0)
{
    
Arma2[c][0] = GetPlayerWeapon(playerid);
    new 
mun GetPlayerAmmo(playerid);
    
Arma2[c][1] = mun;
    
Arma2[c][2] = 1;
    
format(sStrsizeof(sStr), "Vocк colocou a arma de ID %d com %d muniзхes no portaluvas.",GetPlayerWeapon(playerid),mun);
    
SendClientMessage(playeridAmarelosStr);
    
RemovePlayerWeapon(playeridGetPlayerWeapon(playerid));

Reply

Quote:
Originally Posted by Shadoww5
Посмотреть сообщение
Eu nгo quero criar um codigo, eu sу quero saber como que este funciona.
Como vocк mesmo disse nгo tem funзгo ai que verifique isto, se vocк quer uma coisa que nгo contenha em seu script e nгo deseja criar...


Nгo seria melhor utilizar o GetPlayerWeaponData para isto que deseja fazer ? '-'
Reply

Tenho a ligeira impressгo que vocк nгo leu meu post.

Eu falei que nгo quero o codigo, nem quero criб-lo, somente queria saber se alguem sabe como que funciona aquele codigo sem repetiзгo de numeros.

Quanto а minha outra duvida, eu irei tentar fazer algo aqui com o GetPlayerWeaponData.

Mas se alguem souber o que estб causando o erro, peзo que me ajude.

OBS: No topo do GM tem esta array:

PHP код:
new Arma2[MAX_VEHICLES][3]; 
Reply

Olб, criei um game mod basico, mas quando coloco ele online e tento conectar, nгo aparece pra selecionar as skin.
eu coloquei os ids da skin as coordenadas as muniзхes e armas que ira nascer mais nгo aparece nada, oque devo fazer ?
Reply

Colocou as skins, muniзхes, armas, etc .. no AddPlayerClass ?
Reply

Quote:
Originally Posted by Shadoww5
Посмотреть сообщение
Colocou as skins, muniзхes, armas, etc .. no AddPlayerClass ?
sim. olha como estб o game mod e ve se estб certo:

Код:
//------------------------------------------------------------------------------
//Gamemode: Guerra Los Vagos X Groove Street
//Feito por : PureGewalt
//ATENЗГO: "Nгo retire os crйditos"
//ATENЗГO: GM distribuido com a condiзгo de NГO ALTERAR o comando /creditos
//MSN: bru_1dasul@hotmail.com
//------------------------------------------------------------------------------
#pragma tabsize 0
#include "a_samp.inc"
#define JFS_OWNA 9122
public OnGameModeInit()
{
    UsePlayerPedAnims(); // PRA CORRER NORMAL
// =========================== TODAS AS SKINS DO JOGO ======================

    AddPlayerClass(106,2494.7449,-1685.3438,13.5118,8.8306); // Skin Groove
    AddPlayerClass(107,2494.7449,-1685.3438,13.5118,8.8306); // Skin Groove
    AddPlayerClass(105,2494.7449,-1685.3438,13.5118,8.8306); // Skin Groove
    AddPlayerClass(106,2494.7449,-1685.3438,13.5118,8.8306); // Skin Groove
    AddPlayerClass(13,2494.7449,-1685.3438,13.5118,8.8306); // Skin Groove
    AddPlayerClass(108,733.8808,-1355.7417,18.8125,273.4545); // SKIN LOS VAGOS
    AddPlayerClass(109,733.8808,-1355.7417,18.8125,273.4545); // SKIN LOS VAGOS
    AddPlayerClass(110,733.8808,-1355.7417,18.8125,273.4545); // SKIN LOS VAGOS
    AddPlayerClass(12,733.8808,-1355.7417,18.8125,273.4545); // SKIN LOS VAGOS
    
// =========================== Carros da HQ Groove ======================

    AddStaticVehicle(495,2512.1790,-1665.3683,13.5748,102.8315,86,86); // CARRO
    AddStaticVehicle(495,2512.8171,-1673.8953,13.5134,155.8579,86,86); // CARRO
    AddStaticVehicle(560,2508.6643,-1657.4443,13.5938,98.4448,86,86); // carro
    AddStaticVehicle(560,2501.5278,-1653.9095,13.4700,88.7314,86,86); // carro
    AddStaticVehicle(560,2481.9417,-1684.6458,13.5078,41.1043,86,86); // carro
    AddStaticVehicle(495,768.7696,-1334.0712,13.5413,178.8035,6,6); // carros los vagos
    AddStaticVehicle(495,763.1823,-1335.2855,13.5387,181.9369,6,6); // carros los vagos
    AddStaticVehicle(560,759.1560,-1334.6492,13.5401,185.3836,6,6); // carros los vagos
    AddStaticVehicle(560,752.6501,-1334.7467,13.5399,191.6503,6,6); // carros los vagos
    AddStaticVehicle(560,747.3741,-1334.6166,13.5401,182.2502,6,6); // carros los vagos

// =========================== Msg do servidor ======================

    SendClientMessage(playerid, 0x1600E0AA, ">> Game mod desenvolvido por PureGewalt /creditos <<
    SendClientMessage(playerid, 0x1600E0AA, ">> Digite /regras para nгo fazer merda!!! <<
    SendClientMessage(playerid, 0x1600E0AA, ">> Nunca faзa DB ou serб PUNIDO! <<
    SendClientMessage(playerid, 0x1600E0AA, ">> Dъvidas? /relatorio chame um admin!  <<
    SendClientMessage(playerid, 0x1600E0AA, ">> Nгo sabe os comandos? digite /comandos <<
    SendClientMessage(playerid, 0x1600E0AA, ">> Nгo sabe qual й o Objetivo do game mod? digite /ajuda <<
Ps: tirei a muniзгo e as armas. irei ve se consigo criar um /equipar na Hq Groove e Los Vagos.
Reply

Й necessбrio colocar todos estes parвmetros:

AddPlayerClass(skin, Float, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)

Fonte: https://sampwiki.blast.hk/wiki/AddPlayerClass
Reply

Oquк й uma callback?
Reply

forward + public
Reply

Forward+public sгo sу 2 tipos de vбriaveis, nгo uma callback.

Se usa o public para poder chamar o Timer, o public em sн nгo й a callback.


E vocк nгo precisa usar forward.
Reply

Estou com uma duvida, eu bloquiei as profissoes de policiais no meu servidor, agora sу o administrado pode setar para o player.

Quando o player comete alguma infraзгo й retirado a profissao dele por um tempo, para saber quem esta proibido de pegar a profissao fiz um topico no forum do servidor com a lista de nicks.

A minha duvida й: Tem como eu criar uma especie de "bloco e notas" no servidor e ir adicionando os nomes, assim todos os administradores poderгo ver e editar dentro do servidor e os players verem quem estб na lista por algum comando.
Reply

Use um sistema de salvamento ProcessFail.
Se vocк nгo tem experiкncia nisso, pode usar Dini. Nгo й tгo veloz, mas й fбcil de entender.
Reply

Tenho uma dъvida sobre comandos. tpw qnd o player der /suicidio ele morre.

pawn Код:
if(strcmp,cmdtext,"/suicidio",true == 0) {
SetPlayerHealth(playerid,0);
SendClientMessage(COLOR_BLUE,"Vocк cometeu suicнdio",true == 0)
return 1;
}
O Lugar certo й no OnPlayerCommandText nй?

OUTRA PERGUNTA:
Como faz pra pegar coordenadas de objetos,tipo pra poder fazer um teleporte?
Reply

Quote:
Originally Posted by [GuN]Erick[M]
Посмотреть сообщение
O Lugar certo й no OnPlayerCommandText nй?
Sim.

Quote:
Originally Posted by [GuN]Erick[M]
Посмотреть сообщение
OUTRA PERGUNTA:
Como faz pra pegar coordenadas de objetos,tipo pra poder fazer um teleporte?
Se o objeto jб tiver no seu GM pegue as coordenadas no CreateObject ou seja lб qual sintaxe vocк usou.
Se nгo й bem isso que vocк quer, faзa o objeto no MTA e pegue a coordenada.
Reply


Forum Jump:


Users browsing this thread: 26 Guest(s)