[Ajuda] Sistema de Habilitaзгo
#1

Meu Problema e que Nao esta removendo o Jogador do Veiculo nem Imprimindo a Mensagem Caso ele Nao tenha Certa Habilitaзгo

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{

    if(vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454 || vid == 472 || vid == 473 || vid == 474 || vid == 484 || vid == 493 || vid == 595 || vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454)
    {
        if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            if(DOF2_GetInt(arquivo, "Nautica") == 1)
            {
                TogglePlayerControllable(playerid, true);
            }
            else if(PlayerInfo[playerid][Nautica] == 0)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Nautica.");
            }
        }
    }
    if(vid == 400 || vid == 401 || vid == 402 || vid == 403 || vid == 404 || vid == 405 || vid == 406 || vid == 407 || vid == 408 || vid == 409 || vid == 410 || vid == 411 || vid == 412 || vid == 413 || vid == 414
    || vid == 415 || vid == 416 || vid == 417 || vid == 418 || vid == 419 || vid == 420 || vid == 421 || vid == 431 || vid == 432 || vid == 433 || vid == 434 || vid == 435 || vid == 436 || vid == 437 || vid == 438
    || vid == 439 || vid == 440 || vid == 441 || vid == 442 || vid == 443 || vid == 444 || vid == 445 || vid == 447 || vid == 448 || vid == 449 || vid == 450 || vid == 451 || vid == 455 || vid == 456 || vid == 457
    || vid == 456 || vid == 457 || vid == 458 || vid == 459 || vid == 470 || vid == 471 || vid == 474 || vid == 475 || vid == 477 || vid == 478 || vid == 479 || vid == 480 || vid == 482 || vid == 483 || vid == 485
    || vid == 486 || vid == 489 || vid == 490 || vid == 491 || vid == 492 || vid == 494 || vid == 495 || vid == 496 || vid == 497 || vid == 498 || vid == 499 || vid == 500 || vid == 501 || vid == 502 || vid == 503
    || vid == 504 || vid == 505 || vid == 506 || vid == 507 || vid == 508 || vid == 514 || vid == 515 || vid == 516 || vid == 517 || vid == 518 || vid == 521 || vid == 522 || vid == 523 || vid == 524 || vid == 525
    || vid == 526 || vid == 527 || vid == 528 || vid == 529 || vid == 530 || vid == 531 || vid == 532 || vid == 533 || vid == 534 || vid == 535 || vid == 536 || vid == 537 || vid == 538 || vid == 539 || vid == 540
    || vid == 541 || vid == 542 || vid == 543 || vid == 544 || vid == 545 || vid == 550 || vid == 551 || vid == 552 || vid == 554 || vid == 555 || vid == 556 || vid == 557 || vid == 558 || vid == 559 || vid == 560
    || vid == 561 || vid == 562 || vid == 563 || vid == 564 || vid == 565 || vid == 566 || vid == 567 || vid == 568 || vid == 569 || vid == 570 || vid == 571 || vid == 572 || vid == 573 || vid == 574 || vid == 575
    || vid == 576 || vid == 578 || vid == 579 || vid == 580 || vid == 581 || vid == 582 || vid == 583 || vid == 584 || vid == 585 || vid == 586 || vid == 587 || vid == 588 || vid == 589 || vid == 590 || vid == 591
    || vid == 594 || vid == 596 || vid == 597 || vid == 598 || vid == 599 || vid == 600 || vid == 601 || vid == 602 || vid == 603 || vid == 604 || vid == 605 || vid == 606 || vid == 607 || vid == 608 || vid == 609 || vid ==610)
    {
        if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            if(DOF2_GetInt(arquivo, "Terrestre") == 1)
            {
                TogglePlayerControllable(playerid, 1);
            }
            else if(PlayerInfo[playerid][Terrestre] == 0)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Terrestre");
            }
        }
    }
    if(vid == 460 || vid == 487 || vid == 476 || vid == 511 || vid == 512 || vid == 513 || vid == 519 || vid == 520 || vid == 553 || vid == 577 || vid == 592 || vid == 593 || vid == 460 || vid == 476)
    {
        if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            if(DOF2_GetInt(arquivo, "Aerea") == 1)
            {
                TogglePlayerControllable(playerid, 1);
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Aerea.");
            }
        }
    }
    return 1;
}
Reply
#2

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new habs[128];
    format(habs, sizeof(habs), "Diretorio das contas", nome(playerid));
    if(vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454 || vid == 472 || vid == 473 || vid == 474 || vid == 484 || vid == 493 || vid == 595 || vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454)
    {
        if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            if(DOF2_GetInt(habs, "Nautica") == 1)
            {
                TogglePlayerControllable(playerid, true);
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Nautica.");
            }
        }
    }
    if(vid == 400 || vid == 401 || vid == 402 || vid == 403 || vid == 404 || vid == 405 || vid == 406 || vid == 407 || vid == 408 || vid == 409 || vid == 410 || vid == 411 || vid == 412 || vid == 413 || vid == 414
    || vid == 415 || vid == 416 || vid == 417 || vid == 418 || vid == 419 || vid == 420 || vid == 421 || vid == 431 || vid == 432 || vid == 433 || vid == 434 || vid == 435 || vid == 436 || vid == 437 || vid == 438
    || vid == 439 || vid == 440 || vid == 441 || vid == 442 || vid == 443 || vid == 444 || vid == 445 || vid == 447 || vid == 448 || vid == 449 || vid == 450 || vid == 451 || vid == 455 || vid == 456 || vid == 457
    || vid == 456 || vid == 457 || vid == 458 || vid == 459 || vid == 470 || vid == 471 || vid == 474 || vid == 475 || vid == 477 || vid == 478 || vid == 479 || vid == 480 || vid == 482 || vid == 483 || vid == 485
    || vid == 486 || vid == 489 || vid == 490 || vid == 491 || vid == 492 || vid == 494 || vid == 495 || vid == 496 || vid == 497 || vid == 498 || vid == 499 || vid == 500 || vid == 501 || vid == 502 || vid == 503
    || vid == 504 || vid == 505 || vid == 506 || vid == 507 || vid == 508 || vid == 514 || vid == 515 || vid == 516 || vid == 517 || vid == 518 || vid == 521 || vid == 522 || vid == 523 || vid == 524 || vid == 525
    || vid == 526 || vid == 527 || vid == 528 || vid == 529 || vid == 530 || vid == 531 || vid == 532 || vid == 533 || vid == 534 || vid == 535 || vid == 536 || vid == 537 || vid == 538 || vid == 539 || vid == 540
    || vid == 541 || vid == 542 || vid == 543 || vid == 544 || vid == 545 || vid == 550 || vid == 551 || vid == 552 || vid == 554 || vid == 555 || vid == 556 || vid == 557 || vid == 558 || vid == 559 || vid == 560
    || vid == 561 || vid == 562 || vid == 563 || vid == 564 || vid == 565 || vid == 566 || vid == 567 || vid == 568 || vid == 569 || vid == 570 || vid == 571 || vid == 572 || vid == 573 || vid == 574 || vid == 575
    || vid == 576 || vid == 578 || vid == 579 || vid == 580 || vid == 581 || vid == 582 || vid == 583 || vid == 584 || vid == 585 || vid == 586 || vid == 587 || vid == 588 || vid == 589 || vid == 590 || vid == 591
    || vid == 594 || vid == 596 || vid == 597 || vid == 598 || vid == 599 || vid == 600 || vid == 601 || vid == 602 || vid == 603 || vid == 604 || vid == 605 || vid == 606 || vid == 607 || vid == 608 || vid == 609 || vid ==610)
    {
        if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            if(DOF2_GetInt(habs, "Terrestre") == 1)
            {
                TogglePlayerControllable(playerid, 1);
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Terrestre");
            }
        }
    }
    if(vid == 460 || vid == 487 || vid == 476 || vid == 511 || vid == 512 || vid == 513 || vid == 519 || vid == 520 || vid == 553 || vid == 577 || vid == 592 || vid == 593 || vid == 460 || vid == 476)
    {
        if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
        {
            if(DOF2_GetInt(habs, "Aerea") == 1)
            {
                TogglePlayerControllable(playerid, 1);
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Aerea.");
            }
        }
    }
    return 1;
}

stock nome(playerid)
{
    new nj[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nj, sizeof(nj));
    return nj;
}
Reply
#3

Obrigado dPlaYer
Mas Nao Funcionou =/
Reply
#4

UP

Alguem Sabe Resolver ? ainda Nao Consegui :P
Reply
#5

pawn Код:
if(vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454 || vid == 472 || vid == 473 || vid == 474 || vid == 484 || vid == 493 || vid == 595 || vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(DOF2_GetInt(arquivo, "Nautica") == 1)
        {
            TogglePlayerControllable(playerid, true);
        }
        else if(DOF2_GetInt(arquivo, "Nautica") == 0)
        {
            RemovePlayerFromVehicle(playerid);
            SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Nautica.");
        }
    }
}
e coloque nos outros
pawn Код:
else if(DOF2_GetInt(arquivo, "Terrestre") == 0)

else if(DOF2_GetInt(arquivo, "Aerea") == 0)
Dica: lhe aconselho para armazenar isso em variaveis, e para carregar as mesmas no login / registro, ler arquivos muitas vezes pode causar lag em seu servidor.
Reply
#6

Nao Deu =/

Isso ta Frustando =/
Reply
#7

Primeiro, cria uma mensagem de debug abaixo do "TogglePlayerControllable(playerid, true);", pode ser SendClientMessage(playerid, COLOR, "TESTINGGGGGGGGGGGGGGGGGGGGGG"); , para ver se ele estб a entrar nesse if, se estiver й um problema noutra parte do gamemode, porque a variбvel PlayerInfo[playerid][Nautica] supostamente devia estar a "0".. experimenta
Reply
#8

Fiz assim

pawn Код:
TogglePlayerControllable(playerid, true);
                SendClientMessage(playerid, -1, "[ » ] Mensagem de DEBUG");
e entrei no veiculo e nao imprimiu nenhuma mansagem =/

Creio que o problema Esta ns definiзхes dos veiculos

pawn Код:
if(vid == 400 || vid == 401 || vid == 402 || vid == 403 || vid == 404 || vid == 405 || vid == 406 || vid == 407 || vid == 408 || vid == 409 || vid == 410 || vid == 411 || vid == 412 || vid == 413 || vid == 414
    || vid == 415 || vid == 416 || vid == 417 || vid == 418 || vid == 419 || vid == 420 || vid == 421 || vid == 431 || vid == 432 || vid == 433 || vid == 434 || vid == 435 || vid == 436 || vid == 437 || vid == 438
    || vid == 439 || vid == 440 || vid == 441 || vid == 442 || vid == 443 || vid == 444 || vid == 445 || vid == 447 || vid == 448 || vid == 449 || vid == 450 || vid == 451 || vid == 455 || vid == 456 || vid == 457
    || vid == 456 || vid == 457 || vid == 458 || vid == 459 || vid == 470 || vid == 471 || vid == 474 || vid == 475 || vid == 477 || vid == 478 || vid == 479 || vid == 480 || vid == 482 || vid == 483 || vid == 485
    || vid == 486 || vid == 489 || vid == 490 || vid == 491 || vid == 492 || vid == 494 || vid == 495 || vid == 496 || vid == 497 || vid == 498 || vid == 499 || vid == 500 || vid == 501 || vid == 502 || vid == 503
    || vid == 504 || vid == 505 || vid == 506 || vid == 507 || vid == 508 || vid == 514 || vid == 515 || vid == 516 || vid == 517 || vid == 518 || vid == 521 || vid == 522 || vid == 523 || vid == 524 || vid == 525
    || vid == 526 || vid == 527 || vid == 528 || vid == 529 || vid == 530 || vid == 531 || vid == 532 || vid == 533 || vid == 534 || vid == 535 || vid == 536 || vid == 537 || vid == 538 || vid == 539 || vid == 540
    || vid == 541 || vid == 542 || vid == 543 || vid == 544 || vid == 545 || vid == 550 || vid == 551 || vid == 552 || vid == 554 || vid == 555 || vid == 556 || vid == 557 || vid == 558 || vid == 559 || vid == 560
    || vid == 561 || vid == 562 || vid == 563 || vid == 564 || vid == 565 || vid == 566 || vid == 567 || vid == 568 || vid == 569 || vid == 570 || vid == 571 || vid == 572 || vid == 573 || vid == 574 || vid == 575
    || vid == 576 || vid == 578 || vid == 579 || vid == 580 || vid == 581 || vid == 582 || vid == 583 || vid == 584 || vid == 585 || vid == 586 || vid == 587 || vid == 588 || vid == 589 || vid == 590 || vid == 591
    || vid == 594 || vid == 596 || vid == 597 || vid == 598 || vid == 599 || vid == 600 || vid == 601 || vid == 602 || vid == 603 || vid == 604 || vid == 605 || vid == 606 || vid == 607 || vid == 608 || vid == 609 || vid ==610)
Como resolvo isso :S
Reply
#9

talvez seja disso, talvez nгo.. podes explicar ou postar se quiseres o cуdigo que usaste para conseguir o vid? o problema pode estar aн

Mas antes experimenta isto
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
        if(vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454 || vid == 472 || vid == 473 || vid == 474 || vid == 484 || vid == 493 || vid == 595 || vid == 430 || vid == 446 || vid == 452 || vid == 453 || vid == 454)
        {
            if(DOF2_GetInt(arquivo, "Nautica") == 1)
                TogglePlayerControllable(playerid, true);
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Nautica.");
            }  
        }
        else if(vid == 400 || vid == 401 || vid == 402 || vid == 403 || vid == 404 || vid == 405 || vid == 406 || vid == 407 || vid == 408 || vid == 409 || vid == 410 || vid == 411 || vid == 412 || vid == 413 || vid == 414
        || vid == 415 || vid == 416 || vid == 417 || vid == 418 || vid == 419 || vid == 420 || vid == 421 || vid == 431 || vid == 432 || vid == 433 || vid == 434 || vid == 435 || vid == 436 || vid == 437 || vid == 438
        || vid == 439 || vid == 440 || vid == 441 || vid == 442 || vid == 443 || vid == 444 || vid == 445 || vid == 447 || vid == 448 || vid == 449 || vid == 450 || vid == 451 || vid == 455 || vid == 456 || vid == 457
        || vid == 456 || vid == 457 || vid == 458 || vid == 459 || vid == 470 || vid == 471 || vid == 474 || vid == 475 || vid == 477 || vid == 478 || vid == 479 || vid == 480 || vid == 482 || vid == 483 || vid == 485
        || vid == 486 || vid == 489 || vid == 490 || vid == 491 || vid == 492 || vid == 494 || vid == 495 || vid == 496 || vid == 497 || vid == 498 || vid == 499 || vid == 500 || vid == 501 || vid == 502 || vid == 503
        || vid == 504 || vid == 505 || vid == 506 || vid == 507 || vid == 508 || vid == 514 || vid == 515 || vid == 516 || vid == 517 || vid == 518 || vid == 521 || vid == 522 || vid == 523 || vid == 524 || vid == 525
        || vid == 526 || vid == 527 || vid == 528 || vid == 529 || vid == 530 || vid == 531 || vid == 532 || vid == 533 || vid == 534 || vid == 535 || vid == 536 || vid == 537 || vid == 538 || vid == 539 || vid == 540
        || vid == 541 || vid == 542 || vid == 543 || vid == 544 || vid == 545 || vid == 550 || vid == 551 || vid == 552 || vid == 554 || vid == 555 || vid == 556 || vid == 557 || vid == 558 || vid == 559 || vid == 560
        || vid == 561 || vid == 562 || vid == 563 || vid == 564 || vid == 565 || vid == 566 || vid == 567 || vid == 568 || vid == 569 || vid == 570 || vid == 571 || vid == 572 || vid == 573 || vid == 574 || vid == 575
        || vid == 576 || vid == 578 || vid == 579 || vid == 580 || vid == 581 || vid == 582 || vid == 583 || vid == 584 || vid == 585 || vid == 586 || vid == 587 || vid == 588 || vid == 589 || vid == 590 || vid == 591
        || vid == 594 || vid == 596 || vid == 597 || vid == 598 || vid == 599 || vid == 600 || vid == 601 || vid == 602 || vid == 603 || vid == 604 || vid == 605 || vid == 606 || vid == 607 || vid == 608 || vid == 609 || vid ==610)
        {
            if(DOF2_GetInt(arquivo, "Terrestre") == 1)
                TogglePlayerControllable(playerid, true);
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Terrestre");
            }
        }
        else
        {
            if(DOF2_GetInt(arquivo, "Aerea") == 1)
                TogglePlayerControllable(playerid, true);
            else
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Vocк nгo pode dirigir este veiculo sem uma Habilitaзгo Aerea.");
            }
        }
    }
    return 1;
}
Reply
#10

rsrs vlw mais ainda Nao deu certo

as " Habilitaзхes " esta ate bem Definida so nao sei pq ta dando erro, Tem outra forma de definir o vid ali ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)