[Ayuda] OnPlayerRequestSpawn
#1

Hace 1 dнa publique esto: https://sampforum.blast.hk/showthread.php?tid=540900

En el cual 1 usuario me respondiу diciendo que usara "onplayerrequestspawn" para que el jugador solo pueda spawnear mбximo 2 o 3 veces en un determinado tiempo. Es decir que solo spawne 2 o 3 veces seguidas, despuйs de eso debe esperar un tiempo, no se, 20 segundos... para poder spawnear de nuevo. pero no se como hacer eso . no se como hacer el cуdigo pawno. Si no es con Porfavor pueden pasarme el cуdigo. Muchas Gracias.

PD: Si alguien tiene skype para poder hablar y tal vez me entienda mejor porfavor dйjelo o mandemelo por privado! Muchas gracias. o en todo caso ********. Saludos!
Reply
#2

crea una variable (a playerid) que se le valla sumando +1 cada vez que spawnee, y una condiciуn que si esa variable ([playerid]) es mayor a 3, lo kickee o lo que le quieras hacer al jugador no sй.

para lo de que despues de 20 segundos despuйs de spawnear 3 veces pueda seguir spawneando, puedes hacerlo con un timer que cuando la variable llegue a 3 se active y cuando llegue a 20 el timer le setee la variable al jugador a 0. Creo que puedes hacer eso con 'GetTickCount' pero yo no he usado esa funciуn y ahora mismo no he aprendido a usarla (no la he necesitado todavнa), mira la wiki y aprende a usarla vos, o hazla con timer xd.

GetTickCount
SetTimerEx
Reply
#3

Yo tambien quiero ese codigo ya que mi sv recibe ataques xd :c aver si ahi una persona buena que sepa hacer eso x.x para evitar el ataque
Reply
#4

Quote:
Originally Posted by [Sky]Most
Посмотреть сообщение
Yo tambien quiero ese codigo ya que mi sv recibe ataques xd :c aver si ahi una persona buena que sepa hacer eso x.x para evitar el ataque
en mi mensaje dice como puedes hacerlo
Reply
#5

No entiendo nada sobre eso xd , podrias crear un pawno con esos codigos o nose una ayuda como ponerlo al gm D:
Reply
#6

Quote:
Originally Posted by [Sky]Most
Посмотреть сообщение
Ya sabes como evitar el ataque ? me lo pasas ? :c
que fresco eh?

no sй si eso evita un ataque, ustedes son los que tienen esa teorнa. Quieren hacer ese cуdigo y yo estoy respondiendo, esa es la manera que yo lo harнa (con esto me refiero a que no se si alguien con mбs conocimiento que yo sepa hacerlo de otra manera).

Es algo demasiado sencillo, lee tutoriales y aprende a usar variables y todo eso. Si quieres que te pasen un cуdigo hecho para eso estб el topic de pedidos de scripts, por acб sуlo guнo en lo poco que sepa
Reply
#7

Hazlo usando una variable creo que es lo mejor que puedes hacer, algo como:

pawn Код:
new spawneo[MAX_PLAYERS];
en onplayerrequestspawn:
pawn Код:
if(spawneo[playerid] >=3) return kick(playerid);
spawneo[playerid]+=1;
ponlo en ese orden, luego en onplayerconnect pon la variable en 0...
pawn Код:
spawneo[playerid]=0;
otra cosa que he llegado a ver es que se usa onplayerrequestspawn cuando se ejecuta el server lagger, te recomiendo retornar false OnPlayerRequestSpawn, para que no se puedan spawnear por ese medio, yo he testeado el mod lagger ese y retornando el valor a false el jugador no hace nada, en pocas palabras reemplaza todo el cуdigo de onplayerrequestspawn y ponlo asн:
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    return 0;
}
Recuerda que no puedes usar onplayerrequestspawn, pues esta retornando false y si retorna false no se ejecutara el cуdigo, asн que yo creo que esa es una mejor soluciуn para este server lagger...

PD: para que quede claro de esa manera se puede evitar, no se si es preciso pero lo he probado y me ha funcionado...
Reply
#8

Hola juand, gracias por los codigos pwn , pero tengo una duda

el:

if(spawneo[playerid] >=3) return kick(playerid);
spawneo[playerid]+=1;

donde va? es aparte de

public OnPlayerRequestSpawn(playerid)
{
return 0;
}

??
Reply
#9

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(spawneo[playerid] >=3) return kick(playerid);
    return 0;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
    spawneo[playerid]+=1;
    return 1;
}
Reply
#10

Ya lo meti todo al GM pero me sale un error :c disculpenme soy un poco ignorante para esto xd
Este es el error :

: error 017: undefined symbol "kick"
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)