[AJUDA] OnPlayerSpawn
#1

Meu onplayerspawn estб bugado, todos nascem na minha casa, й sу pra eu, o leandro e o Feniix_Max nascer em suas devidas casas:

pawn Код:
public OnPlayerSpawn(playerid)
{
    static sName[11];
    GetPlayerName(playerid,sName,11);
    if(!strcmp(sName,"Luciano_Jr",true))
    {
        GivePlayerWeapon(playerid, 1, 1);
        GivePlayerWeapon(playerid, 32, 9999);
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 1);
        SetPlayerPos(playerid, -2160.3323,639.6740,1057.5861);
        }
    GetPlayerName(playerid,sName,11);
    if(!strcmp(sName,"leandro",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 12);
        SetPlayerPos(playerid, 2324.4360,-1136.1110,1051.3047);
        }
     GetPlayerName(playerid,sName,11);
    if(!strcmp(sName,"Feniix_Max",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 8);
        SetPlayerPos(playerid, 2815.2075,-1168.8481,1029.1719);
        }
    //RESTO
    AntiDeAMX();
    PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 4,1);
    GivePlayerWeapon(playerid, 24,150);
    GivePlayerWeapon(playerid, 31, 300);
    GivePlayerWeapon(playerid, 29, 75);

//Gang Zones Dominбveis
GangZoneShowForPlayer(playerid, Casarao, COR_CASARAO);
GangZoneShowForPlayer(playerid, Park, COR_PARK);
GangZoneShowForPlayer(playerid, Estacionamento, COR_ESTACIONAMENTO);
GangZoneShowForPlayer(playerid, Bar, COR_BAR);
        return  1;
}
O que tem de errado?
Reply
#2

pawn Код:
public OnPlayerSpawn(playerid)
{
    new sName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sName,sizeof(sName));
    if(!strcmp(sName,"Luciano_Jr",true))
    {
        GivePlayerWeapon(playerid, 1, 1);
        GivePlayerWeapon(playerid, 32, 9999);
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 1);
        SetPlayerPos(playerid, -2160.3323,639.6740,1057.5861);
        }
    if(!strcmp(sName,"leandro",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 12);
        SetPlayerPos(playerid, 2324.4360,-1136.1110,1051.3047);
        }
    if(!strcmp(sName,"Feniix_Max",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 8);
        SetPlayerPos(playerid, 2815.2075,-1168.8481,1029.1719);
        }
    //RESTO
    AntiDeAMX();
    PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 4,1);
    GivePlayerWeapon(playerid, 24,150);
    GivePlayerWeapon(playerid, 31, 300);
    GivePlayerWeapon(playerid, 29, 75);

//Gang Zones Dominбveis
GangZoneShowForPlayer(playerid, Casarao, COR_CASARAO);
GangZoneShowForPlayer(playerid, Park, COR_PARK);
GangZoneShowForPlayer(playerid, Estacionamento, COR_ESTACIONAMENTO);
GangZoneShowForPlayer(playerid, Bar, COR_BAR);
        return  1;
}
Reply
#3

PHP код:
public OnPlayerSpawn(playerid)
{
    new 
sName[MAX_PLAYER_NAME];
    
GetPlayerName(playerid,sName,sizeof(sName));
    if(!
strcmp(sName,"Luciano_Jr",true))
    {
        
GivePlayerWeapon(playerid11);
        
GivePlayerWeapon(playerid329999);
        
SetPlayerHealth(playerid100.0);
        
SetPlayerArmour(playerid100.0);
        
SetPlayerInterior(playerid1);
        
SetPlayerPos(playerid, -2160.3323,639.6740,1057.5861);
        }
    else if(!
strcmp(sName,"leandro",true))
    {
        
SetPlayerHealth(playerid100.0);
        
SetPlayerArmour(playerid100.0);
        
SetPlayerInterior(playerid12);
        
SetPlayerPos(playerid2324.4360,-1136.1110,1051.3047);
        }
    else if(!
strcmp(sName,"Feniix_Max",true))
    {
        
SetPlayerHealth(playerid100.0);
        
SetPlayerArmour(playerid100.0);
        
SetPlayerInterior(playerid8);
        
SetPlayerPos(playerid2815.2075,-1168.8481,1029.1719);
    }
    else
    {
        
SetPlayerHealth(playerid100.0);
        
SetPlayerArmour(playerid100.0);
        
SetPlayerInterior(playerid0);
        
SetPlayerPos(playerid0.00.00.0);//Aqui vc bota a coodernada de quem tem um dos 3 nomes!
    

Reply
#4

pawn Код:
public OnPlayerSpawn(playerid)
{
    static sName[11];
    GetPlayerName(playerid,sName,11);
    if(strcmp(sName,"Luciano_Jr",true))
    {
        GivePlayerWeapon(playerid, 1, 1);
        GivePlayerWeapon(playerid, 32, 9999);
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 1);
        SetPlayerPos(playerid, -2160.3323,639.6740,1057.5861);
        }
    GetPlayerName(playerid,sName,11);
    if(strcmp(sName,"leandro",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 12);
        SetPlayerPos(playerid, 2324.4360,-1136.1110,1051.3047);
        }
     GetPlayerName(playerid,sName,11);
    if(strcmp(sName,"Feniix_Max",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 8);
        SetPlayerPos(playerid, 2815.2075,-1168.8481,1029.1719);
        }
    //RESTO
    AntiDeAMX();
    PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 4,1);
    GivePlayerWeapon(playerid, 24,150);
    GivePlayerWeapon(playerid, 31, 300);
    GivePlayerWeapon(playerid, 29, 75);

//Gang Zones Dominбveis
GangZoneShowForPlayer(playerid, Casarao, COR_CASARAO);
GangZoneShowForPlayer(playerid, Park, COR_PARK);
GangZoneShowForPlayer(playerid, Estacionamento, COR_ESTACIONAMENTO);
GangZoneShowForPlayer(playerid, Bar, COR_BAR);
        return  1;
}
A primeira vista o erro tб no sнmbolo (!), ou seja, se o player "nгo for" uma dessas pessoas vai ser teleportada pra casa..
Reply
#5

[AF]Junior, como o Josma_cmd jб disse, esse sistema estб de forma que se eles nгo forem os nicks que estгo aн nasceram na casa.
Para resolver, troque o:
Код:
(...) !strcmp (...)
por:
Код:
(...) strcmp (...)
Reply
#6

ou true por false
Reply
#7

Na verdade , o problema dele nгo foi no strcmp e sim no tamanho da variбvel array sName[11];, muito pequeno pra armazenar completamente o nome de um jogador .


Strcmp retorna 0 se as strings dos parвmetros forem iguais, por isso o strcmp deve estar sendo checado se й igual б 0 nos ifs, no caso de querer checar se as strings sгo iguais .


Este cуdigo:


pawn Код:
new Ken = 0;
if(Ken == 0) return print(":O !");

Й o mesmo que:


pawn Код:
new Ken = 0;
if(!Ken) return print(":O !");

Claro que, no caso de funзхes, isso pode variar muito, dependendo do return da funзгo em questгo .


Bem, aqui estб a minha "versгo" do cуdigo arrumado .


pawn Код:
public OnPlayerSpawn(playerid)
{
    AntiDeAMX();
    PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 4,1);
    GivePlayerWeapon(playerid, 24,150);
    GivePlayerWeapon(playerid, 31, 300);
    GivePlayerWeapon(playerid, 29, 75);
    //Gang Zones Dominбveis
    GangZoneShowForPlayer(playerid, Casarao, COR_CASARAO);
    GangZoneShowForPlayer(playerid, Park, COR_PARK);
    GangZoneShowForPlayer(playerid, Estacionamento, COR_ESTACIONAMENTO);
    GangZoneShowForPlayer(playerid, Bar, COR_BAR);
    //Casas dos Jogadores
    static sName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sName,sizeof(sName));
    if(!strcmp(sName,"Luciano_Jr",true))
    {
        GivePlayerWeapon(playerid, 1, 1);
        GivePlayerWeapon(playerid, 32, 9999);
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 1);
        SetPlayerPos(playerid, -2160.3323,639.6740,1057.5861);
        return true;
    }
    else if(!strcmp(sName,"leandro",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 12);
        SetPlayerPos(playerid, 2324.4360,-1136.1110,1051.3047);
        return true;
    }
    else if(!strcmp(sName,"Feniix_Max",true))
    {
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerInterior(playerid, 8);
        SetPlayerPos(playerid, 2815.2075,-1168.8481,1029.1719);
    }
    return 1;
}

Espero ter ajudado .
Reply
#8

Valeu RJJJ mais uma vez, poderia ler meu tуpico lб do /dominar? Rsrs, obrigado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)