[Ajuda] Mudularidade sem callback
#1

Gostaria de saber como faзo para chamar uma funзao em um outro arquivo sem que essa funзao seja uma callback(public) sem que precise passar parametros.Eu fiz uma pergunta no topico do BlueX sobre modularidade e uma pessoa me sugestionou isso:

Quote:
Originally Posted by VeNuZ_
Посмотреть сообщение
Se usares assim:

pawn Код:
module_RequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
}
Nгo precisas de colocar parвmetros caso uses callback precisas senгo irб te dar erro...
Й realmente necessario o retorno de parametros? Por exemplo:

Modulo:

setar.pwn:
Код:
public module_RequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}
main.pwn
Код:
public OnPlayerRequestClass(playerid, classid)
{
  module_RequestClass(playerid,classid);
  return 1;
}
ou posso por apenas: module_RequestClass();

ou eu coloco para chamar a funзao assim no proprio main do arquivo principal:

Код:
main()
{
    module_RequestClass();
}
Espero que entendam minha duvida
Reply
#2

Vocк nгo poderia deixar de passar argumentos na chamada dessa funзгo, module_RequestClass, pois a definiзгo da mesma apresenta parвmetros obrigatуrios, alйm do fato de que as funзхes envolvidas, como SetPlayerPos, precisam de playerid, por exemplo, que й um valor obtido por um parвmetro da funзгo .



Porйm, se a funзгo em questгo nгo trabalhasse com dados de parвmetros e nгo tivesse parвmetros em sua definiзгo, como esta :


pawn Код:
module_Example()
{
    print("Module function !");
}

Seria possнvel realizar sua execuзгo por:


pawn Код:
module_Example();


Espero ter ajudado .
Reply
#3

Entendi,muito obrigado.E que para passar parametros para algo tipo string como por exemplo dialog da erro um erro que nao me lembro agora.Mas tem uma forma especifica ou correta para chamar callbacks que utiliza string?
Reply
#4

Quote:
Originally Posted by 3War
Посмотреть сообщение
Entendi,muito obrigado.E que para passar parametros para algo tipo string como por exemplo dialog da erro um erro que nao me lembro agora.Mas tem uma forma especifica ou correta para chamar callbacks que utiliza string?
Para a passagem de strings costuma-se colocar um par vazio de colchetes apуs o nome do parвmetro, sendo isso feito na definiзгo da funзгo :


pawn Код:
module_StringExample(string[])
{
    printf("String: %s !", string);
}

A funзгo acima poderia ser executada pelo seguinte cуdigo, por exemplo:


pawn Код:
module_StringExample("Testing");


Espero ter ajudado .
Reply
#5

Compriendo.Obrigado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)