[Ajuda] Como criar publics com funзхes nativas ?
#1

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


Reply
#2

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;
}
Reply
#3

mais eu nгo sei fazer isso pф
Reply
#4

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.
Reply
#5

Ta certo.
Reply
#6

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


Forum Jump:


Users browsing this thread: 2 Guest(s)