SA-MP Forums Archive
[Ajuda] Como criar publics com funзхes nativas ? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Como criar publics com funзхes nativas ? (/showthread.php?tid=432400)



Como criar publics com funзхes nativas ? - rCr - 22.04.2013

Por exemplo, a Public OnPlayerText .
Tem os parвmetros : playerid, text .

A public OnPlayerDeath .
Tem os parвmetros : killerid, reason.

Queria criar uma public , Minha, com os parвmetros meus, que Desempenhasse uma funзгo no gm.
Como por exemplo :

public House(playerid, houseid, state, location)
Entendem ?

Isso й um exemplo.

Mais em fim, como eu criou publics com funзхes a nгo ser playerid
Й isso flw





Re: Como criar publics com funзхes nativas ? - steki. - 22.04.2013

Tem certeza que vocк sabe scriptar?
Uma callback nгo й nada mais que uma funзгo, mas ela й pъblica por ser chamada pelo samp server.
Apenas dк o forward e public como se fosse uma callback normal e chame-a como uma funзгo normal.
Vocк pode muito bem, em qualquer hora, dar OnPlayerConnect(32); que a callback serб chamada.

Vocк pode usar, tambйm, funзхes locais ex:
House(param1, param2) {
return param1 + param2;
}


Re: Como criar publics com funзхes nativas ? - rCr - 22.04.2013

mais eu nгo sei fazer isso pф


Re: Como criar publics com funзхes nativas ? - steki. - 22.04.2013

Esse cуdigo "simularб" um player se conectando.
pawn Код:
public OnGameModeInit() {
    OnPlayerConnect(32);
    return 1;
}

public OnPlayerConnect(playerid) {
    SendClientMessage(playerid, -1, "Olб");
    return 1;
}
Como vocк pode perceber, estamos chamando OnPlayerConnect como se fosse uma funзгo nativa qualquer.
Vocк pode criar as suas funзхes, como a OnPlayerConnect, dando o nome que quiser e passando os parвmetros que quiser. Ex:

pawn Код:
public OnGameModeInit() {
    OnGameModeTerminouInit("Carregado com Sucesso");
    return 1;
}

forward OnGameModeTerminouInit(mensagem[]);

public OnGameModeTerminouInit(mensagem[]) {
    SendClientMessage(playerid, -1, "Olб");
    return 1;
}
O 'forward' nada mais й um aviso pro compilador "hey, essa funзгo existe ^.^" e ele tomarб iniciativa. Esses forwards estгo contidos no a_samp para as callbacks, mas como a funзгo й nossa, temos que dar o forward.


Re: Como criar publics com funзхes nativas ? - rCr - 22.04.2013

Ta certo.


Re: Como criar publics com funзхes nativas ? - zSuYaNw - 22.04.2013

https://sampforum.blast.hk/showthread.php?pid=2249016#pid2249016