|
pessoal queria um comando para ganhar dinheiro por matar player, mais nгo sу isso, ex: um player que nasceu agora a morte dele vale 300, mais se ele mata 1 quem matar ele passa a ganhar 1300 e se ele matar outro antes de morrer ele vai passar a valer 2300 e assim sucessivamente, atй ele morrer e voltar a valer 300, tem como? pode me dar o code?
|
new valor_da_cabesa_do_champs_HAEUAEH[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
valor_da_cabesa_do_champs_HAEUAEH[playerid] = 300;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if (killerid != INVALID_PLAYER_ID)
{
GivePlayerMoney(playerid, +valor_da_cabesa_do_champs_HAEUAEH[playerid]);
valor_da_cabesa_do_champs_HAEUAEH[killerid] += 1000;
}
return 1;
}
if(strcmp(cmdtext,"/dormir",true) == 0)
{
GameTextForPlayer(playerid,"~r~ZzzZzZzZzZzZzZzZZ",2000,3);
ApplyAnimation(playerid,"CRACK","crckdeth4",4.0,0,0,0,1,0);
return 1;
}
CMD:dormir(playerid)
{
GameTextForPlayer(playerid,"~r~ZzzZzZzZzZzZzZzZZ",2000,3);
ApplyAnimation(playerid,"CRACK","crckdeth4",4.0,0,0,0,1,0);
return 1;
}
resolveu o pobrema aqui
sгo mais de 50 patentes contando com TODAS as gangues ai fica osso nйh auhasuhas
|
Eu postei lб no seu tуpico...
pawn Code:
|

|
S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1886) : warning 200: symbol "valor_da_cabesa_do_champs_HAEUA" is truncated to 31 characters
S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1954) : warning 200: symbol "valor_da_cabesa_do_champs_HAEUA" is truncated to 31 characters S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : error 029: invalid expression, assumed zero S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : warning 215: expression has no effect S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : error 001: expected token: ";", but found ")" S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : error 029: invalid expression, assumed zero S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors. |
new gHeadValue[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
gHeadValue[playerid] = 300;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if (killerid != INVALID_PLAYER_ID)
{
GivePlayerMoney(playerid, gHeadValue[playerid]);
gHeadValue[killerid] += 1000;
}
return 1;
}
|
Deve ser essa mesmo, obrigado !
![]() Basta diminuir o nome da var, eu fiz zoando. pawn Code:
|
|
Como seria para fazer o seguinte:
o player atinge 1400 Score assim atingindo o cargo mбximo, mas qd alguйm atingir 14001 o cargo mбximo serб setado a pessoa que estб com maior score e a outra perde um cargo se tornando cargo 2 por exemplo com 1400 scores e assim sucessivamente.... |
|
Uma maneira de retirar o player do carro mais eficiente, existem muitas formas de bugar o "RemovePlayerFromVehicle" exemplo: pilotar uma moto devagar, enfim, seu alguйm conhecer um jeito mais eficiente de retirб-lo eu ficaria grato ! Abrз.
|
|
Uma maneira de retirar o player do carro mais eficiente, existem muitas formas de bugar o "RemovePlayerFromVehicle" exemplo: pilotar uma moto devagar, enfim, seu alguйm conhecer um jeito mais eficiente de retirб-lo eu ficaria grato ! Abrз.
|
// Topo do GM
#define RemovePlayerFromVehicle RemovePlayerFromVehicleEx
stock RemovePlayerFromVehicleEx(playerid)
{
RemovePlayerFromVehicle(playerid);
SetTimerEx("SaiuVeiculo",1000,0,"id",playerid,GetPlayerVehicleID(playerid));
return 1;
}
forward SaiuVeiculo(playerid,vehicleid);
public SaiuVeiculo(playerid,vehicleid)
{
if(vehicleid >= 1)
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]+1.0);
}
return 1;
}
|
eu queria um sistema de recado que fica no canto mais presciso do lado do mapa com tamanho que с seja tгo grande ou nem tгo pequeno sistema tem que ser so pra admins e eles podem colocar IN-Game grato
![]() |
|
eu queria um sistema de recado que fica no canto mais presciso do lado do mapa com tamanho que с seja tгo grande ou nem tгo pequeno sistema tem que ser so pra admins e eles podem colocar IN-Game grato
![]() |
#include <a_samp>
#include <DOF2>
#define DIALOG_RECADO 2000
new Text:Recado;
new Fala[128];
new TextoRecado[128];
forward AtualizarRecado();
public AtualizarRecado()
{
format(Fala,sizeof(Fala),"%s",TextoRecado);
TextDrawSetString(Recado,Fala);
TextDrawShowForAll(Recado);
DOF2_SetString("Recado.ini","TextoRecado",TextoRecado);
DOF2_SaveFile();
return 1;
}
public OnGameModeInit()
{
Recado = TextDrawCreate(32.0, 317.0, "%s");
TextDrawSetOutline(Recado,1);
TextDrawFont(Recado,1);
TextDrawSetProportional(Recado,2);
TextDrawLetterSize(Recado,0.40,2.0);
TextDrawSetShadow(Recado,1);
TextDrawBackgroundColor(Recado,0);
TextDrawAlignment(Recado,0);
SetTimer("AtualizarRecado",5000,1);
strmid(TextoRecado,DOF2_GetString("Recado.ini","TextoRecado"),0,strlen(DOF2_GetString("Recado.ini","TextoRecado")),999);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/recado",true) == 0)
{
if(IsPlayerAdmin(playerid))
{
ShowPlayerDialog(playerid,DIALOG_RECADO,DIALOG_STYLE_INPUT,"Recado","Digite no campo abaixo o novo texto do recado.","Trocar","Cancelar");
}
return 1;
}
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == DIALOG_RECADO)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_RECADO,DIALOG_STYLE_INPUT,"Recado","Digite no campo abaixo o novo texto do recado.","Trocar","Cancelar");
return 1;
}
GameTextForPlayer(playerid,"~r~Texto trocado com sucesso!",5000,3);
strmid(TextoRecado,inputtext,0,strlen(inputtext),999);
}
return 1;
}
return 1;
}
{
if(classid == 0)
{
Gang[playerid] = 0;
GameTextForPlayer(playerid,"~g~Groove Street",5000,5);
}
else if(classid == 1)
{
Gang[playerid] = 0;
GameTextForPlayer(playerid,"~g~Groove Street",5000,5);
}
else if(classid == 2)
{
Gang[playerid] = 1;
GameTextForPlayer(playerid,"~b~Gang Dos Ballas",5000,5);
}
else if(classid == 3)
{
Gang[playerid] = 1;
GameTextForPlayer(playerid,"~b~Gang dos Ballas",5000,5);
}
else if(classid == 4)
{
Gang[playerid] = 2;
GameTextForPlayer(playerid,"~y~Gang dos Vagos",5000,5);
}
else if(classid == 5)
{
Gang[playerid] = 2;
GameTextForPlayer(playerid,"~y~Gang dos Vagos",5000,5);
}
else if(classid == 6)
{
Gang[playerid] = 3;
GameTextForPlayer(playerid,"~b~Gang dos Aztecas",5000,5);
}
else if(classid == 7)
{
Gang[playerid] = 3;
GameTextForPlayer(playerid,"~b~Gang dos Aztecas",5000,5);
}
SetPlayerPos(playerid,220.3261,1822.9734,7.5368);
SetPlayerCameraLookAt(playerid,220.3261,1822.9734,7.5368);
SetPlayerCameraPos(playerid,226.7491,1823.0441,7.4141);
SetPlayerFacingAngle(playerid, 270 );
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1); //smooth dancing
CreateExplosion(212.9525,1822.9084,6.4141, 11, 10.0);
return 1;
}
if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й registrado digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й registrado digite uma senha para se registrar!", "Confirma", "Cancelar");
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdrawa);
TextDrawShowForPlayer(playerid, Textdraw1);
OnPlayerCommandText(playerid,"/top5");
new pname[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "[SERVER]: %s Entrou no Servidor!", pname);
SendClientMessageToAll(0xFFED00FF, string);
{
switch(Gang[playerid])
{
case 0: // Classid 0
{
SetPlayerTeam(playerid, 0);
SetPlayerPos(playerid,2529.2434,-1667.5001,15.1688);
SetPlayerColor(playerid,COR_Verde);
GivePlayerMoney(playerid, 1000);
}
case 1: // Classid 1
{
SetPlayerTeam(playerid, 1);
GivePlayerMoney(playerid, 1000);
}
case 2: // Classid 1
{
SetPlayerTeam(playerid, 2);
GivePlayerMoney(playerid, 1000);
}
case 3: // Classid 1
{
SetPlayerTeam(playerid, 3);
SetPlayerPos(playerid, 2232.2813,-1158.4985,29.7969);
GivePlayerMoney(playerid, 1000);
}
}
GangZoneShowForPlayer(playerid, Groove, gzcolor[0]);
GangZoneShowForPlayer(playerid, Ballas, gzcolor[1]);
GangZoneShowForPlayer(playerid, Vagos, gzcolor[2]);
GangZoneShowForPlayer(playerid, Aztecas, gzcolor[3]);
return 1;
}
{
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
Player[playerid][Senha] = strval(inputtext);
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
Player[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha");
if(strval(inputtext) == Player[playerid][Senha])
{
Player[playerid][Matou] = DOF2_GetInt(Contas(playerid), "Matou");
Player[playerid][Morreu] = DOF2_GetInt(Contas(playerid), "Morreu");
Player[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
Player[playerid][Gangue] = DOF2_GetInt(Contas(playerid), "Gangue");
SetPlayerTeam(playerid, Player[playerid][Gangue]);
Player[playerid][Cor] = DOF2_GetInt(Contas(playerid), "Cor");
SetPlayerColor(playerid, Player[playerid][Cor]);
Player[playerid][Cor] = DOF2_GetInt(Contas(playerid), "Skin");
SetPlayerSkin(playerid, Player[playerid][Skin]);
StopAudioStreamForPlayer(playerid);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
scm(playerid, Neutra, "Sua conta estб banida por errar 5 vezes a sua senha.");
Ban(playerid);
}
}
}
}
stock PlayerName(playerid)
{
new Name[MAX_PLAYERS];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}
stock Contas(playerid)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
return arquivo;
}
stock SalvarContas(playerid)
{
if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid));
{
Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
Player[playerid][Skin] = GetPlayerSkin(playerid);
Player[playerid][Gangue] = GetPlayerTeam(playerid);
Player[playerid][Cor] = GetPlayerColor(playerid);
DOF2_SetInt(Contas(playerid), "Senha", Player[playerid][Senha]);
DOF2_SetInt(Contas(playerid), "Matou", Player[playerid][Matou]);
DOF2_SetInt(Contas(playerid), "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(Contas(playerid), "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(Contas(playerid), "Skin", Player[playerid][Skin]);
DOF2_SetInt(Contas(playerid), "Gangue", Player[playerid][Gangue]);
DOF2_SetInt(Contas(playerid), "Cor", Player[playerid][Cor]);
DOF2_SaveFile();
}
return 1;
}

// Topo do GM
new Fala[128];
new Nome[24];
new Cadeia[MAX_PLAYERS];
new TempoCadeia[MAX_PLAYERS];
stock PlayerName(playerid)
{
GetPlayerName(playerid,Nome,sizeof(Nome));
return Nome;
}
forward AtualizarCadeia(playerid);
public AtualizarCadeia(playerid)
{
if(Cadeia[playerid] == 1 && TempoCadeia[playerid] >= 1)
{
TempoCadeia[playerid]--;
format(Fala,sizeof(Fala),"~r~Tempo Preso: ~w~%d",TempoCadeia[playerid]);
GameTextForPlayer(playerid,Fala,2000,3);
if(TempoCadeia[playerid] == 0)
{
Cadeia[playerid] = 0;
GameTextForPlayer(playerid,"~g~Livre!",5000,3);
SpawnPlayer(playerid);
}
}
return 1;
}
// OnGameModeInit
for(new i=0; i<MAX_PLAYERS; i++)
{
SetTimerEx("AtualizarCadeia",1000,1,"i",i);
}
// Topo do OnPlayerSpawn
if(Cadeia[playerid] == 1)
{
// Funзхes caso ele esteja preso
return 1;
}
// Comando
CMD:prender(playerid,params[])
{
new ID, Tempo, Causa[51];
if(sscanf(params,"uds[50]",ID,Tempo,Causa))
{
SendClientMessage(playerid,0xBFBFBFAA,"Use /prender [ID] [Tempo] [Causa]");
return 1;
}
if(!IsPlayerConnected(ID))
{
SendClientMessage(playerid,0xBFBFBFAA,"Player nгo online.");
return 1;
}
format(Fala,sizeof(Fala),"%s Foi preso pelo Admin %s, motivo: %s.",PlayerName(ID),PlayerName(playerid),Causa);
SendClientMessageToAll(0xFF8080AA,Fala);
Cadeia[ID] = 1;
TempoCadeia[ID] = Tempo;
SpawnPlayer(ID);
return 1;
}
|
Queria ajuda com esse sistema.
http://pastebin.com/WBC19U3k Queria que eu pudesse colocar letras e salvar ou bloquear o registro com letras (Sistema de login com include DINI) |
#include <a_samp>
#include <dini>
new Logado[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
new log[35];
new regstring[130];
format(log,sizeof log,"CONTAS/%s.ini",Nome(playerid));
if(!dini_Exists(log))
{
SendClientMessage(playerid,0x00FF00FF,"Seja bem vindo pela primeira vez. Por favor digite uma senha para se registrar.");
format(regstring,sizeof(regstring),"{FFE4E1}%s, vocк ainda nгo possui uma conta em nosso banco de dados.\nPor favor digite uma senha para se registrar.",Nome(playerid));
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{87CEEB}Registrar",regstring,"Registrar","Sair");
return 1;
}
SendClientMessage(playerid,0x00FFFFFF,"Digite sua senha no diбlogo abaixo para poder logar.");
format(regstring,sizeof(regstring),"{FAF0E6}%s, vocк jб possui uma conta no banco de dados.\nDigite sua senha abaixo para poder logar.",Nome(playerid));
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{F5F5F5}Logar",regstring,"Logar","Sair");
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(Logado[playerid] == 0)
{
SendClientMessage(playerid,0xFFFF45,"Antes de Spawnar logue-se.");
return 0;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arq[30];
format(arq,sizeof arq,"CONTAS/%s.ini",Nome(playerid));
if(dialogid == 1)
{
if(response == 1)
{
new regstring[130];
dini_Create(arq);
SendClientMessage(playerid,0xFFFF47,"Sua conta foi registrada com sucesso! Logue-se no diбlogo abaixo.");
format(regstring,sizeof(regstring),"{FAF0E6}Parabйns %s, vocк registrou sua conta.\nDigite sua senha abaixo para poder logar.",Nome(playerid));
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{F5F5F5}Logar",regstring,"Logar","Sair");
dini_Set(arq,"Senha",inputtext);
return 1;
}
SendClientMessage(playerid,0xFFFF00,"Vocк usou a opзгo 'Sair' e foi kickado pelo servidor!");
Kick(playerid);
}
else if(dialogid == 2)
{
if(response == 1)
{
if(strcmp(dini_Get(arq,"Senha"), inputtext, true) == 0)
{
//Aqui coloca-se as variбveis do texto, como Level, dinheiro,etc.
SendClientMessage(playerid,0xFFFF43,"Vocк logou no servidor com sucesso!");
Logado[playerid] = 1;
return 1;
}
SendClientMessage(playerid,0xFFFF88,"Vocк digitou a senha incorretamente. Digite-a novamente.");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{F5F5F5}Logar","Digite a senha corretamente.","Logar","Sair");
return 1;
}
SendClientMessage(playerid,0xFFFF00,"Vocк usou a opзгo 'Sair' e foi kickado pelo servidor!");
Kick(playerid);
}
return 1;
}
stock Nome(playerid)
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
return nome;
}